diff --git a/pr-preview/pr-33/404.html b/pr-preview/pr-33/404.html new file mode 100644 index 0000000..15f10d6 --- /dev/null +++ b/pr-preview/pr-33/404.html @@ -0,0 +1,13 @@ + + + + + +Page Not Found | NaaVRE + + + + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + \ No newline at end of file diff --git a/pr-preview/pr-33/assets/css/styles.182ff793.css b/pr-preview/pr-33/assets/css/styles.182ff793.css new file mode 100644 index 0000000..94bea9f --- /dev/null +++ b/pr-preview/pr-33/assets/css/styles.182ff793.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_mC6p,.details_lb9f>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#3c8f49;--ifm-color-primary-dark:#348742;--ifm-color-primary-darker:#227935;--ifm-color-primary-darkest:#0c6a27;--ifm-color-primary-light:#449750;--ifm-color-primary-lighter:#54a65e;--ifm-color-primary-lightest:#63b66c;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_Gvgb,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-color-primary:#54c164;--ifm-color-primary-dark:#4bb95d;--ifm-color-primary-darker:#39a94e;--ifm-color-primary-darkest:#259a40;--ifm-color-primary-light:#5cc96b;--ifm-color-primary-lighter:#6dd97a;--ifm-color-primary-lightest:#7eea89;--docusaurus-highlighted-code-line-bg:#0000004d}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.dropdownNavbarItemMobile_S0Fm{cursor:pointer}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_Bca1:not(:has(>*)){display:none}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_ev3q{height:auto}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.heroBanner_c70D{background-color:#fff;color:#242526;overflow:hidden;padding:4rem 0;position:relative;text-align:center}[data-theme=dark] .heroBanner_c70D{background-color:#1b1b1d;color:#fff}.buttons_lHLg{gap:1rem;justify-content:center}.buttons_lHLg,.features_t9lD{align-items:center;display:flex}.features_t9lD{padding:2rem 0;width:100%}.featureSvg_GfXr{height:200px;width:200px}.tableOfContentsInline_prmo ul{font-size:medium;list-style-type:disc;padding-top:0}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docSidebarContainer_YfHR,.sidebarLogo_isFc{display:none}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media screen and (max-width:996px){.heroBanner_c70D{padding:2rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/pr-preview/pr-33/assets/images/10_example_icos_1-dfd756f376bb5d10243c21305079e9a0.png b/pr-preview/pr-33/assets/images/10_example_icos_1-dfd756f376bb5d10243c21305079e9a0.png new file mode 100644 index 0000000..dc507ca Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_1-dfd756f376bb5d10243c21305079e9a0.png differ diff --git a/pr-preview/pr-33/assets/images/10_example_icos_2-92faa23841aab2cf015ebb7e45592c0a.png b/pr-preview/pr-33/assets/images/10_example_icos_2-92faa23841aab2cf015ebb7e45592c0a.png new file mode 100644 index 0000000..c144487 Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_2-92faa23841aab2cf015ebb7e45592c0a.png differ diff --git a/pr-preview/pr-33/assets/images/10_example_icos_3-3ca2107fcfce9f518e07e37a11f02cbc.png b/pr-preview/pr-33/assets/images/10_example_icos_3-3ca2107fcfce9f518e07e37a11f02cbc.png new file mode 100644 index 0000000..0a14c4e Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_3-3ca2107fcfce9f518e07e37a11f02cbc.png differ diff --git a/pr-preview/pr-33/assets/images/10_example_icos_4-9a167161c4a417bd3830c5016235defe.png b/pr-preview/pr-33/assets/images/10_example_icos_4-9a167161c4a417bd3830c5016235defe.png new file mode 100644 index 0000000..3942827 Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_4-9a167161c4a417bd3830c5016235defe.png differ diff --git a/pr-preview/pr-33/assets/images/10_example_icos_5-f68f4cf4630c8121e18c4668712de35b.png b/pr-preview/pr-33/assets/images/10_example_icos_5-f68f4cf4630c8121e18c4668712de35b.png new file mode 100644 index 0000000..60b3689 Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_5-f68f4cf4630c8121e18c4668712de35b.png differ diff --git a/pr-preview/pr-33/assets/images/10_example_icos_6-56f55278365a743200e329065ed13ab9.png b/pr-preview/pr-33/assets/images/10_example_icos_6-56f55278365a743200e329065ed13ab9.png new file mode 100644 index 0000000..e8b6a2a Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_6-56f55278365a743200e329065ed13ab9.png differ diff --git a/pr-preview/pr-33/assets/images/10_example_icos_7-d1fe9d5169e4477b7ea5134ccd8523a7.png b/pr-preview/pr-33/assets/images/10_example_icos_7-d1fe9d5169e4477b7ea5134ccd8523a7.png new file mode 100644 index 0000000..59c8195 Binary files /dev/null and b/pr-preview/pr-33/assets/images/10_example_icos_7-d1fe9d5169e4477b7ea5134ccd8523a7.png differ diff --git a/pr-preview/pr-33/assets/images/1_starting_point-1b110d23ba5b4ff9058c445d475aa549.png b/pr-preview/pr-33/assets/images/1_starting_point-1b110d23ba5b4ff9058c445d475aa549.png new file mode 100644 index 0000000..c6ca93f Binary files /dev/null and b/pr-preview/pr-33/assets/images/1_starting_point-1b110d23ba5b4ff9058c445d475aa549.png differ diff --git a/pr-preview/pr-33/assets/images/2_signin_1-17934bc19db36bfefa4da380ca635a21.png b/pr-preview/pr-33/assets/images/2_signin_1-17934bc19db36bfefa4da380ca635a21.png new file mode 100644 index 0000000..ac5c8db Binary files /dev/null and b/pr-preview/pr-33/assets/images/2_signin_1-17934bc19db36bfefa4da380ca635a21.png differ diff --git a/pr-preview/pr-33/assets/images/2_signin_2-ebba53247893ccb0fc59cb3152944882.png b/pr-preview/pr-33/assets/images/2_signin_2-ebba53247893ccb0fc59cb3152944882.png new file mode 100644 index 0000000..b5ddef9 Binary files /dev/null and b/pr-preview/pr-33/assets/images/2_signin_2-ebba53247893ccb0fc59cb3152944882.png differ diff --git a/pr-preview/pr-33/assets/images/2_signin_3-6ec134e26bc8fb371877820d74c62e8d.png b/pr-preview/pr-33/assets/images/2_signin_3-6ec134e26bc8fb371877820d74c62e8d.png new file mode 100644 index 0000000..7b30e9d Binary files /dev/null and b/pr-preview/pr-33/assets/images/2_signin_3-6ec134e26bc8fb371877820d74c62e8d.png differ diff --git a/pr-preview/pr-33/assets/images/3_pick_vre_1-9df30abd2081134175b86a445fe0829e.png b/pr-preview/pr-33/assets/images/3_pick_vre_1-9df30abd2081134175b86a445fe0829e.png new file mode 100644 index 0000000..4ffeb0e Binary files /dev/null and b/pr-preview/pr-33/assets/images/3_pick_vre_1-9df30abd2081134175b86a445fe0829e.png differ diff --git a/pr-preview/pr-33/assets/images/3_pick_vre_2-6a2be3dd99dffeb5b3db14690688c841.png b/pr-preview/pr-33/assets/images/3_pick_vre_2-6a2be3dd99dffeb5b3db14690688c841.png new file mode 100644 index 0000000..8a41e89 Binary files /dev/null and b/pr-preview/pr-33/assets/images/3_pick_vre_2-6a2be3dd99dffeb5b3db14690688c841.png differ diff --git a/pr-preview/pr-33/assets/images/4_start_vre_1-fa90be6957ed13821a0de360075e6dba.png b/pr-preview/pr-33/assets/images/4_start_vre_1-fa90be6957ed13821a0de360075e6dba.png new file mode 100644 index 0000000..6430d52 Binary files /dev/null and b/pr-preview/pr-33/assets/images/4_start_vre_1-fa90be6957ed13821a0de360075e6dba.png differ diff --git a/pr-preview/pr-33/assets/images/4_start_vre_2-860c5476324f633dcf4100a873912e68.png b/pr-preview/pr-33/assets/images/4_start_vre_2-860c5476324f633dcf4100a873912e68.png new file mode 100644 index 0000000..4947418 Binary files /dev/null and b/pr-preview/pr-33/assets/images/4_start_vre_2-860c5476324f633dcf4100a873912e68.png differ diff --git a/pr-preview/pr-33/assets/images/5_naavre_interface-441fe6fcba0c3cac6eb3a9294e33d740.png b/pr-preview/pr-33/assets/images/5_naavre_interface-441fe6fcba0c3cac6eb3a9294e33d740.png new file mode 100644 index 0000000..279f363 Binary files /dev/null and b/pr-preview/pr-33/assets/images/5_naavre_interface-441fe6fcba0c3cac6eb3a9294e33d740.png differ diff --git a/pr-preview/pr-33/assets/images/6_create_notebook_1-a664a6b8752037a1526d70af3b472608.png b/pr-preview/pr-33/assets/images/6_create_notebook_1-a664a6b8752037a1526d70af3b472608.png new file mode 100644 index 0000000..914f044 Binary files /dev/null and b/pr-preview/pr-33/assets/images/6_create_notebook_1-a664a6b8752037a1526d70af3b472608.png differ diff --git a/pr-preview/pr-33/assets/images/6_create_notebook_3-d72aa74930792849072e0f58f8baaa94.png b/pr-preview/pr-33/assets/images/6_create_notebook_3-d72aa74930792849072e0f58f8baaa94.png new file mode 100644 index 0000000..ae2ef5f Binary files /dev/null and b/pr-preview/pr-33/assets/images/6_create_notebook_3-d72aa74930792849072e0f58f8baaa94.png differ diff --git a/pr-preview/pr-33/assets/images/7_containerize_1-bd16d7f6c8b37901799803b31d8f43d8.png b/pr-preview/pr-33/assets/images/7_containerize_1-bd16d7f6c8b37901799803b31d8f43d8.png new file mode 100644 index 0000000..040dcae Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_1-bd16d7f6c8b37901799803b31d8f43d8.png differ diff --git a/pr-preview/pr-33/assets/images/7_containerize_2-474fcecd41fba6dfe2bb8a0c0c609655.png b/pr-preview/pr-33/assets/images/7_containerize_2-474fcecd41fba6dfe2bb8a0c0c609655.png new file mode 100644 index 0000000..611d2f1 Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_2-474fcecd41fba6dfe2bb8a0c0c609655.png differ diff --git a/pr-preview/pr-33/assets/images/7_containerize_3-98601ebf55684e1981bdbcd166fce713.png b/pr-preview/pr-33/assets/images/7_containerize_3-98601ebf55684e1981bdbcd166fce713.png new file mode 100644 index 0000000..317ac83 Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_3-98601ebf55684e1981bdbcd166fce713.png differ diff --git a/pr-preview/pr-33/assets/images/7_containerize_4-7ea22f6fe34fb97eca2a1774cfded046.png b/pr-preview/pr-33/assets/images/7_containerize_4-7ea22f6fe34fb97eca2a1774cfded046.png new file mode 100644 index 0000000..c5fce14 Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_4-7ea22f6fe34fb97eca2a1774cfded046.png differ diff --git a/pr-preview/pr-33/assets/images/7_containerize_5-bc28ba8919cf261c65bf0dcde6124f4b.png b/pr-preview/pr-33/assets/images/7_containerize_5-bc28ba8919cf261c65bf0dcde6124f4b.png new file mode 100644 index 0000000..e681707 Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_5-bc28ba8919cf261c65bf0dcde6124f4b.png differ diff --git a/pr-preview/pr-33/assets/images/7_containerize_6-1aa99944ddebc8b3184fae6f6846c343.png b/pr-preview/pr-33/assets/images/7_containerize_6-1aa99944ddebc8b3184fae6f6846c343.png new file mode 100644 index 0000000..6ff914e Binary files /dev/null and b/pr-preview/pr-33/assets/images/7_containerize_6-1aa99944ddebc8b3184fae6f6846c343.png differ diff --git a/pr-preview/pr-33/assets/images/8_workflow_1-82f1c05dbde9ed77051bc60e19147d7a.png b/pr-preview/pr-33/assets/images/8_workflow_1-82f1c05dbde9ed77051bc60e19147d7a.png new file mode 100644 index 0000000..ea31662 Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_1-82f1c05dbde9ed77051bc60e19147d7a.png differ diff --git a/pr-preview/pr-33/assets/images/8_workflow_2-ad01915453712124333b1d29f020e6da.png b/pr-preview/pr-33/assets/images/8_workflow_2-ad01915453712124333b1d29f020e6da.png new file mode 100644 index 0000000..39a9ea8 Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_2-ad01915453712124333b1d29f020e6da.png differ diff --git a/pr-preview/pr-33/assets/images/8_workflow_3-63858b38db719a237f033958ed1c502a.png b/pr-preview/pr-33/assets/images/8_workflow_3-63858b38db719a237f033958ed1c502a.png new file mode 100644 index 0000000..8de2c51 Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_3-63858b38db719a237f033958ed1c502a.png differ diff --git a/pr-preview/pr-33/assets/images/8_workflow_4-2ab00df5660a327b2cacee40b87f5e2c.png b/pr-preview/pr-33/assets/images/8_workflow_4-2ab00df5660a327b2cacee40b87f5e2c.png new file mode 100644 index 0000000..40b792d Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_4-2ab00df5660a327b2cacee40b87f5e2c.png differ diff --git a/pr-preview/pr-33/assets/images/8_workflow_5-63ceed268a7e397dcfbc280ce762f8d2.png b/pr-preview/pr-33/assets/images/8_workflow_5-63ceed268a7e397dcfbc280ce762f8d2.png new file mode 100644 index 0000000..c8c9926 Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_5-63ceed268a7e397dcfbc280ce762f8d2.png differ diff --git a/pr-preview/pr-33/assets/images/8_workflow_6-f952bb9e4996148268200a64e6f48667.png b/pr-preview/pr-33/assets/images/8_workflow_6-f952bb9e4996148268200a64e6f48667.png new file mode 100644 index 0000000..6c9147d Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_6-f952bb9e4996148268200a64e6f48667.png differ diff --git a/pr-preview/pr-33/assets/images/8_workflow_7-1a5130804476bb0b7fe41aca3eb450a1.png b/pr-preview/pr-33/assets/images/8_workflow_7-1a5130804476bb0b7fe41aca3eb450a1.png new file mode 100644 index 0000000..fad47ea Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_7-1a5130804476bb0b7fe41aca3eb450a1.png differ diff --git a/pr-preview/pr-33/assets/images/8_workflow_8-90737f51cc92f99f8de181955ae7f2d5.png b/pr-preview/pr-33/assets/images/8_workflow_8-90737f51cc92f99f8de181955ae7f2d5.png new file mode 100644 index 0000000..17c0b20 Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_8-90737f51cc92f99f8de181955ae7f2d5.png differ diff --git a/pr-preview/pr-33/assets/images/8_workflow_9-0766f26eff5f67192e624d842261d351.png b/pr-preview/pr-33/assets/images/8_workflow_9-0766f26eff5f67192e624d842261d351.png new file mode 100644 index 0000000..1b99ef2 Binary files /dev/null and b/pr-preview/pr-33/assets/images/8_workflow_9-0766f26eff5f67192e624d842261d351.png differ diff --git a/pr-preview/pr-33/assets/images/9_argo_1-d4408b9bb320806c8a666c2c2b009e17.png b/pr-preview/pr-33/assets/images/9_argo_1-d4408b9bb320806c8a666c2c2b009e17.png new file mode 100644 index 0000000..e2ca3ec Binary files /dev/null and b/pr-preview/pr-33/assets/images/9_argo_1-d4408b9bb320806c8a666c2c2b009e17.png differ diff --git a/pr-preview/pr-33/assets/images/NaaVRE_development_cycle.drawio-59df28395fc82e2a20828d19ed19c9bf.png b/pr-preview/pr-33/assets/images/NaaVRE_development_cycle.drawio-59df28395fc82e2a20828d19ed19c9bf.png new file mode 100644 index 0000000..61efee6 Binary files /dev/null and b/pr-preview/pr-33/assets/images/NaaVRE_development_cycle.drawio-59df28395fc82e2a20828d19ed19c9bf.png differ diff --git a/pr-preview/pr-33/assets/images/RAVRE_overview_image.drawio-7ac7d3ef8815412e82d21dcfd1ce9303.png b/pr-preview/pr-33/assets/images/RAVRE_overview_image.drawio-7ac7d3ef8815412e82d21dcfd1ce9303.png new file mode 100644 index 0000000..cec173a Binary files /dev/null and b/pr-preview/pr-33/assets/images/RAVRE_overview_image.drawio-7ac7d3ef8815412e82d21dcfd1ce9303.png differ diff --git a/pr-preview/pr-33/assets/images/RAVRE_sequence_diagram.drawio-4a34b6ca8e0a8d5e143d1bdeae4eea6a.png b/pr-preview/pr-33/assets/images/RAVRE_sequence_diagram.drawio-4a34b6ca8e0a8d5e143d1bdeae4eea6a.png new file mode 100644 index 0000000..d293cbc Binary files /dev/null and b/pr-preview/pr-33/assets/images/RAVRE_sequence_diagram.drawio-4a34b6ca8e0a8d5e143d1bdeae4eea6a.png differ diff --git a/pr-preview/pr-33/assets/images/Timeline.drawio-827411ef3e2aaf388dbccfa0a2894c7d.png b/pr-preview/pr-33/assets/images/Timeline.drawio-827411ef3e2aaf388dbccfa0a2894c7d.png new file mode 100644 index 0000000..35e78a1 Binary files /dev/null and b/pr-preview/pr-33/assets/images/Timeline.drawio-827411ef3e2aaf388dbccfa0a2894c7d.png differ diff --git a/pr-preview/pr-33/assets/images/cells_catalog_1-a51b936375c6df189c4274dd3bd1dc1e.png b/pr-preview/pr-33/assets/images/cells_catalog_1-a51b936375c6df189c4274dd3bd1dc1e.png new file mode 100644 index 0000000..44e6c97 Binary files /dev/null and b/pr-preview/pr-33/assets/images/cells_catalog_1-a51b936375c6df189c4274dd3bd1dc1e.png differ diff --git a/pr-preview/pr-33/assets/images/component_containerizer_1-89c4b8403bcbe4f53cd7462fa2359bc8.png b/pr-preview/pr-33/assets/images/component_containerizer_1-89c4b8403bcbe4f53cd7462fa2359bc8.png new file mode 100644 index 0000000..f798b1c Binary files /dev/null and b/pr-preview/pr-33/assets/images/component_containerizer_1-89c4b8403bcbe4f53cd7462fa2359bc8.png differ diff --git a/pr-preview/pr-33/assets/images/component_containerizer_conf_1-9ce69c703a7b780adbfb968e37a56d77.png b/pr-preview/pr-33/assets/images/component_containerizer_conf_1-9ce69c703a7b780adbfb968e37a56d77.png new file mode 100644 index 0000000..4f456c4 Binary files /dev/null and b/pr-preview/pr-33/assets/images/component_containerizer_conf_1-9ce69c703a7b780adbfb968e37a56d77.png differ diff --git a/pr-preview/pr-33/assets/images/component_containerizer_secrets-fa5034d13a114e33e66e16e35e087b8c.png b/pr-preview/pr-33/assets/images/component_containerizer_secrets-fa5034d13a114e33e66e16e35e087b8c.png new file mode 100644 index 0000000..735aad7 Binary files /dev/null and b/pr-preview/pr-33/assets/images/component_containerizer_secrets-fa5034d13a114e33e66e16e35e087b8c.png differ diff --git a/pr-preview/pr-33/assets/images/experimenter_manager_7-763d9157a11a2992221f6d75ea44ceb6.png b/pr-preview/pr-33/assets/images/experimenter_manager_7-763d9157a11a2992221f6d75ea44ceb6.png new file mode 100644 index 0000000..2839b16 Binary files /dev/null and b/pr-preview/pr-33/assets/images/experimenter_manager_7-763d9157a11a2992221f6d75ea44ceb6.png differ diff --git a/pr-preview/pr-33/assets/images/n-a-a-vre_interface_1-441fe6fcba0c3cac6eb3a9294e33d740.png b/pr-preview/pr-33/assets/images/n-a-a-vre_interface_1-441fe6fcba0c3cac6eb3a9294e33d740.png new file mode 100644 index 0000000..279f363 Binary files /dev/null and b/pr-preview/pr-33/assets/images/n-a-a-vre_interface_1-441fe6fcba0c3cac6eb3a9294e33d740.png differ diff --git a/pr-preview/pr-33/assets/images/notebook_search_1-681830ef694b98c4459e6b81f371a063.png b/pr-preview/pr-33/assets/images/notebook_search_1-681830ef694b98c4459e6b81f371a063.png new file mode 100644 index 0000000..beee8bd Binary files /dev/null and b/pr-preview/pr-33/assets/images/notebook_search_1-681830ef694b98c4459e6b81f371a063.png differ diff --git a/pr-preview/pr-33/assets/images/notebook_search_2-b9fcd1a2f6ebc23b30bea2223be70f89.png b/pr-preview/pr-33/assets/images/notebook_search_2-b9fcd1a2f6ebc23b30bea2223be70f89.png new file mode 100644 index 0000000..497252c Binary files /dev/null and b/pr-preview/pr-33/assets/images/notebook_search_2-b9fcd1a2f6ebc23b30bea2223be70f89.png differ diff --git a/pr-preview/pr-33/assets/images/notebook_search_3-287346427ffbd78c94acb5548293c412.png b/pr-preview/pr-33/assets/images/notebook_search_3-287346427ffbd78c94acb5548293c412.png new file mode 100644 index 0000000..4377059 Binary files /dev/null and b/pr-preview/pr-33/assets/images/notebook_search_3-287346427ffbd78c94acb5548293c412.png differ diff --git a/pr-preview/pr-33/assets/images/types_detector_R_1-b19f7fe3fdaa02457287720d910dae87.png b/pr-preview/pr-33/assets/images/types_detector_R_1-b19f7fe3fdaa02457287720d910dae87.png new file mode 100644 index 0000000..0a35016 Binary files /dev/null and b/pr-preview/pr-33/assets/images/types_detector_R_1-b19f7fe3fdaa02457287720d910dae87.png differ diff --git a/pr-preview/pr-33/assets/images/types_detector_R_2-523f954a8bea3823c70d8193ab767a42.png b/pr-preview/pr-33/assets/images/types_detector_R_2-523f954a8bea3823c70d8193ab767a42.png new file mode 100644 index 0000000..e06975f Binary files /dev/null and b/pr-preview/pr-33/assets/images/types_detector_R_2-523f954a8bea3823c70d8193ab767a42.png differ diff --git a/pr-preview/pr-33/assets/js/11047fcd.99060a74.js b/pr-preview/pr-33/assets/js/11047fcd.99060a74.js new file mode 100644 index 0000000..c106308 --- /dev/null +++ b/pr-preview/pr-33/assets/js/11047fcd.99060a74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[708],{7666:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>n,metadata:()=>l,toc:()=>p});var o=t(5893),i=t(1151),s=t(2457);const n={sidebar_position:1,title:"Core developer"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/Core_developer",title:"Core developer",description:"Core developers create the content of the new virtual lab, being steered by the golden users.",source:"@site/docs/readiness_levels/Virtual_lab_roles/Core_developer.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Core_developer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Core_developer.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Core developer"},sidebar:"tutorialSidebar",previous:{title:"Virtual lab coordinator",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator"},next:{title:"Virtual research environment development and operations (VRE DevOps) engineer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps"}},u={},p=[];function d(e){const r={li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return s||c("Responsibilities",!1),s.L1CoreDeveloper||c("Responsibilities.L1CoreDeveloper",!0),s.L2CoreDeveloper||c("Responsibilities.L2CoreDeveloper",!0),s.L3CoreDeveloper||c("Responsibilities.L3CoreDeveloper",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.p,{children:"Core developers create the content of the new virtual lab, being steered by the golden users."}),"\n",(0,o.jsx)(r.p,{children:"The core developers have the following responsibilities per level:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsxs)(r.li,{children:["L1: ",(0,o.jsx)(s.L1CoreDeveloper,{})]}),"\n",(0,o.jsxs)(r.li,{children:["L2: ",(0,o.jsx)(s.L2CoreDeveloper,{})]}),"\n",(0,o.jsxs)(r.li,{children:["L3&4: ",(0,o.jsx)(s.L3CoreDeveloper,{})]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,i.a)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}function c(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>o,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>i,L1Coordinator:()=>v,L1CoreDeveloper:()=>w,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>D,L1Reviewer:()=>k,L2CommunitySupporter:()=>s,L2Coordinator:()=>b,L2CoreDeveloper:()=>y,L2DevOps:()=>C,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>S,L2Trainer:()=>R,L2VREResearcher:()=>P,L3CommunitySupporter:()=>n,L3Coordinator:()=>m,L3CoreDeveloper:()=>_,L3GoldenUser:()=>d,L3InfrastructureSupporter:()=>V,L3SteeringBoard:()=>U,L3Trainer:()=>j,L3UserSupporter:()=>I,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>x,L4GoldenUser:()=>h,L4InfrastructureSupporter:()=>E,L4SteeringBoard:()=>G,L4UserSupporter:()=>T});const o=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",i=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",s=()=>"Finds potential silver users to take part in the trainings in the next phase.",n=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",d=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",h=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",b=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",m=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",C=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",_=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",D=()=>"Advises and provides the infrastructure for the virtual lab.",S=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",V=()=>"Ensures the infrastructure can support the training sessions.",E=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",j=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",U=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",I=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>a,a:()=>n});var o=t(7294);const i={},s=o.createContext(i);function n(e){const r=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),o.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/17896441.9c3e9041.js b/pr-preview/pr-33/assets/js/17896441.9c3e9041.js new file mode 100644 index 0000000..c586058 --- /dev/null +++ b/pr-preview/pr-33/assets/js/17896441.9c3e9041.js @@ -0,0 +1 @@ +(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[918],{2730:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Mt});var s=n(7294),a=n(1944),o=n(902),i=n(5893);const l=s.createContext(null);function c(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,i.jsx)(l.Provider,{value:a,children:t})}function r(){const e=(0,s.useContext)(l);if(null===e)throw new o.i6("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=r();return(0,i.jsx)(a.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(512),m=n(7524),h=n(5999),p=n(9960);function f(e){const{permalink:t,title:n,subLabel:s,isNext:a}=e;return(0,i.jsxs)(p.Z,{className:(0,u.Z)("pagination-nav__link",a?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}function x(e){const{previous:t,next:n}=e;return(0,i.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(f,{...t,subLabel:(0,i.jsx)(h.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,i.jsx)(f,{...n,subLabel:(0,i.jsx)(h.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function b(){const{metadata:e}=r();return(0,i.jsx)(x,{previous:e.previous,next:e.next})}var g=n(2263),j=n(143),v=n(5281),N=n(373),C=n(4477);const k={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,i.jsx)(h.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,i.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,i.jsx)(h.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,i.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function L(e){const t=k[e.versionMetadata.banner];return(0,i.jsx)(t,{...e})}function y(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,i.jsx)(h.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,i.jsx)("b",{children:(0,i.jsx)(p.Z,{to:n,onClick:s,children:(0,i.jsx)(h.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function _(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,g.Z)(),{pluginId:a}=(0,j.gA)({failfast:!0}),{savePreferredVersionName:o}=(0,N.J)(a),{latestDocSuggestion:l,latestVersionSuggestion:c}=(0,j.Jo)(a),r=l??(d=c).docs.find((e=>e.id===d.mainDocId));var d;return(0,i.jsxs)("div",{className:(0,u.Z)(t,v.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,i.jsx)("div",{children:(0,i.jsx)(L,{siteTitle:s,versionMetadata:n})}),(0,i.jsx)("div",{className:"margin-top--md",children:(0,i.jsx)(y,{versionLabel:c.label,to:r.path,onClick:()=>o(c.name)})})]})}function w(e){let{className:t}=e;const n=(0,C.E)();return n.banner?(0,i.jsx)(_,{className:t,versionMetadata:n}):null}function B(e){let{className:t}=e;const n=(0,C.E)();return n.badge?(0,i.jsx)("span",{className:(0,u.Z)(t,v.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,i.jsx)(h.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}function Z(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return(0,i.jsx)(h.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,i.jsx)("b",{children:(0,i.jsx)("time",{dateTime:new Date(1e3*t).toISOString(),children:n})})},children:" on {date}"})}function T(e){let{lastUpdatedBy:t}=e;return(0,i.jsx)(h.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,i.jsx)("b",{children:t})},children:" by {user}"})}function E(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:s}=e;return(0,i.jsxs)("span",{className:v.k.common.lastUpdated,children:[(0,i.jsx)(h.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?(0,i.jsx)(Z,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:s?(0,i.jsx)(T,{lastUpdatedBy:s}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const H={iconEdit:"iconEdit_Z9Sw"};function A(e){let{className:t,...n}=e;return(0,i.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,u.Z)(H.iconEdit,t),"aria-hidden":"true",...n,children:(0,i.jsx)("g",{children:(0,i.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function I(e){let{editUrl:t}=e;return(0,i.jsxs)(p.Z,{to:t,className:v.k.common.editThisPage,children:[(0,i.jsx)(A,{}),(0,i.jsx)(h.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}const M={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function S(e){let{permalink:t,label:n,count:s}=e;return(0,i.jsxs)(p.Z,{href:t,className:(0,u.Z)(M.tag,s?M.tagWithCount:M.tagRegular),children:[n,s&&(0,i.jsx)("span",{children:s})]})}const U={tags:"tags_jXut",tag:"tag_QGVx"};function z(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(h.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,u.Z)(U.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,i.jsx)("li",{className:U.tag,children:(0,i.jsx)(S,{label:t,permalink:n})},n)}))})]})}const V={lastUpdated:"lastUpdated_vwxv"};function R(e){return(0,i.jsx)("div",{className:(0,u.Z)(v.k.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(z,{...e})})})}function O(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,formattedLastUpdatedAt:a}=e;return(0,i.jsxs)("div",{className:(0,u.Z)(v.k.docs.docFooterEditMetaRow,"row"),children:[(0,i.jsx)("div",{className:"col",children:t&&(0,i.jsx)(I,{editUrl:t})}),(0,i.jsx)("div",{className:(0,u.Z)("col",V.lastUpdated),children:(n||s)&&(0,i.jsx)(E,{lastUpdatedAt:n,formattedLastUpdatedAt:a,lastUpdatedBy:s})})]})}function P(){const{metadata:e}=r(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:s,lastUpdatedBy:a,tags:o}=e,l=o.length>0,c=!!(t||n||a);return l||c?(0,i.jsxs)("footer",{className:(0,u.Z)(v.k.docs.docFooter,"docusaurus-mt-lg"),children:[l&&(0,i.jsx)(R,{tags:o}),c&&(0,i.jsx)(O,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,formattedLastUpdatedAt:s})]}):null}var $=n(6043),D=n(3743);const W={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function F(e){let{collapsed:t,...n}=e;return(0,i.jsx)("button",{type:"button",...n,className:(0,u.Z)("clean-btn",W.tocCollapsibleButton,!t&&W.tocCollapsibleButtonExpanded,n.className),children:(0,i.jsx)(h.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const q={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function G(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:o,toggleCollapsed:l}=(0,$.u)({initialState:!0});return(0,i.jsxs)("div",{className:(0,u.Z)(q.tocCollapsible,!o&&q.tocCollapsibleExpanded,n),children:[(0,i.jsx)(F,{collapsed:o,onClick:l}),(0,i.jsx)($.z,{lazy:!0,className:q.tocCollapsibleContent,collapsed:o,children:(0,i.jsx)(D.Z,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const J={tocMobile:"tocMobile_ITEo"};function Y(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(G,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(v.k.docs.docTocMobile,J.tocMobile)})}const Q={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"},X="table-of-contents__link toc-highlight",K="table-of-contents__link--active";function ee(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,u.Z)(Q.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)(D.Z,{...n,linkClassName:X,linkActiveClassName:K})})}function te(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(ee,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:v.k.docs.docTocDesktop})}var ne=n(2503),se=n(1151),ae=n(5742),oe=n(2389),ie=n(2949),le=n(6668);function ce(){const{prism:e}=(0,le.L)(),{colorMode:t}=(0,ie.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var re=n(7594),de=n.n(re);const ue=/title=(?["'])(?.*?)\1/,me=/\{(?<range>[\d,-]+)\}/,he={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"},lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""}};function pe(e,t){const n=e.map((e=>{const{start:n,end:s}=he[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function fe(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:o}=t;if(o&&me.test(o)){const e=o.match(me).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=de()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return pe(["js","jsBlock"],t);case"jsx":case"tsx":return pe(["js","jsBlock","jsx"],t);case"html":return pe(["js","jsBlock","html"],t);case"python":case"py":case"bash":return pe(["bash"],t);case"markdown":case"md":return pe(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return pe(["tex"],t);case"lua":case"haskell":case"sql":return pe(["lua"],t);case"wasm":return pe(["wasm"],t);default:return pe(Object.keys(he).filter((e=>!["lua","wasm","tex","latex","matlab"].includes(e))),t)}}(s,a),l=n.split("\n"),c=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),r=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<l.length;){const e=l[h].match(i);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));r[t]?c[r[t]].range+=`${h},`:d[t]?c[d[t]].start=h:u[t]&&(c[u[t]].range+=`${c[u[t]].start}-${h-1},`),l.splice(h,1)}n=l.join("\n");const m={};return Object.entries(c).forEach((e=>{let[t,{range:n}]=e;de()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const xe={codeBlockContainer:"codeBlockContainer_Ckt0"};function be(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const o=t[s];o&&"string"==typeof a&&(n[o]=a)})),n}(ce());return(0,i.jsx)(t,{...n,style:s,className:(0,u.Z)(n.className,xe.codeBlockContainer,v.k.common.codeBlock)})}const ge={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function je(e){let{children:t,className:n}=e;return(0,i.jsx)(be,{as:"pre",tabIndex:0,className:(0,u.Z)(ge.codeBlockStandalone,"thin-scrollbar",n),children:(0,i.jsx)("code",{className:ge.codeBlockLines,children:t})})}const ve={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Ne(e,t){const[n,a]=(0,s.useState)(),i=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{i()}),[i]),function(e,t,n){void 0===n&&(n=ve);const a=(0,o.zX)(t),i=(0,o.Ql)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,i),()=>t.disconnect()}),[e,a,i])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),i())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var Ce=n(2573);const ke={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function Le(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const l=a({line:t,className:(0,u.Z)(n,s&&ke.codeLine)}),c=t.map(((e,t)=>(0,i.jsx)("span",{...o({token:e,key:t})},t)));return(0,i.jsxs)("span",{...l,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:ke.codeLineNumber}),(0,i.jsx)("span",{className:ke.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}function ye(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function _e(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const we={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function Be(e){let{code:t,className:n}=e;const[a,o]=(0,s.useState)(!1),l=(0,s.useRef)(void 0),c=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const o=document.getSelection(),i=o.rangeCount>0&&o.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let l=!1;try{l=document.execCommand("copy")}catch{}s.remove(),i&&(o.removeAllRanges(),o.addRange(i)),a&&a.focus()}(t),o(!0),l.current=window.setTimeout((()=>{o(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),(0,i.jsx)("button",{type:"button","aria-label":a?(0,h.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,h.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,h.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.Z)("clean-btn",n,we.copyButton,a&&we.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:we.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(ye,{className:we.copyButtonIcon}),(0,i.jsx)(_e,{className:we.copyButtonSuccessIcon})]})})}function Ze(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const Te={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function Ee(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,h.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:n,className:(0,u.Z)("clean-btn",t,s&&Te.wordWrapButtonEnabled),"aria-label":a,title:a,children:(0,i.jsx)(Ze,{className:Te.wordWrapButtonIcon,"aria-hidden":"true"})})}function He(e){let{children:t,className:n="",metastring:a,title:o,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:r,magicComments:d}}=(0,le.L)(),m=function(e){return e?.toLowerCase()}(c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??r),h=ce(),p=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),i=(0,s.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),l=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");a(n)}),[o]);return Ne(o,l),(0,s.useEffect)((()=>{l()}),[e,l]),(0,s.useEffect)((()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)})),[l]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:i}}(),f=function(e){return e?.match(ue)?.groups.title??""}(a)||o,{lineClassNames:x,code:b}=fe(t,{metastring:a,language:m,magicComments:d}),g=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return(0,i.jsxs)(be,{as:"div",className:(0,u.Z)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`),children:[f&&(0,i.jsx)("div",{className:ge.codeBlockTitle,children:f}),(0,i.jsxs)("div",{className:ge.codeBlockContent,children:[(0,i.jsx)(Ce.y$,{theme:h,code:b,language:m??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:o}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:p.codeBlockRef,className:(0,u.Z)(t,ge.codeBlock,"thin-scrollbar"),style:n,children:(0,i.jsx)("code",{className:(0,u.Z)(ge.codeBlockLines,g&&ge.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,i.jsx)(Le,{line:e,getLineProps:a,getTokenProps:o,classNames:x[t],showLineNumbers:g},t)))})})}}),(0,i.jsxs)("div",{className:ge.buttonGroup,children:[(p.isEnabled||p.isCodeScrollable)&&(0,i.jsx)(Ee,{className:ge.codeButton,onClick:()=>p.toggle(),isEnabled:p.isEnabled}),(0,i.jsx)(Be,{className:ge.codeButton,code:b})]})]})]})}function Ae(e){let{children:t,...n}=e;const a=(0,oe.Z)(),o=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),l="string"==typeof o?He:je;return(0,i.jsx)(l,{...n,children:o},String(a))}const Ie={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function Me(e){return!!e&&("SUMMARY"===e.tagName||Me(e.parentElement))}function Se(e,t){return!!e&&(e===t||Se(e.parentElement,t))}function Ue(e){let{summary:t,children:n,...a}=e;const o=(0,oe.Z)(),l=(0,s.useRef)(null),{collapsed:c,setCollapsed:r}=(0,$.u)({initialState:!a.open}),[d,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,i.jsx)("summary",{children:t??"Details"});return(0,i.jsxs)("details",{...a,ref:l,open:d,"data-collapsed":c,className:(0,u.Z)(Ie.details,o&&Ie.isBrowser,a.className),onMouseDown:e=>{Me(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Me(t)&&Se(t,l.current)&&(e.preventDefault(),c?(r(!1),m(!0)):r(!0))},children:[h,(0,i.jsx)($.z,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{r(e),m(!e)},children:(0,i.jsx)("div",{className:Ie.collapsibleContent,children:n})})]})}const ze={details:"details_b_Ee"},Ve="alert alert--info";function Re(e){let{...t}=e;return(0,i.jsx)(Ue,{...t,className:(0,u.Z)(Ve,ze.details,t.className)})}function Oe(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,i.jsx)(i.Fragment,{children:t.filter((e=>e!==n))});return(0,i.jsx)(Re,{...e,summary:n,children:a})}function Pe(e){return(0,i.jsx)(ne.Z,{...e})}const $e={containsTaskList:"containsTaskList_mC6p"};function De(e){if(void 0!==e)return(0,u.Z)(e,e?.includes("contains-task-list")&&$e.containsTaskList)}const We={img:"img_ev3q"};function Fe(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),a=t.filter((e=>e!==n)),o=n?.props.children;return{mdxAdmonitionTitle:o,rest:a.length>0?(0,i.jsx)(i.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}const qe={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function Ge(e){let{type:t,className:n,children:s}=e;return(0,i.jsx)("div",{className:(0,u.Z)(v.k.common.admonition,v.k.common.admonitionType(t),qe.admonition,n),children:s})}function Je(e){let{icon:t,title:n}=e;return(0,i.jsxs)("div",{className:qe.admonitionHeading,children:[(0,i.jsx)("span",{className:qe.admonitionIcon,children:t}),n]})}function Ye(e){let{children:t}=e;return t?(0,i.jsx)("div",{className:qe.admonitionContent,children:t}):null}function Qe(e){const{type:t,icon:n,title:s,children:a,className:o}=e;return(0,i.jsxs)(Ge,{type:t,className:o,children:[(0,i.jsx)(Je,{title:s,icon:n}),(0,i.jsx)(Ye,{children:a})]})}function Xe(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const Ke={icon:(0,i.jsx)(Xe,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function et(e){return(0,i.jsx)(Qe,{...Ke,...e,className:(0,u.Z)("alert alert--secondary",e.className),children:e.children})}function tt(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const nt={icon:(0,i.jsx)(tt,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function st(e){return(0,i.jsx)(Qe,{...nt,...e,className:(0,u.Z)("alert alert--success",e.className),children:e.children})}function at(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const ot={icon:(0,i.jsx)(at,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function it(e){return(0,i.jsx)(Qe,{...ot,...e,className:(0,u.Z)("alert alert--info",e.className),children:e.children})}function lt(e){return(0,i.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const ct={icon:(0,i.jsx)(lt,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function rt(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const dt={icon:(0,i.jsx)(rt,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const ut={icon:(0,i.jsx)(lt,{}),title:(0,i.jsx)(h.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const mt={...{note:et,tip:st,info:it,warning:function(e){return(0,i.jsx)(Qe,{...ct,...e,className:(0,u.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,i.jsx)(Qe,{...dt,...e,className:(0,u.Z)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,i.jsx)(et,{title:"secondary",...e}),important:e=>(0,i.jsx)(it,{title:"important",...e}),success:e=>(0,i.jsx)(st,{title:"success",...e}),caution:function(e){return(0,i.jsx)(Qe,{...ut,...e,className:(0,u.Z)("alert alert--warning",e.className),children:e.children})}}};function ht(e){const t=Fe(e),n=(s=t.type,mt[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),mt.info));var s;return(0,i.jsx)(n,{...t})}var pt=n(1875);const ft={Head:ae.Z,details:Oe,Details:Oe,code:function(e){return s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))?(0,i.jsx)("code",{...e}):(0,i.jsx)(Ae,{...e})},a:function(e){return(0,i.jsx)(p.Z,{...e})},pre:function(e){return(0,i.jsx)(i.Fragment,{children:e.children})},ul:function(e){return(0,i.jsx)("ul",{...e,className:De(e.className)})},img:function(e){return(0,i.jsx)("img",{loading:"lazy",...e,className:(t=e.className,(0,u.Z)(t,We.img))});var t},h1:e=>(0,i.jsx)(Pe,{as:"h1",...e}),h2:e=>(0,i.jsx)(Pe,{as:"h2",...e}),h3:e=>(0,i.jsx)(Pe,{as:"h3",...e}),h4:e=>(0,i.jsx)(Pe,{as:"h4",...e}),h5:e=>(0,i.jsx)(Pe,{as:"h5",...e}),h6:e=>(0,i.jsx)(Pe,{as:"h6",...e}),admonition:ht,mermaid:pt.Z};function xt(e){let{children:t}=e;return(0,i.jsx)(se.Z,{components:ft,children:t})}function bt(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=r();return t.hide_title||void 0!==n?null:e.title}();return(0,i.jsxs)("div",{className:(0,u.Z)(v.k.docs.docMarkdown,"markdown"),children:[n&&(0,i.jsx)("header",{children:(0,i.jsx)(ne.Z,{as:"h1",children:n})}),(0,i.jsx)(xt,{children:t})]})}var gt=n(2802),jt=n(8596),vt=n(4996);function Nt(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const Ct={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function kt(){const e=(0,vt.Z)("/");return(0,i.jsx)("li",{className:"breadcrumbs__item",children:(0,i.jsx)(p.Z,{"aria-label":(0,h.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,i.jsx)(Nt,{className:Ct.breadcrumbHomeIcon})})})}const Lt={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function yt(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,i.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,i.jsx)(p.Z,{className:a,href:n,itemProp:"item",children:(0,i.jsx)("span",{itemProp:"name",children:t})}):(0,i.jsx)("span",{className:a,children:t})}function _t(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,i.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,i.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function wt(){const e=(0,gt.s1)(),t=(0,jt.Ns)();return e?(0,i.jsx)("nav",{className:(0,u.Z)(v.k.docs.docBreadcrumbs,Lt.breadcrumbsContainer),"aria-label":(0,h.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,i.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,i.jsx)(kt,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,i.jsx)(_t,{active:s,index:n,addMicrodata:!!a,children:(0,i.jsx)(yt,{href:a,isLast:s,children:t.label})},n)}))]})}):null}function Bt(){return(0,i.jsx)(h.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function Zt(){return(0,i.jsx)(h.Z,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function Tt(){return(0,i.jsx)(ae.Z,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function Et(e){let{className:t}=e;return(0,i.jsx)(ht,{type:"caution",title:(0,i.jsx)(Bt,{}),className:(0,u.Z)(t,v.k.common.unlistedBanner),children:(0,i.jsx)(Zt,{})})}function Ht(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Tt,{}),(0,i.jsx)(Et,{...e})]})}const At={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function It(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=r(),n=(0,m.i)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,i.jsx)(Y,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,i.jsx)(te,{})}}(),{metadata:{unlisted:s}}=r();return(0,i.jsxs)("div",{className:"row",children:[(0,i.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&At.docItemCol),children:[s&&(0,i.jsx)(Ht,{}),(0,i.jsx)(w,{}),(0,i.jsxs)("div",{className:At.docItemContainer,children:[(0,i.jsxs)("article",{children:[(0,i.jsx)(wt,{}),(0,i.jsx)(B,{}),n.mobile,(0,i.jsx)(bt,{children:t}),(0,i.jsx)(P,{})]}),(0,i.jsx)(b,{})]})]}),n.desktop&&(0,i.jsx)("div",{className:"col col--3",children:n.desktop})]})}function Mt(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,i.jsx)(c,{content:e.content,children:(0,i.jsxs)(a.FG,{className:t,children:[(0,i.jsx)(d,{}),(0,i.jsx)(It,{children:(0,i.jsx)(n,{})})]})})}},3743:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var s=n(7294),a=n(6668);function o(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function l(e){const t=e.getBoundingClientRect();return t.top===t.bottom?l(e.parentNode):t}function c(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>l(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(l(s))?s:e[e.indexOf(s)-1]??null}return e[e.length-1]??null}function r(){const e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,a.L)();return(0,s.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=r();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:o,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:o,maxHeadingLevel:i}),r=c(l,{anchorTopOffset:n.current}),d=e.find((e=>r&&r.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}var u=n(9960),m=n(5893);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.Z,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const p=s.memo(h);function f(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:r,maxHeadingLevel:u,...h}=e;const f=(0,a.L)(),x=r??f.tableOfContents.minHeadingLevel,b=u??f.tableOfContents.maxHeadingLevel,g=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>i({toc:o(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:x,maxHeadingLevel:b});return d((0,s.useMemo)((()=>{if(l&&c)return{linkClassName:l,linkActiveClassName:c,minHeadingLevel:x,maxHeadingLevel:b}}),[l,c,x,b])),(0,m.jsx)(p,{toc:g,className:n,linkClassName:l,...h})}},7594:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,o]=t;if(s&&o){s=parseInt(s),o=parseInt(o);const e=s<o?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(o+=e);for(let t=s;t!==o;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},1151:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l,a:()=>i});var s=n(7294);const a={},o=s.createContext(a);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/1df93b7f.7dde3e80.js b/pr-preview/pr-33/assets/js/1df93b7f.7dde3e80.js new file mode 100644 index 0000000..5ce9399 --- /dev/null +++ b/pr-preview/pr-33/assets/js/1df93b7f.7dde3e80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[237,73],{6670:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>oe,contentTitle:()=>le,default:()=>fe,frontMatter:()=>ne,metadata:()=>ie,toc:()=>ce});var r,n,l,i,o,c,s,f,m,p,h,d,y,x,k,E,u,g,S,v,V,M,w,b,O,Z,j,A,W,N,L,H,z,F,C,R,D,I,B,P,_,T,J,G,K,q,X,Y,U,Q,$=a(5893),ee=a(1151),te=a(7294);function ae(){return ae=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},ae.apply(this,arguments)}const re=e=>{let{title:t,titleId:a,...$}=e;return te.createElement("svg",ae({width:1033.035,height:549.355,viewBox:"0 0 273.324 145.35",xmlSpace:"preserve",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":a},$),t?te.createElement("title",{id:a},t):null,te.createElement("defs",null,r||(r=te.createElement("path",{id:"b",d:"M1.745 5.475c0 1.558-.125 2.066-.445 2.44a1.94 1.94 0 0 1-1.3.498l.125.89a3.045 3.045 0 0 0 2.03-.738 3.561 3.561 0 0 0 .783-2.671V0H1.745V5.475Z"})),n||(n=te.createElement("path",{id:"c",d:"M5.502 4.763c0 .668 0 1.264.053 1.78H4.496l-.071-1.059A2.466 2.466 0 0 1 2.26 6.695C1.23 6.695 0 6.135 0 3.846V.045h1.193v3.56c0 1.238.383 2.066 1.46 2.066A1.665 1.665 0 0 0 4.336 3.99V0h1.193v4.727l-.027.036Z"})),l||(l=te.createElement("path",{id:"d",d:"M.053 2.273c0-.828 0-1.505-.053-2.12h1.068l.054 1.114A2.582 2.582 0 0 1 3.454.002c1.585 0 2.778 1.327 2.778 3.303 0 2.333-1.433 3.49-2.982 3.49a2.306 2.306 0 0 1-2.021-1.023v3.56H.053V2.274ZM1.23 4.009c.003.161.02.322.053.48a1.834 1.834 0 0 0 1.78 1.38c1.256 0 1.995-1.023 1.995-2.51 0-1.3-.695-2.413-1.95-2.413a2.048 2.048 0 0 0-1.878 1.95v1.113Z"})),i||(i=te.createElement("path",{id:"e",d:"M1.318.018 2.75 3.855c.151.427.312.944.418 1.327.125-.392.259-.89.419-1.354l1.3-3.81h1.255l-1.78 4.63c-.89 2.225-1.434 3.374-2.253 4.068a3.24 3.24 0 0 1-1.46.766l-.294-.997a3.16 3.16 0 0 0 1.042-.58 3.561 3.561 0 0 0 1.006-1.317.89.89 0 0 0 .098-.285 1.024 1.024 0 0 0-.08-.311L0 0h1.3l.018.018Z"})),o||(o=te.createElement("path",{id:"f",d:"M2.19 0v1.87H3.9v.89H2.19v3.508c0 .801.232 1.264.89 1.264.234.004.468-.023.695-.08l.053.89c-.34.118-.7.172-1.06.16a1.656 1.656 0 0 1-1.29-.498 2.395 2.395 0 0 1-.463-1.692V2.751H0v-.89h1.033V.276L2.19 0Z"})),c||(c=te.createElement("path",{id:"g",d:"M1.177 3.579A2.092 2.092 0 0 0 3.43 5.831a4.345 4.345 0 0 0 1.78-.338l.205.89a5.342 5.342 0 0 1-2.181.401A3.027 3.027 0 0 1 .01 3.508C.01 1.549 1.177 0 3.082 0 5.22 0 5.753 1.87 5.753 3.063c.012.183.012.368 0 .552H1.15l.027-.036Zm3.49-.89A1.683 1.683 0 0 0 3.011.766a1.968 1.968 0 0 0-1.825 1.923h3.481Z"})),s||(s=te.createElement("path",{id:"h",d:"M.053 2.192c0-.765 0-1.424-.053-2.03h1.068v1.274h.054A1.968 1.968 0 0 1 2.902.01a1.3 1.3 0 0 1 .339 0v1.113a1.78 1.78 0 0 0-.41 0 1.665 1.665 0 0 0-1.593 1.513 3.293 3.293 0 0 0-.054.552v3.464H.01V2.2l.044-.009Z"})),f||(f=te.createElement("path",{id:"i",d:"M6.03 2.836A3.018 3.018 0 1 1 2.889.005a2.982 2.982 0 0 1 3.143 2.83Z"})),m||(m=te.createElement("path",{id:"j",d:"M18.696 7.122C10.684 7.122 3.641 4.247 0 0a19.934 19.934 0 0 0 37.392 0C33.76 4.247 26.744 7.122 18.696 7.122Z"})),p||(p=te.createElement("path",{id:"k",d:"M18.696 5.897c8.013 0 15.055 2.876 18.696 7.123A19.934 19.934 0 0 0 0 13.02c3.641-4.256 10.648-7.123 18.696-7.123Z"})),h||(h=te.createElement("path",{id:"l",d:"M7.596 3.567A3.802 3.802 0 1 1 3.634.005a3.766 3.766 0 0 1 3.962 3.562Z"})),d||(d=te.createElement("path",{id:"m",d:"M2.25 4.38A2.19 2.19 0 1 1 4.379 2.1a2.217 2.217 0 0 1-2.127 2.28Z"})),te.createElement("marker",{style:{overflow:"visible"},id:"a",refX:0,refY:0,orient:"auto-start-reverse",markerWidth:.5,markerHeight:.5,viewBox:"0 0 1 1",preserveAspectRatio:"xMidYMid"},te.createElement("path",{transform:"scale(.5)",style:{fill:"context-stroke",fillRule:"evenodd",stroke:"context-stroke",strokeWidth:"1pt"},d:"m5.77 0-8.65 5V-5Z"}))),te.createElement("g",{transform:"translate(32.636 -79.35)"},te.createElement("rect",{style:{fill:"none",fillOpacity:.504747,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"4.7625,1.5875",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},width:218.281,height:87.313,x:-32.239,y:136.988,ry:5.292,rx:5.292}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:181.967,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:203.134,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:78.225,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:132.134,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:78.225,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:132.134,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:105.179,y:192.55,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:181.967,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:203.134,rx:2.646,ry:2.646}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"VRE knowledge"),y||(y=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"base"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"90%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(225.787 3.856)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"90%"}},"Notebook-as-")),te.createElement("tspan",{x:-68.021,y:147.348},te.createElement("tspan",{style:{lineHeight:"90%"}},"a-VRE"),x||(x=te.createElement("tspan",{y:147.348}))),te.createElement("tspan",{x:-68.021,y:153.063},te.createElement("tspan",{style:{lineHeight:"90%"}},"dashboards"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(225.787 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"eScience"),k||(k=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"devOps"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(171.878 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed VRE"),E||(E=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"ledger"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(171.878 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Provenance /"),u||(u=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"log expllorer"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed"),g||(g=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"workflow bus"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"90%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 25.022)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"90%"}},"Remote"),S||(S=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:147.348},te.createElement("tspan",{style:{lineHeight:"90%"}},"infrastructure"),v||(v=te.createElement("tspan",{y:147.348}))),te.createElement("tspan",{x:-68.021,y:153.063},te.createElement("tspan",{style:{lineHeight:"90%"}},"automator"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 51.798)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"AAI"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 69.472)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed"),V||(V=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"data mesh"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Semantic"),M||(M=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"search engine"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 48.306)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Component"),w||(w=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"containerizer"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 69.472)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Experiment"),b||(b=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"manager"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(198.832 62.382)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"\u2026"))),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,markerStart:"url(#a)",markerEnd:"url(#marker56)",paintOrder:"markers fill stroke"},d:"M219.653 115.969v42.087"}),te.createElement("rect",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},width:147.575,height:13.655,x:87.181,y:99.459,ry:2.646,rx:2.646}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:120.186,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(228.99 -33.143)"},O||(O=te.createElement("tspan",{x:-68.021,y:141.633},"Client side (e.g. Jupyter environment)"))),te.createElement("g",{transform:"matrix(1.53683 0 0 1.53602 -102.622 -41.848)",style:{strokeWidth:.650863}},te.createElement("circle",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.516622,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:180.396,cy:81.808,r:2.646}),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.516622,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M175.766 89.084a4.63 4.63 0 0 1 4.63-4.63 4.63 4.63 0 0 1 4.63 4.63"})),te.createElement("path",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.793751,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M188.744 85.709c1.459 0 4.09.81 5.563.503 1.39-.29 3.364-.199 4.784-.215 1.328-.015 2.825.009 4.153.004 1.448-.006 2.907-.244 4.355-.249 1.502-.004 3.15.027 4.652.046 1.456.018 3.493-.221 4.948-.202a155.9 155.9 0 0 1 4.089.119c1.452.058 3.012-.01 4.465.035 1.372.042 2.963.219 4.444.325 1.206.086 2.646 1.142 2.648 2.648.042 1.486-.008 2.61-.013 4.097-.005 1.608.243 3.047.238 4.655-.004 1.142-.442 3.235-1 4.756-.365.99-.802 2.793-2.08 2.84-1.453.367-3.197-.002-4.695-.026-1.432-.024-2.598.238-4.03.226-1.588-.013-3.451-.068-5.04-.104-1.406-.033-3.093-.064-4.499-.094-1.404-.03-2.416.054-3.82.028-1.63-.031-3.212-.046-4.842-.085-1.514-.036-3.055-.594-4.57-.63-1.493-.035-2.893.001-4.384.104-1.43.098-3.021.274-4.536.311-1.268.032-2.563-1.55-2.626-2.999-.004-1.467-.136-3.087-.078-4.553.056-1.415-.391-2.826-.395-4.243-.003-1.113.44-3.082.492-4.635.04-1.175.319-2.663 1.777-2.662z",transform:"translate(0 -4.118)"}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:120.186,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(271.762 -52.173)"},Z||(Z=te.createElement("tspan",{x:-68.021,y:141.633},"NaaVRE"))),te.createElement("g",{transform:"translate(2.396 -3.725)"},te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:206.301,cy:98.987,r:3.969}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:215.173,cy:98.987,r:3.969}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:224.046,cy:98.987,r:3.969}),te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("use",{xlinkHref:"#b",transform:"matrix(.2451 0 0 .2451 88.488 108.946)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#c",transform:"matrix(.2451 0 0 .2451 89.748 108.948)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#d",transform:"matrix(.2451 0 0 .2451 91.638 108.921)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#e",transform:"matrix(.2451 0 0 .2451 93.363 108.953)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#f",transform:"matrix(.2451 0 0 .2451 95.108 108.5)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#g",transform:"matrix(.2451 0 0 .2451 96.314 108.929)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#h",transform:"matrix(.2451 0 0 .2451 98.155 108.916)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}})),te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("use",{xlinkHref:"#i",transform:"matrix(.2451 0 0 .2451 96.562 103.88)",fill:"#767677",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#j",transform:"matrix(.2451 0 0 .2451 89.142 111.375)",fill:"#f37726",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#k",transform:"matrix(.2451 0 0 .2451 89.142 104.906)",fill:"#f37726",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#l",transform:"matrix(.2451 0 0 .2451 89.16 114.272)",fill:"#9e9e9e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#m",transform:"matrix(.2451 0 0 .2451 88.814 105.041)",fill:"#616262",style:{mixBlendMode:"normal",strokeWidth:1.0795}})))),te.createElement("path",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"none",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 192.293c0 2.544-9.24 4.605-20.638 4.605-11.398 0-20.638-2.061-20.638-4.605v-30.258c0-2.543 9.24-4.605 20.638-4.605 11.398 0 20.638 2.062 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"#fff",fillOpacity:1,stroke:"none",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 162.035a20.638 4.605 0 0 1-20.638 4.605 20.638 4.605 0 0 1-20.638-4.605 20.638 4.605 0 0 1 20.638-4.605 20.638 4.605 0 0 1 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"none",fillOpacity:.421002,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 162.035c0 2.543-9.24 4.605-20.638 4.605-11.398 0-20.638-2.062-20.638-4.605",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"none",fillOpacity:.421002,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 192.293c0 2.544-9.24 4.605-20.638 4.605-11.398 0-20.638-2.061-20.638-4.605v-30.258c0-2.543 9.24-4.605 20.638-4.605 11.398 0 20.638 2.062 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(287.675 36.466)"},j||(j=te.createElement("tspan",{x:-68.021,y:141.633},"NaaVRE\n")),A||(A=te.createElement("tspan",{x:-68.021,y:148.618},"services\n")),W||(W=te.createElement("tspan",{x:-68.021,y:155.603},"market place"))),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M188.567 139.688c8.827.018-.152 40.957 8.496 40.957",id:"n"}),N||(N=te.createElement("use",{xlinkHref:"#n",transform:"matrix(1 0 0 -1 0 361.291)"})),te.createElement("g",{transform:"translate(63.044 -91.752)"},te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},id:"o",cx:-89.925,cy:247.195,r:3.109}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:268.361,r:3.109}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:310.695,r:3.109}),L||(L=te.createElement("use",{x:0,y:0,xlinkHref:"#o",id:"q",transform:"translate(161.727)"})),H||(H=te.createElement("use",{x:0,y:0,xlinkHref:"#o",id:"p",transform:"translate(53.909)"})),z||(z=te.createElement("use",{x:0,y:0,xlinkHref:"#p",id:"r",transform:"translate(53.909)"})),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:289.528,r:3.109}),F||(F=te.createElement("use",{x:0,y:0,xlinkHref:"#p",id:"s",transform:"translate(0 21.167)"})),C||(C=te.createElement("use",{xlinkHref:"#q",transform:"translate(0 21.167)"})),R||(R=te.createElement("use",{xlinkHref:"#r",transform:"translate(0 21.167)"})),D||(D=te.createElement("use",{xlinkHref:"#p",transform:"translate(0 42.333)"})),I||(I=te.createElement("use",{xlinkHref:"#s",transform:"translate(0 42.333)"}))),te.createElement("g",{style:{fill:"#fff",fillOpacity:1}},te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 16.013)"},B||(B=te.createElement("tspan",{x:-68.021,y:141.633},"A"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 37.18)"},P||(P=te.createElement("tspan",{x:-68.021,y:141.633},"B"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 58.347)"},_||(_=te.createElement("tspan",{x:-68.021,y:141.633},"C"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 79.513)"},T||(T=te.createElement("tspan",{x:-68.021,y:141.633},"D"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 16.013)"},J||(J=te.createElement("tspan",{x:-68.021,y:141.633},"E"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 37.18)"},G||(G=te.createElement("tspan",{x:-68.021,y:141.633},"F"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 58.347)"},K||(K=te.createElement("tspan",{x:-68.021,y:141.633},"G"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 79.513)"},q||(q=te.createElement("tspan",{x:-68.021,y:141.633},"H"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(148.958 16.013)"},X||(X=te.createElement("tspan",{x:-68.021,y:141.633},"I"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(148.958 37.18)"},Y||(Y=te.createElement("tspan",{x:-68.021,y:141.633},"J"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(202.867 16.013)"},U||(U=te.createElement("tspan",{x:-68.021,y:141.633},"K"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(202.867 37.18)"},Q||(Q=te.createElement("tspan",{x:-68.021,y:141.633},"L"))))))},ne={sidebar_position:1,title:"About NaaVRE"},le=void 0,ie={id:"about",title:"About NaaVRE",description:"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].",source:"@site/docs/about.mdx",sourceDirName:".",slug:"/about",permalink:"/pr-preview/pr-33/docs/about",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/about.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"About NaaVRE"},sidebar:"tutorialSidebar",next:{title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform",permalink:"/pr-preview/pr-33/docs/readiness_levels/"}},oe={},ce=[{value:"Tutorials",id:"tutorials",level:2},{value:"Notebook as a Virtual Research Environment (NaaVRE) Platform",id:"notebook-as-a-virtual-research-environment-naavre-platform",level:2},{value:"Main Features",id:"main-features",level:3},{value:"Collaborative Virtual Labs",id:"collaborative-virtual-labs",level:2},{value:"Main Features",id:"main-features-1",level:3},{value:"Supported Kernels",id:"supported-kernels",level:3}];function se(e){const t={a:"a",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",ul:"ul",...(0,ee.a)(),...e.components};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(t.p,{children:"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1]."}),"\n",(0,$.jsx)(re,{alt:"NaaVRE conceptual architecture diagram",width:"inherit"}),"\n",(0,$.jsxs)(t.ol,{children:["\n",(0,$.jsxs)(t.li,{children:['Zhao, Zhiming, Spiros Koulouzis, Riccardo Bianchi, Siamak Farshidi, Zeshun Shi, Ruyue Xin, Yuandou Wang et al. "Notebook\u2010as\u2010a\u2010VRE (NaaVRE): From private notebooks to a collaborative cloud virtual research environment." Software: Practice and Experience 52, no. 9 (2022): 1947-1966. ',(0,$.jsx)(t.a,{href:"https://doi.org/10.1002/spe.3098",children:"https://doi.org/10.1002/spe.3098"})]}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"tutorials",children:"Tutorials"}),"\n",(0,$.jsx)(t.p,{children:"This section of the documentation contains step-by-step tutorials that help outline the capabilities of Virtual Research\nEnvironments (VRE) and how you can achieve specific aims. The tutorials are recommended if you do not have much\nexperience with VRE."}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:(0,$.jsx)(t.a,{href:"docs/tutorials",children:"Getting Started"})}),"\n",(0,$.jsx)(t.li,{children:(0,$.jsx)(t.a,{href:"docs/NaaVRE_Interface",children:"The NaaVRE Interface"})}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"notebook-as-a-virtual-research-environment-naavre-platform",children:"Notebook as a Virtual Research Environment (NaaVRE) Platform"}),"\n",(0,$.jsx)(t.p,{children:"The LifeWatch NaaVRE platform is a Platform as a Service (PaaS) that allows users to create Collaborative Virtual Labs with customized runtime libraries, user interfaces, and workflow building blocks, and to conduct research activities in specific domains."}),"\n",(0,$.jsx)(t.h3,{id:"main-features",children:"Main Features"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"A user-friendly interface to the LifeWatch VRE platform"}),"\n",(0,$.jsx)(t.li,{children:"Overview of the running Virtual Labs (VLs)"}),"\n",(0,$.jsx)(t.li,{children:"Overview of executed workflows"}),"\n",(0,$.jsx)(t.li,{children:"Community-based data products catalog"}),"\n",(0,$.jsx)(t.li,{children:"Community-based geographical data products catalog"}),"\n",(0,$.jsxs)(t.li,{children:["Collaboration tools","\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsxs)(t.li,{children:["Video conferencing with ",(0,$.jsx)(t.a,{href:"https://jupyter-videochat.readthedocs.io/en/latest/",children:"jupyter-videochat"})]}),"\n",(0,$.jsxs)(t.li,{children:["Git integration with ",(0,$.jsx)(t.a,{href:"https://pypi.org/project/jupyterlab-git/",children:"jupyterlab-git"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"collaborative-virtual-labs",children:"Collaborative Virtual Labs"}),"\n",(0,$.jsx)(t.p,{children:"A Collaborative Virtual Lab provides a customized profile, which allows a domain user to create a Virtual Lab instance on the NaaVRE platform. All the Virtual Lab instances of a Collaborative Virtual Lab can share data and workflows. A Virtual Lab is based on a Jupyter environment with specially developed extensions for containerizing Notebook cells, composing and executing workflows, and searching and sharing research objects."}),"\n",(0,$.jsx)(t.h3,{id:"main-features-1",children:"Main Features"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"Containerization of cells"}),"\n",(0,$.jsx)(t.li,{children:"Workflow composition based on containerized cells"}),"\n",(0,$.jsx)(t.li,{children:"Execution of containerized cells on a workflow engine"}),"\n",(0,$.jsx)(t.li,{children:"Search for notebooks"}),"\n"]}),"\n",(0,$.jsx)(t.h3,{id:"supported-kernels",children:"Supported Kernels"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"Python"}),"\n",(0,$.jsx)(t.li,{children:"Rscript"}),"\n"]})]})}function fe(e={}){const{wrapper:t}={...(0,ee.a)(),...e.components};return t?(0,$.jsx)(t,{...e,children:(0,$.jsx)(se,{...e})}):se(e)}},1535:(e,t,a)=>{a.d(t,{Z:()=>z});var r,n,l,i,o,c,s,f,m,p,h,d,y,x,k,E,u,g,S,v,V,M,w,b,O,Z,j,A,W,N,L=a(7294);function H(){return H=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},H.apply(this,arguments)}const z=e=>{let{title:t,titleId:a,...z}=e;return L.createElement("svg",H({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",width:904.886,height:742,viewBox:"0 0 904.886 742","aria-labelledby":a},z),t?L.createElement("title",{id:a},t):null,r||(r=L.createElement("path",{fill:"#ffb6b6",d:"m686.055 724.756-15.29-.001-7.274-58.974 22.566.001-.002 58.974z"})),n||(n=L.createElement("path",{d:"m689.954 739.577-49.3-.002v-.623a19.19 19.19 0 0 1 19.189-19.19l30.112.002Z",fill:"#2f2e41"})),l||(l=L.createElement("path",{fill:"#ffb6b6",d:"m801.699 711.547-14.553 4.689-25.011-53.901 21.479-6.921 18.085 56.133z"})),i||(i=L.createElement("path",{d:"m809.956 724.458-46.925 15.119-.19-.594a19.19 19.19 0 0 1 12.378-24.149h.001l28.66-9.234Z",fill:"#2f2e41"})),o||(o=L.createElement("circle",{cx:809.348,cy:504.31,r:19.092,fill:"#3c8f49"})),c||(c=L.createElement("path",{d:"M834.348 539.143c-.344.186-.684.36-1.025.532l-40.31-74.845a49.22 49.22 0 0 1 1.008-.563 42.523 42.523 0 0 1 40.327 74.876Z",fill:"#3f3d56"})),s||(s=L.createElement("path",{d:"m797.127 501.12-5.634-78.17 1.071-26.09-21.96 4.887 8.09 102.426a11.446 11.446 0 1 0 18.433-3.054ZM697.753 432.217l-1.396-26.19-14.094-11.451-1.946 25.172-51.883 59.984a11.445 11.445 0 1 0 13.255 11.296c0-.155-.017-.304-.023-.457Z",fill:"#ffb7b7"})),f||(f=L.createElement("path",{d:"M700.28 423.833 656 480l-15-16 31-45 19.423-85.322a9.004 9.004 0 0 1 5.26-4.689 8.866 8.866 0 0 1 6.92.497l.251.128ZM776.388 477l-14.066-97.774.023-.09 14.445-56.788 1.354-.157a15.77 15.77 0 0 1 17.173 12.484L796.387 480Z",fill:"#3c8f49"})),m||(m=L.createElement("path",{d:"M780.826 307.015h-73.11v-33.032a36.555 36.555 0 1 1 73.11 0Z",fill:"#2f2e41"})),p||(p=L.createElement("circle",{cx:890.986,cy:357.128,r:29.879,transform:"rotate(-61.337 750.598 442.042)",fill:"#ffb7b7"})),h||(h=L.createElement("circle",{cx:757.853,cy:232.89,r:19.89,fill:"#2f2e41"})),d||(d=L.createElement("path",{d:"M789 279.709h-77.76v-.44c0-20.157 17.44-36.555 38.88-36.555S789 259.112 789 279.269ZM689.748 695.28l-28.89-2.063-.039-.423c-12.66-138.213-5.477-229.5 20.224-257.064l7.252-13.566-3.97-22.83c-10.604-27.93 7.205-48.36 8.551-49.845l5.741-17.222a6.511 6.511 0 0 1 5.505-4.411l78.015-7.979.051.498-.05-.498a6.5 6.5 0 0 1 7.142 5.976l.007.092-.026.089-28.438 95.768 2.492 32.407 33.564 231.93-28.906 6.194-.134-.44-53.338-174.83Z",fill:"#2f2e41"})),y||(y=L.createElement("path",{d:"M617 557.5H7A6.507 6.507 0 0 1 .5 551V7A6.507 6.507 0 0 1 7 .5h610a6.508 6.508 0 0 1 6.5 6.5v544a6.508 6.508 0 0 1-6.5 6.5Z",fill:"#fff"})),x||(x=L.createElement("path",{d:"M208.692 24.43v140.586h-.286a70.292 70.292 0 0 1 0-140.585Z",fill:"#3c8f49"})),k||(k=L.createElement("path",{d:"M192.785 56.116v77.215h-.157a38.608 38.608 0 0 1 0-77.215Z",fill:"#fff"})),E||(E=L.createElement("path",{fill:"#3f3d56",d:"M312.543 281H100.146V93.723h37.968v2h-35.968V279h210.397v2z"})),u||(u=L.createElement("circle",{cx:341.18,cy:309.072,r:19.092,fill:"#3c8f49"})),g||(g=L.createElement("circle",{cx:519.081,cy:493.914,r:19.092,fill:"#3f3d56"})),S||(S=L.createElement("circle",{cx:100.798,cy:278.698,r:19.092,fill:"#3c8f49"})),v||(v=L.createElement("path",{fill:"#3f3d56",d:"M312.543 280.434h47.729v-47.729h-95.459v95.458h47.73v-47.729z"})),V||(V=L.createElement("path",{fill:"#e4e4e4",d:"M414.944 40.051h209.142v26.034H414.944zM414.944 96.459h209.142v26.034H414.944zM561.603 185.843c0 .39-.008.772-.017 1.154h-85.01a49.189 49.189 0 0 1-.018-1.154 42.523 42.523 0 0 1 85.045 0ZM561.603 488.421c0 .39-.008.773-.017 1.154h-85.01a49.19 49.19 0 0 1-.018-1.154 42.523 42.523 0 0 1 85.045 0Z"})),M||(M=L.createElement("path",{fill:"#3f3d56",d:"M518.081 228.365h2v217.423h-2z"})),w||(w=L.createElement("path",{d:"M273.491 467.88a65.088 65.088 0 0 1-64.799 65.086V402.795a65.088 65.088 0 0 1 64.8 65.085Z",fill:"#3c8f49"})),b||(b=L.createElement("path",{d:"M618.879 560H6.207A6.214 6.214 0 0 1 0 553.793V6.207A6.214 6.214 0 0 1 6.207 0h612.672a6.214 6.214 0 0 1 6.206 6.207v547.586A6.214 6.214 0 0 1 618.88 560ZM6.207 2A4.212 4.212 0 0 0 2 6.207v547.586A4.212 4.212 0 0 0 6.207 558h612.672a4.212 4.212 0 0 0 4.206-4.207V6.207A4.212 4.212 0 0 0 618.88 2Z",fill:"#3f3d56"})),O||(O=L.createElement("path",{d:"M207.692 166.02V23.427l1.004.004a71.293 71.293 0 0 1 0 142.585Zm2-140.578v138.562a69.293 69.293 0 0 0 0-138.562ZM209.692 533.966h-1.286a66.085 66.085 0 1 1 0-132.171h1.286Zm-2-130.167a64.086 64.086 0 0 0 0 128.163ZM519.08 229.365a43.283 43.283 0 0 1-43.504-42.341l-.027-1.027h87.064l-.027 1.027a43.283 43.283 0 0 1-43.505 42.341Zm-41.465-41.368a41.522 41.522 0 0 0 82.932 0ZM1 372h623.085v2H1z",fill:"#3f3d56"})),Z||(Z=L.createElement("path",{fill:"#3f3d56",d:"M1 185.997h623.085v2H1z"})),j||(j=L.createElement("path",{fill:"#3f3d56",d:"M415.39 1h2v558h-2zM207.692 1h2v558h-2z"})),A||(A=L.createElement("circle",{cx:145.924,cy:466.145,r:19.092,fill:"#3c8f49"})),W||(W=L.createElement("path",{d:"M903.886 742h-381a1 1 0 0 1 0-2h381a1 1 0 0 1 0 2Z",fill:"#cacaca"})),N||(N=L.createElement("path",{d:"M574.42 739.984c5.629-18.137.161-38.764-12.677-52.548a50.037 50.037 0 0 0-12.496-9.754 1.507 1.507 0 0 0-1.818 2.356l2.571 2.781v-2.121c-4.976 4.642-14.046 1.101-14.95-5.499a11.317 11.317 0 0 1 3.422-9.364 10.743 10.743 0 0 1 10.201-2.532 13.348 13.348 0 0 1 8.75 6.928 14.767 14.767 0 0 1 .416 11.194c-2.744 8.018-11.498 11.789-19.486 9.9-8.152-1.929-13.994-9.615-14.26-17.915a19.753 19.753 0 0 1 12.619-18.626c8.558-3.161 17.849 0 25.077 4.887a56.448 56.448 0 0 1 17.579 20.016 57.753 57.753 0 0 1 7.071 25.174c.233 7.255-1.307 15.497-6.658 20.797a16.43 16.43 0 0 1-4.381 3.076l1.514 2.59a56.674 56.674 0 0 0 27.981-54.95 57.414 57.414 0 0 0-5.47-18.854c-.848-1.734-3.436-.215-2.59 1.514a53.876 53.876 0 0 1 4.69 32.384 53.604 53.604 0 0 1-26.125 37.316c-1.691.971-.204 3.433 1.514 2.59 8.078-3.962 11.602-12.93 12.379-21.423.886-9.698-1.636-19.77-5.72-28.516a60.922 60.922 0 0 0-18.932-23.365c-8.044-5.867-18.94-9.745-28.727-6.128-8.754 3.234-15.117 12.099-14.822 21.518.296 9.453 6.824 18.346 16.1 20.718 9.255 2.367 19.374-1.713 23.104-10.76a17.99 17.99 0 0 0 .357-13.18 16.206 16.206 0 0 0-9.209-9.136 14.343 14.343 0 0 0-12.766.831 14.521 14.521 0 0 0-6.554 10.146 11.617 11.617 0 0 0 4.017 10.808 13.242 13.242 0 0 0 10.971 2.644 10.672 10.672 0 0 0 5.01-2.662 1.525 1.525 0 0 0 0-2.121l-2.571-2.782-1.818 2.356c15.726 8.633 25.569 26.192 25.9 43.996a47.262 47.262 0 0 1-2.106 14.919c-.573 1.848 2.322 2.638 2.893.797Z",fill:"#f0f0f0"})))}},5550:(e,t,a)=>{a.d(t,{Z:()=>z});var r,n,l,i,o,c,s,f,m,p,h,d,y,x,k,E,u,g,S,v,V,M,w,b,O,Z,j,A,W,N,L=a(7294);function H(){return H=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},H.apply(this,arguments)}const z=e=>{let{title:t,titleId:a,...z}=e;return L.createElement("svg",H({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",width:618.675,height:487.325,viewBox:"0 0 618.675 487.325","aria-labelledby":a},z),t?L.createElement("title",{id:a},t):null,r||(r=L.createElement("path",{d:"M148.532 264.22c-4.937-26.426 2.836-56.49 24.443-72.486a123.863 123.863 0 0 0 25.822 81.025c6.935 8.89 15.575 18.055 15.306 29.326-.166 7.014-3.96 13.548-8.958 18.47-4.999 4.922-11.156 8.471-17.24 11.965l-.947 1.473c-17.834-20.116-33.488-43.346-38.426-69.773Z",fill:"#f0f0f0"})),n||(n=L.createElement("path",{d:"M173.369 192.138a105.87 105.87 0 0 0-6.99 64.761 45.591 45.591 0 0 0 4.828 13.444 26.149 26.149 0 0 0 9.879 9.582c3.77 2.179 7.88 3.97 11.055 7.028a16.01 16.01 0 0 1 4.713 12.216c-.152 5.623-2.315 10.856-4.609 15.9-2.546 5.599-5.28 11.375-5.114 17.671.02.763-1.165.75-1.185-.012-.287-10.954 7.632-19.751 9.396-30.262.824-4.904.174-10.086-3.274-13.888-3.015-3.324-7.25-5.176-11.088-7.349a27.903 27.903 0 0 1-10.008-9.009 42.148 42.148 0 0 1-5.327-13.208 102.712 102.712 0 0 1-2.328-32.018 107.747 107.747 0 0 1 9.035-35.465c.31-.694 1.325-.08 1.017.609Z",fill:"#fff"})),l||(l=L.createElement("path",{d:"M164.507 249.97a15.884 15.884 0 0 1-16.571-12.183c-.174-.742.972-1.046 1.145-.303a14.708 14.708 0 0 0 15.438 11.302c.76-.057.744 1.128-.012 1.184ZM179.028 279.072a30.615 30.615 0 0 0 7.674-20.95c-.017-.763 1.167-.75 1.185.012a31.844 31.844 0 0 1-8.03 21.785c-.507.57-1.334-.28-.829-.847ZM165.673 215.48a8.991 8.991 0 0 0 7.987-3c.5-.576 1.326.274.829.847a10.075 10.075 0 0 1-8.829 3.337.612.612 0 0 1-.586-.598.595.595 0 0 1 .599-.587Z",fill:"#fff"})),i||(i=L.createElement("path",{d:"M261.334 213.592c-.302.37-.604.739-.904 1.118a118.407 118.407 0 0 0-10.837 15.858c-.252.426-.502.863-.741 1.296a124.827 124.827 0 0 0-14.565 43.589 121.222 121.222 0 0 0-1.112 18.385c.134 8.49.954 17.685-1.648 25.493a20.796 20.796 0 0 1-.937 2.398l-41.761 13.305c-.11-.017-.218-.025-.329-.042l-1.643.607c-.027-.316-.048-.645-.075-.962-.017-.184-.024-.37-.04-.554-.009-.123-.016-.247-.03-.358a1.645 1.645 0 0 1-.005-.114c-.015-.11-.016-.215-.028-.316-.124-1.84-.239-3.682-.334-5.53-.003-.01-.003-.01.003-.022-.717-14.077-.265-28.337 2.338-42.075.078-.413.153-.836.25-1.255a115.675 115.675 0 0 1 5.116-18.17 102.26 102.26 0 0 1 4.124-9.49 85.036 85.036 0 0 1 15.436-21.648c12.459-12.68 28.835-21.236 46.381-21.505.449-.007.889-.01 1.341-.008Z",fill:"#f0f0f0"})),o||(o=L.createElement("path",{d:"M261.409 214.152a105.87 105.87 0 0 0-44.571 47.5 45.59 45.59 0 0 0-4.24 13.642 26.149 26.149 0 0 0 2.119 13.598c1.699 4.01 3.9 7.914 4.595 12.267a16.01 16.01 0 0 1-3.592 12.592c-3.506 4.398-8.384 7.273-13.252 9.92-5.404 2.938-11.064 5.904-14.723 11.03-.443.621-1.381-.103-.939-.723 6.366-8.92 17.985-11.175 25.722-18.505 3.61-3.42 6.212-7.949 5.748-13.06-.406-4.47-2.674-8.498-4.429-12.544a27.903 27.903 0 0 1-2.567-13.218 42.148 42.148 0 0 1 3.7-13.754 102.712 102.712 0 0 1 17.418-26.966 107.747 107.747 0 0 1 28.566-22.877c.665-.367 1.107.733.445 1.098Z",fill:"#fff"})),c||(c=L.createElement("path",{d:"M219.514 254.993a15.884 15.884 0 0 1-5.896-19.705c.309-.697 1.406-.25 1.097.448a14.708 14.708 0 0 0 5.522 18.318c.642.413-.085 1.349-.723.939ZM213.588 286.972a30.615 30.615 0 0 0 18.74-12.108c.445-.619 1.383.105.938.724a31.844 31.844 0 0 1-19.526 12.559c-.75.15-.897-1.026-.152-1.175ZM241.21 228.156a8.991 8.991 0 0 0 8.184 2.414c.746-.16.894 1.017.152 1.175a10.075 10.075 0 0 1-9.058-2.65.612.612 0 0 1-.108-.832.595.595 0 0 1 .83-.107Z",fill:"#fff"})),s||(s=L.createElement("path",{d:"M326.932 69.084a11.998 11.998 0 0 1 .273 1.87L376.169 99.2l11.902-6.851 12.687 16.61-19.89 14.177a9.119 9.119 0 0 1-10.94-.267l-50.49-39.832a11.965 11.965 0 1 1 7.494-13.953Z",fill:"#ffb6b6"})),f||(f=L.createElement("path",{d:"M376.849 96.082a5.124 5.124 0 0 1 2.558-3.42l22.606-12.317a14.245 14.245 0 0 1 17.222 22.695l-18.118 18.406a5.13 5.13 0 0 1-7.75-.51l-15.6-20.683a5.123 5.123 0 0 1-.918-4.171Z",fill:"#3f3d56"})),m||(m=L.createElement("path",{d:"M417.235 24.476c3.253-10.366 10.65-19.873 20.878-23.377 10.23-3.504 25.208 1.834 32.899 9.498 14.067 14.02 17.5 62.182 7.835 77.402-1.922-.102-8.555-.177-10.501-.25l-2.752-9.173v9.083c-15.187-.47-30.997-.176-46.816.128-1.418-10.776-4.795-52.946-1.543-63.311Z",fill:"#2f2e41"})),p||(p=L.createElement("path",{fill:"#ffb6b6",d:"M412.883 459.573h-13.851l-6.589-53.427 20.443.001-.003 53.426zM534.137 450.96l-13.403 3.493-19.853-50.037 19.782-5.155 13.474 51.699zM457.805 131.433l3.139 8.16-.628 8.16-61.424 21.275 3.048-35.712 6.904-8.161 48.961 6.278z"})),h||(h=L.createElement("circle",{cx:438.384,cy:36.061,r:21.938,fill:"#ffb7b7"})),d||(d=L.createElement("path",{d:"M423.31 7.494a27.555 27.555 0 0 1 41.894 24.048c-11.96 3.057-24.703 4.335-38.208.736l-3.087-7.555-1.82 7.56q-6.197 4.36-11.963-.015A28.135 28.135 0 0 1 423.31 7.494ZM419.08 485.874h-9.83l-1.754-9.28-4.493 9.28h-26.068a5.86 5.86 0 0 1-3.33-10.682l20.817-14.377v-9.382l21.897 1.307ZM547.982 474.53l-9.511 2.48-4.039-8.537-2.007 10.113-25.225 6.575a5.86 5.86 0 0 1-5.917-9.497l16.518-19.163-2.366-9.078 21.517-4.258ZM532.437 417.361l-40.6-83.447-12.746-101.567c8.788-16.32-7.533-49.528-7.533-49.528v-13.943l-63.22 11.926a303.467 303.467 0 0 0-18.493 110.188L392.393 426h-.8a5 5 0 0 0 0 10h25a5 5 0 1 0 0-10h-.644l17.947-171.757 20.868 84.758 50.43 78.04a4.987 4.987 0 0 0 .4 9.959h25a4.995 4.995 0 0 0 1.843-9.639Z",fill:"#2f2e41"})),y||(y=L.createElement("path",{d:"M477.274 191.367a3.987 3.987 0 0 0-3.605-2.995c-.833-9.527-6.34-70.629-6.549-72.421l-.008-.076-1.594-34.058a5.037 5.037 0 0 0-4.703-4.79l-8.42-.55a.446.446 0 0 1-.431-.446 7.081 7.081 0 0 0-7.082-7.081h-24.93a6.63 6.63 0 0 0-6.576 5.804.44.44 0 0 1-.448.396h-.003a11.845 11.845 0 0 0-11.916 9.824c-3.408 19.83-10.239 64.84-6.862 89.862 1.176 8.71.641 21.812.197 29.1a5.365 5.365 0 0 0 1.336 3.89 3.992 3.992 0 0 0-2.767 4.807 4 4 0 0 0 4.857 2.901l76.603-19.31a4 4 0 0 0 2.901-4.857Z",fill:"#3f3d56"})),x||(x=L.createElement("path",{d:"M350.668 334.55a9.464 9.464 0 0 0-7.945-9.282l-135.815-22.302a9.463 9.463 0 0 0-3.913.174l-31.829 8.23-18.262 4.728-33.703 8.712a9.494 9.494 0 0 0-7.107 9.186v142.315a9.535 9.535 0 0 0 7.51 9.273l138.337-1.566a9.217 9.217 0 0 0 1.976.205 9.469 9.469 0 0 0 2.854-.435l82.19 2.046a9.448 9.448 0 0 0 6.632-9.124Z",fill:"#fff"})),k||(k=L.createElement("path",{d:"M350.668 334.55a9.464 9.464 0 0 0-7.945-9.282l-135.815-22.302a9.463 9.463 0 0 0-3.913.174l-31.829 8.23-18.262 4.728-33.703 8.712a9.494 9.494 0 0 0-7.107 9.186v142.315a9.535 9.535 0 0 0 7.51 9.273l138.337-1.566a9.217 9.217 0 0 0 1.976.205 9.469 9.469 0 0 0 2.854-.435l82.19 2.046a9.448 9.448 0 0 0 6.632-9.124Zm-6.42 149.022-82.188 1.955a7.214 7.214 0 0 1-3.621.174l-138.345-2.433a7.153 7.153 0 0 1-5.629-6.957V333.996a7.123 7.123 0 0 1 4.665-6.68 5.91 5.91 0 0 1 .664-.206l35.655-9.218 21.085-5.455 27.054-6.997a6.782 6.782 0 0 1 1.779-.229 7.036 7.036 0 0 1 1.154.095l135.815 22.302a7.136 7.136 0 0 1 5.17 3.74 7.116 7.116 0 0 1 .79 3.218l.926 142.16a7.09 7.09 0 0 1-4.973 6.846Z",fill:"#ccc"})),E||(E=L.createElement("path",{d:"M347.506 331.348a1.03 1.03 0 0 1-.3.134l-39.949 10.8-12.436 3.36-35.37 9.558a1.372 1.372 0 0 1-.309.04 1.935 1.935 0 0 1-.213-.016L116.307 329.22l-.474-.087a1.19 1.19 0 0 1 .427-2.34l2.87.522 139.965 25.52 30.485-8.238 17.053-4.61 39.331-10.632.625-.166a1.192 1.192 0 0 1 1.383.648.926.926 0 0 1 .072.19 1.189 1.189 0 0 1-.538 1.32Z",fill:"#ccc"})),u||(u=L.createElement("path",{d:"M260.328 484.5c-.65 0-1.18-.523-1.186 2.825l-1.186-129.26c-.006-4.655.52-5.191 1.176-5.197h.01c.65 0 1.18.523 1.186 5.175l1.186 129.26c.006-3.345-.52-2.81-1.175-2.803Z",fill:"#ccc"})),g||(g=L.createElement("path",{d:"m307.594 486-12.773.135-5.241-141.537-133.743-26.61a3.073 3.073 0 0 1-.388-.096 4.715 4.715 0 0 1-2.545-1.794l18.262-4.728 5.368 1.067 126.905 25.244a4.718 4.718 0 0 1 3.194 2.308c.395.688.953 145.189.96 146.011Z",fill:"#ccc"})),S||(S=L.createElement("path",{d:"M409.896 75.49a7.133 7.133 0 0 0-5.988-6.996L301.551 51.686a7.132 7.132 0 0 0-2.95.131l-23.987 6.203-13.764 3.563-25.4 6.566a7.155 7.155 0 0 0-5.356 6.923v83.893a7.186 7.186 0 0 0 5.66 6.989l104.258 22.183a6.947 6.947 0 0 0 1.49.154 7.136 7.136 0 0 0 2.15-.327l61.942-19.561a7.12 7.12 0 0 0 5-6.876Z",fill:"#fff"})),v||(v=L.createElement("path",{d:"M300.392 57.847a.866.866 0 0 0-.221.028l-63.152 16.332a.893.893 0 0 0-.67.864v83.891a.897.897 0 0 0 .707.874l104.258 22.182a.9.9 0 0 0 .455-.022l61.944-19.56a.888.888 0 0 0 .623-.86l-.694-86.036a.891.891 0 0 0-.749-.874L300.536 57.86a.929.929 0 0 0-.144-.012Z",fill:"#3c8f49"})),V||(V=L.createElement("path",{d:"M409.896 75.49a7.133 7.133 0 0 0-5.988-6.996L301.551 51.686a7.132 7.132 0 0 0-2.95.131l-23.987 6.203-13.764 3.563-25.4 6.566a7.155 7.155 0 0 0-5.356 6.923v83.893a7.186 7.186 0 0 0 5.66 6.989l104.258 22.183a6.947 6.947 0 0 0 1.49.154 7.136 7.136 0 0 0 2.15-.327l61.942-19.561a7.12 7.12 0 0 0 5-6.876Zm-4.838 91.209-61.942 19.56a5.437 5.437 0 0 1-2.729.132l-104.264-22.183a5.39 5.39 0 0 1-4.242-5.243V75.072a5.369 5.369 0 0 1 3.515-5.034 4.454 4.454 0 0 1 .5-.155l26.873-6.948 15.89-4.11 20.39-5.274a5.111 5.111 0 0 1 1.34-.173 5.303 5.303 0 0 1 .87.072l102.357 16.808a5.378 5.378 0 0 1 3.897 2.818 5.363 5.363 0 0 1 .596 2.425l.697 86.038a5.344 5.344 0 0 1-3.748 5.16Z",fill:"#3f3d56"})),M||(M=L.createElement("path",{d:"M407.513 73.076a.776.776 0 0 1-.226.102l-30.108 8.139-9.372 2.532-26.657 7.203a1.034 1.034 0 0 1-.233.03 1.458 1.458 0 0 1-.16-.012L233.269 71.474l-.357-.066a.896.896 0 0 1 .322-1.764l2.162.394L340.882 89.27l22.975-6.209 12.852-3.473 29.642-8.014.47-.125a.898.898 0 0 1 1.043.488.698.698 0 0 1 .054.143.896.896 0 0 1-.405.995Z",fill:"#3f3d56"})),w||(w=L.createElement("path",{d:"M341.811 188.5a.894.894 0 0 1-.894-.886l-.893-97.417a.894.894 0 0 1 .885-.902h.008a.894.894 0 0 1 .894.885l.894 97.418a.894.894 0 0 1-.886.902Z",fill:"#3f3d56"})),b||(b=L.createElement("path",{d:"m377.18 176.649-9.373 2.532-3.95-96.119L263.06 63.007a2.316 2.316 0 0 1-.292-.072 3.553 3.553 0 0 1-1.919-1.352l13.764-3.563 4.045.804 95.643 19.025a3.555 3.555 0 0 1 2.407 1.74c.298.518.464 96.44.47 97.06Z",fill:"#3f3d56"})),O||(O=L.createElement("path",{d:"M372.98 121.846a11.997 11.997 0 0 1 1.335 1.337l56.146-6.557 5.46-12.6 20.094 5.755-7.499 23.246a9.119 9.119 0 0 1-8.937 6.315l-64.285-1.827a11.965 11.965 0 1 1-2.313-15.669Z",fill:"#ffb6b6"})),Z||(Z=L.createElement("path",{d:"M429.146 113.718a5.124 5.124 0 0 1 .01-4.271l10.789-23.374a14.245 14.245 0 0 1 27.363 7.932l-3.553 25.581a5.13 5.13 0 0 1-6.523 4.216l-24.86-7.285a5.124 5.124 0 0 1-3.226-2.8Z",fill:"#3f3d56"})),j||(j=L.createElement("path",{d:"M617.485 487.041H1.19a1.19 1.19 0 0 1 0-2.381h616.294a1.19 1.19 0 0 1 0 2.381Z",fill:"#cacaca"})),A||(A=L.createElement("circle",{cx:120.113,cy:324.713,r:35.811,fill:"#3c8f49"})),W||(W=L.createElement("path",{d:"M115.227 343.35a3.982 3.982 0 0 1-3.186-1.593l-9.77-13.027a3.983 3.983 0 1 1 6.374-4.78l6.391 8.522 16.417-24.624a3.984 3.984 0 1 1 6.629 4.42l-19.54 29.309a3.985 3.985 0 0 1-3.204 1.772l-.11.002ZM272.595 134.5a1.512 1.512 0 0 1-.331-.037l-31-7a1.5 1.5 0 0 1 .66-2.926l31 7a1.5 1.5 0 0 1-.33 2.963Z",fill:"#fff"})),N||(N=L.createElement("path",{d:"M153.288 416.236a1.513 1.513 0 0 1-.331.031l-31.776-.535a1.5 1.5 0 0 1 .05-3l31.776.536a1.5 1.5 0 0 1 .281 2.968ZM164.288 433.236a1.513 1.513 0 0 1-.331.031l-31.776-.535a1.5 1.5 0 0 1 .05-3l31.776.536a1.5 1.5 0 0 1 .281 2.968Z",fill:"#e6e6e6"})))}},1747:(e,t,a)=>{a.d(t,{Z:()=>ze});var r,n,l,i,o,c,s,f,m,p,h,d,y,x,k,E,u,g,S,v,V,M,w,b,O,Z,j,A,W,N,L,H,z,F,C,R,D,I,B,P,_,T,J,G,K,q,X,Y,U,Q,$,ee,te,ae,re,ne,le,ie,oe,ce,se,fe,me,pe,he,de,ye,xe,ke,Ee,ue,ge,Se,ve,Ve,Me,we,be,Oe,Ze,je,Ae,We,Ne,Le=a(7294);function He(){return He=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},He.apply(this,arguments)}const ze=e=>{let{title:t,titleId:a,...ze}=e;return Le.createElement("svg",He({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",width:896.675,height:462.272,viewBox:"0 0 896.675 462.272","aria-labelledby":a},ze),t?Le.createElement("title",{id:a},t):null,r||(r=Le.createElement("path",{d:"M895.485 462.169H1.19a1.19 1.19 0 0 1 0-2.382h894.294a1.19 1.19 0 0 1 0 2.382Z",fill:"#3f3d56"})),n||(n=Le.createElement("circle",{cx:280.353,cy:50.98,r:6.467,fill:"#f2f2f2"})),l||(l=Le.createElement("circle",{cx:254.58,cy:50.98,r:6.467,fill:"#f2f2f2"})),i||(i=Le.createElement("circle",{cx:228.807,cy:50.98,r:6.467,fill:"#f2f2f2"})),o||(o=Le.createElement("circle",{cx:203.033,cy:50.98,r:6.467,fill:"#f2f2f2"})),c||(c=Le.createElement("circle",{cx:280.353,cy:77.98,r:6.467,fill:"#f2f2f2"})),s||(s=Le.createElement("circle",{cx:254.58,cy:77.98,r:6.467,fill:"#f2f2f2"})),f||(f=Le.createElement("circle",{cx:228.807,cy:77.98,r:6.467,fill:"#f2f2f2"})),m||(m=Le.createElement("circle",{cx:203.033,cy:77.98,r:6.467,fill:"#f2f2f2"})),p||(p=Le.createElement("circle",{cx:280.353,cy:104.98,r:6.467,fill:"#f2f2f2"})),h||(h=Le.createElement("circle",{cx:254.58,cy:104.98,r:6.467,fill:"#f2f2f2"})),d||(d=Le.createElement("circle",{cx:228.807,cy:104.98,r:6.467,fill:"#f2f2f2"})),y||(y=Le.createElement("circle",{cx:203.033,cy:104.98,r:6.467,fill:"#f2f2f2"})),x||(x=Le.createElement("circle",{cx:280.353,cy:131.98,r:6.467,fill:"#f2f2f2"})),k||(k=Le.createElement("circle",{cx:254.58,cy:131.98,r:6.467,fill:"#f2f2f2"})),E||(E=Le.createElement("circle",{cx:228.807,cy:131.98,r:6.467,fill:"#f2f2f2"})),u||(u=Le.createElement("circle",{cx:203.033,cy:131.98,r:6.467,fill:"#f2f2f2"})),g||(g=Le.createElement("circle",{cx:280.353,cy:158.98,r:6.467,fill:"#f2f2f2"})),S||(S=Le.createElement("circle",{cx:254.58,cy:158.98,r:6.467,fill:"#f2f2f2"})),v||(v=Le.createElement("circle",{cx:228.807,cy:158.98,r:6.467,fill:"#f2f2f2"})),V||(V=Le.createElement("circle",{cx:203.033,cy:158.98,r:6.467,fill:"#f2f2f2"})),M||(M=Le.createElement("circle",{cx:280.353,cy:185.98,r:6.467,fill:"#f2f2f2"})),w||(w=Le.createElement("circle",{cx:254.58,cy:185.98,r:6.467,fill:"#f2f2f2"})),b||(b=Le.createElement("circle",{cx:228.807,cy:185.98,r:6.467,fill:"#f2f2f2"})),O||(O=Le.createElement("circle",{cx:203.033,cy:185.98,r:6.467,fill:"#f2f2f2"})),Z||(Z=Le.createElement("path",{d:"M223.528 362.4v2a12.51 12.51 0 0 0 12.5 12.5h90a12.505 12.505 0 0 0 12.5-12.5v-2a12.41 12.41 0 0 0-2.9-8 12.86 12.86 0 0 0-2.11-2s-49.48-1.12-49.48-2.5h-48.01a12.517 12.517 0 0 0-12.5 12.5Z",fill:"#ccc"})),j||(j=Le.createElement("path",{fill:"#ccc",d:"M275.252 376.403h13v84h-13z"})),A||(A=Le.createElement("path",{d:"M325.252 459.947c0 1.404-19.7.543-44 .543s-44 .861-44-.543 19.7-12.544 44-12.544 44 11.139 44 12.544Z",fill:"#ccc"})),W||(W=Le.createElement("path",{d:"M307.379 360.703a10.743 10.743 0 0 0-3.807-16.026l-27.553-93.885-20.981 10.275 33.68 89.055a10.8 10.8 0 0 0 18.66 10.582Z",fill:"#a0616a"})),N||(N=Le.createElement("path",{d:"m282.26 266.47-23.482 6.357a4.817 4.817 0 0 1-6.042-4.085l-2.838-24.088a13.377 13.377 0 0 1 25.845-6.915l9.674 22.156a4.817 4.817 0 0 1-3.156 6.575Z",fill:"#3c8f49"})),L||(L=Le.createElement("path",{fill:"#a0616a",d:"m313.516 450.101 12.26-.001 5.833-31.796h-18.095l.002 31.797z"})),H||(H=Le.createElement("path",{d:"M310.389 446.098H334.533a15.386 15.386 0 0 1 15.387 15.385v.5l-39.53.002ZM327.746 433.05q-.214 0-.43-.02l-16.966-1.236a4.5 4.5 0 0 1-3.81-6.029l22.707-51.015a3.498 3.498 0 0 0-.196-2.798 3.45 3.45 0 0 0-2.212-1.76c-10.677-2.791-38.072-10.223-61.786-18.918-10.16-3.726-16.559-9.11-19.019-16.002-3.243-9.087 1.555-17.374 1.76-17.722l.162-.272 22.314 2.028 24.191 2.058 53.014 28.427a20.086 20.086 0 0 1 8.818 25.785l-24.44 54.807a4.497 4.497 0 0 1-4.107 2.667Z",fill:"#2f2e41"})),z||(z=Le.createElement("circle",{cx:274.15,cy:193.816,r:24.561,fill:"#a0616a"})),F||(F=Le.createElement("path",{fill:"#a0616a",d:"m306.516 449.101 12.26-.001 5.833-31.796h-18.095l.002 31.797z"})),C||(C=Le.createElement("path",{d:"M303.389 445.098H327.533a15.386 15.386 0 0 1 15.387 15.385v.5l-39.53.002ZM320.746 436.05q-.214 0-.43-.02l-16.966-1.236a4.5 4.5 0 0 1-3.81-6.029l22.707-51.015a3.498 3.498 0 0 0-.196-2.798 3.45 3.45 0 0 0-2.212-1.76c-10.677-2.791-38.072-10.223-61.786-18.918-10.16-3.726-16.559-9.11-19.019-16.002-3.243-9.087 1.555-17.374 1.76-17.722l.162-.272 22.314 2.028 24.191 2.058 53.014 28.427a20.086 20.086 0 0 1 8.818 25.785l-24.44 54.807a4.497 4.497 0 0 1-4.107 2.667Z",fill:"#2f2e41"})),R||(R=Le.createElement("path",{d:"m281.725 232.304-26-9s-16.322 12.54-8.48 43.649a77.012 77.012 0 0 1-3.401 48.32 49.778 49.778 0 0 1-2.619 5.531s29 35 56 9l-10.5-50.5s16.5-33.5-5-47ZM277.2 219.212c-3.496-5.232-6.255-12.487-2.406-17.466 3.8-4.914 11.292-4.19 17.11-6.364 8.105-3.029 12.805-12.55 11.339-21.076s-8.31-15.594-16.464-18.486-17.349-1.952-25.333 1.378c-9.83 4.1-18.261 12.03-21.797 22.077s-1.646 22.108 5.69 29.83c7.863 8.278 20.205 10.484 31.622 10.35",fill:"#2f2e41"})),D||(D=Le.createElement("path",{d:"M254.353 174.58c-4.405 3.586-11.125 1.993-15.854-1.154s-8.565-7.628-13.68-10.096c-9.02-4.35-19.925-1.458-28.702 3.36s-16.56 11.475-25.832 15.256-21.104 3.968-28.125-3.171a25.732 25.732 0 0 0 37.71 30.371c10.16-6.188 15.772-19.163 27.166-22.58 6.306-1.89 13.077-.367 19.45 1.282s13.017 3.43 19.449 2.027 12.447-7.183 11.629-13.715Z",fill:"#2f2e41"})),I||(I=Le.createElement("path",{d:"M334.307 406.007a167.506 167.506 0 0 1 0-50.976 4.303 4.303 0 0 1 4.237-3.605h39.872a4.247 4.247 0 0 1 3.355 1.626 4.32 4.32 0 0 1 .808 3.704 102.328 102.328 0 0 0 0 47.525 4.318 4.318 0 0 1-.808 3.705 4.247 4.247 0 0 1-3.355 1.626h-39.872a4.303 4.303 0 0 1-4.237-3.605Z",fill:"#3c8f49"})),B||(B=Le.createElement("path",{d:"M366.146 376.102h-20.924a3.003 3.003 0 0 1-3-3v-1.172a3.003 3.003 0 0 1 3-3h20.924a3.003 3.003 0 0 1 3 3v1.172a3.003 3.003 0 0 1-3 3ZM366.146 388.447h-20.924a3.003 3.003 0 0 1-3-3v-1.173a3.003 3.003 0 0 1 3-3h20.924a3.003 3.003 0 0 1 3 3v1.173a3.003 3.003 0 0 1-3 3Z",fill:"#fff"})),P||(P=Le.createElement("path",{d:"M344.792 356.204a10.743 10.743 0 0 0-7.69-14.567l-50.136-84.024-17.748 15.192 54.862 77.816a10.8 10.8 0 0 0 20.712 5.583Z",fill:"#a0616a"})),_||(_=Le.createElement("path",{d:"m296.927 271.235-21.15 12.022a4.817 4.817 0 0 1-6.871-2.446l-8.766-22.615a13.377 13.377 0 0 1 23.298-13.153l14.903 19.036a4.817 4.817 0 0 1-1.414 7.156Z",fill:"#2f2e41"})),T||(T=Le.createElement("path",{d:"M521.967 300.75h-406a6.5 6.5 0 1 0 0 13h11.5v141.5a6.5 6.5 0 0 0 13 0V326.24l72.871 132.077a6.5 6.5 0 0 0 11.259-6.5L148.42 313.75h348.046v.084l-76.129 137.983a6.5 6.5 0 1 0 11.258 6.5l64.871-117.578v114.51a6.5 6.5 0 0 0 13 0V317.178l1.891-3.427h10.61a6.5 6.5 0 0 0 0-13Z",fill:"#3f3d56"})),J||(J=Le.createElement("rect",{x:271.467,y:296.75,width:86,height:7,rx:3.5,fill:"#ccc"})),G||(G=Le.createElement("path",{d:"M406.967 303.75h-89a6.507 6.507 0 0 1-6.5-6.5v-49a6.507 6.507 0 0 1 6.5-6.5h89a6.507 6.507 0 0 1 6.5 6.5v49a6.507 6.507 0 0 1-6.5 6.5Z",fill:"#ccc"})),K||(K=Le.createElement("circle",{cx:362.467,cy:272.75,r:6,fill:"#fff"})),q||(q=Le.createElement("path",{d:"M474.888 183.021V7.521A7.53 7.53 0 0 1 482.409 0h138.729a7.53 7.53 0 0 1 7.521 7.521v175.5a7.53 7.53 0 0 1-7.521 7.522H482.409a7.53 7.53 0 0 1-7.521-7.522Zm7.521-181.35a5.857 5.857 0 0 0-5.85 5.85v175.5a5.857 5.857 0 0 0 5.85 5.85h138.729a5.857 5.857 0 0 0 5.85-5.85V7.521a5.857 5.857 0 0 0-5.85-5.85Z",fill:"#e6e6e6"})),X||(X=Le.createElement("path",{d:"M559.553 80.598V44.562a3.765 3.765 0 0 1 3.76-3.76h30.538a3.765 3.765 0 0 1 3.76 3.76v36.036a3.765 3.765 0 0 1-3.76 3.76h-30.537a3.765 3.765 0 0 1-3.76-3.76Z",fill:"#3c8f49"})),Y||(Y=Le.createElement("path",{d:"M500.217 97.312V61.276a3.765 3.765 0 0 1 3.761-3.76h30.537a3.765 3.765 0 0 1 3.76 3.76v36.036a3.765 3.765 0 0 1-3.76 3.76h-30.537a3.765 3.765 0 0 1-3.76-3.76Z",fill:"#ccc"})),U||(U=Le.createElement("path",{d:"M547.853 148.29v-36.035a3.765 3.765 0 0 1 3.76-3.76h30.538a3.765 3.765 0 0 1 3.76 3.76v36.036a3.765 3.765 0 0 1-3.76 3.76h-30.537a3.765 3.765 0 0 1-3.76-3.76Z",fill:"#ff6584"})),Q||(Q=Le.createElement("circle",{cx:780.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),$||($=Le.createElement("circle",{cx:780.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),ee||(ee=Le.createElement("circle",{cx:780.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),te||(te=Le.createElement("circle",{cx:780.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),ae||(ae=Le.createElement("circle",{cx:753.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),re||(re=Le.createElement("circle",{cx:753.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),ne||(ne=Le.createElement("circle",{cx:753.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),le||(le=Le.createElement("circle",{cx:753.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),ie||(ie=Le.createElement("circle",{cx:726.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),oe||(oe=Le.createElement("circle",{cx:726.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),ce||(ce=Le.createElement("circle",{cx:726.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),se||(se=Le.createElement("circle",{cx:726.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),fe||(fe=Le.createElement("circle",{cx:699.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),me||(me=Le.createElement("circle",{cx:699.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),pe||(pe=Le.createElement("circle",{cx:699.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),he||(he=Le.createElement("circle",{cx:699.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),de||(de=Le.createElement("circle",{cx:672.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),ye||(ye=Le.createElement("circle",{cx:672.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),xe||(xe=Le.createElement("circle",{cx:672.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),ke||(ke=Le.createElement("circle",{cx:672.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),Ee||(Ee=Le.createElement("circle",{cx:645.741,cy:11.82,r:6.467,fill:"#f2f2f2"})),ue||(ue=Le.createElement("circle",{cx:645.741,cy:37.594,r:6.467,fill:"#f2f2f2"})),ge||(ge=Le.createElement("circle",{cx:645.741,cy:63.367,r:6.467,fill:"#f2f2f2"})),Se||(Se=Le.createElement("circle",{cx:645.741,cy:89.14,r:6.467,fill:"#f2f2f2"})),ve||(ve=Le.createElement("path",{d:"M671.795 241.252a11.003 11.003 0 0 1 7.767-14.463 10.59 10.59 0 0 1 1.452-.237l24.302-42.598-6.136-10.543 15.275-11.785 11.687 16.232a11.149 11.149 0 0 1-.26 13.309l-33.365 42.714a10.507 10.507 0 0 1 .31 1.035 11.003 11.003 0 0 1-9.36 13.49 10.706 10.706 0 0 1-1.346.084 11.036 11.036 0 0 1-10.326-7.238ZM624.38 450.888l-12.26-.001-5.832-47.288 18.094.001-.002 47.288z",fill:"#ffb8b8"})),Ve||(Ve=Le.createElement("path",{d:"M603.363 447.384h23.644v14.887h-38.53a14.887 14.887 0 0 1 14.886-14.887Z",fill:"#2f2e41"})),Me||(Me=Le.createElement("path",{fill:"#ffb8b8",d:"m725.38 450.888-12.26-.001-5.832-47.288 18.094.001-.002 47.288z"})),we||(we=Le.createElement("path",{d:"M704.363 447.384h23.644v14.887h-38.53a14.887 14.887 0 0 1 14.886-14.887Z",fill:"#2f2e41"})),be||(be=Le.createElement("path",{d:"m717.855 163.93-27.524 10.458-6.72-18.666a11.168 11.168 0 0 1 5.002-13.5 11.168 11.168 0 0 1 14.262 2.785Z",fill:"#3c8f49"})),Oe||(Oe=Le.createElement("path",{d:"m625.438 412.588-23.084-5.265a4.986 4.986 0 0 1-3.812-5.619c9.263-58.71 18.174-93.09 41.14-136.752.32-.814 3.907-17.338 6.247-28.286a4.972 4.972 0 0 1 4.214-5.023l43.044-6.625a5.57 5.57 0 0 1 2.022-.304l.43.081-.005.424c-.006.437-.441.504-.605.53l-.572.087a6.685 6.685 0 0 1 1.775 1.207c18.86 22.684 28.667 97.04 41.123 179.185a4.484 4.484 0 0 1-1.304 3.647 4.933 4.933 0 0 1-3.537 1.6l-27.502.671a4.982 4.982 0 0 1-5.035-4.218l-18.524-107.05a3.974 3.974 0 0 0-7.495-1.155c-14.944 30.435-28.88 56.755-42.606 109.266a4.953 4.953 0 0 1-4.793 3.726 5.03 5.03 0 0 1-1.12-.127Z",fill:"#2f2e41"})),Ze||(Ze=Le.createElement("path",{d:"M647.846 237.89a4.999 4.999 0 0 1-2.084-3.55c-3.525-32.91-1.07-58.664 7.506-78.735a24.992 24.992 0 0 1 16.567-14.18l22.25-1.122.115.055a26.005 26.005 0 0 1 14.219 27.589c-7.156 18.863-13.149 38.503-8.579 54.346a5.122 5.122 0 0 1-.484 3.983 4.884 4.884 0 0 1-3.115 2.31l-42.379 10.08a4.964 4.964 0 0 1-4.016-.777Z",fill:"#3c8f49"})),je||(je=Le.createElement("path",{d:"m638.268 190.662-42.674-33.666a10.516 10.516 0 0 1-1.036.305 11.027 11.027 0 0 1-8.818-1.691 10.913 10.913 0 0 1-4.627-7.734 11.023 11.023 0 0 1 7.21-11.638 11.004 11.004 0 0 1 14.425 7.838 10.573 10.573 0 0 1 .23 1.452l42.48 24.507 10.573-6.086 11.71 15.332-16.413 11.699a10.942 10.942 0 0 1-13.06-.318Z",fill:"#ffb8b8"})),Ae||(Ae=Le.createElement("path",{d:"M672.949 184.055 648.6 167.498l11.443-16.207a11.168 11.168 0 0 1 13.929-3.64 11.168 11.168 0 0 1 5.894 13.283Z",fill:"#3c8f49"})),We||(We=Le.createElement("circle",{cx:684.659,cy:107.431,r:24.561,fill:"#ffb8b8"})),Ne||(Ne=Le.createElement("path",{d:"M675.654 103.773c-6.313 4.32-14.601 8.762-21.049 4.161-4.233-3.021-5.567-8.615-3.85-13.525 3.087-8.828 11.57-12.715 19.68-15.694 10.545-3.874 22.026-6.955 32.911-4.181s20.506 13.313 18.54 24.373c-1.58 8.894-9.97 16.295-8.778 25.25 1.199 9.012 11.334 13.755 20.281 15.366s18.96 2.128 25.391 8.555c8.203 8.2 6.155 22.854-1.564 31.51s-19.367 12.58-30.654 15.247c-14.954 3.535-31.129 5.392-45.332-.473s-25.256-21.655-21.141-36.46c1.738-6.254 5.832-11.54 9.788-16.685s7.963-10.526 9.473-16.839c1.257-5.26.327-11.368-3.162-15.314a4.437 4.437 0 0 1-.594-5.187Z",fill:"#2f2e41"})))}},2924:(e,t,a)=>{a.r(t),a.d(t,{default:()=>k});a(7294);var r=a(6040),n=a(512);const l={heroBanner:"heroBanner_c70D",buttons:"buttons_lHLg"};var i=a(9965),o=a(4996),c=a(9960),s=a(5893);function f(){return(0,s.jsx)("header",{className:(0,n.Z)("hero hero--primary",l.heroBanner),children:(0,s.jsxs)("div",{className:"container",children:[(0,s.jsx)(i.Z,{alt:"NaaVRE - Notebook as a Virtual Research Environment",sources:{light:(0,o.Z)("/img/hero-light.svg"),dark:(0,o.Z)("/img/hero-dark.svg")},height:"200px",width:"auto"}),(0,s.jsxs)("div",{className:l.buttons,children:[(0,s.jsx)(c.Z,{className:"button button--secondary button--lg",to:"/docs/tutorials",children:"Getting started"}),(0,s.jsx)(c.Z,{className:"button button--secondary button--lg",to:"https://docs.google.com/forms/d/e/1FAIpQLSdbF6lrAYUx2CH7oxpjKWAa3mH2bSIPKJB5BkRa3xZStTcJOg/viewform?usp=dialog",children:"Get in touch"})]})]})})}var m=a(2503);const p={features:"features_t9lD",featureSvg:"featureSvg_GfXr"},h=[{title:"Turn Jupyter notebooks into reusable components",Svg:a(5550).Z,description:(0,s.jsx)(s.Fragment,{children:"NaaVRE lets you containerize cells of Jupyter notebooks. Use these reusable components to build workflows."})},{title:"Compose workflows and run them in the cloud",Svg:a(1535).Z,description:(0,s.jsx)(s.Fragment,{children:"NaaVRE lets you compose workflows and run them into a cloud environment, with different parameters or input data."})},{title:"Find, reuse and share research assets",Svg:a(1747).Z,description:(0,s.jsx)(s.Fragment,{children:"Find notebooks, containerized cells, workflows and datasets to run your own experiments in NaaVRE."})}];function d(e){let{title:t,Svg:a,description:r}=e;return(0,s.jsxs)("div",{className:(0,n.Z)("col col--4"),children:[(0,s.jsx)("div",{className:"text--center",children:(0,s.jsx)(a,{className:p.featureSvg,role:"img"})}),(0,s.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,s.jsx)(m.Z,{as:"h3",children:t}),(0,s.jsx)("p",{children:r})]})]})}function y(){return(0,s.jsx)("section",{className:p.features,children:(0,s.jsx)("div",{className:"container",children:(0,s.jsx)("div",{className:"row",children:h.map(((e,t)=>(0,s.jsx)(d,{...e},t)))})})})}var x=a(6670);function k(){return(0,s.jsxs)(r.Z,{description:"Notebook as a Virtual Research Environment",children:[(0,s.jsx)(f,{}),(0,s.jsxs)("main",{children:[(0,s.jsx)(y,{}),(0,s.jsx)("div",{className:"container",children:(0,s.jsx)(x.default,{})})]})]})}},1151:(e,t,a)=>{a.d(t,{Z:()=>o,a:()=>i});var r=a(7294);const n={},l=r.createContext(n);function i(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/22571d12.f08edc9b.js b/pr-preview/pr-33/assets/js/22571d12.f08edc9b.js new file mode 100644 index 0000000..909803c --- /dev/null +++ b/pr-preview/pr-33/assets/js/22571d12.f08edc9b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[480],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/27.ae3da107.js b/pr-preview/pr-33/assets/js/27.ae3da107.js new file mode 100644 index 0000000..6ec3a34 --- /dev/null +++ b/pr-preview/pr-33/assets/js/27.ae3da107.js @@ -0,0 +1 @@ +(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[27],{3901:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(7294);var r=n(3743);const o={tableOfContentsInline:"tableOfContentsInline_prmo"};var a=n(5893);function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:i}=e;return(0,a.jsx)("div",{className:o.tableOfContentsInline,children:(0,a.jsx)(r.Z,{toc:t,minHeadingLevel:n,maxHeadingLevel:i,className:"table-of-contents",linkClassName:null})})}},3743:(e,t,n)=>{"use strict";n.d(t,{Z:()=>h});var r=n(7294),o=n(6668);function a(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const r=n.slice(2,e.level);e.parentIndex=Math.max(...r),n[e.level]=t}));const r=[];return t.forEach((e=>{const{parentIndex:n,...o}=e;n>=0?t[n].children.push(o):r.push(o)})),r}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:r});return function(e){return e.level>=n&&e.level<=r}(e)?[{...e,children:t}]:t}))}function u(e){const t=e.getBoundingClientRect();return t.top===t.bottom?u(e.parentNode):t}function l(e,t){let{anchorTopOffset:n}=t;const r=e.find((e=>u(e).top>=n));if(r){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(u(r))?r:e[e.indexOf(r)-1]??null}return e[e.length-1]??null}function c(){const e=(0,r.useRef)(0),{navbar:{hideOnScroll:t}}=(0,o.L)();return(0,r.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function s(e){const t=(0,r.useRef)(void 0),n=c();(0,r.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:r,linkActiveClassName:o,minHeadingLevel:a,maxHeadingLevel:i}=e;function u(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(r),u=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const r=[];for(let o=t;o<=n;o+=1)r.push(`h${o}.anchor`);return Array.from(document.querySelectorAll(r.join()))}({minHeadingLevel:a,maxHeadingLevel:i}),c=l(u,{anchorTopOffset:n.current}),s=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(o),e.classList.add(o),t.current=e):e.classList.remove(o)}(e,e===s)}))}return document.addEventListener("scroll",u),document.addEventListener("resize",u),u(),()=>{document.removeEventListener("scroll",u),document.removeEventListener("resize",u)}}),[e,n])}var f=n(9960),p=n(5893);function y(e){let{toc:t,className:n,linkClassName:r,isChild:o}=e;return t.length?(0,p.jsx)("ul",{className:o?void 0:n,children:t.map((e=>(0,p.jsxs)("li",{children:[(0,p.jsx)(f.Z,{to:`#${e.id}`,className:r??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,p.jsx)(y,{isChild:!0,toc:e.children,className:n,linkClassName:r})]},e.id)))}):null}const d=r.memo(y);function h(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:u="table-of-contents__link",linkActiveClassName:l,minHeadingLevel:c,maxHeadingLevel:f,...y}=e;const h=(0,o.L)(),v=c??h.tableOfContents.minHeadingLevel,b=f??h.tableOfContents.maxHeadingLevel,m=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return(0,r.useMemo)((()=>i({toc:a(t),minHeadingLevel:n,maxHeadingLevel:o})),[t,n,o])}({toc:t,minHeadingLevel:v,maxHeadingLevel:b});return s((0,r.useMemo)((()=>{if(u&&l)return{linkClassName:u,linkActiveClassName:l,minHeadingLevel:v,maxHeadingLevel:b}}),[u,l,v,b])),(0,p.jsx)(d,{toc:m,className:n,linkClassName:u,...y})}},9996:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===n}(e)}(e)};var n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?l((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function o(e,t,n){return e.concat(t).map((function(e){return r(e,n)}))}function a(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function i(e,t){try{return t in e}catch(n){return!1}}function u(e,t,n){var o={};return n.isMergeableObject(e)&&a(e).forEach((function(t){o[t]=r(e[t],n)})),a(t).forEach((function(a){(function(e,t){return i(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,a)||(i(e,a)&&n.isMergeableObject(t[a])?o[a]=function(e,t){if(!t.customMerge)return l;var n=t.customMerge(e);return"function"==typeof n?n:l}(a,n)(e[a],t[a],n):o[a]=r(t[a],n))})),o}function l(e,n,a){(a=a||{}).arrayMerge=a.arrayMerge||o,a.isMergeableObject=a.isMergeableObject||t,a.cloneUnlessOtherwiseSpecified=r;var i=Array.isArray(n);return i===Array.isArray(e)?i?a.arrayMerge(e,n,a):u(e,n,a):r(n,a)}l.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return l(e,n,t)}),{})};var c=l;e.exports=c},9090:e=>{function t(e,t){e.onload=function(){this.onerror=this.onload=null,t(null,e)},e.onerror=function(){this.onerror=this.onload=null,t(new Error("Failed to load "+this.src),e)}}function n(e,t){e.onreadystatechange=function(){"complete"!=this.readyState&&"loaded"!=this.readyState||(this.onreadystatechange=null,t(null,e))}}e.exports=function(e,r,o){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("script");"function"==typeof r&&(o=r,r={}),r=r||{},o=o||function(){},i.type=r.type||"text/javascript",i.charset=r.charset||"utf8",i.async=!("async"in r)||!!r.async,i.src=e,r.attrs&&function(e,t){for(var n in t)e.setAttribute(n,t[n])}(i,r.attrs),r.text&&(i.text=""+r.text),("onload"in i?t:n)(i,o),i.onload||t(i,o),a.appendChild(i)}},845:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=Number.isNaN||function(e){return"number"==typeof e&&e!=e};function o(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(o=e[n],a=t[n],!(o===a||r(o)&&r(a)))return!1;var o,a;return!0}const a=function(e,t){var n;void 0===t&&(t=o);var r,a=[],i=!1;return function(){for(var o=[],u=0;u<arguments.length;u++)o[u]=arguments[u];return i&&n===this&&t(o,a)||(r=e.apply(this,o),i=!0,n=this,a=o),r}}},722:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),i=(o=n(9590))&&o.__esModule?o:{default:o},u=n(5741),l=n(8045);function c(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}function f(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function p(e,t){return p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},p(e,t)}function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=h(e);if(t){var a=h(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return d(e)}(this,n)}}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(u,e);var t,n,r,o=y(u);function u(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return v(d(e=o.call.apply(o,[this].concat(n))),"mounted",!1),v(d(e),"isReady",!1),v(d(e),"isPlaying",!1),v(d(e),"isLoading",!0),v(d(e),"loadOnReady",null),v(d(e),"startOnPlay",!0),v(d(e),"seekOnPlay",null),v(d(e),"onDurationCalled",!1),v(d(e),"handlePlayerMount",(function(t){e.player||(e.player=t,e.player.load(e.props.url)),e.progress()})),v(d(e),"getInternalPlayer",(function(t){return e.player?e.player[t]:null})),v(d(e),"progress",(function(){if(e.props.url&&e.player&&e.isReady){var t=e.getCurrentTime()||0,n=e.getSecondsLoaded(),r=e.getDuration();if(r){var o={playedSeconds:t,played:t/r};null!==n&&(o.loadedSeconds=n,o.loaded=n/r),o.playedSeconds===e.prevPlayed&&o.loadedSeconds===e.prevLoaded||e.props.onProgress(o),e.prevPlayed=o.playedSeconds,e.prevLoaded=o.loadedSeconds}}e.progressTimeout=setTimeout(e.progress,e.props.progressFrequency||e.props.progressInterval)})),v(d(e),"handleReady",(function(){if(e.mounted){e.isReady=!0,e.isLoading=!1;var t=e.props,n=t.onReady,r=t.playing,o=t.volume,a=t.muted;n(),a||null===o||e.player.setVolume(o),e.loadOnReady?(e.player.load(e.loadOnReady,!0),e.loadOnReady=null):r&&e.player.play(),e.handleDurationCheck()}})),v(d(e),"handlePlay",(function(){e.isPlaying=!0,e.isLoading=!1;var t=e.props,n=t.onStart,r=t.onPlay,o=t.playbackRate;e.startOnPlay&&(e.player.setPlaybackRate&&1!==o&&e.player.setPlaybackRate(o),n(),e.startOnPlay=!1),r(),e.seekOnPlay&&(e.seekTo(e.seekOnPlay),e.seekOnPlay=null),e.handleDurationCheck()})),v(d(e),"handlePause",(function(t){e.isPlaying=!1,e.isLoading||e.props.onPause(t)})),v(d(e),"handleEnded",(function(){var t=e.props,n=t.activePlayer,r=t.loop,o=t.onEnded;n.loopOnEnded&&r&&e.seekTo(0),r||(e.isPlaying=!1,o())})),v(d(e),"handleError",(function(){var t;e.isLoading=!1,(t=e.props).onError.apply(t,arguments)})),v(d(e),"handleDurationCheck",(function(){clearTimeout(e.durationCheckTimeout);var t=e.getDuration();t?e.onDurationCalled||(e.props.onDuration(t),e.onDurationCalled=!0):e.durationCheckTimeout=setTimeout(e.handleDurationCheck,100)})),v(d(e),"handleLoaded",(function(){e.isLoading=!1})),e}return t=u,n=[{key:"componentDidMount",value:function(){this.mounted=!0}},{key:"componentWillUnmount",value:function(){clearTimeout(this.progressTimeout),clearTimeout(this.durationCheckTimeout),this.isReady&&this.props.stopOnUnmount&&(this.player.stop(),this.player.disablePIP&&this.player.disablePIP()),this.mounted=!1}},{key:"componentDidUpdate",value:function(e){var t=this;if(this.player){var n=this.props,r=n.url,o=n.playing,a=n.volume,u=n.muted,c=n.playbackRate,s=n.pip,f=n.loop,p=n.activePlayer,y=n.disableDeferredLoading;if(!(0,i.default)(e.url,r)){if(this.isLoading&&!p.forceLoad&&!y&&!(0,l.isMediaStream)(r))return console.warn("ReactPlayer: the attempt to load ".concat(r," is being deferred until the player has loaded")),void(this.loadOnReady=r);this.isLoading=!0,this.startOnPlay=!0,this.onDurationCalled=!1,this.player.load(r,this.isReady)}e.playing||!o||this.isPlaying||this.player.play(),e.playing&&!o&&this.isPlaying&&this.player.pause(),!e.pip&&s&&this.player.enablePIP&&this.player.enablePIP(),e.pip&&!s&&this.player.disablePIP&&this.player.disablePIP(),e.volume!==a&&null!==a&&this.player.setVolume(a),e.muted!==u&&(u?this.player.mute():(this.player.unmute(),null!==a&&setTimeout((function(){return t.player.setVolume(a)})))),e.playbackRate!==c&&this.player.setPlaybackRate&&this.player.setPlaybackRate(c),e.loop!==f&&this.player.setLoop&&this.player.setLoop(f)}}},{key:"getDuration",value:function(){return this.isReady?this.player.getDuration():null}},{key:"getCurrentTime",value:function(){return this.isReady?this.player.getCurrentTime():null}},{key:"getSecondsLoaded",value:function(){return this.isReady?this.player.getSecondsLoaded():null}},{key:"seekTo",value:function(e,t,n){var r=this;if(this.isReady){if(t?"fraction"===t:e>0&&e<1){var o=this.player.getDuration();return o?void this.player.seekTo(o*e,n):void console.warn("ReactPlayer: could not seek using fraction \u2013\xa0duration not yet available")}this.player.seekTo(e,n)}else 0!==e&&(this.seekOnPlay=e,setTimeout((function(){r.seekOnPlay=null}),5e3))}},{key:"render",value:function(){var e=this.props.activePlayer;return e?a.default.createElement(e,s({},this.props,{onMount:this.handlePlayerMount,onReady:this.handleReady,onPlay:this.handlePlay,onPause:this.handlePause,onEnded:this.handleEnded,onLoaded:this.handleLoaded,onError:this.handleError})):null}}],n&&f(t.prototype,n),r&&f(t,r),u}(a.Component);t.default=b,v(b,"displayName","Player"),v(b,"propTypes",u.propTypes),v(b,"defaultProps",u.defaultProps)},3855:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var u=o?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(n,i,u):n[i]=e[i]}n.default=e,t&&t.set(e,n);return n}(n(7294));function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){y(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t){return c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},c(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=p(e);if(t){var a=p(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return f(e)}(this,n)}}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d="64px",h={},v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(i,e);var t,n,r,a=s(i);function i(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return y(f(e=a.call.apply(a,[this].concat(n))),"mounted",!1),y(f(e),"state",{image:null}),y(f(e),"handleKeyPress",(function(t){"Enter"!==t.key&&" "!==t.key||e.props.onClick()})),e}return t=i,(n=[{key:"componentDidMount",value:function(){this.mounted=!0,this.fetchImage(this.props)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.url,r=t.light;e.url===n&&e.light===r||this.fetchImage(this.props)}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"fetchImage",value:function(e){var t=this,n=e.url,r=e.light,a=e.oEmbedUrl;if(!o.default.isValidElement(r))if("string"!=typeof r){if(!h[n])return this.setState({image:null}),window.fetch(a.replace("{url}",n)).then((function(e){return e.json()})).then((function(e){if(e.thumbnail_url&&t.mounted){var r=e.thumbnail_url.replace("height=100","height=480").replace("-d_295x166","-d_640");t.setState({image:r}),h[n]=r}}));this.setState({image:h[n]})}else this.setState({image:r})}},{key:"render",value:function(){var e=this.props,t=e.light,n=e.onClick,r=e.playIcon,a=e.previewTabIndex,i=this.state.image,l=o.default.isValidElement(t),c={display:"flex",alignItems:"center",justifyContent:"center"},s={preview:u({width:"100%",height:"100%",backgroundImage:i&&!l?"url(".concat(i,")"):void 0,backgroundSize:"cover",backgroundPosition:"center",cursor:"pointer"},c),shadow:u({background:"radial-gradient(rgb(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 60%)",borderRadius:d,width:d,height:d,position:l?"absolute":void 0},c),playIcon:{borderStyle:"solid",borderWidth:"16px 0 16px 26px",borderColor:"transparent transparent transparent white",marginLeft:"7px"}},f=o.default.createElement("div",{style:s.shadow,className:"react-player__shadow"},o.default.createElement("div",{style:s.playIcon,className:"react-player__play-icon"}));return o.default.createElement("div",{style:s.preview,className:"react-player__preview",onClick:n,tabIndex:a,onKeyPress:this.handleKeyPress},l?t:null,r||f)}}])&&l(t.prototype,n),r&&l(t,r),i}(o.Component);t.default=v},390:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createReactPlayer=void 0;var r=j(n(7294)),o=s(n(9996)),a=s(n(845)),i=s(n(9590)),u=n(5741),l=n(8045),c=s(n(722));function s(e){return e&&e.__esModule?e:{default:e}}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){w(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(){return d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(this,arguments)}function h(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function P(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=O(e);if(t){var o=O(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===f(t)||"function"==typeof t))return t;return g(e)}(this,n)}}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(e){return O=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},O(e)}function w(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return k=function(){return e},e}function j(e){if(e&&e.__esModule)return e;if(null===e||"object"!==f(e)&&"function"!=typeof e)return{default:e};var t=k();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,t&&t.set(e,n),n}var S=(0,r.lazy)((function(){return Promise.resolve().then((function(){return j(n(3855))}))})),_="undefined"!=typeof window&&window.document,E=void 0!==n.g&&n.g.window&&n.g.window.document,D=Object.keys(u.propTypes),R=_||E?r.Suspense:function(){return null},T=[];t.createReactPlayer=function(e,t){var n,s;return s=n=function(n){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&m(e,t)}(O,n);var s,f,p,v=P(O);function O(){var n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,O);for(var i=arguments.length,s=new Array(i),f=0;f<i;f++)s[f]=arguments[f];return w(g(n=v.call.apply(v,[this].concat(s))),"state",{showPreview:!!n.props.light}),w(g(n),"references",{wrapper:function(e){n.wrapper=e},player:function(e){n.player=e}}),w(g(n),"handleClickPreview",(function(e){n.setState({showPreview:!1}),n.props.onClickPreview(e)})),w(g(n),"showPreview",(function(){n.setState({showPreview:!0})})),w(g(n),"getDuration",(function(){return n.player?n.player.getDuration():null})),w(g(n),"getCurrentTime",(function(){return n.player?n.player.getCurrentTime():null})),w(g(n),"getSecondsLoaded",(function(){return n.player?n.player.getSecondsLoaded():null})),w(g(n),"getInternalPlayer",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"player";return n.player?n.player.getInternalPlayer(e):null})),w(g(n),"seekTo",(function(e,t,r){if(!n.player)return null;n.player.seekTo(e,t,r)})),w(g(n),"handleReady",(function(){n.props.onReady(g(n))})),w(g(n),"getActivePlayer",(0,a.default)((function(n){for(var r=0,o=[].concat(T,h(e));r<o.length;r++){var a=o[r];if(a.canPlay(n))return a}return t||null}))),w(g(n),"getConfig",(0,a.default)((function(e,t){var r=n.props.config;return o.default.all([u.defaultProps.config,u.defaultProps.config[t]||{},r,r[t]||{}])}))),w(g(n),"getAttributes",(0,a.default)((function(e){return(0,l.omit)(n.props,D)}))),w(g(n),"renderActivePlayer",(function(e){if(!e)return null;var t=n.getActivePlayer(e);if(!t)return null;var o=n.getConfig(e,t.key);return r.default.createElement(c.default,d({},n.props,{key:t.key,ref:n.references.player,config:o,activePlayer:t.lazyPlayer||t,onReady:n.handleReady}))})),n}return s=O,f=[{key:"shouldComponentUpdate",value:function(e,t){return!(0,i.default)(this.props,e)||!(0,i.default)(this.state,t)}},{key:"componentDidUpdate",value:function(e){var t=this.props.light;!e.light&&t&&this.setState({showPreview:!0}),e.light&&!t&&this.setState({showPreview:!1})}},{key:"renderPreview",value:function(e){if(!e)return null;var t=this.props,n=t.light,o=t.playIcon,a=t.previewTabIndex,i=t.oEmbedUrl;return r.default.createElement(S,{url:e,light:n,playIcon:o,previewTabIndex:a,oEmbedUrl:i,onClick:this.handleClickPreview})}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.style,o=e.width,a=e.height,i=e.fallback,u=e.wrapper,l=this.state.showPreview,c=this.getAttributes(t),s="string"==typeof u?this.references.wrapper:void 0;return r.default.createElement(u,d({ref:s,style:y(y({},n),{},{width:o,height:a})},c),r.default.createElement(R,{fallback:i},l?this.renderPreview(t):this.renderActivePlayer(t)))}}],f&&b(s.prototype,f),p&&b(s,p),O}(r.Component),w(n,"displayName","ReactPlayer"),w(n,"propTypes",u.propTypes),w(n,"defaultProps",u.defaultProps),w(n,"addCustomPlayer",(function(e){T.push(e)})),w(n,"removeCustomPlayers",(function(){T.length=0})),w(n,"canPlay",(function(t){for(var n=0,r=[].concat(T,h(e));n<r.length;n++){if(r[n].canPlay(t))return!0}return!1})),w(n,"canEnablePIP",(function(t){for(var n=0,r=[].concat(T,h(e));n<r.length;n++){var o=r[n];if(o.canEnablePIP&&o.canEnablePIP(t))return!0}return!1})),s}},2004:(e,t,n)=>{"use strict";t.Z=void 0;var r,o=(r=n(6497))&&r.__esModule?r:{default:r},a=n(390);var i=o.default[o.default.length-1],u=(0,a.createReactPlayer)(o.default,i);t.Z=u},1776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canPlay=t.FLV_EXTENSIONS=t.DASH_EXTENSIONS=t.HLS_EXTENSIONS=t.VIDEO_EXTENSIONS=t.AUDIO_EXTENSIONS=t.MATCH_URL_KALTURA=t.MATCH_URL_VIDYARD=t.MATCH_URL_MIXCLOUD=t.MATCH_URL_DAILYMOTION=t.MATCH_URL_TWITCH_CHANNEL=t.MATCH_URL_TWITCH_VIDEO=t.MATCH_URL_WISTIA=t.MATCH_URL_STREAMABLE=t.MATCH_URL_FACEBOOK_WATCH=t.MATCH_URL_FACEBOOK=t.MATCH_URL_VIMEO=t.MATCH_URL_SOUNDCLOUD=t.MATCH_URL_YOUTUBE=void 0;var r=n(8045);function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return u=e.done,e},e:function(e){l=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(l)throw i}}}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var i=/(?:youtu\.be\/|youtube(?:-nocookie|education)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//;t.MATCH_URL_YOUTUBE=i;var u=/(?:soundcloud\.com|snd\.sc)\/[^.]+$/;t.MATCH_URL_SOUNDCLOUD=u;var l=/vimeo\.com\/(?!progressive_redirect).+/;t.MATCH_URL_VIMEO=l;var c=/^https?:\/\/(www\.)?facebook\.com.*\/(video(s)?|watch|story)(\.php?|\/).+$/;t.MATCH_URL_FACEBOOK=c;var s=/^https?:\/\/fb\.watch\/.+$/;t.MATCH_URL_FACEBOOK_WATCH=s;var f=/streamable\.com\/([a-z0-9]+)$/;t.MATCH_URL_STREAMABLE=f;var p=/(?:wistia\.(?:com|net)|wi\.st)\/(?:medias|embed)\/(?:iframe\/)?([^?]+)/;t.MATCH_URL_WISTIA=p;var y=/(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/;t.MATCH_URL_TWITCH_VIDEO=y;var d=/(?:www\.|go\.)?twitch\.tv\/([a-zA-Z0-9_]+)($|\?)/;t.MATCH_URL_TWITCH_CHANNEL=d;var h=/^(?:(?:https?):)?(?:\/\/)?(?:www\.)?(?:(?:dailymotion\.com(?:\/embed)?\/video)|dai\.ly)\/([a-zA-Z0-9]+)(?:_[\w_-]+)?(?:[\w.#_-]+)?/;t.MATCH_URL_DAILYMOTION=h;var v=/mixcloud\.com\/([^/]+\/[^/]+)/;t.MATCH_URL_MIXCLOUD=v;var b=/vidyard.com\/(?:watch\/)?([a-zA-Z0-9-_]+)/;t.MATCH_URL_VIDYARD=b;var m=/^https?:\/\/[a-zA-Z]+\.kaltura.(com|org)\/p\/([0-9]+)\/sp\/([0-9]+)00\/embedIframeJs\/uiconf_id\/([0-9]+)\/partner_id\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_].*)$/;t.MATCH_URL_KALTURA=m;var P=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i;t.AUDIO_EXTENSIONS=P;var g=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i;t.VIDEO_EXTENSIONS=g;var O=/\.(m3u8)($|\?)/i;t.HLS_EXTENSIONS=O;var w=/\.(mpd)($|\?)/i;t.DASH_EXTENSIONS=w;var k=/\.(flv)($|\?)/i;t.FLV_EXTENSIONS=k;var j={youtube:function(e){return e instanceof Array?e.every((function(e){return i.test(e)})):i.test(e)},soundcloud:function(e){return u.test(e)&&!P.test(e)},vimeo:function(e){return l.test(e)&&!g.test(e)&&!O.test(e)},facebook:function(e){return c.test(e)||s.test(e)},streamable:function(e){return f.test(e)},wistia:function(e){return p.test(e)},twitch:function(e){return y.test(e)||d.test(e)},dailymotion:function(e){return h.test(e)},mixcloud:function(e){return v.test(e)},vidyard:function(e){return b.test(e)},kaltura:function(e){return m.test(e)},file:function e(t){if(t instanceof Array){var n,a=o(t);try{for(a.s();!(n=a.n()).done;){var i=n.value;if("string"==typeof i&&e(i))return!0;if(e(i.src))return!0}}catch(u){a.e(u)}finally{a.f()}return!1}return!(!(0,r.isMediaStream)(t)&&!(0,r.isBlobUrl)(t))||(P.test(t)||g.test(t)||O.test(t)||w.test(t)||k.test(t))}};t.canPlay=j},6807:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(l){o=!0,a=l}finally{try{r||null==u.return||u.return()}finally{if(o)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t){return y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},y(e,t)}function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=v(e);if(t){var a=v(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return h(e)}(this,n)}}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var m=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&y(e,t)}(l,e);var t,n,r,u=d(l);function l(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return b(h(e=u.call.apply(u,[this].concat(n))),"callPlayer",a.callPlayer),b(h(e),"onDurationChange",(function(){var t=e.getDuration();e.props.onDuration(t)})),b(h(e),"mute",(function(){e.callPlayer("setMuted",!0)})),b(h(e),"unmute",(function(){e.callPlayer("setMuted",!1)})),b(h(e),"ref",(function(t){e.container=t})),e}return t=l,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e){var t=this,n=this.props,r=n.controls,o=n.config,u=n.onError,l=n.playing,f=s(e.match(i.MATCH_URL_DAILYMOTION),2)[1];this.player?this.player.load(f,{start:(0,a.parseStartTime)(e),autoplay:l}):(0,a.getSDK)("https://api.dmcdn.net/all.js","DM","dmAsyncInit",(function(e){return e.player})).then((function(n){if(t.container){var i=n.player;t.player=new i(t.container,{width:"100%",height:"100%",video:f,params:c({controls:r,autoplay:t.props.playing,mute:t.props.muted,start:(0,a.parseStartTime)(e),origin:window.location.origin},o.params),events:{apiready:t.props.onReady,seeked:function(){return t.props.onSeek(t.player.currentTime)},video_end:t.props.onEnded,durationchange:t.onDurationChange,pause:t.props.onPause,playing:t.props.onPlay,waiting:t.props.onBuffer,error:function(e){return u(e)}}})}}),u)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.player.duration||null}},{key:"getCurrentTime",value:function(){return this.player.currentTime}},{key:"getSecondsLoaded",value:function(){return this.player.bufferedTime}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return o.default.createElement("div",{style:e},o.default.createElement("div",{ref:this.ref}))}}],n&&p(t.prototype,n),r&&p(t,r),l}(o.Component);t.default=m,b(m,"displayName","DailyMotion"),b(m,"canPlay",i.canPlay.dailymotion),b(m,"loopOnEnded",!0)},1972:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(this,arguments)}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=y(e);if(t){var a=y(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return p(e)}(this,n)}}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h="https://connect.facebook.net/en_US/sdk.js",v="fbAsyncInit",b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(u,e);var t,n,r,i=f(u);function u(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(p(e=i.call.apply(i,[this].concat(n))),"callPlayer",a.callPlayer),d(p(e),"playerID",e.props.config.playerId||"".concat("facebook-player-").concat((0,a.randomString)())),d(p(e),"mute",(function(){e.callPlayer("mute")})),d(p(e),"unmute",(function(){e.callPlayer("unmute")})),e}return t=u,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e,t){var n=this;t?(0,a.getSDK)(h,"FB",v).then((function(e){return e.XFBML.parse()})):(0,a.getSDK)(h,"FB",v).then((function(e){e.init({appId:n.props.config.appId,xfbml:!0,version:n.props.config.version}),e.Event.subscribe("xfbml.render",(function(e){n.props.onLoaded()})),e.Event.subscribe("xfbml.ready",(function(e){"video"===e.type&&e.id===n.playerID&&(n.player=e.instance,n.player.subscribe("startedPlaying",n.props.onPlay),n.player.subscribe("paused",n.props.onPause),n.player.subscribe("finishedPlaying",n.props.onEnded),n.player.subscribe("startedBuffering",n.props.onBuffer),n.player.subscribe("finishedBuffering",n.props.onBufferEnd),n.player.subscribe("error",n.props.onError),n.props.muted?n.callPlayer("mute"):n.callPlayer("unmute"),n.props.onReady(),document.getElementById(n.playerID).querySelector("iframe").style.visibility="visible")}))}))}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentPosition")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props.config.attributes;return o.default.createElement("div",l({style:{width:"100%",height:"100%"},id:this.playerID,className:"fb-video","data-href":this.props.url,"data-autoplay":this.props.playing?"true":"false","data-allowfullscreen":"true","data-controls":this.props.controls?"true":"false"},e))}}],n&&c(t.prototype,n),r&&c(t,r),u}(o.Component);t.default=b,d(b,"displayName","Facebook"),d(b,"canPlay",i.canPlay.facebook),d(b,"loopOnEnded",!0)},4926:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(this,arguments)}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=y(e);if(t){var a=y(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return p(e)}(this,n)}}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h="undefined"!=typeof navigator,v=h&&"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,b=h&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||v)&&!window.MSStream,m=h&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&!window.MSStream,P=/www\.dropbox\.com\/.+/,g=/https:\/\/watch\.cloudflarestream\.com\/([a-z0-9]+)/,O=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(y,e);var t,n,r,u=f(y);function y(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(p(e=u.call.apply(u,[this].concat(n))),"onReady",(function(){var t;return(t=e.props).onReady.apply(t,arguments)})),d(p(e),"onPlay",(function(){var t;return(t=e.props).onPlay.apply(t,arguments)})),d(p(e),"onBuffer",(function(){var t;return(t=e.props).onBuffer.apply(t,arguments)})),d(p(e),"onBufferEnd",(function(){var t;return(t=e.props).onBufferEnd.apply(t,arguments)})),d(p(e),"onPause",(function(){var t;return(t=e.props).onPause.apply(t,arguments)})),d(p(e),"onEnded",(function(){var t;return(t=e.props).onEnded.apply(t,arguments)})),d(p(e),"onError",(function(){var t;return(t=e.props).onError.apply(t,arguments)})),d(p(e),"onPlayBackRateChange",(function(t){return e.props.onPlaybackRateChange(t.target.playbackRate)})),d(p(e),"onEnablePIP",(function(){var t;return(t=e.props).onEnablePIP.apply(t,arguments)})),d(p(e),"onDisablePIP",(function(t){var n=e.props,r=n.onDisablePIP,o=n.playing;r(t),o&&e.play()})),d(p(e),"onPresentationModeChange",(function(t){if(e.player&&(0,a.supportsWebKitPresentationMode)(e.player)){var n=e.player.webkitPresentationMode;"picture-in-picture"===n?e.onEnablePIP(t):"inline"===n&&e.onDisablePIP(t)}})),d(p(e),"onSeek",(function(t){e.props.onSeek(t.target.currentTime)})),d(p(e),"mute",(function(){e.player.muted=!0})),d(p(e),"unmute",(function(){e.player.muted=!1})),d(p(e),"renderSourceElement",(function(e,t){return"string"==typeof e?o.default.createElement("source",{key:t,src:e}):o.default.createElement("source",l({key:t},e))})),d(p(e),"renderTrack",(function(e,t){return o.default.createElement("track",l({key:t},e))})),d(p(e),"ref",(function(t){e.player&&(e.prevPlayer=e.player),e.player=t})),e}return t=y,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this),this.addListeners(this.player);var e=this.getSource(this.props.url);e&&(this.player.src=e),(b||this.props.config.forceDisableHls)&&this.player.load()}},{key:"componentDidUpdate",value:function(e){this.shouldUseAudio(this.props)!==this.shouldUseAudio(e)&&(this.removeListeners(this.prevPlayer,e.url),this.addListeners(this.player)),this.props.url===e.url||(0,a.isMediaStream)(this.props.url)||this.props.url instanceof Array||(this.player.srcObject=null)}},{key:"componentWillUnmount",value:function(){this.player.removeAttribute("src"),this.removeListeners(this.player),this.hls&&this.hls.destroy()}},{key:"addListeners",value:function(e){var t=this.props,n=t.url,r=t.playsinline;e.addEventListener("play",this.onPlay),e.addEventListener("waiting",this.onBuffer),e.addEventListener("playing",this.onBufferEnd),e.addEventListener("pause",this.onPause),e.addEventListener("seeked",this.onSeek),e.addEventListener("ended",this.onEnded),e.addEventListener("error",this.onError),e.addEventListener("ratechange",this.onPlayBackRateChange),e.addEventListener("enterpictureinpicture",this.onEnablePIP),e.addEventListener("leavepictureinpicture",this.onDisablePIP),e.addEventListener("webkitpresentationmodechanged",this.onPresentationModeChange),this.shouldUseHLS(n)||e.addEventListener("canplay",this.onReady),r&&(e.setAttribute("playsinline",""),e.setAttribute("webkit-playsinline",""),e.setAttribute("x5-playsinline",""))}},{key:"removeListeners",value:function(e,t){e.removeEventListener("canplay",this.onReady),e.removeEventListener("play",this.onPlay),e.removeEventListener("waiting",this.onBuffer),e.removeEventListener("playing",this.onBufferEnd),e.removeEventListener("pause",this.onPause),e.removeEventListener("seeked",this.onSeek),e.removeEventListener("ended",this.onEnded),e.removeEventListener("error",this.onError),e.removeEventListener("ratechange",this.onPlayBackRateChange),e.removeEventListener("enterpictureinpicture",this.onEnablePIP),e.removeEventListener("leavepictureinpicture",this.onDisablePIP),e.removeEventListener("webkitpresentationmodechanged",this.onPresentationModeChange),this.shouldUseHLS(t)||e.removeEventListener("canplay",this.onReady)}},{key:"shouldUseAudio",value:function(e){return!e.config.forceVideo&&!e.config.attributes.poster&&(i.AUDIO_EXTENSIONS.test(e.url)||e.config.forceAudio)}},{key:"shouldUseHLS",value:function(e){return!!(m&&this.props.config.forceSafariHLS||this.props.config.forceHLS)||!b&&!this.props.config.forceDisableHls&&(i.HLS_EXTENSIONS.test(e)||g.test(e))}},{key:"shouldUseDASH",value:function(e){return i.DASH_EXTENSIONS.test(e)||this.props.config.forceDASH}},{key:"shouldUseFLV",value:function(e){return i.FLV_EXTENSIONS.test(e)||this.props.config.forceFLV}},{key:"load",value:function(e){var t=this,n=this.props.config,r=n.hlsVersion,o=n.hlsOptions,i=n.dashVersion,u=n.flvVersion;if(this.hls&&this.hls.destroy(),this.dash&&this.dash.reset(),this.shouldUseHLS(e)&&(0,a.getSDK)("https://cdn.jsdelivr.net/npm/hls.js@VERSION/dist/hls.min.js".replace("VERSION",r),"Hls").then((function(n){if(t.hls=new n(o),t.hls.on(n.Events.MANIFEST_PARSED,(function(){t.props.onReady()})),t.hls.on(n.Events.ERROR,(function(e,r){t.props.onError(e,r,t.hls,n)})),g.test(e)){var r=e.match(g)[1];t.hls.loadSource("https://videodelivery.net/{id}/manifest/video.m3u8".replace("{id}",r))}else t.hls.loadSource(e);t.hls.attachMedia(t.player),t.props.onLoaded()})),this.shouldUseDASH(e)&&(0,a.getSDK)("https://cdnjs.cloudflare.com/ajax/libs/dashjs/VERSION/dash.all.min.js".replace("VERSION",i),"dashjs").then((function(n){t.dash=n.MediaPlayer().create(),t.dash.initialize(t.player,e,t.props.playing),t.dash.on("error",t.props.onError),parseInt(i)<3?t.dash.getDebug().setLogToBrowserConsole(!1):t.dash.updateSettings({debug:{logLevel:n.Debug.LOG_LEVEL_NONE}}),t.props.onLoaded()})),this.shouldUseFLV(e)&&(0,a.getSDK)("https://cdn.jsdelivr.net/npm/flv.js@VERSION/dist/flv.min.js".replace("VERSION",u),"flvjs").then((function(n){t.flv=n.createPlayer({type:"flv",url:e}),t.flv.attachMediaElement(t.player),t.flv.on(n.Events.ERROR,(function(e,r){t.props.onError(e,r,t.flv,n)})),t.flv.load(),t.props.onLoaded()})),e instanceof Array)this.player.load();else if((0,a.isMediaStream)(e))try{this.player.srcObject=e}catch(l){this.player.src=window.URL.createObjectURL(e)}}},{key:"play",value:function(){var e=this.player.play();e&&e.catch(this.props.onError)}},{key:"pause",value:function(){this.player.pause()}},{key:"stop",value:function(){this.player.removeAttribute("src"),this.dash&&this.dash.reset()}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.player.currentTime=e,t||this.pause()}},{key:"setVolume",value:function(e){this.player.volume=e}},{key:"enablePIP",value:function(){this.player.requestPictureInPicture&&document.pictureInPictureElement!==this.player?this.player.requestPictureInPicture():(0,a.supportsWebKitPresentationMode)(this.player)&&"picture-in-picture"!==this.player.webkitPresentationMode&&this.player.webkitSetPresentationMode("picture-in-picture")}},{key:"disablePIP",value:function(){document.exitPictureInPicture&&document.pictureInPictureElement===this.player?document.exitPictureInPicture():(0,a.supportsWebKitPresentationMode)(this.player)&&"inline"!==this.player.webkitPresentationMode&&this.player.webkitSetPresentationMode("inline")}},{key:"setPlaybackRate",value:function(e){try{this.player.playbackRate=e}catch(t){this.props.onError(t)}}},{key:"getDuration",value:function(){if(!this.player)return null;var e=this.player,t=e.duration,n=e.seekable;return t===1/0&&n.length>0?n.end(n.length-1):t}},{key:"getCurrentTime",value:function(){return this.player?this.player.currentTime:null}},{key:"getSecondsLoaded",value:function(){if(!this.player)return null;var e=this.player.buffered;if(0===e.length)return 0;var t=e.end(e.length-1),n=this.getDuration();return t>n?n:t}},{key:"getSource",value:function(e){var t=this.shouldUseHLS(e),n=this.shouldUseDASH(e),r=this.shouldUseFLV(e);if(!(e instanceof Array||(0,a.isMediaStream)(e)||t||n||r))return P.test(e)?e.replace("www.dropbox.com","dl.dropboxusercontent.com"):e}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.playing,r=e.loop,a=e.controls,i=e.muted,u=e.config,c=e.width,s=e.height,f=this.shouldUseAudio(this.props)?"audio":"video",p={width:"auto"===c?c:"100%",height:"auto"===s?s:"100%"};return o.default.createElement(f,l({ref:this.ref,src:this.getSource(t),style:p,preload:"auto",autoPlay:n||void 0,controls:a,muted:i,loop:r},u.attributes),t instanceof Array&&t.map(this.renderSourceElement),u.tracks.map(this.renderTrack))}}],n&&c(t.prototype,n),r&&c(t,r),y}(o.Component);t.default=O,d(O,"displayName","FilePlayer"),d(O,"canPlay",i.canPlay.file)},3911:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t){return c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},c(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=p(e);if(t){var a=p(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return f(e)}(this,n)}}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(u,e);var t,n,r,i=s(u);function u(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return y(f(e=i.call.apply(i,[this].concat(n))),"callPlayer",a.callPlayer),y(f(e),"duration",null),y(f(e),"currentTime",null),y(f(e),"secondsLoaded",null),y(f(e),"mute",(function(){e.callPlayer("mute")})),y(f(e),"unmute",(function(){e.callPlayer("unmute")})),y(f(e),"ref",(function(t){e.iframe=t})),e}return t=u,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e){var t=this;(0,a.getSDK)("https://cdn.embed.ly/player-0.1.0.min.js","playerjs").then((function(e){t.iframe&&(t.player=new e.Player(t.iframe),t.player.on("ready",(function(){setTimeout((function(){t.player.isReady=!0,t.player.setLoop(t.props.loop),t.props.muted&&t.player.mute(),t.addListeners(t.player,t.props),t.props.onReady()}),500)})))}),this.props.onError)}},{key:"addListeners",value:function(e,t){var n=this;e.on("play",t.onPlay),e.on("pause",t.onPause),e.on("ended",t.onEnded),e.on("error",t.onError),e.on("timeupdate",(function(e){var t=e.duration,r=e.seconds;n.duration=t,n.currentTime=r}))}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("setCurrentTime",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){return o.default.createElement("iframe",{ref:this.ref,src:this.props.url,frameBorder:"0",scrolling:"no",style:{width:"100%",height:"100%"},allow:"encrypted-media; autoplay; fullscreen;",referrerPolicy:"no-referrer-when-downgrade"})}}],n&&l(t.prototype,n),r&&l(t,r),u}(o.Component);t.default=d,y(d,"displayName","Kaltura"),y(d,"canPlay",i.canPlay.kaltura)},3644:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,t){return f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},f(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=d(e);if(t){var a=d(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return y(e)}(this,n)}}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},d(e)}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}(l,e);var t,n,r,u=p(l);function l(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return h(y(e=u.call.apply(u,[this].concat(n))),"callPlayer",a.callPlayer),h(y(e),"duration",null),h(y(e),"currentTime",null),h(y(e),"secondsLoaded",null),h(y(e),"mute",(function(){})),h(y(e),"unmute",(function(){})),h(y(e),"ref",(function(t){e.iframe=t})),e}return t=l,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e){var t=this;(0,a.getSDK)("https://widget.mixcloud.com/media/js/widgetApi.js","Mixcloud").then((function(e){t.player=e.PlayerWidget(t.iframe),t.player.ready.then((function(){t.player.events.play.on(t.props.onPlay),t.player.events.pause.on(t.props.onPause),t.player.events.ended.on(t.props.onEnded),t.player.events.error.on(t.props.error),t.player.events.progress.on((function(e,n){t.currentTime=e,t.duration=n})),t.props.onReady()}))}),this.props.onError)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.config,r=t.match(i.MATCH_URL_MIXCLOUD)[1],u=(0,a.queryString)(c(c({},n.options),{},{feed:"/".concat(r,"/")}));return o.default.createElement("iframe",{key:r,ref:this.ref,style:{width:"100%",height:"100%"},src:"https://www.mixcloud.com/widget/iframe/?".concat(u),frameBorder:"0",allow:"autoplay"})}}],n&&s(t.prototype,n),r&&s(t,r),l}(o.Component);t.default=v,h(v,"displayName","Mixcloud"),h(v,"canPlay",i.canPlay.mixcloud),h(v,"loopOnEnded",!0)},2648:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,t){return f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},f(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=d(e);if(t){var a=d(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return y(e)}(this,n)}}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},d(e)}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}(u,e);var t,n,r,i=p(u);function u(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return h(y(e=i.call.apply(i,[this].concat(n))),"callPlayer",a.callPlayer),h(y(e),"duration",null),h(y(e),"currentTime",null),h(y(e),"fractionLoaded",null),h(y(e),"mute",(function(){e.setVolume(0)})),h(y(e),"unmute",(function(){null!==e.props.volume&&e.setVolume(e.props.volume)})),h(y(e),"ref",(function(t){e.iframe=t})),e}return t=u,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e,t){var n=this;(0,a.getSDK)("https://w.soundcloud.com/player/api.js","SC").then((function(r){if(n.iframe){var o=r.Widget.Events,a=o.PLAY,i=o.PLAY_PROGRESS,u=o.PAUSE,l=o.FINISH,s=o.ERROR;t||(n.player=r.Widget(n.iframe),n.player.bind(a,n.props.onPlay),n.player.bind(u,(function(){n.duration-n.currentTime<.05||n.props.onPause()})),n.player.bind(i,(function(e){n.currentTime=e.currentPosition/1e3,n.fractionLoaded=e.loadedProgress})),n.player.bind(l,(function(){return n.props.onEnded()})),n.player.bind(s,(function(e){return n.props.onError(e)}))),n.player.load(e,c(c({},n.props.config.options),{},{callback:function(){n.player.getDuration((function(e){n.duration=e/1e3,n.props.onReady()}))}}))}}))}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seekTo",1e3*e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.fractionLoaded*this.duration}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return o.default.createElement("iframe",{ref:this.ref,src:"https://w.soundcloud.com/player/?url=".concat(encodeURIComponent(this.props.url)),style:e,frameBorder:0,allow:"autoplay"})}}],n&&s(t.prototype,n),r&&s(t,r),u}(o.Component);t.default=v,h(v,"displayName","SoundCloud"),h(v,"canPlay",i.canPlay.soundcloud),h(v,"loopOnEnded",!0)},993:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t){return c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},c(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=p(e);if(t){var a=p(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return f(e)}(this,n)}}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(p,e);var t,n,r,u=s(p);function p(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return y(f(e=u.call.apply(u,[this].concat(n))),"callPlayer",a.callPlayer),y(f(e),"duration",null),y(f(e),"currentTime",null),y(f(e),"secondsLoaded",null),y(f(e),"mute",(function(){e.callPlayer("mute")})),y(f(e),"unmute",(function(){e.callPlayer("unmute")})),y(f(e),"ref",(function(t){e.iframe=t})),e}return t=p,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e){var t=this;(0,a.getSDK)("https://cdn.embed.ly/player-0.1.0.min.js","playerjs").then((function(e){t.iframe&&(t.player=new e.Player(t.iframe),t.player.setLoop(t.props.loop),t.player.on("ready",t.props.onReady),t.player.on("play",t.props.onPlay),t.player.on("pause",t.props.onPause),t.player.on("seeked",t.props.onSeek),t.player.on("ended",t.props.onEnded),t.player.on("error",t.props.onError),t.player.on("timeupdate",(function(e){var n=e.duration,r=e.seconds;t.duration=n,t.currentTime=r})),t.player.on("buffered",(function(e){var n=e.percent;t.duration&&(t.secondsLoaded=t.duration*n)})),t.props.muted&&t.player.mute())}),this.props.onError)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("setCurrentTime",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e=this.props.url.match(i.MATCH_URL_STREAMABLE)[1];return o.default.createElement("iframe",{ref:this.ref,src:"https://streamable.com/o/".concat(e),frameBorder:"0",scrolling:"no",style:{width:"100%",height:"100%"},allow:"encrypted-media; autoplay; fullscreen;"})}}],n&&l(t.prototype,n),r&&l(t,r),p}(o.Component);t.default=d,y(d,"displayName","Streamable"),y(d,"canPlay",i.canPlay.streamable)},9482:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=y(e);if(t){var a=y(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return p(e)}(this,n)}}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(y,e);var t,n,r,u=f(y);function y(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(p(e=u.call.apply(u,[this].concat(n))),"callPlayer",a.callPlayer),d(p(e),"playerID",e.props.config.playerId||"".concat("twitch-player-").concat((0,a.randomString)())),d(p(e),"mute",(function(){e.callPlayer("setMuted",!0)})),d(p(e),"unmute",(function(){e.callPlayer("setMuted",!1)})),e}return t=y,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e,t){var n=this,r=this.props,o=r.playsinline,u=r.onError,c=r.config,s=r.controls,f=i.MATCH_URL_TWITCH_CHANNEL.test(e),p=f?e.match(i.MATCH_URL_TWITCH_CHANNEL)[1]:e.match(i.MATCH_URL_TWITCH_VIDEO)[1];t?f?this.player.setChannel(p):this.player.setVideo("v"+p):(0,a.getSDK)("https://player.twitch.tv/js/embed/v1.js","Twitch").then((function(t){n.player=new t.Player(n.playerID,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({video:f?"":p,channel:f?p:"",height:"100%",width:"100%",playsinline:o,autoplay:n.props.playing,muted:n.props.muted,controls:!!f||s,time:(0,a.parseStartTime)(e)},c.options));var r=t.Player,i=r.READY,u=r.PLAYING,y=r.PAUSE,h=r.ENDED,v=r.ONLINE,b=r.OFFLINE,m=r.SEEK;n.player.addEventListener(i,n.props.onReady),n.player.addEventListener(u,n.props.onPlay),n.player.addEventListener(y,n.props.onPause),n.player.addEventListener(h,n.props.onEnded),n.player.addEventListener(m,n.props.onSeek),n.player.addEventListener(v,n.props.onLoaded),n.player.addEventListener(b,n.props.onLoaded)}),u)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){this.callPlayer("pause")}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){return o.default.createElement("div",{style:{width:"100%",height:"100%"},id:this.playerID})}}],n&&c(t.prototype,n),r&&c(t,r),y}(o.Component);t.default=h,d(h,"displayName","Twitch"),d(h,"canPlay",i.canPlay.twitch),d(h,"loopOnEnded",!0)},6596:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=y(e);if(t){var a=y(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return p(e)}(this,n)}}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(y,e);var t,n,r,u=f(y);function y(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(p(e=u.call.apply(u,[this].concat(n))),"callPlayer",a.callPlayer),d(p(e),"mute",(function(){e.setVolume(0)})),d(p(e),"unmute",(function(){null!==e.props.volume&&e.setVolume(e.props.volume)})),d(p(e),"ref",(function(t){e.container=t})),e}return t=y,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e){var t=this,n=this.props,r=n.playing,o=n.config,u=n.onError,c=n.onDuration,s=e&&e.match(i.MATCH_URL_VIDYARD)[1];this.player&&this.stop(),(0,a.getSDK)("https://play.vidyard.com/embed/v4.js","VidyardV4","onVidyardAPI").then((function(e){t.container&&(e.api.addReadyListener((function(e,n){t.player||(t.player=n,t.player.on("ready",t.props.onReady),t.player.on("play",t.props.onPlay),t.player.on("pause",t.props.onPause),t.player.on("seek",t.props.onSeek),t.player.on("playerComplete",t.props.onEnded))}),s),e.api.renderPlayer(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({uuid:s,container:t.container,autoplay:r?1:0},o.options)),e.api.getPlayerMetadata(s).then((function(e){t.duration=e.length_in_seconds,c(e.length_in_seconds)})))}),u)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){window.VidyardV4.api.destroyPlayer(this.player)}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("seek",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackSpeed",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.callPlayer("currentTime")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return o.default.createElement("div",{style:e},o.default.createElement("div",{ref:this.ref}))}}],n&&c(t.prototype,n),r&&c(t,r),y}(o.Component);t.default=h,d(h,"displayName","Vidyard"),d(h,"canPlay",i.canPlay.vidyard)},868:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=y(e);if(t){var a=y(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return p(e)}(this,n)}}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=function(e){return e.replace("/manage/videos","")},v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(u,e);var t,n,r,i=f(u);function u(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(p(e=i.call.apply(i,[this].concat(n))),"callPlayer",a.callPlayer),d(p(e),"duration",null),d(p(e),"currentTime",null),d(p(e),"secondsLoaded",null),d(p(e),"mute",(function(){e.setMuted(!0)})),d(p(e),"unmute",(function(){e.setMuted(!1)})),d(p(e),"ref",(function(t){e.container=t})),e}return t=u,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e){var t=this;this.duration=null,(0,a.getSDK)("https://player.vimeo.com/api/player.js","Vimeo").then((function(n){if(t.container){var r=t.props.config,o=r.playerOptions,a=r.title;t.player=new n.Player(t.container,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({url:h(e),autoplay:t.props.playing,muted:t.props.muted,loop:t.props.loop,playsinline:t.props.playsinline,controls:t.props.controls},o)),t.player.ready().then((function(){var e=t.container.querySelector("iframe");e.style.width="100%",e.style.height="100%",a&&(e.title=a)})).catch(t.props.onError),t.player.on("loaded",(function(){t.props.onReady(),t.refreshDuration()})),t.player.on("play",(function(){t.props.onPlay(),t.refreshDuration()})),t.player.on("pause",t.props.onPause),t.player.on("seeked",(function(e){return t.props.onSeek(e.seconds)})),t.player.on("ended",t.props.onEnded),t.player.on("error",t.props.onError),t.player.on("timeupdate",(function(e){var n=e.seconds;t.currentTime=n})),t.player.on("progress",(function(e){var n=e.seconds;t.secondsLoaded=n})),t.player.on("bufferstart",t.props.onBuffer),t.player.on("bufferend",t.props.onBufferEnd),t.player.on("playbackratechange",(function(e){return t.props.onPlaybackRateChange(e.playbackRate)}))}}),this.props.onError)}},{key:"refreshDuration",value:function(){var e=this;this.player.getDuration().then((function(t){e.duration=t}))}},{key:"play",value:function(){var e=this.callPlayer("play");e&&e.catch(this.props.onError)}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){this.callPlayer("unload")}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("setCurrentTime",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"setMuted",value:function(e){this.callPlayer("setMuted",e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackRate",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e={width:"100%",height:"100%",overflow:"hidden",display:this.props.display};return o.default.createElement("div",{key:this.props.url,ref:this.ref,style:e})}}],n&&c(t.prototype,n),r&&c(t,r),u}(o.Component);t.default=v,d(v,"displayName","Vimeo"),d(v,"canPlay",i.canPlay.vimeo),d(v,"forceLoad",!0)},8018:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,t){return f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},f(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=d(e);if(t){var a=d(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return y(e)}(this,n)}}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},d(e)}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}(l,e);var t,n,r,u=p(l);function l(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return h(y(e=u.call.apply(u,[this].concat(n))),"callPlayer",a.callPlayer),h(y(e),"playerID",e.props.config.playerId||"".concat("wistia-player-").concat((0,a.randomString)())),h(y(e),"onPlay",(function(){var t;return(t=e.props).onPlay.apply(t,arguments)})),h(y(e),"onPause",(function(){var t;return(t=e.props).onPause.apply(t,arguments)})),h(y(e),"onSeek",(function(){var t;return(t=e.props).onSeek.apply(t,arguments)})),h(y(e),"onEnded",(function(){var t;return(t=e.props).onEnded.apply(t,arguments)})),h(y(e),"onPlaybackRateChange",(function(){var t;return(t=e.props).onPlaybackRateChange.apply(t,arguments)})),h(y(e),"mute",(function(){e.callPlayer("mute")})),h(y(e),"unmute",(function(){e.callPlayer("unmute")})),e}return t=l,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"load",value:function(e){var t=this,n=this.props,r=n.playing,o=n.muted,i=n.controls,u=n.onReady,l=n.config,s=n.onError;(0,a.getSDK)("https://fast.wistia.com/assets/external/E-v1.js","Wistia").then((function(e){l.customControls&&l.customControls.forEach((function(t){return e.defineControl(t)})),window._wq=window._wq||[],window._wq.push({id:t.playerID,options:c({autoPlay:r,silentAutoPlay:"allow",muted:o,controlsVisibleOnLoad:i,fullscreenButton:i,playbar:i,playbackRateControl:i,qualityControl:i,volumeControl:i,settingsControl:i,smallPlayButton:i},l.options),onReady:function(e){t.player=e,t.unbind(),t.player.bind("play",t.onPlay),t.player.bind("pause",t.onPause),t.player.bind("seek",t.onSeek),t.player.bind("end",t.onEnded),t.player.bind("playbackratechange",t.onPlaybackRateChange),u()}})}),s)}},{key:"unbind",value:function(){this.player.unbind("play",this.onPlay),this.player.unbind("pause",this.onPause),this.player.unbind("seek",this.onSeek),this.player.unbind("end",this.onEnded),this.player.unbind("playbackratechange",this.onPlaybackRateChange)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){this.unbind(),this.callPlayer("remove")}},{key:"seekTo",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.callPlayer("time",e),t||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("volume",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("playbackRate",e)}},{key:"getDuration",value:function(){return this.callPlayer("duration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("time")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props.url,t=e&&e.match(i.MATCH_URL_WISTIA)[1],n="wistia_embed wistia_async_".concat(t);return o.default.createElement("div",{id:this.playerID,key:t,className:n,style:{width:"100%",height:"100%"}})}}],n&&s(t.prototype,n),r&&s(t,r),l}(o.Component);t.default=v,h(v,"displayName","Wistia"),h(v,"canPlay",i.canPlay.wistia),h(v,"loopOnEnded",!0)},356:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}n.default=e,t&&t.set(e,n);return n}(n(7294)),a=n(8045),i=n(1776);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(l){o=!0,a=l}finally{try{r||null==u.return||u.return()}finally{if(o)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t){return y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},y(e,t)}function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=v(e);if(t){var a=v(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;return h(e)}(this,n)}}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var m=/[?&](?:list|channel)=([a-zA-Z0-9_-]+)/,P=/user\/([a-zA-Z0-9_-]+)\/?/,g=/youtube-nocookie\.com/,O=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&y(e,t)}(l,e);var t,n,r,u=d(l);function l(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return b(h(e=u.call.apply(u,[this].concat(n))),"callPlayer",a.callPlayer),b(h(e),"parsePlaylist",(function(t){return t instanceof Array?{listType:"playlist",playlist:t.map(e.getID).join(",")}:m.test(t)?{listType:"playlist",list:s(t.match(m),2)[1].replace(/^UC/,"UU")}:P.test(t)?{listType:"user_uploads",list:s(t.match(P),2)[1]}:{}})),b(h(e),"onStateChange",(function(t){var n=t.data,r=e.props,o=r.onPlay,a=r.onPause,i=r.onBuffer,u=r.onBufferEnd,l=r.onEnded,c=r.onReady,s=r.loop,f=r.config,p=f.playerVars,y=f.onUnstarted,d=window.YT.PlayerState,h=d.UNSTARTED,v=d.PLAYING,b=d.PAUSED,m=d.BUFFERING,P=d.ENDED,g=d.CUED;if(n===h&&y(),n===v&&(o(),u()),n===b&&a(),n===m&&i(),n===P){var O=!!e.callPlayer("getPlaylist");s&&!O&&(p.start?e.seekTo(p.start):e.play()),l()}n===g&&c()})),b(h(e),"mute",(function(){e.callPlayer("mute")})),b(h(e),"unmute",(function(){e.callPlayer("unMute")})),b(h(e),"ref",(function(t){e.container=t})),e}return t=l,n=[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount(this)}},{key:"getID",value:function(e){return!e||e instanceof Array||m.test(e)?null:e.match(i.MATCH_URL_YOUTUBE)[1]}},{key:"load",value:function(e,t){var n=this,r=this.props,o=r.playing,i=r.muted,u=r.playsinline,l=r.controls,s=r.loop,f=r.config,p=r.onError,y=f.playerVars,d=f.embedOptions,h=this.getID(e);if(t)return m.test(e)||P.test(e)||e instanceof Array?void this.player.loadPlaylist(this.parsePlaylist(e)):void this.player.cueVideoById({videoId:h,startSeconds:(0,a.parseStartTime)(e)||y.start,endSeconds:(0,a.parseEndTime)(e)||y.end});(0,a.getSDK)("https://www.youtube.com/iframe_api","YT","onYouTubeIframeAPIReady",(function(e){return e.loaded})).then((function(t){n.container&&(n.player=new t.Player(n.container,c({width:"100%",height:"100%",videoId:h,playerVars:c(c({autoplay:o?1:0,mute:i?1:0,controls:l?1:0,start:(0,a.parseStartTime)(e),end:(0,a.parseEndTime)(e),origin:window.location.origin,playsinline:u?1:0},n.parsePlaylist(e)),y),events:{onReady:function(){s&&n.player.setLoop(!0),n.props.onReady()},onPlaybackRateChange:function(e){return n.props.onPlaybackRateChange(e.data)},onPlaybackQualityChange:function(e){return n.props.onPlaybackQualityChange(e)},onStateChange:n.onStateChange,onError:function(e){return p(e.data)}},host:g.test(e)?"https://www.youtube-nocookie.com":void 0},d)))}),p),d.events&&console.warn("Using `embedOptions.events` will likely break things. Use ReactPlayer\u2019s callback props instead, eg onReady, onPlay, onPause")}},{key:"play",value:function(){this.callPlayer("playVideo")}},{key:"pause",value:function(){this.callPlayer("pauseVideo")}},{key:"stop",value:function(){document.body.contains(this.callPlayer("getIframe"))&&this.callPlayer("stopVideo")}},{key:"seekTo",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.callPlayer("seekTo",e),t||this.props.playing||this.pause()}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackRate",e)}},{key:"setLoop",value:function(e){this.callPlayer("setLoop",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return this.callPlayer("getVideoLoadedFraction")*this.getDuration()}},{key:"render",value:function(){var e={width:"100%",height:"100%",display:this.props.display};return o.default.createElement("div",{style:e},o.default.createElement("div",{ref:this.ref}))}}],n&&p(t.prototype,n),r&&p(t,r),l}(o.Component);t.default=O,b(O,"displayName","YouTube"),b(O,"canPlay",i.canPlay.youtube)},6497:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7294),o=n(8045),a=n(1776);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,t&&t.set(e,n),n}var c=[{key:"youtube",name:"YouTube",canPlay:a.canPlay.youtube,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(356))}))}))},{key:"soundcloud",name:"SoundCloud",canPlay:a.canPlay.soundcloud,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(2648))}))}))},{key:"vimeo",name:"Vimeo",canPlay:a.canPlay.vimeo,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(868))}))}))},{key:"facebook",name:"Facebook",canPlay:a.canPlay.facebook,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(1972))}))}))},{key:"streamable",name:"Streamable",canPlay:a.canPlay.streamable,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(993))}))}))},{key:"wistia",name:"Wistia",canPlay:a.canPlay.wistia,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(8018))}))}))},{key:"twitch",name:"Twitch",canPlay:a.canPlay.twitch,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(9482))}))}))},{key:"dailymotion",name:"DailyMotion",canPlay:a.canPlay.dailymotion,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(6807))}))}))},{key:"mixcloud",name:"Mixcloud",canPlay:a.canPlay.mixcloud,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(3644))}))}))},{key:"vidyard",name:"Vidyard",canPlay:a.canPlay.vidyard,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(6596))}))}))},{key:"kaltura",name:"Kaltura",canPlay:a.canPlay.kaltura,lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(3911))}))}))},{key:"file",name:"FilePlayer",canPlay:a.canPlay.file,canEnablePIP:function(e){return a.canPlay.file(e)&&(document.pictureInPictureEnabled||(0,o.supportsWebKitPresentationMode)())&&!a.AUDIO_EXTENSIONS.test(e)},lazyPlayer:(0,r.lazy)((function(){return Promise.resolve().then((function(){return l(n(4926))}))}))}];t.default=c},5741:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultProps=t.propTypes=void 0;var r,o=(r=n(5697))&&r.__esModule?r:{default:r};var a=o.default.string,i=o.default.bool,u=o.default.number,l=o.default.array,c=o.default.oneOfType,s=o.default.shape,f=o.default.object,p=o.default.func,y=o.default.node,d={url:c([a,l,f]),playing:i,loop:i,controls:i,volume:u,muted:i,playbackRate:u,width:c([a,u]),height:c([a,u]),style:f,progressInterval:u,playsinline:i,pip:i,stopOnUnmount:i,light:c([i,a,f]),playIcon:y,previewTabIndex:u,fallback:y,oEmbedUrl:a,wrapper:c([a,p,s({render:p.isRequired})]),config:s({soundcloud:s({options:f}),youtube:s({playerVars:f,embedOptions:f,onUnstarted:p}),facebook:s({appId:a,version:a,playerId:a,attributes:f}),dailymotion:s({params:f}),vimeo:s({playerOptions:f,title:a}),file:s({attributes:f,tracks:l,forceVideo:i,forceAudio:i,forceHLS:i,forceSafariHLS:i,forceDisableHls:i,forceDASH:i,forceFLV:i,hlsOptions:f,hlsVersion:a,dashVersion:a,flvVersion:a}),wistia:s({options:f,playerId:a,customControls:l}),mixcloud:s({options:f}),twitch:s({options:f,playerId:a}),vidyard:s({options:f})}),onReady:p,onStart:p,onPlay:p,onPause:p,onBuffer:p,onBufferEnd:p,onEnded:p,onError:p,onDuration:p,onSeek:p,onPlaybackRateChange:p,onPlaybackQualityChange:p,onProgress:p,onClickPreview:p,onEnablePIP:p,onDisablePIP:p};t.propTypes=d;var h=function(){},v={playing:!1,loop:!1,controls:!1,volume:null,muted:!1,playbackRate:1,width:"640px",height:"360px",style:{},progressInterval:1e3,playsinline:!1,pip:!1,stopOnUnmount:!0,light:!1,fallback:null,wrapper:"div",previewTabIndex:0,oEmbedUrl:"https://noembed.com/embed?url={url}",config:{soundcloud:{options:{visual:!0,buying:!1,liking:!1,download:!1,sharing:!1,show_comments:!1,show_playcount:!1}},youtube:{playerVars:{playsinline:1,showinfo:0,rel:0,iv_load_policy:3,modestbranding:1},embedOptions:{},onUnstarted:h},facebook:{appId:"1309697205772819",version:"v3.3",playerId:null,attributes:{}},dailymotion:{params:{api:1,"endscreen-enable":!1}},vimeo:{playerOptions:{autopause:!1,byline:!1,portrait:!1,title:!1},title:null},file:{attributes:{},tracks:[],forceVideo:!1,forceAudio:!1,forceHLS:!1,forceDASH:!1,forceFLV:!1,hlsOptions:{},hlsVersion:"1.1.4",dashVersion:"3.1.3",flvVersion:"1.5.0",forceDisableHls:!1},wistia:{options:{},playerId:null,customControls:null},mixcloud:{options:{hide_cover:1}},twitch:{options:{},playerId:null},vidyard:{options:{}}},onReady:h,onStart:h,onPlay:h,onPause:h,onBuffer:h,onBufferEnd:h,onEnded:h,onError:h,onDuration:h,onSeek:h,onPlaybackRateChange:h,onPlaybackQualityChange:h,onProgress:h,onClickPreview:h,onEnablePIP:h,onDisablePIP:h};t.defaultProps=v},8045:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseStartTime=function(e){return p(e,l)},t.parseEndTime=function(e){return p(e,c)},t.randomString=function(){return Math.random().toString(36).substr(2,5)},t.queryString=function(e){return Object.keys(e).map((function(t){return"".concat(t,"=").concat(e[t])})).join("&")},t.getSDK=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0},a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:r.default,i=y(t);if(i&&o(i))return Promise.resolve(i);return new Promise((function(r,o){if(d[e])d[e].push({resolve:r,reject:o});else{d[e]=[{resolve:r,reject:o}];var i=function(t){d[e].forEach((function(e){return e.resolve(t)}))};if(n){var u=window[n];window[n]=function(){u&&u(),i(y(t))}}a(e,(function(r){r?(d[e].forEach((function(e){return e.reject(r)})),d[e]=null):n||i(y(t))}))}}))},t.getConfig=function(e,t){return(0,o.default)(t.config,e.config)},t.omit=function(e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];for(var a=(t=[]).concat.apply(t,r),i={},u=Object.keys(e),l=0,c=u;l<c.length;l++){var s=c[l];-1===a.indexOf(s)&&(i[s]=e[s])}return i},t.callPlayer=function(e){var t;if(!this.player||!this.player[e]){var n="ReactPlayer: ".concat(this.constructor.displayName," player could not call %c").concat(e,"%c \u2013 ");return this.player?this.player[e]||(n+="The method was not available"):n+="The player was not available",console.warn(n,"font-weight: bold",""),null}for(var r=arguments.length,o=new Array(r>1?r-1:0),a=1;a<r;a++)o[a-1]=arguments[a];return(t=this.player)[e].apply(t,o)},t.isMediaStream=function(e){return"undefined"!=typeof window&&void 0!==window.MediaStream&&e instanceof window.MediaStream},t.isBlobUrl=function(e){return/^blob:/.test(e)},t.supportsWebKitPresentationMode=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.createElement("video"),t=!1===/iPhone|iPod/.test(navigator.userAgent);return e.webkitSupportsPresentationMode&&"function"==typeof e.webkitSetPresentationMode&&t};var r=a(n(9090)),o=a(n(9996));function a(e){return e&&e.__esModule?e:{default:e}}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(l){o=!0,a=l}finally{try{r||null==u.return||u.return()}finally{if(o)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var l=/[?&#](?:start|t)=([0-9hms]+)/,c=/[?&#]end=([0-9hms]+)/,s=/(\d+)(h|m|s)/g,f=/^\d+$/;function p(e,t){if(!(e instanceof Array)){var n=e.match(t);if(n){var r=n[1];if(r.match(s))return function(e){var t=0,n=s.exec(e);for(;null!==n;){var r=i(n,3),o=r[1],a=r[2];"h"===a&&(t+=60*parseInt(o,10)*60),"m"===a&&(t+=60*parseInt(o,10)),"s"===a&&(t+=parseInt(o,10)),n=s.exec(e)}return t}(r);if(f.test(r))return parseInt(r)}}}function y(e){return window[e]?window[e]:window.exports&&window.exports[e]?window.exports[e]:window.module&&window.module.exports&&window.module.exports[e]?window.module.exports[e]:null}var d={}},1151:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,a:()=>i});var r=n(7294);const o={},a=r.createContext(o);function i(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function u(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/34aec551.882b4c83.js b/pr-preview/pr-33/assets/js/34aec551.882b4c83.js new file mode 100644 index 0000000..7de9650 --- /dev/null +++ b/pr-preview/pr-33/assets/js/34aec551.882b4c83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[971],{2455:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var i=t(5893),s=t(1151);const a={sidebar_position:1,title:"User manual"},r=void 0,l={id:"readiness_levels/user_manual",title:"User manual",description:"The following guidelines can be used to determine the completeness of a user manual.",source:"@site/docs/readiness_levels/user_manual.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/user_manual",permalink:"/pr-preview/pr-33/docs/readiness_levels/user_manual",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/user_manual.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"User manual"},sidebar:"tutorialSidebar",previous:{title:"RAVRE documentation",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation"},next:{title:"Community supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter"}},o={},c=[];function d(e){const n={a:"a",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"The following guidelines can be used to determine the completeness of a user manual."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["The virtual lab is explained from the following viewpoints:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"A conceptual viewpoint. There is an intuitive description of what happens."}),"\n",(0,i.jsx)(n.li,{children:"A mathematical viewpoint. How the real world system relates to the used mathematical algorithm is clear."}),"\n",(0,i.jsx)(n.li,{children:"A computational viewpoint: How the algorithm is converted into computational methods is explained."}),"\n",(0,i.jsx)(n.li,{children:"An engineering viewpoint: There is a description of the software architecture of the virtual lab."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["The parameters are clear.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"It is clear what the ecological meaning of the parameter is."}),"\n",(0,i.jsx)(n.li,{children:"It is clear how to change these parameters."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["There is a tutorial: Virtual lab developers are strongly encouraged to create a tutorial for virtual labs early on in the development. In the simplest case, this is the existing main notebook with a description of the processes that occur during execution.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The tutorial can be done without supervision."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"Known potential pitfalls in using the virtual lab are described."}),"\n",(0,i.jsx)(n.li,{children:"There is a description of the standards used for data exchange with application programming interfaces and databases."}),"\n",(0,i.jsx)(n.li,{children:"The intended audience is described. Recommended prior knowledge is listed."}),"\n",(0,i.jsxs)(n.li,{children:["Storage location","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Store the user manual for the virtual lab in the same git repository as the virtual lab assets."}),"\n",(0,i.jsxs)(n.li,{children:["The user manual will be made available on ",(0,i.jsx)(n.a,{href:"https://naavre.net/",children:"NaaVRE.net"})," and should be separated from the codebase."]}),"\n",(0,i.jsx)(n.li,{children:"Instructions on how to use a single notebook can be stored in the markdown of that notebook."}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>r});var i=t(7294);const s={},a=i.createContext(s);function r(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/34b0fabf.a760253c.js b/pr-preview/pr-33/assets/js/34b0fabf.a760253c.js new file mode 100644 index 0000000..8f83540 --- /dev/null +++ b/pr-preview/pr-33/assets/js/34b0fabf.a760253c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[360],{216:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var i=r(5893),o=r(1151),n=r(2457);const s={sidebar_position:1,title:"Virtual lab coordinator"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/Coordinator",title:"Virtual lab coordinator",description:"The virtual lab coordinator has the following responsibilities per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Coordinator.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Coordinator",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Coordinator.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Virtual lab coordinator"},sidebar:"tutorialSidebar",previous:{title:"Community supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter"},next:{title:"Core developer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer"}},u={},d=[];function p(e){const t={li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return n||c("Responsibilities",!1),n.L0Coordinator||c("Responsibilities.L0Coordinator",!0),n.L1Coordinator||c("Responsibilities.L1Coordinator",!0),n.L2Coordinator||c("Responsibilities.L2Coordinator",!0),n.L3Coordinator||c("Responsibilities.L3Coordinator",!0),n.L4Coordinator||c("Responsibilities.L4Coordinator",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The virtual lab coordinator has the following responsibilities per level:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["L0: ",(0,i.jsx)(n.L0Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L1: ",(0,i.jsx)(n.L1Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L2: ",(0,i.jsx)(n.L2Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L3: ",(0,i.jsx)(n.L3Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L4: ",(0,i.jsx)(n.L4Coordinator,{})]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}function c(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>o,L1Coordinator:()=>v,L1CoreDeveloper:()=>w,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>S,L1Reviewer:()=>k,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>y,L2DevOps:()=>C,L2GoldenUser:()=>d,L2InfrastructureSupporter:()=>V,L2Trainer:()=>E,L2VREResearcher:()=>P,L3CommunitySupporter:()=>s,L3Coordinator:()=>b,L3CoreDeveloper:()=>_,L3GoldenUser:()=>p,L3InfrastructureSupporter:()=>j,L3SteeringBoard:()=>U,L3Trainer:()=>D,L3UserSupporter:()=>T,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>x,L4GoldenUser:()=>h,L4InfrastructureSupporter:()=>R,L4SteeringBoard:()=>G,L4UserSupporter:()=>I});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",o=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",s=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",d=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",p=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",h=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",C=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",_=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",S=()=>"Advises and provides the infrastructure for the virtual lab.",V=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",j=()=>"Ensures the infrastructure can support the training sessions.",R=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",E=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",D=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",U=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",T=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>s});var i=r(7294);const o={},n=i.createContext(o);function s(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/36041992.efa75fb5.js b/pr-preview/pr-33/assets/js/36041992.efa75fb5.js new file mode 100644 index 0000000..1899b8f --- /dev/null +++ b/pr-preview/pr-33/assets/js/36041992.efa75fb5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[73],{6670:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>oe,contentTitle:()=>ie,default:()=>fe,frontMatter:()=>ae,metadata:()=>le,toc:()=>se});var r,a,i,l,o,s,c,f,m,p,d,h,y,k,x,u,g,S,E,V,O,w,v,b,W,A,M,H,L,N,j,z,F,C,D,R,I,B,Z,P,T,_,K,G,J,X,Y,q,U,Q,$=n(5893),ee=n(1151),te=n(7294);function ne(){return ne=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ne.apply(this,arguments)}const re=e=>{let{title:t,titleId:n,...$}=e;return te.createElement("svg",ne({width:1033.035,height:549.355,viewBox:"0 0 273.324 145.35",xmlSpace:"preserve",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":n},$),t?te.createElement("title",{id:n},t):null,te.createElement("defs",null,r||(r=te.createElement("path",{id:"b",d:"M1.745 5.475c0 1.558-.125 2.066-.445 2.44a1.94 1.94 0 0 1-1.3.498l.125.89a3.045 3.045 0 0 0 2.03-.738 3.561 3.561 0 0 0 .783-2.671V0H1.745V5.475Z"})),a||(a=te.createElement("path",{id:"c",d:"M5.502 4.763c0 .668 0 1.264.053 1.78H4.496l-.071-1.059A2.466 2.466 0 0 1 2.26 6.695C1.23 6.695 0 6.135 0 3.846V.045h1.193v3.56c0 1.238.383 2.066 1.46 2.066A1.665 1.665 0 0 0 4.336 3.99V0h1.193v4.727l-.027.036Z"})),i||(i=te.createElement("path",{id:"d",d:"M.053 2.273c0-.828 0-1.505-.053-2.12h1.068l.054 1.114A2.582 2.582 0 0 1 3.454.002c1.585 0 2.778 1.327 2.778 3.303 0 2.333-1.433 3.49-2.982 3.49a2.306 2.306 0 0 1-2.021-1.023v3.56H.053V2.274ZM1.23 4.009c.003.161.02.322.053.48a1.834 1.834 0 0 0 1.78 1.38c1.256 0 1.995-1.023 1.995-2.51 0-1.3-.695-2.413-1.95-2.413a2.048 2.048 0 0 0-1.878 1.95v1.113Z"})),l||(l=te.createElement("path",{id:"e",d:"M1.318.018 2.75 3.855c.151.427.312.944.418 1.327.125-.392.259-.89.419-1.354l1.3-3.81h1.255l-1.78 4.63c-.89 2.225-1.434 3.374-2.253 4.068a3.24 3.24 0 0 1-1.46.766l-.294-.997a3.16 3.16 0 0 0 1.042-.58 3.561 3.561 0 0 0 1.006-1.317.89.89 0 0 0 .098-.285 1.024 1.024 0 0 0-.08-.311L0 0h1.3l.018.018Z"})),o||(o=te.createElement("path",{id:"f",d:"M2.19 0v1.87H3.9v.89H2.19v3.508c0 .801.232 1.264.89 1.264.234.004.468-.023.695-.08l.053.89c-.34.118-.7.172-1.06.16a1.656 1.656 0 0 1-1.29-.498 2.395 2.395 0 0 1-.463-1.692V2.751H0v-.89h1.033V.276L2.19 0Z"})),s||(s=te.createElement("path",{id:"g",d:"M1.177 3.579A2.092 2.092 0 0 0 3.43 5.831a4.345 4.345 0 0 0 1.78-.338l.205.89a5.342 5.342 0 0 1-2.181.401A3.027 3.027 0 0 1 .01 3.508C.01 1.549 1.177 0 3.082 0 5.22 0 5.753 1.87 5.753 3.063c.012.183.012.368 0 .552H1.15l.027-.036Zm3.49-.89A1.683 1.683 0 0 0 3.011.766a1.968 1.968 0 0 0-1.825 1.923h3.481Z"})),c||(c=te.createElement("path",{id:"h",d:"M.053 2.192c0-.765 0-1.424-.053-2.03h1.068v1.274h.054A1.968 1.968 0 0 1 2.902.01a1.3 1.3 0 0 1 .339 0v1.113a1.78 1.78 0 0 0-.41 0 1.665 1.665 0 0 0-1.593 1.513 3.293 3.293 0 0 0-.054.552v3.464H.01V2.2l.044-.009Z"})),f||(f=te.createElement("path",{id:"i",d:"M6.03 2.836A3.018 3.018 0 1 1 2.889.005a2.982 2.982 0 0 1 3.143 2.83Z"})),m||(m=te.createElement("path",{id:"j",d:"M18.696 7.122C10.684 7.122 3.641 4.247 0 0a19.934 19.934 0 0 0 37.392 0C33.76 4.247 26.744 7.122 18.696 7.122Z"})),p||(p=te.createElement("path",{id:"k",d:"M18.696 5.897c8.013 0 15.055 2.876 18.696 7.123A19.934 19.934 0 0 0 0 13.02c3.641-4.256 10.648-7.123 18.696-7.123Z"})),d||(d=te.createElement("path",{id:"l",d:"M7.596 3.567A3.802 3.802 0 1 1 3.634.005a3.766 3.766 0 0 1 3.962 3.562Z"})),h||(h=te.createElement("path",{id:"m",d:"M2.25 4.38A2.19 2.19 0 1 1 4.379 2.1a2.217 2.217 0 0 1-2.127 2.28Z"})),te.createElement("marker",{style:{overflow:"visible"},id:"a",refX:0,refY:0,orient:"auto-start-reverse",markerWidth:.5,markerHeight:.5,viewBox:"0 0 1 1",preserveAspectRatio:"xMidYMid"},te.createElement("path",{transform:"scale(.5)",style:{fill:"context-stroke",fillRule:"evenodd",stroke:"context-stroke",strokeWidth:"1pt"},d:"m5.77 0-8.65 5V-5Z"}))),te.createElement("g",{transform:"translate(32.636 -79.35)"},te.createElement("rect",{style:{fill:"none",fillOpacity:.504747,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"4.7625,1.5875",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},width:218.281,height:87.313,x:-32.239,y:136.988,ry:5.292,rx:5.292}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:181.967,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:24.316,y:203.134,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:78.225,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:132.134,y:139.634,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:78.225,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:132.134,y:160.8,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:105.179,y:192.55,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:181.967,rx:2.646,ry:2.646}),te.createElement("rect",{style:{fill:"#fff",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeOpacity:1,paintOrder:"markers fill stroke"},width:51.263,height:18.521,x:-29.593,y:203.134,rx:2.646,ry:2.646}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"VRE knowledge"),y||(y=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"base"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"90%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(225.787 3.856)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"90%"}},"Notebook-as-")),te.createElement("tspan",{x:-68.021,y:147.348},te.createElement("tspan",{style:{lineHeight:"90%"}},"a-VRE"),k||(k=te.createElement("tspan",{y:147.348}))),te.createElement("tspan",{x:-68.021,y:153.063},te.createElement("tspan",{style:{lineHeight:"90%"}},"dashboards"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(225.787 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"eScience"),x||(x=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"devOps"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(171.878 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed VRE"),u||(u=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"ledger"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(171.878 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Provenance /"),g||(g=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"log expllorer"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 5.972)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed"),S||(S=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"workflow bus"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"90%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 25.022)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"90%"}},"Remote"),E||(E=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:147.348},te.createElement("tspan",{style:{lineHeight:"90%"}},"infrastructure"),V||(V=te.createElement("tspan",{y:147.348}))),te.createElement("tspan",{x:-68.021,y:153.063},te.createElement("tspan",{style:{lineHeight:"90%"}},"automator"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 51.798)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"AAI"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(117.969 69.472)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Distributed"),O||(O=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"data mesh"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 27.14)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Semantic"),w||(w=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"search engine"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 48.306)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Component"),v||(v=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"containerizer"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(64.06 69.472)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"Experiment"),b||(b=te.createElement("tspan",{y:141.633}))),te.createElement("tspan",{x:-68.021,y:148.618},te.createElement("tspan",{style:{lineHeight:"110%"}},"manager"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(198.832 62.382)"},te.createElement("tspan",{x:-68.021,y:141.633},te.createElement("tspan",{style:{lineHeight:"110%"}},"\u2026"))),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,markerStart:"url(#a)",markerEnd:"url(#marker56)",paintOrder:"markers fill stroke"},d:"M219.653 115.969v42.087"}),te.createElement("rect",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},width:147.575,height:13.655,x:87.181,y:99.459,ry:2.646,rx:2.646}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:120.186,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(228.99 -33.143)"},W||(W=te.createElement("tspan",{x:-68.021,y:141.633},"Client side (e.g. Jupyter environment)"))),te.createElement("g",{transform:"matrix(1.53683 0 0 1.53602 -102.622 -41.848)",style:{strokeWidth:.650863}},te.createElement("circle",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.516622,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:180.396,cy:81.808,r:2.646}),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.516622,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M175.766 89.084a4.63 4.63 0 0 1 4.63-4.63 4.63 4.63 0 0 1 4.63 4.63"})),te.createElement("path",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.793751,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M188.744 85.709c1.459 0 4.09.81 5.563.503 1.39-.29 3.364-.199 4.784-.215 1.328-.015 2.825.009 4.153.004 1.448-.006 2.907-.244 4.355-.249 1.502-.004 3.15.027 4.652.046 1.456.018 3.493-.221 4.948-.202a155.9 155.9 0 0 1 4.089.119c1.452.058 3.012-.01 4.465.035 1.372.042 2.963.219 4.444.325 1.206.086 2.646 1.142 2.648 2.648.042 1.486-.008 2.61-.013 4.097-.005 1.608.243 3.047.238 4.655-.004 1.142-.442 3.235-1 4.756-.365.99-.802 2.793-2.08 2.84-1.453.367-3.197-.002-4.695-.026-1.432-.024-2.598.238-4.03.226-1.588-.013-3.451-.068-5.04-.104-1.406-.033-3.093-.064-4.499-.094-1.404-.03-2.416.054-3.82.028-1.63-.031-3.212-.046-4.842-.085-1.514-.036-3.055-.594-4.57-.63-1.493-.035-2.893.001-4.384.104-1.43.098-3.021.274-4.536.311-1.268.032-2.563-1.55-2.626-2.999-.004-1.467-.136-3.087-.078-4.553.056-1.415-.391-2.826-.395-4.243-.003-1.113.44-3.082.492-4.635.04-1.175.319-2.663 1.777-2.662z",transform:"translate(0 -4.118)"}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:120.186,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(271.762 -52.173)"},A||(A=te.createElement("tspan",{x:-68.021,y:141.633},"NaaVRE"))),te.createElement("g",{transform:"translate(2.396 -3.725)"},te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:206.301,cy:98.987,r:3.969}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:215.173,cy:98.987,r:3.969}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:.50141,stroke:"none",strokeWidth:.79375,strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:224.046,cy:98.987,r:3.969}),te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("use",{xlinkHref:"#b",transform:"matrix(.2451 0 0 .2451 88.488 108.946)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#c",transform:"matrix(.2451 0 0 .2451 89.748 108.948)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#d",transform:"matrix(.2451 0 0 .2451 91.638 108.921)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#e",transform:"matrix(.2451 0 0 .2451 93.363 108.953)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#f",transform:"matrix(.2451 0 0 .2451 95.108 108.5)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#g",transform:"matrix(.2451 0 0 .2451 96.314 108.929)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#h",transform:"matrix(.2451 0 0 .2451 98.155 108.916)",fill:"#4e4e4e",style:{mixBlendMode:"normal",strokeWidth:1.0795}})),te.createElement("g",{style:{mixBlendMode:"normal",strokeWidth:1.0795}},te.createElement("use",{xlinkHref:"#i",transform:"matrix(.2451 0 0 .2451 96.562 103.88)",fill:"#767677",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#j",transform:"matrix(.2451 0 0 .2451 89.142 111.375)",fill:"#f37726",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#k",transform:"matrix(.2451 0 0 .2451 89.142 104.906)",fill:"#f37726",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#l",transform:"matrix(.2451 0 0 .2451 89.16 114.272)",fill:"#9e9e9e",style:{mixBlendMode:"normal",strokeWidth:1.0795}}),te.createElement("use",{xlinkHref:"#m",transform:"matrix(.2451 0 0 .2451 88.814 105.041)",fill:"#616262",style:{mixBlendMode:"normal",strokeWidth:1.0795}})))),te.createElement("path",{style:{fill:"#e5e5e5",fillOpacity:1,stroke:"none",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 192.293c0 2.544-9.24 4.605-20.638 4.605-11.398 0-20.638-2.061-20.638-4.605v-30.258c0-2.543 9.24-4.605 20.638-4.605 11.398 0 20.638 2.062 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"#fff",fillOpacity:1,stroke:"none",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 162.035a20.638 4.605 0 0 1-20.638 4.605 20.638 4.605 0 0 1-20.638-4.605 20.638 4.605 0 0 1 20.638-4.605 20.638 4.605 0 0 1 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"none",fillOpacity:.421002,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 162.035c0 2.543-9.24 4.605-20.638 4.605-11.398 0-20.638-2.062-20.638-4.605",transform:"translate(0 3.481)"}),te.createElement("path",{style:{fill:"none",fillOpacity:.421002,stroke:"#3c8f49",strokeWidth:.793752,strokeLinejoin:"round",strokeMiterlimit:8,paintOrder:"markers fill stroke"},d:"M240.291 192.293c0 2.544-9.24 4.605-20.638 4.605-11.398 0-20.638-2.061-20.638-4.605v-30.258c0-2.543 9.24-4.605 20.638-4.605 11.398 0 20.638 2.062 20.638 4.605z",transform:"translate(0 3.481)"}),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:45.4466,display:"inline",strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(287.675 36.466)"},M||(M=te.createElement("tspan",{x:-68.021,y:141.633},"NaaVRE\n")),H||(H=te.createElement("tspan",{x:-68.021,y:148.618},"services\n")),L||(L=te.createElement("tspan",{x:-68.021,y:155.603},"market place"))),te.createElement("path",{style:{fill:"none",fillOpacity:1,stroke:"#3c8f49",strokeWidth:.79375,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},d:"M188.567 139.688c8.827.018-.152 40.957 8.496 40.957",id:"n"}),N||(N=te.createElement("use",{xlinkHref:"#n",transform:"matrix(1 0 0 -1 0 361.291)"})),te.createElement("g",{transform:"translate(63.044 -91.752)"},te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},id:"o",cx:-89.925,cy:247.195,r:3.109}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:268.361,r:3.109}),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:310.695,r:3.109}),j||(j=te.createElement("use",{x:0,y:0,xlinkHref:"#o",id:"q",transform:"translate(161.727)"})),z||(z=te.createElement("use",{x:0,y:0,xlinkHref:"#o",id:"p",transform:"translate(53.909)"})),F||(F=te.createElement("use",{x:0,y:0,xlinkHref:"#p",id:"r",transform:"translate(53.909)"})),te.createElement("circle",{style:{fill:"#3c8f49",fillOpacity:1,stroke:"none",strokeWidth:.793749,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:8,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,paintOrder:"markers fill stroke"},cx:-89.925,cy:289.528,r:3.109}),C||(C=te.createElement("use",{x:0,y:0,xlinkHref:"#p",id:"s",transform:"translate(0 21.167)"})),D||(D=te.createElement("use",{xlinkHref:"#q",transform:"translate(0 21.167)"})),R||(R=te.createElement("use",{xlinkHref:"#r",transform:"translate(0 21.167)"})),I||(I=te.createElement("use",{xlinkHref:"#p",transform:"translate(0 42.333)"})),B||(B=te.createElement("use",{xlinkHref:"#s",transform:"translate(0 42.333)"}))),te.createElement("g",{style:{fill:"#fff",fillOpacity:1}},te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 16.013)"},Z||(Z=te.createElement("tspan",{x:-68.021,y:141.633},"A"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 37.18)"},P||(P=te.createElement("tspan",{x:-68.021,y:141.633},"B"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 58.347)"},T||(T=te.createElement("tspan",{x:-68.021,y:141.633},"C"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(41.14 79.513)"},_||(_=te.createElement("tspan",{x:-68.021,y:141.633},"D"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 16.013)"},K||(K=te.createElement("tspan",{x:-68.021,y:141.633},"E"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 37.18)"},G||(G=te.createElement("tspan",{x:-68.021,y:141.633},"F"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 58.347)"},J||(J=te.createElement("tspan",{x:-68.021,y:141.633},"G"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(95.05 79.513)"},X||(X=te.createElement("tspan",{x:-68.021,y:141.633},"H"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(148.958 16.013)"},Y||(Y=te.createElement("tspan",{x:-68.021,y:141.633},"I"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(148.958 37.18)"},q||(q=te.createElement("tspan",{x:-68.021,y:141.633},"J"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(202.867 16.013)"},U||(U=te.createElement("tspan",{x:-68.021,y:141.633},"K"))),te.createElement("text",{xmlSpace:"preserve",style:{fontStyle:"normal",fontVariant:"normal",fontWeight:400,fontStretch:"normal",fontSize:"6.35px",lineHeight:"110%",fontFamily:"Outfit",InkscapeFontSpecification:"'Outfit, Normal'",fontVariantLigatures:"normal",fontVariantCaps:"normal",fontVariantNumeric:"normal",fontVariantEastAsian:"normal",textAlign:"center",letterSpacing:0,wordSpacing:0,writingMode:"lr-tb",textAnchor:"middle",whiteSpace:"pre",inlineSize:12.3858,display:"inline",fill:"#fff",fillOpacity:1,strokeWidth:.264583},x:-68.021,y:141.633,transform:"translate(202.867 37.18)"},Q||(Q=te.createElement("tspan",{x:-68.021,y:141.633},"L"))))))},ae={sidebar_position:1,title:"About NaaVRE"},ie=void 0,le={id:"about",title:"About NaaVRE",description:"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].",source:"@site/docs/about.mdx",sourceDirName:".",slug:"/about",permalink:"/pr-preview/pr-33/docs/about",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/about.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"About NaaVRE"},sidebar:"tutorialSidebar",next:{title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform",permalink:"/pr-preview/pr-33/docs/readiness_levels/"}},oe={},se=[{value:"Tutorials",id:"tutorials",level:2},{value:"Notebook as a Virtual Research Environment (NaaVRE) Platform",id:"notebook-as-a-virtual-research-environment-naavre-platform",level:2},{value:"Main Features",id:"main-features",level:3},{value:"Collaborative Virtual Labs",id:"collaborative-virtual-labs",level:2},{value:"Main Features",id:"main-features-1",level:3},{value:"Supported Kernels",id:"supported-kernels",level:3}];function ce(e){const t={a:"a",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",ul:"ul",...(0,ee.a)(),...e.components};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(t.p,{children:"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1]."}),"\n",(0,$.jsx)(re,{alt:"NaaVRE conceptual architecture diagram",width:"inherit"}),"\n",(0,$.jsxs)(t.ol,{children:["\n",(0,$.jsxs)(t.li,{children:['Zhao, Zhiming, Spiros Koulouzis, Riccardo Bianchi, Siamak Farshidi, Zeshun Shi, Ruyue Xin, Yuandou Wang et al. "Notebook\u2010as\u2010a\u2010VRE (NaaVRE): From private notebooks to a collaborative cloud virtual research environment." Software: Practice and Experience 52, no. 9 (2022): 1947-1966. ',(0,$.jsx)(t.a,{href:"https://doi.org/10.1002/spe.3098",children:"https://doi.org/10.1002/spe.3098"})]}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"tutorials",children:"Tutorials"}),"\n",(0,$.jsx)(t.p,{children:"This section of the documentation contains step-by-step tutorials that help outline the capabilities of Virtual Research\nEnvironments (VRE) and how you can achieve specific aims. The tutorials are recommended if you do not have much\nexperience with VRE."}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:(0,$.jsx)(t.a,{href:"docs/tutorials",children:"Getting Started"})}),"\n",(0,$.jsx)(t.li,{children:(0,$.jsx)(t.a,{href:"docs/NaaVRE_Interface",children:"The NaaVRE Interface"})}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"notebook-as-a-virtual-research-environment-naavre-platform",children:"Notebook as a Virtual Research Environment (NaaVRE) Platform"}),"\n",(0,$.jsx)(t.p,{children:"The LifeWatch NaaVRE platform is a Platform as a Service (PaaS) that allows users to create Collaborative Virtual Labs with customized runtime libraries, user interfaces, and workflow building blocks, and to conduct research activities in specific domains."}),"\n",(0,$.jsx)(t.h3,{id:"main-features",children:"Main Features"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"A user-friendly interface to the LifeWatch VRE platform"}),"\n",(0,$.jsx)(t.li,{children:"Overview of the running Virtual Labs (VLs)"}),"\n",(0,$.jsx)(t.li,{children:"Overview of executed workflows"}),"\n",(0,$.jsx)(t.li,{children:"Community-based data products catalog"}),"\n",(0,$.jsx)(t.li,{children:"Community-based geographical data products catalog"}),"\n",(0,$.jsxs)(t.li,{children:["Collaboration tools","\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsxs)(t.li,{children:["Video conferencing with ",(0,$.jsx)(t.a,{href:"https://jupyter-videochat.readthedocs.io/en/latest/",children:"jupyter-videochat"})]}),"\n",(0,$.jsxs)(t.li,{children:["Git integration with ",(0,$.jsx)(t.a,{href:"https://pypi.org/project/jupyterlab-git/",children:"jupyterlab-git"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,$.jsx)(t.h2,{id:"collaborative-virtual-labs",children:"Collaborative Virtual Labs"}),"\n",(0,$.jsx)(t.p,{children:"A Collaborative Virtual Lab provides a customized profile, which allows a domain user to create a Virtual Lab instance on the NaaVRE platform. All the Virtual Lab instances of a Collaborative Virtual Lab can share data and workflows. A Virtual Lab is based on a Jupyter environment with specially developed extensions for containerizing Notebook cells, composing and executing workflows, and searching and sharing research objects."}),"\n",(0,$.jsx)(t.h3,{id:"main-features-1",children:"Main Features"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"Containerization of cells"}),"\n",(0,$.jsx)(t.li,{children:"Workflow composition based on containerized cells"}),"\n",(0,$.jsx)(t.li,{children:"Execution of containerized cells on a workflow engine"}),"\n",(0,$.jsx)(t.li,{children:"Search for notebooks"}),"\n"]}),"\n",(0,$.jsx)(t.h3,{id:"supported-kernels",children:"Supported Kernels"}),"\n",(0,$.jsxs)(t.ul,{children:["\n",(0,$.jsx)(t.li,{children:"Python"}),"\n",(0,$.jsx)(t.li,{children:"Rscript"}),"\n"]})]})}function fe(e={}){const{wrapper:t}={...(0,ee.a)(),...e.components};return t?(0,$.jsx)(t,{...e,children:(0,$.jsx)(ce,{...e})}):ce(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>l});var r=n(7294);const a={},i=r.createContext(a);function l(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/38b43935.207650d3.js b/pr-preview/pr-33/assets/js/38b43935.207650d3.js new file mode 100644 index 0000000..a83656d --- /dev/null +++ b/pr-preview/pr-33/assets/js/38b43935.207650d3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[273],{7842:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var n=t(5893),o=t(1151);const r={sidebar_position:1,title:"RAVRE documentation"},a=void 0,s={id:"readiness_levels/RAVRE/documentation",title:"RAVRE documentation",description:"This page provides detailed documentation for RAVRE. A higher level overview of the RAVRE virtual lab is available on the lab overview page.",source:"@site/docs/readiness_levels/RAVRE/documentation.md",sourceDirName:"readiness_levels/RAVRE",slug:"/readiness_levels/RAVRE/documentation",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/RAVRE/documentation.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"RAVRE documentation"},sidebar:"tutorialSidebar",previous:{title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/"},next:{title:"User manual",permalink:"/pr-preview/pr-33/docs/readiness_levels/user_manual"}},l={},c=[{value:"Viewpoints",id:"viewpoints",level:3},{value:"Mathematical description",id:"mathematical-description",level:4},{value:"Computational description",id:"computational-description",level:4},{value:"Engineering implementation / Architecture",id:"engineering-implementation--architecture",level:4}];function d(e){const i={a:"a",em:"em",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(i.p,{children:["This page provides detailed documentation for RAVRE. A higher level overview of the RAVRE virtual lab is available on ",(0,n.jsx)(i.a,{href:"..",children:"the lab overview page"}),"."]}),"\n",(0,n.jsx)(i.h3,{id:"viewpoints",children:"Viewpoints"}),"\n",(0,n.jsx)(i.h4,{id:"mathematical-description",children:"Mathematical description"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.em,{children:"ToDo: A mathematical description of the workflow."})}),"\n",(0,n.jsx)(i.h4,{id:"computational-description",children:"Computational description"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.em,{children:"ToDo: How is the algorithm converted into computational methods?"})}),"\n",(0,n.jsx)(i.h4,{id:"engineering-implementation--architecture",children:"Engineering implementation / Architecture"}),"\n",(0,n.jsx)(i.p,{children:"The following processes take place in the RAVRE data processing pipeline:"}),"\n",(0,n.jsxs)(i.ol,{children:["\n",(0,n.jsxs)(i.li,{children:["Notebook cell ",(0,n.jsx)(i.em,{children:"Download-KNMI"})," requests data from the KNMI open data platform."]}),"\n",(0,n.jsx)(i.li,{children:"KNNI data is returned to NaaVRE and locally stored."}),"\n",(0,n.jsxs)(i.li,{children:["Notebook cell ",(0,n.jsx)(i.em,{children:"KNMI-to-odim-converter"})," retrieves the local data, pre-processes it, and stores it in a Minio object store."]}),"\n",(0,n.jsxs)(i.li,{children:["Notebook cell ",(0,n.jsx)(i.em,{children:"PVOL-VP-converter"})," retrieves the pre-processed data and sends it to the vol2bird using the command-line interface."]}),"\n",(0,n.jsxs)(i.li,{children:["The vol2bird algorithm returns vertical profiles of biological scatters to ",(0,n.jsx)(i.em,{children:"PVOL-VP-converter"}),"."]}),"\n",(0,n.jsxs)(i.li,{children:["Notebook cell ",(0,n.jsx)(i.em,{children:"PVOL-VP-converter"})," stores the vertical profiles in Minio object store."]}),"\n"]}),"\n",(0,n.jsx)(i.p,{children:"Current development: New cells are available to visualize the vertical profiles."}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.img,{alt:" images/RAVRE_sequence_diagram.drawio.png not found",src:t(9105).Z+"",width:"791",height:"322"})})]})}function p(e={}){const{wrapper:i}={...(0,o.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},9105:(e,i,t)=>{t.d(i,{Z:()=>n});const n=t.p+"assets/images/RAVRE_sequence_diagram.drawio-4a34b6ca8e0a8d5e143d1bdeae4eea6a.png"},1151:(e,i,t)=>{t.d(i,{Z:()=>s,a:()=>a});var n=t(7294);const o={},r=n.createContext(o);function a(e){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function s(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/3d901806.1f055279.js b/pr-preview/pr-33/assets/js/3d901806.1f055279.js new file mode 100644 index 0000000..e03c04f --- /dev/null +++ b/pr-preview/pr-33/assets/js/3d901806.1f055279.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[436],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/4d655930.2690e790.js b/pr-preview/pr-33/assets/js/4d655930.2690e790.js new file mode 100644 index 0000000..718540f --- /dev/null +++ b/pr-preview/pr-33/assets/js/4d655930.2690e790.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[895],{6999:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>h});var t=i(5893),n=i(1151),a=i(2457);const r={sidebar_position:1,title:"L2 - Validation phase"},o=void 0,l={id:"readiness_levels/L2_validation_phase",title:"L2 - Validation phase",description:"Start situation",source:"@site/docs/readiness_levels/L2_validation_phase.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L2_validation_phase",permalink:"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L2_validation_phase.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L2 - Validation phase"},sidebar:"tutorialSidebar",previous:{title:"L1 - Co-development",permalink:"/pr-preview/pr-33/docs/readiness_levels/L1_co-development"},next:{title:"L3 - Workshop use",permalink:"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use"}},d={},h=[{value:"Start situation",id:"start-situation",level:3},{value:"During the validation phase",id:"during-the-validation-phase",level:3},{value:"Validation phase milestones",id:"validation-phase-milestones",level:3},{value:"Validation phase responsibilities",id:"validation-phase-responsibilities",level:3},{value:"Exit condition",id:"exit-condition",level:3}];function c(e){const s={a:"a",h3:"h3",input:"input",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return a||p("Responsibilities",!1),a.L2CommunitySupporter||p("Responsibilities.L2CommunitySupporter",!0),a.L2Coordinator||p("Responsibilities.L2Coordinator",!0),a.L2CoreDeveloper||p("Responsibilities.L2CoreDeveloper",!0),a.L2DevOps||p("Responsibilities.L2DevOps",!0),a.L2GoldenUser||p("Responsibilities.L2GoldenUser",!0),a.L2InfrastructureSupporter||p("Responsibilities.L2InfrastructureSupporter",!0),a.L2Trainer||p("Responsibilities.L2Trainer",!0),a.L2VREResearcher||p("Responsibilities.L2VREResearcher",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,t.jsx)(s.p,{children:"At the start of the validation phase, the virtual lab has the required components and the workflow has been developed and tested.\nAdditionally the scientific (golden) user has made the data sets ready for the experiments."}),"\n",(0,t.jsx)(s.h3,{id:"during-the-validation-phase",children:"During the validation phase"}),"\n",(0,t.jsx)(s.p,{children:"The golden user will conduct experiments in the virtual lab in this phase.\nThe following should also be done phase:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Data","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Make data fair."}),"\n",(0,t.jsx)(s.li,{children:"Follow the community standards of the relevant domains for reading, writing and exchanging data."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Metadata","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Complete all metadata fields."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Scenarios","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Make sure and describe how the virtual lab can be used on different scenarios, i.e. other datasets and with other parameters."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Versioning","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Add a version number to the virtual lab so users can refer to this number when they are reporting reproducibility or bug issues."}),"\n",(0,t.jsxs)(s.li,{children:["Give each containerized cell and executed workflow a persistent identifier and version number.\nFeature is currently under development. For progress, see ",(0,t.jsx)(s.a,{href:"https://github.com/QCDIS/projects_overview/issues/280",children:"#280"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Documentation","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Create a ",(0,t.jsx)(s.a,{href:"../user_manual",children:"user manual"})," for the virtual lab."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Workflow","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Check the duration of computation, memory usage, and power usage of the containers."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Codebase","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Add unit tests to verify the behavior of used methods and libraries."}),"\n",(0,t.jsx)(s.li,{children:"Define clear responsibilities of all notebook cells, methods and classes."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"validation-phase-milestones",children:"Validation phase milestones"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"The submission for publication of a paper in the ecosystem domain presenting the scenarios run in the virtual lab."}),"\n",(0,t.jsx)(s.li,{children:"The lab becoming publicly available."}),"\n",(0,t.jsx)(s.li,{children:"Potentially, besides a domain paper, the submission for publication of a technical paper focusing on the infrastructure part of the virtual research environment."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"validation-phase-responsibilities",children:"Validation phase responsibilities"}),"\n",(0,t.jsx)(s.p,{children:"The following roles should be assigned during the validation phase:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Golden users: ",(0,t.jsx)(a.L2GoldenUser,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Virtual lab core developers: ",(0,t.jsx)(a.L2CoreDeveloper,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Community supporter: ",(0,t.jsx)(a.L2CommunitySupporter,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Virtual lab trainer: ",(0,t.jsx)(a.L2Trainer,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Infrastructure supporter: ",(0,t.jsx)(a.L2InfrastructureSupporter,{})]}),"\n",(0,t.jsxs)(s.li,{children:["VRE researcher: ",(0,t.jsx)(a.L2VREResearcher,{})]}),"\n",(0,t.jsxs)(s.li,{children:["Virtual lab coordinator: ",(0,t.jsx)(a.L2Coordinator,{})]}),"\n",(0,t.jsxs)(s.li,{children:["VRE DevOps engineer: ",(0,t.jsx)(a.L2DevOps,{})]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"exit-condition",children:"Exit condition"}),"\n",(0,t.jsx)(s.p,{children:"The virtual lab transitions to workshop use, once validation of the lab by doing scientific experiments has been done and a scientific paper is ready for publication."}),"\n",(0,t.jsx)(s.p,{children:"It is important to find out who would be potential silver users of the virtual lab. In case no match between the virtual lab\nand potential silver users can be found, the virtual lab should be archived."}),"\n",(0,t.jsx)(s.p,{children:"To advance to workshop use, all of the following boxes should be checked, in addition to the criteria for the initial proposal, and co-development:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["User community","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Other potential users have been identified."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Data","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","All input data of the lab is FAIR."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Metadata","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","All the fields of the metadata standard are present."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Scenarios","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","The virtual lab can be used in multiple scenarios, i.e. both the parameters and datasets can be changed to suit experiments of different researchers."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Documentation","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","There is a ",(0,t.jsx)(s.a,{href:"../user_manual",children:"user manual"})," and at least one domain scientist who was not involved in the development of the virtual lab has reviewed the user manual.\nThe coding experience of the reviewer of the user manual is similar to the coding experience of the intended user."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","How to use the virtual lab on a different scenario is explained."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Codebase","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," Unit tests verify the behavior of used methods and libraries. There should be a testing guideline, which will be done in this issue ",(0,t.jsx)(s.a,{href:"https://github.com/QCDIS/projects_overview/issues/274",children:"#274"}),"."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The virtual lab reads, writes and exchanges data in a way that meets domain-relevant community standards. Recommendations for what standards to use are under investigation, see github issue ",(0,t.jsx)(s.a,{href:"https://github.com/QCDIS/projects_overview/issues/281",children:"#281"}),"."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The code within cells is easily human-readable and others can easily modify it. If methods have side effects, this is clear to the user."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The input and output of each cell is clear. It is both clear what the structure is (e.g. what data type is used) and what the data content is from a domain perspective."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Workflow","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The duration of computation, memory usage, and power usage of the containers is acceptable. As there is currently no dashboard to monitor resource usage, contact the VLIC team for guidelines."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Deployment","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," ","The virtual lab is publicly available."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Infrastructure","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The infrastructure requirements for the workshop are known and the necessary infrastructure has been provided:","\n",(0,t.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The number of people taking part in a workshop."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The random access memory and permanent storage usage of the virtual lab are known."]}),"\n",(0,t.jsxs)(s.li,{className:"task-list-item",children:[(0,t.jsx)(s.input,{type:"checkbox",disabled:!0})," "," The amount of processors the virtual lab uses is known."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}function p(e,s){throw new Error("Expected "+(s?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,s,i)=>{i.r(s),i.d(s,{L0CommunitySupporter:()=>t,L0Coordinator:()=>p,L0DevOps:()=>f,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>m,L1CoreDeveloper:()=>w,L1DevOps:()=>j,L1GoldenUser:()=>d,L1InfrastructureSupporter:()=>N,L1Reviewer:()=>C,L2CommunitySupporter:()=>a,L2Coordinator:()=>v,L2CoreDeveloper:()=>k,L2DevOps:()=>g,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>S,L2Trainer:()=>R,L2VREResearcher:()=>V,L3CommunitySupporter:()=>r,L3Coordinator:()=>b,L3CoreDeveloper:()=>y,L3GoldenUser:()=>c,L3InfrastructureSupporter:()=>_,L3SteeringBoard:()=>E,L3Trainer:()=>T,L3UserSupporter:()=>U,L4CommunitySupporter:()=>o,L4Coordinator:()=>x,L4CoreDeveloper:()=>L,L4GoldenUser:()=>u,L4InfrastructureSupporter:()=>D,L4SteeringBoard:()=>I,L4UserSupporter:()=>A});const t=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",a=()=>"Finds potential silver users to take part in the trainings in the next phase.",r=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",d=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",c=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",u=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",m=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",v=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",x=()=>"Ensures the VRE keeps supporting the virtual lab.",f=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",j=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",g=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",k=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",y=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",L=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",N=()=>"Advises and provides the infrastructure for the virtual lab.",S=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",_=()=>"Ensures the infrastructure can support the training sessions.",D=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",T=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",V=()=>"Potentially publishes a technical paper in addition to the domain paper.",E=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",I=()=>"Coordinates the further development of the virtual lab with a scientific vision.",U=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",A=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,s,i)=>{i.d(s,{Z:()=>o,a:()=>r});var t=i(7294);const n={},a=t.createContext(n);function r(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/5aab0ac5.c9c1dea3.js b/pr-preview/pr-33/assets/js/5aab0ac5.c9c1dea3.js new file mode 100644 index 0000000..0ad21c5 --- /dev/null +++ b/pr-preview/pr-33/assets/js/5aab0ac5.c9c1dea3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[98],{2018:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var i=s(5893),n=s(1151),r=s(2457);const a={sidebar_position:1,title:"L1 - Co-development"},o=void 0,l={id:"readiness_levels/L1_co-development",title:"L1 - Co-development",description:"Start situation",source:"@site/docs/readiness_levels/L1_co-development.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L1_co-development",permalink:"/pr-preview/pr-33/docs/readiness_levels/L1_co-development",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L1_co-development.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L1 - Co-development"},sidebar:"tutorialSidebar",previous:{title:"L0 - initial proposal",permalink:"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal"},next:{title:"L2 - Validation phase",permalink:"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase"}},c={},d=[{value:"Start situation",id:"start-situation",level:3},{value:"During the co-development phase",id:"during-the-co-development-phase",level:3},{value:"Co-development responsibilities",id:"co-development-responsibilities",level:3},{value:"Co-development milestones",id:"co-development-milestones",level:3},{value:"Exit conditions",id:"exit-conditions",level:3}];function h(e){const t={a:"a",h3:"h3",input:"input",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return r||p("Responsibilities",!1),r.L1CommunitySupporter||p("Responsibilities.L1CommunitySupporter",!0),r.L1Coordinator||p("Responsibilities.L1Coordinator",!0),r.L1CoreDeveloper||p("Responsibilities.L1CoreDeveloper",!0),r.L1DevOps||p("Responsibilities.L1DevOps",!0),r.L1GoldenUser||p("Responsibilities.L1GoldenUser",!0),r.L1InfrastructureSupporter||p("Responsibilities.L1InfrastructureSupporter",!0),r.L1Reviewer||p("Responsibilities.L1Reviewer",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,i.jsx)(t.p,{children:"Co-development of the new virtual lab can be started when a basic virtual lab has been provisioned with the customized libraries\nand configurations required by the development plan and a development team is ready to work on the subject."}),"\n",(0,i.jsx)(t.h3,{id:"during-the-co-development-phase",children:"During the co-development phase"}),"\n",(0,i.jsx)(t.p,{children:"The development team preferably follows Agile practices to implement the components and workflows based on the development plan."}),"\n",(0,i.jsx)(t.p,{children:"Where possible, the following should be done while building the virtual lab:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Documentation","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Publish virtual lab metadata outside the virtual lab. This will allow others to be aware of the context of the virtual lab from an early stage.","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Track the metadata with version control, such that the changes to metadata can be viewed by virtual lab users."}),"\n",(0,i.jsxs)(t.li,{children:["Currently, we are choosing a default metadata catalogue. For progress, see issue ",(0,i.jsx)(t.a,{href:"https://github.com/QCDIS/projects_overview/issues/275",children:"#275"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Create a directory for documentation of the virtual lab.","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Track the documentation with version control."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.li,{children:"Start each cell in a notebook with a title."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Security","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Make sure personal tokens for APIs do not end up in version control. ToDo VLIC: Guideline for secret management ",(0,i.jsx)(t.a,{href:"https://github.com/QCDIS/projects_overview/issues/276",children:"#276"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Versioning","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Pin versions of used software and libraries in the dependencies to prevent compatibility problems when updates occur to the packages and software."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Data","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Prepare the data for scientific experiments."}),"\n",(0,i.jsx)(t.li,{children:"Store data that is only read by the virtual lab in an external catalogue and use an API to access this data."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Parallelization","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Parallelize the execution of the parts of the code where this is useful. A tutorial is available ",(0,i.jsx)(t.a,{href:"https://github.com/QCDIS/lifewatch-notebooks/blob/main/NaaVRE-tutorials/splitting-classic.ipynb",children:"here"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Workflow","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Prepare and perform a demonstration of the virtual lab to inform the community supporter of the possibilities in the virtual lab."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"co-development-responsibilities",children:"Co-development responsibilities"}),"\n",(0,i.jsx)(t.p,{children:"The following roles should be assigned during co-development:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Golden users: ",(0,i.jsx)(r.L1GoldenUser,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual lab core developers: ",(0,i.jsx)(r.L1CoreDeveloper,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual lab code reviewer: ",(0,i.jsx)(r.L1Reviewer,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Community supporter: ",(0,i.jsx)(r.L1CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Infrastructure supporter: ",(0,i.jsx)(r.L1InfrastructureSupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual lab coordinator: ",(0,i.jsx)(r.L1Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual research environment (VRE) development and operations (DevOps) engineers: ",(0,i.jsx)(r.L1DevOps,{})]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"co-development-milestones",children:"Co-development milestones"}),"\n",(0,i.jsx)(t.p,{children:"Two milestones should be reached during co-development:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"The publication of the metadata."}),"\n",(0,i.jsx)(t.li,{children:"A demonstration of a running the workflow in the virtual lab."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"exit-conditions",children:"Exit conditions"}),"\n",(0,i.jsx)(t.p,{children:"The lab transitions from co-development to the validation phase, when the technical development has been finished and\nthe lab is ready to conduct the scientific experiments on the required scale.\nFor this, at least the following criteria should be checked:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Documentation","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The virtual lab metadata is available outside the virtual lab.","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Metadata is tracked by version control."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Security","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Personal tokens are not tracked by version control."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Versioning","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Versions of used software and libraries are pinned."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Data","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The data is ready for scientific experiments."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Data that is only read by the virtual lab is stored in an external catalogue."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Codebase","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The code executes without errors: The code can be executed without errors.\nCurrently, you can verify this by manually executing all cells in the notebook on a machine on which the code was not developed (to ensure no references are made to local resources)."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The responsibility of each cell in the notebook is clear and can be described in a single sentence."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The coding style is consistent and follows a style guide e.g. For Python ",(0,i.jsx)(t.a,{href:"https://peps.python.org/pep-0008/",children:"PEP 8"}),"."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Parallel processing is applied where suitable."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","There are clear errors when expected files and objects are not found."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","External code use, such as command-line interface tools, are clearly labeled."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Containerization","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The notebook cells can be containerized."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Workflow execution","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The containerized cells can run without any modifications."]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","It is possible to give a demonstration of the virtual lab."]}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}function p(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,s)=>{s.r(t),s.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>p,L0DevOps:()=>f,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>m,L1CoreDeveloper:()=>w,L1DevOps:()=>j,L1GoldenUser:()=>c,L1InfrastructureSupporter:()=>S,L1Reviewer:()=>C,L2CommunitySupporter:()=>r,L2Coordinator:()=>v,L2CoreDeveloper:()=>y,L2DevOps:()=>g,L2GoldenUser:()=>d,L2InfrastructureSupporter:()=>D,L2Trainer:()=>R,L2VREResearcher:()=>P,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>k,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>N,L3SteeringBoard:()=>E,L3Trainer:()=>T,L3UserSupporter:()=>V,L4CommunitySupporter:()=>o,L4Coordinator:()=>x,L4CoreDeveloper:()=>L,L4GoldenUser:()=>u,L4InfrastructureSupporter:()=>_,L4SteeringBoard:()=>I,L4UserSupporter:()=>G});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",r=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",c=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",d=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",u=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",m=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",v=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",x=()=>"Ensures the VRE keeps supporting the virtual lab.",f=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",j=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",g=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",k=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",L=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",S=()=>"Advises and provides the infrastructure for the virtual lab.",D=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",N=()=>"Ensures the infrastructure can support the training sessions.",_=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",T=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",E=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",I=()=>"Coordinates the further development of the virtual lab with a scientific vision.",V=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",G=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,s)=>{s.d(t,{Z:()=>o,a:()=>a});var i=s(7294);const n={},r=i.createContext(n);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/5e95c892.873fd505.js b/pr-preview/pr-33/assets/js/5e95c892.873fd505.js new file mode 100644 index 0000000..7a8eea4 --- /dev/null +++ b/pr-preview/pr-33/assets/js/5e95c892.873fd505.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[661],{1892:(e,s,r)=>{r.r(s),r.d(s,{default:()=>l});r(7294);var a=r(512),n=r(1944),t=r(5281),u=r(8790),c=r(6040),i=r(5893);function l(e){return(0,i.jsx)(n.FG,{className:(0,a.Z)(t.k.wrapper.docsPages),children:(0,i.jsx)(c.Z,{children:(0,u.H)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/667ea6e9.799d3bec.js b/pr-preview/pr-33/assets/js/667ea6e9.799d3bec.js new file mode 100644 index 0000000..f3d1905 --- /dev/null +++ b/pr-preview/pr-33/assets/js/667ea6e9.799d3bec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[132],{9188:(e,i,a)=>{a.r(i),a.d(i,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var t=a(5893),r=a(1151);const n={sidebar_position:1,title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers."},s=void 0,o={id:"readiness_levels/RAVRE/index",title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.",description:"Introduction: The airspace is becoming increasingly crowded. High-rises, wind farms and airports all contribute to conflict with aerial organisms. Information about the movements of organisms in the air is required to identify stop-over sites, migratory routes, and patterns. This can inform mitigation of conflicts by, for example, wind-turbine curtailments or early warning systems for aviation. Weather radars, that continuously monitor the sky across continents, can be used to study movements of birds, bats, and insects. However, for continental scale analysis, large volumes of data are required to be processed and analyzed, which often rely on institute-specific tools and computational resources. This severely hampers collaborative efforts because of the initial investment of time and resources to gain access to existing computing infrastructure. Here we show a Radar Aeroecology Virtual Research Environment (RAVRE) which uses the Lifewatch ERIC infrastructure to facilitate collaboration and re-use of infrastructure and tools. By providing RAVRE, we aim to facilitate collaboration between ornithological institutes.",source:"@site/docs/readiness_levels/RAVRE/index.md",sourceDirName:"readiness_levels/RAVRE",slug:"/readiness_levels/RAVRE/",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/RAVRE/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers."},sidebar:"tutorialSidebar",previous:{title:"L4 - Operational service",permalink:"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service"},next:{title:"RAVRE documentation",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation"}},l={},c=[{value:"Conceptual description",id:"conceptual-description",level:3},{value:"Keywords",id:"keywords",level:3},{value:"Features",id:"features",level:3},{value:"NaaVRE virtual lab",id:"naavre-virtual-lab",level:3},{value:"Publication(s)",id:"publications",level:3},{value:"Related projects",id:"related-projects",level:3},{value:"Possible applications",id:"possible-applications",level:3},{value:"Recommended prior knowledge",id:"recommended-prior-knowledge",level:3},{value:"Documentation",id:"documentation",level:3},{value:"Point of contact",id:"point-of-contact",level:3},{value:"Standards",id:"standards",level:3}];function d(e){const i={a:"a",br:"br",em:"em",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"Introduction:"})," The airspace is becoming increasingly crowded. High-rises, wind farms and airports all contribute to conflict with aerial organisms. Information about the movements of organisms in the air is required to identify stop-over sites, migratory routes, and patterns. This can inform mitigation of conflicts by, for example, wind-turbine curtailments or early warning systems for aviation. Weather radars, that continuously monitor the sky across continents, can be used to study movements of birds, bats, and insects. However, for continental scale analysis, large volumes of data are required to be processed and analyzed, which often rely on institute-specific tools and computational resources. This severely hampers collaborative efforts because of the initial investment of time and resources to gain access to existing computing infrastructure. Here we show a Radar Aeroecology Virtual Research Environment (RAVRE) which uses the Lifewatch ERIC infrastructure to facilitate collaboration and re-use of infrastructure and tools. By providing RAVRE, we aim to facilitate collaboration between ornithological institutes."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"Readiness level:"})," L1 - co-development"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:" images/RAVRE_overview_image.drawio.png not found",src:a(803).Z+"",width:"1550",height:"470"})}),"\n",(0,t.jsx)(i.h3,{id:"conceptual-description",children:"Conceptual description"}),"\n",(0,t.jsx)(i.p,{children:"This virtual lab (VL) allows users to easily obtain biological scatters from radar data.\nThe lab reduces the initial investment of acquiring access and expertise to computational resources and provide immediate access to tools built by domain experts. These tools are then run in the cloud leveraging the performance and flexibility of cloud computing.\nThe VL is shipped with the data management plan used by the University of Amsterdam's Animal Movement Ecology group (UvA IBED-TCE AME) to provide an out of the box solution for managing large datasets.\nRAVRE is currently capable of accessing, processing, managing and visualizing data from the Royal Netherlands Meteorological Institute's (RNMI) open Radar Data repository. The VL has multi-language support, and has well known libraries such as bioRad in R and xradar in Python installed. Furthermore, it uses vol2bird for processing biological echoes found in Polar Volume files to Vertical Profiles."}),"\n",(0,t.jsx)(i.h3,{id:"keywords",children:"Keywords"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Aerial animal movement"}),"\n",(0,t.jsx)(i.li,{children:"Biological scatter"}),"\n",(0,t.jsx)(i.li,{children:"Bird migration"}),"\n",(0,t.jsx)(i.li,{children:"Radar ontology"}),"\n",(0,t.jsx)(i.li,{children:"Weather radar"}),"\n",(0,t.jsx)(i.li,{children:"Altitude profile"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"features",children:"Features"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Vol2bird algorithm"}),"\n",(0,t.jsx)(i.li,{children:"Mapping to Vol2bird input format"}),"\n",(0,t.jsx)(i.li,{children:"Easy KNMI data retrieval"}),"\n",(0,t.jsx)(i.li,{children:"Biological scatterers visualization"}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"License:"})," Apache-2.0"]}),"\n",(0,t.jsx)(i.h3,{id:"naavre-virtual-lab",children:"NaaVRE virtual lab"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.a,{href:"https://naavre.lifewatch.dev/vreapp/vlabs/vol2bird",children:"Click to open RAVRE in NaaVRE"})}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"Related virtual labs:"})," None"]}),"\n",(0,t.jsx)(i.h3,{id:"publications",children:"Publication(s)"}),"\n",(0,t.jsxs)(i.p,{children:["Dokter AM, Liechti F, Stark H, Delobbe L, Tabary P, Holleman I, J. R. Soc.",(0,t.jsx)(i.br,{}),"\n",(0,t.jsx)(i.strong,{children:"Bird migration flight altitudes studied by a network of operational weather radars"}),(0,t.jsx)(i.br,{}),"\n","Interface, 8, 30\u201343, 2011, ",(0,t.jsx)(i.a,{href:"https://doi.org/10.1098/rsif.2010.0116",children:"DOI 10.1098/rsif.2010.0116"})]}),"\n",(0,t.jsx)(i.h3,{id:"related-projects",children:"Related projects"}),"\n",(0,t.jsxs)(i.p,{children:["This virtual lab uses the vol2bird algorithm, which can be found on ",(0,t.jsx)(i.a,{href:"https://github.com/adokter/vol2bird",children:"github"}),"."]}),"\n",(0,t.jsx)(i.h3,{id:"possible-applications",children:"Possible applications"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Select a date range to create a vertical profiles of biological scatters."}),"\n",(0,t.jsx)(i.li,{children:"Write your own pre-processor to map weather radar data from sources other than KNMI to a format readable by vol2bird."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"recommended-prior-knowledge",children:"Recommended prior knowledge"}),"\n",(0,t.jsxs)(i.p,{children:["Picking custom dates to study biological scatters using KNMI weather radar data is possible by only setting parameters.",(0,t.jsx)(i.br,{}),"\n","Preprocessing other weather radar data to the vol2bird input format requires some experience in handling APIs and data in Python."]}),"\n",(0,t.jsx)(i.h3,{id:"documentation",children:"Documentation"}),"\n",(0,t.jsxs)(i.p,{children:["See ",(0,t.jsx)(i.a,{href:"documentation",children:"the documentation page"}),". Additionally, a user guide and tutorial is available in ",(0,t.jsx)(i.a,{href:"https://naavre.lifewatch.dev/vreapp/vlabs/vol2bird",children:"the virtual lab"}),"."]}),"\n",(0,t.jsx)(i.h3,{id:"point-of-contact",children:"Point of contact"}),"\n",(0,t.jsxs)(i.p,{children:["Berend-Christiaan Wijers",(0,t.jsx)(i.br,{}),"\n","IBED - University of Amsterdam",(0,t.jsx)(i.br,{}),"\n","Email: ",(0,t.jsx)(i.a,{href:"mailto:B.C.Wijers@uva.nl",children:"B.C.Wijers@uva.nl"})]}),"\n",(0,t.jsx)(i.h3,{id:"standards",children:"Standards"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.em,{children:"ToDo: description of the standards used for data exchange with application programming interfaces and databases."})})]})}function h(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},803:(e,i,a)=>{a.d(i,{Z:()=>t});const t=a.p+"assets/images/RAVRE_overview_image.drawio-7ac7d3ef8815412e82d21dcfd1ce9303.png"},1151:(e,i,a)=>{a.d(i,{Z:()=>o,a:()=>s});var t=a(7294);const r={},n=t.createContext(r);function s(e){const i=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/6f3e0bc7.eff265d4.js b/pr-preview/pr-33/assets/js/6f3e0bc7.eff265d4.js new file mode 100644 index 0000000..b78ee56 --- /dev/null +++ b/pr-preview/pr-33/assets/js/6f3e0bc7.eff265d4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[167],{7326:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>l});var A=t(5893),i=t(1151);const a={sidebar_position:3},s="The NaaVRE Interface",o={id:"NaaVRE_Interface/index",title:"The NaaVRE Interface",description:"The Notebook as a Virtual Research Environment (NaaVRE) is a set of tools to allow users to containerize cells, compose",source:"@site/docs/NaaVRE_Interface/index.md",sourceDirName:"NaaVRE_Interface",slug:"/NaaVRE_Interface/",permalink:"/pr-preview/pr-33/docs/NaaVRE_Interface/",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/NaaVRE_Interface/index.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Getting Started with NaaVRE tutorial",permalink:"/pr-preview/pr-33/docs/tutorials/"}},r={},l=[{value:"Component Containerizer",id:"component-containerizer",level:2},{value:"Special Variables",id:"special-variables",level:3},{value:"Overriding definition of cell inputs and outputs",id:"overriding-definition-of-cell-inputs-and-outputs",level:3},{value:"Containerizing R cells",id:"containerizing-r-cells",level:3},{value:"Experiment Manager",id:"experiment-manager",level:2},{value:"Special Components",id:"special-components",level:3},{value:"Cells Catalog",id:"cells-catalog",level:3},{value:"Re-containerizing cells used in a workflow",id:"re-containerizing-cells-used-in-a-workflow",level:3},{value:"Managing files in workflows",id:"managing-files-in-workflows",level:3},{value:"Notebook Search",id:"notebook-search",level:2},{value:"Jupyterlab-git",id:"jupyterlab-git",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(n.h1,{id:"the-naavre-interface",children:"The NaaVRE Interface"}),"\n",(0,A.jsx)(n.p,{children:"The Notebook as a Virtual Research Environment (NaaVRE) is a set of tools to allow users to containerize cells, compose\nworkflows and execute them on a workflow engine."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"NaaVRE_interface",src:t(6602).Z+"",width:"951",height:"668"})}),"\n",(0,A.jsx)(n.h2,{id:"component-containerizer",children:"Component Containerizer"}),"\n",(0,A.jsxs)(n.p,{children:[(0,A.jsx)(n.img,{alt:"Component Containerizer",src:t(4954).Z+"",width:"648",height:"659"}),"\nThe 'Cell Preview' panel shows a preview of the cell that is currently selected including its name, inputs and outputs.\nUnder the 'Cell Preview' panel there a list of the inputs and outputs of the cell and their types. The types are needed\nto be filled in by the user when containerizing a cell. Currently, the supported types are:"]}),"\n",(0,A.jsxs)(n.ul,{children:["\n",(0,A.jsx)(n.li,{children:"String"}),"\n",(0,A.jsx)(n.li,{children:"Integer"}),"\n",(0,A.jsx)(n.li,{children:"Float"}),"\n",(0,A.jsx)(n.li,{children:"List"}),"\n"]}),"\n",(0,A.jsx)(n.p,{children:"Under the 'Inputs' and 'Outputs' there is the 'Base Image' selection. This is the base image that will be used to build\nthe container. The default base image is 'miniconda3'. The user can select a different base image from the drop down."}),"\n",(0,A.jsx)(n.h3,{id:"special-variables",children:"Special Variables"}),"\n",(0,A.jsx)(n.p,{children:"Special variables can be used in the cell code. Their name should contain one of the following prefixes:"}),"\n",(0,A.jsxs)(n.ul,{children:["\n",(0,A.jsxs)(n.li,{children:["\n",(0,A.jsxs)(n.p,{children:[(0,A.jsx)(n.code,{children:"param_"}),": these variables are used to pass input parameters to a cell. They should be used to allow users to set their own values when running a workflow. When containerizing the cell, a default value is extracted from the code and saved to the catalogue. When running a workflow that contains the cell, users use the default value or set a custom one. The value is then passed to the cell during execution."]}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.a,{href:"https://github.com/QCDIS/vre_documetation/assets/9680609/fea3d96b-97d3-43cd-b009-b5bd4537de5a",children:"Param_example.webm"})}),"\n"]}),"\n",(0,A.jsxs)(n.li,{children:["\n",(0,A.jsxs)(n.p,{children:[(0,A.jsx)(n.code,{children:"secret_"}),": these variables are used to pass secret parameters to a cell. They should be used for credentials such as passwords or API keys. They are similar to ",(0,A.jsx)(n.code,{children:"param_"})," variables, but no default value is saved to the catalogue, and values are handled in a secure way when executing the workflow."]}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Component Containerizer secrets",src:t(3151).Z+"",width:"898",height:"894"})}),"\n"]}),"\n",(0,A.jsxs)(n.li,{children:["\n",(0,A.jsxs)(n.p,{children:[(0,A.jsx)(n.code,{children:"conf_"}),": these variables are used to pass configuration parameters to all cells. They are visible by all cells of the notebook. They can be thought of as 'global' variables therefore, they do not require to set their type like other variables. Their value is set when containerizing the cell, and cannot be updated when running the workflow."]}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.a,{href:"https://github.com/QCDIS/vre_documetation/assets/9680609/f7020f7f-69d9-4916-bb56-83ed64cb98a8",children:"Conf_example.webm"})}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Component Containerizer",src:t(4594).Z+"",width:"859",height:"611"})}),"\n"]}),"\n"]}),"\n",(0,A.jsxs)(n.p,{children:["Notice in the image above that the ",(0,A.jsx)(n.code,{children:"conf_b"})," variable is declared in the first cell and used in the second and third cell.\nHowever, the ",(0,A.jsx)(n.code,{children:"conf_b"})," is not showing up as input in the second and third cell."]}),"\n",(0,A.jsx)(n.h3,{id:"overriding-definition-of-cell-inputs-and-outputs",children:"Overriding definition of cell inputs and outputs"}),"\n",(0,A.jsx)(n.admonition,{type:"warning",children:(0,A.jsx)(n.p,{children:"This feature can result in broken containerized cells. Use it with caution."})}),"\n",(0,A.jsx)(n.p,{children:"In normal circumstances, the component containerizer automatically determines the cell variables (inputs, outputs,\nparams, confs) and dependencies by analyzing the source code."}),"\n",(0,A.jsxs)(n.p,{children:["This can be overridden by adding a special comment to the cell. The comment contains a YAML document, beginning with\n",(0,A.jsx)(n.code,{children:"---"})," and ending with ",(0,A.jsx)(n.code,{children:"..."}),"."]}),"\n",(0,A.jsx)(n.p,{children:"Example:"}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{children:'# My cell name\n# ---\n# NaaVRE:\n# cell:\n# inputs:\n# - my_input: String\n# - my_other_input: Integer\n# outputs:\n# - my_output: List\n# - my_other_output: List\n# params:\n# - param_something:\n# type: String\n# default_value: "my default value"\n# confs:\n# - conf_something_else:\n# assignation: "conf_something_else = \'my other value\'"\n# dependencies:\n# - name: yaml\n# - name: numpy\n# asname: np\n# - name: signal\n# module: scipy\n# ...\n\n(my cell code)\n'})}),"\n",(0,A.jsxs)(n.p,{children:["If an entry (e.g. ",(0,A.jsx)(n.code,{children:"params:"}),") is omitted from the comment, the containerizer will try to determine the appropriate values from the source code.\nThis makes it possible to override some variable types, while using the code analysis for others.\nIn this example, the input and output are manually specified, while the dependencies, confs and params are determined from the source code (note how we specify that the cell has no outputs):"]}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{children:"# My cell with partial override\n# ---\n# NaaVRE:\n# cell:\n# inputs:\n# - my_input: String\n# outputs: []\n# ...\n\nprint(my_input, param_my_param)\n"})}),"\n",(0,A.jsxs)(n.p,{children:["For the full syntax, see the ",(0,A.jsx)(n.a,{href:"https://github.com/QCDIS/NaaVRE/blob/main/jupyterlab_vre/services/extractor/cell_header.schema.json",children:"YAML document schema"}),"."]}),"\n",(0,A.jsx)(n.h3,{id:"containerizing-r-cells",children:"Containerizing R cells"}),"\n",(0,A.jsx)(n.p,{children:"While containerizing R code cells is similar to Python, R's characteristics make it more challenging and require additional steps. The type of detected variables will only be identified if they have been explicitly assigned a primitive value."}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{children:'# Will be detected\na <- 1L # Integer\nb <- 1.5 # Float\nc <- "foo" # String\nd <- list(1,2,3) # List\n\n# Will not be detected\ne <- round(1.555, 2)\n'})}),"\n",(0,A.jsx)(n.p,{children:"The type detector can detect the type of variables that have not been explicitly assigned a primitive value."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"type_detector_1",src:t(2489).Z+"",width:"1207",height:"808"})}),"\n",(0,A.jsxs)(n.p,{children:["By pressing the ",(0,A.jsx)(n.code,{children:"Type Detector"})," button, the selected cell will be executed by the kernel and the types of the detected variables will be retrieved. However, this does require that the selected cell is executable and that all used variables are initialized."]}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"type_detector_2",src:t(7234).Z+"",width:"1208",height:"810"})}),"\n",(0,A.jsxs)(n.p,{children:["In R, new variables can be added to the environment without explicit initialization, leading to instances where additional inputs are detected. This is especially common when working with dataframes, where variables for columns may be implicitly created. Unwanted input variables can be removed by pressing the ",(0,A.jsx)(n.code,{children:"X"})," button next to the variable."]}),"\n",(0,A.jsx)(n.h2,{id:"experiment-manager",children:"Experiment Manager"}),"\n",(0,A.jsx)(n.p,{children:"In the 'Experiment Manager' page you can compose and execute workflows. To compose a workflow click on the '+' button in\nthe bottom right corner of the page and select the 'Cells Catalog' option."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Experiment Manager",src:t(4875).Z+"",width:"770",height:"466"})}),"\n",(0,A.jsx)(n.p,{children:"After you have selected the cells you want to compose a workflow with, click on the 'Add to Workspace' button."}),"\n",(0,A.jsx)(n.h3,{id:"special-components",children:"Special Components"}),"\n",(0,A.jsx)(n.p,{children:"In the 'Experiment Manager' page you can compose workflows using special components. These components are:"}),"\n",(0,A.jsxs)(n.ul,{children:["\n",(0,A.jsx)(n.li,{children:"Splitter: This component is used to split an output array from a call into its elements and feed each element to the\nnext cell. That way the next cell will be executed in parallel as many times as the number of elements in the array."}),"\n",(0,A.jsx)(n.li,{children:"Merger: This component is used to merge the outputs of multiple cells into a single array."}),"\n"]}),"\n",(0,A.jsx)(n.h3,{id:"cells-catalog",children:"Cells Catalog"}),"\n",(0,A.jsx)(n.p,{children:"The cells catalog contains all the cells that have been containerized."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Cells Catalog",src:t(8912).Z+"",width:"991",height:"508"})}),"\n",(0,A.jsx)(n.h3,{id:"re-containerizing-cells-used-in-a-workflow",children:"Re-containerizing cells used in a workflow"}),"\n",(0,A.jsx)(n.p,{children:"When re-containerizing a cell used in a workflow, you might need to update the\nworkflow itself:"}),"\n",(0,A.jsxs)(n.ul,{children:["\n",(0,A.jsx)(n.li,{children:"If you only updated the cell's source code or dependencies: the workflow automatically uses the new version of the\ncell."}),"\n",(0,A.jsx)(n.li,{children:"If you changed the cell\u2019s inputs, outputs or parameters: the workflow needs to be updated. Remove the cell from the\nworkflow, and add the new version from the catalogue."}),"\n",(0,A.jsx)(n.li,{children:"If you changed the cell\u2019s title: a new cell is created in the catalogue. Both the old and new cell can be used.\nWorkflows using the old cell don\u2019t need to be updated."}),"\n"]}),"\n",(0,A.jsx)(n.h3,{id:"managing-files-in-workflows",children:"Managing files in workflows"}),"\n",(0,A.jsxs)(n.p,{children:["To transfer files between containerized cells when running the workflow, they need to be placed in the ",(0,A.jsx)(n.code,{children:"/tmp/data/"})," repository. Files outside of this repository are not preserved from one containerized cell to the other."]}),"\n",(0,A.jsxs)(n.p,{children:["The best practice for exchanging files between cells is to save the file in ",(0,A.jsx)(n.code,{children:"/tmp/data/"}),", and pass the filename between the cells. Example:"]}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{className:"language-python",children:"# Write file\nfilename = '/tmp/data/my_file.csv'\nwith open(filename, 'w') as f:\n f.write('file content')\n"})}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{className:"language-python",children:"# Read file\nwith open(filename, 'r') as f:\n data = f.read()\n"})}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Files workflow example",src:t(5399).Z+"",width:"768",height:"288"})}),"\n",(0,A.jsx)(n.h2,{id:"notebook-search",children:"Notebook Search"}),"\n",(0,A.jsx)(n.p,{children:"In the 'Notebook Search' page you can search for notebooks relevant to your research. To search for notebooks click on\nthe icon in the middle left of the page. There you can search for notebooks."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Notebook Search",src:t(6597).Z+"",width:"1081",height:"424"})}),"\n",(0,A.jsx)(n.p,{children:"The results will be displayed in the left panel. If you clik on a result you will be shown some relevant information\nsuch its title, link, summary etc. If you click on the 'More' button you will be redirected to the notebook where you\ncan download it."}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Notebook Search",src:t(9496).Z+"",width:"464",height:"860"})}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.img,{alt:"Notebook Search",src:t(591).Z+"",width:"1841",height:"971"})}),"\n",(0,A.jsx)(n.h2,{id:"jupyterlab-git",children:"Jupyterlab-git"}),"\n",(0,A.jsxs)(n.p,{children:["In all VLs there is a Git integration with jupyterlab-git.\nTo clone and push to a repository you can follow the instructions from here: ",(0,A.jsx)(n.a,{href:"https://pypi.org/project/jupyterlab-git/",children:"jupyterlab-git"}),"."]})]})}function d(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,A.jsx)(n,{...e,children:(0,A.jsx)(c,{...e})}):c(e)}},8912:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/cells_catalog_1-a51b936375c6df189c4274dd3bd1dc1e.png"},4954:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/component_containerizer_1-89c4b8403bcbe4f53cd7462fa2359bc8.png"},4594:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/component_containerizer_conf_1-9ce69c703a7b780adbfb968e37a56d77.png"},3151:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/component_containerizer_secrets-fa5034d13a114e33e66e16e35e087b8c.png"},4875:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/experimenter_manager_7-763d9157a11a2992221f6d75ea44ceb6.png"},5399:(e,n,t)=>{t.d(n,{Z:()=>A});const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwAAAAEgCAIAAACM0IPGAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4nO3deWAU5eH/8Wd3Jge572wObghHAqLcBEG8UH5VRA4tiiiKishRbfkqxSoegLYVEWkVrIAHKuq332pVECsg9ykglxBukBwkISEJyWaP3x8LISUkJJPJbp6Z9+uvNexn51mc58mHnZkdS05OjhBCVVWHwyE0IUuWLFmyZMmSlStr1fZCAAAA8qIAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA06EAAQAA01FVVRVCKIqi+SXIkiVLlixZsmTlyl66N5jmG4yRJUuWLFmyZMnKleUQGAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB0KEAAAMB1VVVUhhKIoml+CLFmyZMmSJUtWrqzqcDg8jyoeaECWLFmyZMmSJStRlkNgAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdFRVVYUQiqJofgmyZMmSJUuWLFm5sqrD4fA8qnigAVmyZMmSJUuWrERZDoEBAADToQABAADToQABAADToQABAADToQABAADToQABAADTUX09gDrIzMwUQjRp0iQ8PFwIYbfbs7OzhRBWqzUuLq7yc4QQNputhp+oqupwOCp+kpWV5Xa7hRDR0dF+fn5CiLNnz5aWlgohQkJCQkJChBClpaVnz54VQgQGBkZERAghXC6XZwBX3Vx1P4mPj7dYLEKI3Nzc8vJyIURERERgYKAQoqioqKioqPLmysvLs7KyhBAWiyU+Pr4+7zc7O9vlctX1/brdbs8ANL/fuLg4q9UqhMjLy7Pb7UKI8PDwJk2aCCGKi4vPnTvX0O83KirK399fCFFQUHD+/HkhRHBwcGhoqBCirKwsPz9fCBEQEBAZGanh3Wl7vxWbczgcmjd32fvNyclxOp3ef7+xsbGeb9qoeL9hYWFBQUFCiJKSksLCQiGEv79/VFSUEMLpdDbc+y0sLCwpKRFCBAUFhYWFCSHsdnteXl7lAdT//cbExHi+R83L7/fMmTOeq3kjIyMDAgKEEOfOnSsuLhb/vTw23PvNz88vKysTQoSGhgYHBwshzp8/X1BQUHlzLpdL0vdbw6+DBn2/df11kJubK4Tw8/OLjo5uoPdb9ddBxebcbnc932/F8ujl91v514ElJydHCOEZkNDEa9nMzEzPe3C5XEVFRaWlpZ63ARiV1WoNDAwMCQnxrBTVkWL+SpdlnYFJ1HKdqazxz9/aZGX6BMjzT2e73V5YWBifmOwXGOx0W3w9KKABKRZ3eWlx1q8nw8LCPJ9twDtYZ2Aepl1nZDoHKDw83OVyFRYWNm+dYg0IYVWC4TndFmtASPPWKYWFhXwO4TWsMzAV064zMhUgIURRUVF8YrLdJdmwgfqwu6zxicmeg+LwAtYZmJAJ1xmZZrjdbi8tLfULDPb1QABv8wsM9pyWCC9gnYE5mW2dkekcIM9J/nwiDRNyui2m+mjat1wuF+sMTMhs64xMnwABAADoQqYCVPsr9AAAAGogU6Wo+LZDNBD76vGpyWO+s2t/hdI988f2sNmCrbah72d/PbpVysR15UIIx56XuyQNfb9At5ECMLaiz0aE9pq+vepXvrgLNswZ2qFluBKVOGZ55qIRMdf9eY+TRQYayFSAUEuObVN7RvZ844Dzwn8XfPJArNU2ZGGu2/PfrqNz+trSpmwpvzyoxPcaPCI9ySqEcOycnpY0Yklx3bZcuGzmsxvSZq8/nnfgg99GJvW5687usexigGG5jr/VLy7QEhFoiQwKSG6eOmTywj0NexWR6/Qn0147MvDd3dlH9s+7MaTV9cMGpUZywha04LeTAamp/XqE7tmwKd9TeOw/rdkelhy5fe02z9n97oLN63YF97w+za9yyGkvcyrtR814/eFUzWfGu7JPnLC37t2/ZXREWJCfX5fHXv/LqBSlPm8FQGNnbfbwe9v2bdq+5Ys59yr/enzUS+vKGnBrrl+PnbB0vD69aXR4WBO/kH4T3n55UCK/yKCFVVVVVVUVRVG18lr2zJkzvv7rkkRA9/Tulu1rN5cJIYQzY91GddDEoTGbN+51CCGEfev6zc5rr+8Z6Do8b0DIoOffmzH8mo62yIGzfzl/4RCY+8yiO26duaf4y/uSAi0RoZ5PmN0FW/8+8ZaUVpGBCU1Thz37xeHLFjn7d5NatHtuU9HqCUmRgZaIQEtEoCW6recQ2GXPPLrshSH9WoXFh0ek9Xvg7xvz3F74OzEEn89Bk2R9/f9ZNv5RTVPap7Tv3POuZybfFX9q7Y/HPJ8+X3mmO/Z98Pjw3i1bRwfaEtsMGrfg53MXFwDnqRUvDOqeGGRL7DDixeVZV7gaqeizEaE3v36w6PNhtouLzMUF6r+xyNRDY5iDXspW3BpD8/01vJatz1bMxRLRPT3t3OI1ex2DrlOyN60/0eWhUX1LZ8/deMrVtblr/5rNBR2G9oq2iCIhyrcuWJy+ZNmOpTGOErey9UI+5sGvvjvWZdCeqQeWjvR8HYrryNtj7p4dNmXeNwvTgrJWvjn+0fv9m66c3iOgYqP+t845sq/VDV1Xjj74z0dsFiHKvhndYXLVwZ1bM/X2idt+M2vpX/sklO37dMqTIx6J2vT5PQn8G+7qapgCjX/+GiOL6jnPZXz1xapMd1RQoEVUP9PdxeUJd07/bEbHBL/TK+dOePLBlzqse61voHAdmf/Aw++K8e/vGN2heM3Mcc+uKovpdNkmQoYvLWz+bMe7T7166P27A4Rw5y26J+XNKiNhkamXWk4QGefvZVl2CENSmqWnJxxft/mUS5Rs2vBzau+eMV3TrzmwbmORcOVsXHc4Nr13a8+hKWv00OeeviHB3+IXFFzDLWAcP/1jzs4BM9988pb2yQnNuo586fnBuUs//qnqpztX4879598+Cho7b9bd3VrZkjoMmPzGuJbfL13GZ3uArFyH/npbhBod7Ncsbeiig7Y7HhuWbK12pruFX7cxz4+6tVvb5KQW3e9/edqdBcu+2u0Qwrn388UbWk986/c3p9iSrh0+6/nbQzWe2cMig1qS6cNem81WcWt71MwvrV/PJgvWbzo3pumabbF9nkhQonr0SZ61Zpd9UN667QG9nujsJ4RLCKG0aNfm6ve+c+fv3XXkzHfDmn566WeWoHuy6/6NWY4DO/YWbv/2OvWVSoPtNDBbCC7xA6RkbTp63mdPdSzP/On95/5WOmXG8CSrEOXVzHSXiD3/84evzZj//c6jecUOV3nhWTE81ymEOPjL4chru1/4l5kI7to9zW+LpvGwyKCWZCpAqIOgnn26Omau3Xyo+fqSbn9qrwqlTZ+u7ikb9m7N3Vh2ze97BV14nkWt1RkPLpdLaTV5/aZZvf2u/uSrvJI7YNC8jH/fF8WFG4Ah+Me06JiW6peW2iUx58aBTy3p/sF9ydXO9HPLpg6ZuHfwm3+Zlt4iOsi9cepN4xwXTtCxqKpa8eTarUxXxCKD2uEQmEFZYnqkt8/f8NWHPx7snN49QAjhf12va4+tW/J/G3La9ukVf9X/8YrV6nY6LxwvtUR17JR46odl++vxFUEeaso1HZTNK77P5ZxEwGjUDqMn9N4047X1JdXOdMehdVvy+419flSf1FaJtjhrzomznmeoKe1a5v2yP+fC8x2/7Dug8VQPFhnUkkwFiONfdaG0Sk+P2b9w8cbWvXp6viUjrFuf9tsXvrc3ok/vdlf9t5USl5xk2bd6VUZWbt7ZUqdf10f/cP2p18eOm7dqz9HjB7evWfrqUy9/XVD3BcYSO2zCgzHL/nDPK19sPnTi8L7NXy+aNvG9XZyUChiAJeo344Y4P3h9yXF3NTNdSWzVTN3946rTDiFKD338wpw1Fya/0mHY6O675r6w7NdyIYr3LZix9HiVa7tqOQgWGdSOTAUIdeLfpV+PoOLz4b17tbpwvnNSr14xJcUBPft1CbhKVghL7F3PTmq75nfdkto0v3Hufqe15diF387tn/P24/3b90gfNHHuer8WzQK0fMAc2nfmiiVPxK/+423pqZ0GjXzmi9MJLePYDwFDaHL9Q6Narn/jjc3nrzzTLXEjX37j5oNPd+rQtu0Nj/7nusdHXrw2y9ry0Q/eGXLiT72bdUrtNWX/HQ/dePV1qhosMqgVS05OjhCi8vXwdeW1rOcToKZt07RtC5DaiYO7bTbbFf9IivkrUTYzM5N1BuZUwzpTWWOev7XPylSKa/N/BQAA4KpkKkAAAAC6oAABAADTkakAcRUYAADQhUwFCAAAQBcUIAAAYDoyFSCuAgMAALqQqQABAADoggIEAABMR6YClJWV5eshAAAAI5CpALnd3NwXAADoQFVVVQihKIrml/Batj43AQEMwDNbq5Ji/hogC5hBdetMZTLO36rZS5WiPt3CO9nw8PDc3FzNGwJkV8Nkafzz1xhZwPBqOUFknL+XZa9e9BoPPz8/IUR4gK/HAfjCCV8PwFRYZ2BOplpnZDoHCAAAQBcyFaCzZ8/6eggAAMAIZCpApaWlvh4CAAAwApkKEAAAgC5kKkAhISG+HgIAADACChAAADAdmQoQAACALmQqQJwEDQAAdCFTAeIyeAAAoAuZChAAAIAuZCpAnlthAAAA1JNMBSg6OtrXQwAAAEYgUwECAADQhUwFyOVy+XoIAADACGQqQNnZ2b4eAgAAMAKZChAAAIAuKEAAAMB0VFVVhRCKomh+Ca9lk5OTT548qXlbgOw8s7UqKeavAbKAGVS3zlQm4/ytmlUdDofnUcUDDXyVBUylhski4/yVMQsYXi0niIzz97Ish8AAAIDpyFSAMjMzfT0EAABgBDIVIAAAAF1QgAAAgOnIVIBsNpuvhwAAAIxApgIEAACgCwoQAAAwHZkKEFeBAQAAXchUgAAAAHRBAQIAAKYjUwHiKjAAAKALmQoQAACALq5+01cAvnVw3eqDa384tHXT+bwzznK74ucfGmeLb5/avEff5t17+3p0RnBg5fJjW9afOXSgODdHCBEYEXWgU5c2ffp3vn2wr4cGoKFYcnJyhBCqqmq+w6rXsp6rwNLS0rRtC5DOkS3rVy946/T+3dU9IbZN+24jH2rRrXfjn7+NM3tg5fJtnywqysm64pPD4hP6PTy+0213atsWIJ3du3fX5myTRjJ/65lVpkyZIoSwWq0ul0vbi3otW1RUJISIi4vTti1ALhs/eu/fM6YVncmu4TkleWcyVn+v+vnHt9f4DwMp5n4DZde/O3fLR+/aS4qre3JZcdGBNT+UFha07tVX2+YAuWRnZ4eEhFz1aY1h/tY/yzlAMAx3/rpXh6TFBalW/2tf3HnkrQFB7f5ns0MI4dw/q0dwj1n7nb4eYR1s/Oi9le+8Udsnv//Ozv/9uEHHYzzr352755t/1uaZW79YsmLOrOr/vGTXO/d3TQzxs6rNJqw6++mwoJgx39iFkHPHA8xDpgIUHx/v6yGgEXMeXPD09J97v/1zZl7Omv9JDWt38713Xhdj8fWwtDiyZX3t24/H5g8XnNyxpYHGYzwHVi6vZfvx2PrFkp+XfXnFP3Jnfzr1D9+3mL7pZG7unteuD2p+/b3DeyfJtLICJiXTSdAWi5S/zOAlzuOHj4nUJ29qHRMuhBAht/zxvVt8PSaNVi94S0Nq65KFyV266z4YQ9r2yaK6Rn78x7wrngzkPHX4mKPNQzd1iI+0CiFEr0nv9ar3+AA0PKuqqqqqKoqiauXNrK//utBIOXY+3zn4lncyz385KsJSwe/CIbDLlB356vkRPVpGNQkIimnTb8zcDbluz4ts+2NqUPq0D/98f++UpJjw6NYDJi49ZPdkSra+PXZQt9bxYYEBoQlpt03+cG+J5w9cR+f0C+rw9KcfP3VLu5jg4JgOv3nxP9n2U98+P7hzQkiTsGbXT/jsSPnFLTtPr/zz6OvbxgYFBEa26HnvjBW/XmF4B9etruGs5xrkZOw/uX1zQ89BA2QzVq+o7qznGhRmnd717b8u++HJeTcGX/fy7vPrnm6tVOx3ysVDYJepZsfz7EIT/vH2Yzd0aBoXGdWs15h3d13YvZz7l0y8q3e7xIgmAcFxKTc88rfN+Z6dtQF2PMDDC3OwkWStDofD4XA4nU6HVl7LZmXVec2CSajXTN9VvHxsfJPBHxa63W632+08PvcGvys8053z5bibxiy3jf9gQ8bRfd//pf+xV+64b/6Ri2fGlW99+53cUZ/9fCrn9NqnQz4dO37xSZcQwl1+ztF06Esfr9x1OGPTR+Oivn18yLQ15y++puvEohc+jpr4ycYdq2b3PjTz/uGDH5hd8tsFq3Zu+mCEffGjk5ZkuoUQomjt1IHD3he/fXvVL8cy1s0fXjp/2F2v7iy/fIQH1/6g+e/h8IbVDToHjZE9smmttr/ejPWrL/tJ8vgfirdO7dik7+zDTs+OV/zJ0IArZWve8ZyHFs/96eZ3tx7PzvrpLykrJ455Y49TCCFcRecjb31m4fLtGYd3/HNqh+3PDpn0rzz3xdfUd8cDPLwwBxtJVqYj1eXlTFnUkzNj8aylUZPfmz26b7ukhOZd7nrhrUkt1yz8LOPCearW+HumvzAwOUBYgjo8NPZWZcN/NpUKISzhA57808O39+jYIrFpxxvH/+1Pt2T+3/9uu7g/ukWvP8z/4x3Xtmnb/b7nHu2atyF/4Fuz7u3ZrnXnwc9Nurl87Q9b7EK4s7947Z3iUfPmP3FTalNbcsdbn54/rffeRR9uvXyvPvnzDs1vL2v/Hs1Z8zhz6IC24Gntf71X2fEsQbdNfXV4m2CL8G8+5LEhtr0r12S7hRB+3R6e/sTgPp1aJSW1TX9w9sx73F9/fql567vjAWbDQSWYin3X1l0l2zakqtMq/VBp1ifTJVIsQgilWesW/hd+rIZHhpZnFJS4RZDFnb9t0YxXF6/YcSTnnN3pLisssg/OvvixkZKUlnbhbGtrdGyMEh7duYXi+aMmsbEhpVkFZUJY927dUXT4q/6Bcypt2RIcmXn5JZ0Fmb9qfnuF2ZmHs+t2qpyiCKdT49l1kmaLcnO0Zc/V/cDZRTXseG2EEFZb65YXLz22hkdFiIKzhS6RoIjifZ+9+so7X2/NyCosc7jKi3KLe2cWukWQRQi9dzzAbGQqQBEREWfPnvX1KCA1t8vlDvjNolNfjo6q8gvUIYQQFut//9ztdgvhPv3hmNt+d+qe2a8v7dsmLtTfsWJS58ecl36BKErFR6kWy3/9pxDCItzCLYTb7XKpvf+8f+3v29T8uavDXqbtvQkhXOX2Bavq2gxcQmi+vEDKbCut3yPi1hqsccdzCSGEtcolHm4hROG3k299cN2A117/8OYOCWEB7u0v9hv+i9Ppvvjudd3xALORaUYEBgb6egiQXUDnrmnuDV8ty3Ff/bmXlO9YtbZ4wOSZD93YpW2zRFtsyakjJXV6ASGEX4eu1/jt/Pc3R6/2pTCq/xXPIakVt+J/9SeZntuicd2zWDUvmJp2PMcvq9fkdn3sxXG3dWvXPCkhXs08mlXnClbrHQ8wG5kKEFBvSsqYafeH/3vS3U8v/nHvseMZO9d99fYzY/+6vubzIZQWbVuKnSu+O2kXwpm3efZTc3fW+QiMxTZi6vg2W567+9G/r9h15Pjh3ZuWLXp+zPRlRZc/MdyWWMeXvsQRdPXvsIczKFZbMDRW81eRadrxlKS2rfx++WF5xnkh3Of2Lpw8c+WVri6rWa13PMBsZDoE5rkVBlAfltg7/r7qyzbTXpkxfP6jBZZwW6vO/YZMSlRqDCkdJiyYc+Cx312TODkiJiZl0FNThm2ZWudzSEPSZ3y/Ivm5F+aN7js51xka16Jjn9sfv6fKRzbJnbrkHj9S1xf3SOuR+sSIun1GoDaa+/J4Lfvt0ZSjG7WczZPQPlXbRoW2Hc+SOOrNBTvHTk1Pnh4aHdP8hnFTxvz0u/113nQtdzzAbLgZKtC4HFy3+vNnJ2jL3vrsK3W9P7wUc1/f7N4VX6+e+6qG7P979iXuDw9jM9XNUDkEBjQubdP7J2i6s2lsm/Z1bT/mlDJgYEjdD2aFxSfQfgAjkakAcRI0TKL/2Cc1pLqNfEj3kRhV13sfrGuk38PjG2AgAHxGpgIUERHh6yEA3tCye58Bj02uU6TH/WO5EVjtpQwYmDpoSO2f323oyCveCAyAvGQ6CRowj173jRFC1PKe8L0eeKzTXfc08IiMps8jE4QQtbknfLehI2+Z9EzDjwiAV8lUgLgVBkyl131j4lPar17wVg33Ro1t077byIdadOut+cRAM+vzyISY1inbPllU3b1Rw+IT+j08ns9+AEOSqQDl5ub6egiAV7Xs3qdl9z4H160+uPaHQ1s3nc874yy3K37+oXG2+PapzXv05aznekoZMDBlwMADK5cf27L+zKEDxbk5QojAiKhmnbq06dOfs54BA5OpAAHm1Da9f9v0/rW8PBUaeGpQxX9mZmbydRuA4cl0ErSlyt1yAAAANJCpAMXHa/4eegAAgEtkKkAAAAC6oAABAADTUVVVFUIoSs03g6yJ17Kee4EBpuWZrVVJMX8NkAXMoLp1pjIZ52/V7KV7g9Xne0S8k+WbTmByNUyBxj9/jZEFDK+WE0TG+cvNUAEAgNnJVID4EhQAAKALmQoQAACALihAAADAdGQqQFwFBgAAdCFTAQIAANAFBQgAAJiOTAWIq8AAAIAuZCpAAAAAuqAAAQAA05GpAHEVGAAA0IVMBQgAAEAXFCAAAGA6MhUgrgIDAAC6kKkAAQAA6IICBAAATEemApSdne3rIQAAACOQqQC5XC5fDwEAABiBqqqqEEJRFM0v4bWsqqoOh0PztgDZeWZrVVLMXwNkATOobp2pTMb5WzV7qVLUp1t4JxseHp6bm6t5Q4DsapgsjX/+GiMLGF4tJ4iM8/eyrEyHwPz8/Hw9BAAAYAQyFSAAAABdyFSAzp496+shAAAAI5CpAJWWlvp6CAAAwAhkKkAAAAC6kKkAhYSE+HoIAADACChAAADAdGQqQAAAALqQqQBxEjQAANCFTAWIy+ABAIAuZCpAAAAAupCpAHErDAAAoAuZClB0dLSvhwAAAIxApgIEAACgC5kKkNvt9vUQAACAEchUgLKysnw9BAAAYAQyFSAAAABdUIAAAIDpqKqqCiEURdH8El7LJicnnzx5UvO2ANl5ZmtVUsxfA2QBM6hunalMxvlbNas6HA7Po4oHGvgqC5hKDZNFxvkrYxYwvFpOEBnn72VZDoEBAADTkakAZWZm+noIAADACGQqQAAAALqgAAEAANORqQDZbDZfDwEAABiBTAUIAABAFxQgAABgOjIVIK4CAwAAupCpAAEAAOiCAgQAAExHpgLEVWAAAEAXMhUgAAAAXVCAAACA6chUgLgKDAAA6EKmAgQAAKALChAAADAdmQpQXFyc1Wp1uVy+HgjgbS6Xy2qVabZKjXUG5mS2dUamt2q1WgMDAwsKCnw9EMDbCgoKAgMDfT0Ks2CdgTmZbZ1RVVUVQiiKovklvJkNCwvLysoKDQ31DBswA4fDkZWVFRMTU91uL8v8lSXLOgMTuuo6U1ljnr+1z6oOh8PzqOKBBt7J5uXlRUVFhYWFZWRkxMfHh4eHm+rDOpiQy+UqKCjIysoKCwsTNU6Wxj9/5cqyzsA8ar/OVNaY528tszL9+8Zutwsh/P39o6Ki8vPzT58+zXF6GJvnsG9UVBS/g72MdQbmYdp1RqYCVMFqtYaFhUVFRWlugqqqkiVrmCwagmed8fyb2EPGfYMs2YbIGoNMdS88PNzXQwAAAEYgUwFq0qSJr4cAAACMQKYCBAAAoAuZClBxcbGvhwAAAIxApgJ07tw5Xw8BAAAYgUwFCAAAQBcyFSBTfUU3AABoODIVoIiICF8PAQAAGIFMBQgAAEAXMhWg8vJyXw8BAAAYgUwFKDc319dDAAAARiBTAQIAANCFTAXIYrH4eggAAMAIZCpA8fHxvh4CAAAwApkKEAAAgC4oQAAAwHRUVVWFEIqiaH4Jr2UzMzNtNpv3t0uWLFmyZMmSNVhWdTgcnkcVDzTwTtbhcFz25MY/ZrJkyZIlS5ZsI8xyCAwAAJiOTAWo8vEvAAAAzWQqQAAAALqgAAEAANORqQBlZmb6eggAAMAIZCpAAAAAuqAAAQAA05GpAHEVGAAA0IVMBQgAAEAXFCAAAGA6MhUgrgIDAAC6kKkAAQAA6IICBAAATEemAsRVYAAAQBcyFSAAAABdUIAAAIDpyFSAsrOzfT0EAABgBDIVIJfL5eshAAAAI1BVVRVCKIqi+SW8llXVC6P18nbJkiVLlixZsgbLqg6Hw/Oo4oEG3smGhYVd9uTGP2ayZMmSJUuWbCPMynQIzN/f39dDAAAARiBTAQIAANCFTAWooKDA10MAAABGIFMBOn/+vK+HAAAAjECmAgQAAKALmQpQcHCwr4cAAACMQKYCFBoa6ushAAAAI5CpAAEAAOhCpgJUVlbm6yEAAAAjkKkA5efn+3oIAADACGQqQAAAALqQqQBVvhMqAACAZjIVoJiYGF8PAQAAGIFMBQgAAEAXFCAAAGA6MhWgzMxMXw8BAAAYgUwFCAAAQBcUIAAAYDqq59pyRVE0v4TXssnJyT7ZLlmyZMmSJUvWYFnV4XB4HlU80IAsWbJkyZIlS1aiLIfAAACA6chUgLgKDAAA6EKmAgQAAKALChAAADAdmQqQzWbz9RAAAIARyFSAAAAAdEEBArBOePAAAABASURBVAAApiNTAeIqMAAAoAuZChAAAIAuKEAAAMB0ZCpAXAUGAAB0IVMBAgAA0AUFCAAAmI5MBYirwAAAgC7+PwQS6cOrvlnkAAAAAElFTkSuQmCC"},6602:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/n-a-a-vre_interface_1-441fe6fcba0c3cac6eb3a9294e33d740.png"},6597:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/notebook_search_1-681830ef694b98c4459e6b81f371a063.png"},9496:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/notebook_search_2-b9fcd1a2f6ebc23b30bea2223be70f89.png"},591:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/notebook_search_3-287346427ffbd78c94acb5548293c412.png"},2489:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/types_detector_R_1-b19f7fe3fdaa02457287720d910dae87.png"},7234:(e,n,t)=>{t.d(n,{Z:()=>A});const A=t.p+"assets/images/types_detector_R_2-523f954a8bea3823c70d8193ab767a42.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>s});var A=t(7294);const i={},a=A.createContext(i);function s(e){const n=A.useContext(a);return A.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),A.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/752a6134.76febb78.js b/pr-preview/pr-33/assets/js/752a6134.76febb78.js new file mode 100644 index 0000000..796bb43 --- /dev/null +++ b/pr-preview/pr-33/assets/js/752a6134.76febb78.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[384],{7952:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var s=r(5893),i=r(1151),n=r(2457);const a={sidebar_position:1,title:"VRE researcher"},o=void 0,l={id:"readiness_levels/Virtual_lab_roles/VRE_researcher",title:"VRE researcher",description:"The VRE researcher contributes the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/VRE_researcher.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/VRE_researcher",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/VRE_researcher.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"VRE researcher"},sidebar:"tutorialSidebar",previous:{title:"User supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter"},next:{title:"Getting Started with NaaVRE tutorial",permalink:"/pr-preview/pr-33/docs/tutorials/"}},u={},h=[];function c(e){const t={li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return n||d("Responsibilities",!1),n.L2VREResearcher||d("Responsibilities.L2VREResearcher",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"The VRE researcher contributes the following per level:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["L2: ",(0,s.jsx)(n.L2VREResearcher,{})]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}function d(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>s,L0Coordinator:()=>d,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>i,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>w,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>C,L1Reviewer:()=>V,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>_,L2DevOps:()=>L,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>k,L2Trainer:()=>D,L2VREResearcher:()=>P,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>R,L3GoldenUser:()=>c,L3InfrastructureSupporter:()=>x,L3SteeringBoard:()=>j,L3Trainer:()=>U,L3UserSupporter:()=>T,L4CommunitySupporter:()=>o,L4Coordinator:()=>f,L4CoreDeveloper:()=>E,L4GoldenUser:()=>p,L4InfrastructureSupporter:()=>S,L4SteeringBoard:()=>G,L4UserSupporter:()=>I});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",i=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",c=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",p=()=>"A golden user can keep on using the virtual lab for their own experiments.",d=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",w=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",R=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",E=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",V=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",C=()=>"Advises and provides the infrastructure for the virtual lab.",k=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",x=()=>"Ensures the infrastructure can support the training sessions.",S=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",D=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",U=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",j=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",T=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>o,a:()=>a});var s=r(7294);const i={},n=s.createContext(i);function a(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/772.9ad1d593.js b/pr-preview/pr-33/assets/js/772.9ad1d593.js new file mode 100644 index 0000000..b02bd77 --- /dev/null +++ b/pr-preview/pr-33/assets/js/772.9ad1d593.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[772],{5658:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var i=n(512),s=n(5999),a=n(2503),o=n(5893);function r(e){let{className:t}=e;return(0,o.jsx)("main",{className:(0,i.Z)("container margin-vert--xl",t),children:(0,o.jsx)("div",{className:"row",children:(0,o.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,o.jsx)(a.Z,{as:"h1",className:"hero__title",children:(0,o.jsx)(s.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,o.jsx)("p",{children:(0,o.jsx)(s.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,o.jsx)("p",{children:(0,o.jsx)(s.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},1772:(e,t,n)=>{n.r(t),n.d(t,{default:()=>l});n(7294);var i=n(5999),s=n(1944),a=n(6040),o=n(5658),r=n(5893);function l(){const e=(0,i.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.d,{title:e}),(0,r.jsx)(a.Z,{children:(0,r.jsx)(o.Z,{})})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/7e556c3d.55c6c85c.js b/pr-preview/pr-33/assets/js/7e556c3d.55c6c85c.js new file mode 100644 index 0000000..91dbfa2 --- /dev/null +++ b/pr-preview/pr-33/assets/js/7e556c3d.55c6c85c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[777],{7905:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var s=t(5893),n=t(1151),i=t(2457);const o={sidebar_position:1,title:"Golden user"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/Golden_user",title:"Golden user",description:"Golden users have the following responsibilities per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Golden_user.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Golden_user",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Golden_user.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Golden user"},sidebar:"tutorialSidebar",previous:{title:"Virtual research environment development and operations (VRE DevOps) engineer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps"},next:{title:"Infrastructure supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter"}},u={},d=[];function p(e){const r={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return i||c("Responsibilities",!1),i.L0GoldenUser||c("Responsibilities.L0GoldenUser",!0),i.L1GoldenUser||c("Responsibilities.L1GoldenUser",!0),i.L2GoldenUser||c("Responsibilities.L2GoldenUser",!0),i.L3GoldenUser||c("Responsibilities.L3GoldenUser",!0),i.L4GoldenUser||c("Responsibilities.L4GoldenUser",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.p,{children:"Golden users have the following responsibilities per level:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["L0: ",(0,s.jsx)(i.L0GoldenUser,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L1: ",(0,s.jsx)(i.L1GoldenUser,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L2: ",(0,s.jsx)(i.L2GoldenUser,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L3: ",(0,s.jsx)(i.L3GoldenUser,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L4: ",(0,s.jsx)(i.L4GoldenUser,{})]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,n.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}function c(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>s,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>_,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>U,L1Reviewer:()=>C,L2CommunitySupporter:()=>i,L2Coordinator:()=>m,L2CoreDeveloper:()=>y,L2DevOps:()=>w,L2GoldenUser:()=>d,L2InfrastructureSupporter:()=>k,L2Trainer:()=>j,L2VREResearcher:()=>E,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>G,L3GoldenUser:()=>p,L3InfrastructureSupporter:()=>R,L3SteeringBoard:()=>D,L3Trainer:()=>V,L3UserSupporter:()=>I,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>x,L4GoldenUser:()=>h,L4InfrastructureSupporter:()=>S,L4SteeringBoard:()=>P,L4UserSupporter:()=>N});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",i=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",d=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",p=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",h=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",_=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",G=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",U=()=>"Advises and provides the infrastructure for the virtual lab.",k=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",R=()=>"Ensures the infrastructure can support the training sessions.",S=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",j=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",V=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",E=()=>"Potentially publishes a technical paper in addition to the domain paper.",D=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",P=()=>"Coordinates the further development of the virtual lab with a scientific vision.",I=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",N=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>a,a:()=>o});var s=t(7294);const n={},i=s.createContext(n);function o(e){const r=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/8e76cafd.21bbfcf9.js b/pr-preview/pr-33/assets/js/8e76cafd.21bbfcf9.js new file mode 100644 index 0000000..3a5fe0f --- /dev/null +++ b/pr-preview/pr-33/assets/js/8e76cafd.21bbfcf9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[214],{2376:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var s=r(5893),i=r(1151),n=r(2457);const o={sidebar_position:1,title:"Virtual research environment development and operations (VRE DevOps) engineer"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/DevOps",title:"Virtual research environment development and operations (VRE DevOps) engineer",description:"The VRE DevOps engineers have the following responsibilities per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/DevOps.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/DevOps",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/DevOps.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Virtual research environment development and operations (VRE DevOps) engineer"},sidebar:"tutorialSidebar",previous:{title:"Core developer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer"},next:{title:"Golden user",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user"}},u={},p=[];function h(e){const t={li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return n||c("Responsibilities",!1),n.L0DevOps||c("Responsibilities.L0DevOps",!0),n.L1DevOps||c("Responsibilities.L1DevOps",!0),n.L2DevOps||c("Responsibilities.L2DevOps",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"The VRE DevOps engineers have the following responsibilities per level:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["L0: ",(0,s.jsx)(n.L0DevOps,{})]}),"\n",(0,s.jsxs)(t.li,{children:["L1: ",(0,s.jsx)(n.L1DevOps,{})]}),"\n",(0,s.jsxs)(t.li,{children:["L2: ",(0,s.jsx)(n.L2DevOps,{})]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}function c(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>s,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>i,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>k,L1Reviewer:()=>x,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>_,L2DevOps:()=>w,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>O,L2Trainer:()=>R,L2VREResearcher:()=>j,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>D,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>V,L3SteeringBoard:()=>G,L3Trainer:()=>S,L3UserSupporter:()=>U,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>C,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>E,L4SteeringBoard:()=>P,L4UserSupporter:()=>T});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",i=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",D=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",k=()=>"Advises and provides the infrastructure for the virtual lab.",O=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",V=()=>"Ensures the infrastructure can support the training sessions.",E=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",S=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",j=()=>"Potentially publishes a technical paper in addition to the domain paper.",G=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",P=()=>"Coordinates the further development of the virtual lab with a scientific vision.",U=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>o});var s=r(7294);const i={},n=s.createContext(i);function o(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/935f2afb.158c11a6.js b/pr-preview/pr-33/assets/js/935f2afb.158c11a6.js new file mode 100644 index 0000000..1bd96bc --- /dev/null +++ b/pr-preview/pr-33/assets/js/935f2afb.158c11a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"About NaaVRE","href":"/pr-preview/pr-33/docs/about","docId":"about","unlisted":false},{"type":"category","label":"Readiness level framework for co-development of virtual labs on the NaaVRE platform","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"L0 - initial proposal","href":"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal","docId":"readiness_levels/L0_initial_proposal","unlisted":false},{"type":"link","label":"L1 - Co-development","href":"/pr-preview/pr-33/docs/readiness_levels/L1_co-development","docId":"readiness_levels/L1_co-development","unlisted":false},{"type":"link","label":"L2 - Validation phase","href":"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase","docId":"readiness_levels/L2_validation_phase","unlisted":false},{"type":"link","label":"L3 - Workshop use","href":"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use","docId":"readiness_levels/L3_workshop_use","unlisted":false},{"type":"link","label":"L4 - Operational service","href":"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service","docId":"readiness_levels/L4_operational_service","unlisted":false},{"type":"category","label":"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"RAVRE documentation","href":"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation","docId":"readiness_levels/RAVRE/documentation","unlisted":false}],"href":"/pr-preview/pr-33/docs/readiness_levels/RAVRE/"},{"type":"link","label":"User manual","href":"/pr-preview/pr-33/docs/readiness_levels/user_manual","docId":"readiness_levels/user_manual","unlisted":false},{"type":"category","label":"Virtual_lab_roles","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Community supporter","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter","docId":"readiness_levels/Virtual_lab_roles/Community_supporter","unlisted":false},{"type":"link","label":"Virtual lab coordinator","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator","docId":"readiness_levels/Virtual_lab_roles/Coordinator","unlisted":false},{"type":"link","label":"Core developer","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer","docId":"readiness_levels/Virtual_lab_roles/Core_developer","unlisted":false},{"type":"link","label":"Virtual research environment development and operations (VRE DevOps) engineer","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps","docId":"readiness_levels/Virtual_lab_roles/DevOps","unlisted":false},{"type":"link","label":"Golden user","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user","docId":"readiness_levels/Virtual_lab_roles/Golden_user","unlisted":false},{"type":"link","label":"Infrastructure supporter","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter","docId":"readiness_levels/Virtual_lab_roles/Infrastructure_supporter","unlisted":false},{"type":"link","label":"Reviewer","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer","docId":"readiness_levels/Virtual_lab_roles/Reviewer","unlisted":false},{"type":"link","label":"Scientific steering board","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board","docId":"readiness_levels/Virtual_lab_roles/Steering_board","unlisted":false},{"type":"link","label":"Trainer","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer","docId":"readiness_levels/Virtual_lab_roles/Trainer","unlisted":false},{"type":"link","label":"User supporter","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter","docId":"readiness_levels/Virtual_lab_roles/User_supporter","unlisted":false},{"type":"link","label":"VRE researcher","href":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher","docId":"readiness_levels/Virtual_lab_roles/VRE_researcher","unlisted":false}]}],"href":"/pr-preview/pr-33/docs/readiness_levels/"},{"type":"link","label":"Getting Started with NaaVRE tutorial","href":"/pr-preview/pr-33/docs/tutorials/","docId":"tutorials/index","unlisted":false},{"type":"link","label":"The NaaVRE Interface","href":"/pr-preview/pr-33/docs/NaaVRE_Interface/","docId":"NaaVRE_Interface/index","unlisted":false}]},"docs":{"about":{"id":"about","title":"About NaaVRE","description":"NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].","sidebar":"tutorialSidebar"},"NaaVRE_Interface/index":{"id":"NaaVRE_Interface/index","title":"The NaaVRE Interface","description":"The Notebook as a Virtual Research Environment (NaaVRE) is a set of tools to allow users to containerize cells, compose","sidebar":"tutorialSidebar"},"readiness_levels/index":{"id":"readiness_levels/index","title":"Readiness level framework for co-development of virtual labs on the NaaVRE platform","description":"Version 0.0.2","sidebar":"tutorialSidebar"},"readiness_levels/L0_initial_proposal":{"id":"readiness_levels/L0_initial_proposal","title":"L0 - initial proposal","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/L1_co-development":{"id":"readiness_levels/L1_co-development","title":"L1 - Co-development","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/L2_validation_phase":{"id":"readiness_levels/L2_validation_phase","title":"L2 - Validation phase","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/L3_workshop_use":{"id":"readiness_levels/L3_workshop_use","title":"L3 - Workshop use","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/L4_operational_service":{"id":"readiness_levels/L4_operational_service","title":"L4 - Operational service","description":"Start situation","sidebar":"tutorialSidebar"},"readiness_levels/RAVRE/documentation":{"id":"readiness_levels/RAVRE/documentation","title":"RAVRE documentation","description":"This page provides detailed documentation for RAVRE. A higher level overview of the RAVRE virtual lab is available on the lab overview page.","sidebar":"tutorialSidebar"},"readiness_levels/RAVRE/index":{"id":"readiness_levels/RAVRE/index","title":"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.","description":"Introduction: The airspace is becoming increasingly crowded. High-rises, wind farms and airports all contribute to conflict with aerial organisms. Information about the movements of organisms in the air is required to identify stop-over sites, migratory routes, and patterns. This can inform mitigation of conflicts by, for example, wind-turbine curtailments or early warning systems for aviation. Weather radars, that continuously monitor the sky across continents, can be used to study movements of birds, bats, and insects. However, for continental scale analysis, large volumes of data are required to be processed and analyzed, which often rely on institute-specific tools and computational resources. This severely hampers collaborative efforts because of the initial investment of time and resources to gain access to existing computing infrastructure. Here we show a Radar Aeroecology Virtual Research Environment (RAVRE) which uses the Lifewatch ERIC infrastructure to facilitate collaboration and re-use of infrastructure and tools. By providing RAVRE, we aim to facilitate collaboration between ornithological institutes.","sidebar":"tutorialSidebar"},"readiness_levels/user_manual":{"id":"readiness_levels/user_manual","title":"User manual","description":"The following guidelines can be used to determine the completeness of a user manual.","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Community_supporter":{"id":"readiness_levels/Virtual_lab_roles/Community_supporter","title":"Community supporter","description":"The community supporter has the following responsibilities per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Coordinator":{"id":"readiness_levels/Virtual_lab_roles/Coordinator","title":"Virtual lab coordinator","description":"The virtual lab coordinator has the following responsibilities per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Core_developer":{"id":"readiness_levels/Virtual_lab_roles/Core_developer","title":"Core developer","description":"Core developers create the content of the new virtual lab, being steered by the golden users.","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/DevOps":{"id":"readiness_levels/Virtual_lab_roles/DevOps","title":"Virtual research environment development and operations (VRE DevOps) engineer","description":"The VRE DevOps engineers have the following responsibilities per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Golden_user":{"id":"readiness_levels/Virtual_lab_roles/Golden_user","title":"Golden user","description":"Golden users have the following responsibilities per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Infrastructure_supporter":{"id":"readiness_levels/Virtual_lab_roles/Infrastructure_supporter","title":"Infrastructure supporter","description":"The infrastructure supporter contributes the following per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Reviewer":{"id":"readiness_levels/Virtual_lab_roles/Reviewer","title":"Reviewer","description":"The reviewer can contribute the following per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Steering_board":{"id":"readiness_levels/Virtual_lab_roles/Steering_board","title":"Scientific steering board","description":"The scientific steering board decides on the further development of the virtual lab based on a scientific vision and their knowledge of the use cases of the virtual lab.","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/Trainer":{"id":"readiness_levels/Virtual_lab_roles/Trainer","title":"Trainer","description":"The trainer contributes the following per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/User_supporter":{"id":"readiness_levels/Virtual_lab_roles/User_supporter","title":"User supporter","description":"The user supporter contributes the following per level:","sidebar":"tutorialSidebar"},"readiness_levels/Virtual_lab_roles/VRE_researcher":{"id":"readiness_levels/Virtual_lab_roles/VRE_researcher","title":"VRE researcher","description":"The VRE researcher contributes the following per level:","sidebar":"tutorialSidebar"},"tutorials/index":{"id":"tutorials/index","title":"Getting Started with NaaVRE tutorial","description":"The aim of this tutorial is to discover the basic functionalities of NaaVRE","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/944a1d22.d3908620.js b/pr-preview/pr-33/assets/js/944a1d22.d3908620.js new file mode 100644 index 0000000..2eed495 --- /dev/null +++ b/pr-preview/pr-33/assets/js/944a1d22.d3908620.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[999],{1546:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>u,toc:()=>p});var s=t(5893),n=t(1151),i=t(2457);const o={sidebar_position:1,title:"Infrastructure supporter"},a=void 0,u={id:"readiness_levels/Virtual_lab_roles/Infrastructure_supporter",title:"Infrastructure supporter",description:"The infrastructure supporter contributes the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Infrastructure_supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Infrastructure supporter"},sidebar:"tutorialSidebar",previous:{title:"Golden user",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user"},next:{title:"Reviewer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer"}},l={},p=[];function c(e){const r={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return i||d("Responsibilities",!1),i.L1InfrastructureSupporter||d("Responsibilities.L1InfrastructureSupporter",!0),i.L2InfrastructureSupporter||d("Responsibilities.L2InfrastructureSupporter",!0),i.L3InfrastructureSupporter||d("Responsibilities.L3InfrastructureSupporter",!0),i.L4InfrastructureSupporter||d("Responsibilities.L4InfrastructureSupporter",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.p,{children:"The infrastructure supporter contributes the following per level:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["L1: ",(0,s.jsx)(i.L1InfrastructureSupporter,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L2: ",(0,s.jsx)(i.L2InfrastructureSupporter,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L3: ",(0,s.jsx)(i.L3InfrastructureSupporter,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L4: ",(0,s.jsx)(i.L4InfrastructureSupporter,{})]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,n.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}function d(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>s,L0Coordinator:()=>d,L0DevOps:()=>g,L0GoldenUser:()=>u,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>_,L1DevOps:()=>L,L1GoldenUser:()=>l,L1InfrastructureSupporter:()=>C,L1Reviewer:()=>I,L2CommunitySupporter:()=>i,L2Coordinator:()=>f,L2CoreDeveloper:()=>y,L2DevOps:()=>w,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>k,L2Trainer:()=>E,L2VREResearcher:()=>D,L3CommunitySupporter:()=>o,L3Coordinator:()=>m,L3CoreDeveloper:()=>S,L3GoldenUser:()=>c,L3InfrastructureSupporter:()=>R,L3SteeringBoard:()=>G,L3Trainer:()=>V,L3UserSupporter:()=>U,L4CommunitySupporter:()=>a,L4Coordinator:()=>b,L4CoreDeveloper:()=>x,L4GoldenUser:()=>h,L4InfrastructureSupporter:()=>j,L4SteeringBoard:()=>P,L4UserSupporter:()=>T});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",i=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",u=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",l=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",c=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",h=()=>"A golden user can keep on using the virtual lab for their own experiments.",d=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",f=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",m=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",b=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",_=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",I=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",C=()=>"Advises and provides the infrastructure for the virtual lab.",k=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",R=()=>"Ensures the infrastructure can support the training sessions.",j=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",E=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",V=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",D=()=>"Potentially publishes a technical paper in addition to the domain paper.",G=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",P=()=>"Coordinates the further development of the virtual lab with a scientific vision.",U=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>a,a:()=>o});var s=t(7294);const n={},i=s.createContext(n);function o(e){const r=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/9b58cf7f.4f30322a.js b/pr-preview/pr-33/assets/js/9b58cf7f.4f30322a.js new file mode 100644 index 0000000..e0a163f --- /dev/null +++ b/pr-preview/pr-33/assets/js/9b58cf7f.4f30322a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[859],{2925:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var i=r(5893),n=r(1151),s=r(2457);const a={sidebar_position:1,title:"Scientific steering board"},o=void 0,l={id:"readiness_levels/Virtual_lab_roles/Steering_board",title:"Scientific steering board",description:"The scientific steering board decides on the further development of the virtual lab based on a scientific vision and their knowledge of the use cases of the virtual lab.",source:"@site/docs/readiness_levels/Virtual_lab_roles/Steering_board.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Steering_board",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Steering_board.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Scientific steering board"},sidebar:"tutorialSidebar",previous:{title:"Reviewer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer"},next:{title:"Trainer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer"}},u={},d=[];function h(e){const t={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return s||p("Responsibilities",!1),s.L3SteeringBoard||p("Responsibilities.L3SteeringBoard",!0),s.L4SteeringBoard||p("Responsibilities.L4SteeringBoard",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The scientific steering board decides on the further development of the virtual lab based on a scientific vision and their knowledge of the use cases of the virtual lab.\nMembers of the scientific steering board are invited by the golden users and community supporter during L3 - workshop use.\nIf a golden user remains involved in the virtual lab, they can take place in the scientific steering board."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["L3: ",(0,i.jsx)(s.L3SteeringBoard,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L4: ",(0,i.jsx)(s.L4SteeringBoard,{})]}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}function p(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>p,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>w,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>x,L1Reviewer:()=>C,L2CommunitySupporter:()=>s,L2Coordinator:()=>b,L2CoreDeveloper:()=>_,L2DevOps:()=>L,L2GoldenUser:()=>d,L2InfrastructureSupporter:()=>R,L2Trainer:()=>D,L2VREResearcher:()=>P,L3CommunitySupporter:()=>a,L3Coordinator:()=>f,L3CoreDeveloper:()=>S,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>E,L3SteeringBoard:()=>T,L3Trainer:()=>j,L3UserSupporter:()=>B,L4CommunitySupporter:()=>o,L4Coordinator:()=>m,L4CoreDeveloper:()=>k,L4GoldenUser:()=>c,L4InfrastructureSupporter:()=>V,L4SteeringBoard:()=>U,L4UserSupporter:()=>G});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",s=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",d=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",c=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",b=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",f=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",m=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",w=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",x=()=>"Advises and provides the infrastructure for the virtual lab.",R=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",E=()=>"Ensures the infrastructure can support the training sessions.",V=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",D=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",j=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",T=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",U=()=>"Coordinates the further development of the virtual lab with a scientific vision.",B=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",G=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>o,a:()=>a});var i=r(7294);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/a034c16c.d8725a72.js b/pr-preview/pr-33/assets/js/a034c16c.d8725a72.js new file mode 100644 index 0000000..5724092 --- /dev/null +++ b/pr-preview/pr-33/assets/js/a034c16c.d8725a72.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[334],{606:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>h,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var s=i(5893),n=i(1151),r=i(2457);const o={sidebar_position:1,title:"L3 - Workshop use"},a=void 0,l={id:"readiness_levels/L3_workshop_use",title:"L3 - Workshop use",description:"Start situation",source:"@site/docs/readiness_levels/L3_workshop_use.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L3_workshop_use",permalink:"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L3_workshop_use.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L3 - Workshop use"},sidebar:"tutorialSidebar",previous:{title:"L2 - Validation phase",permalink:"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase"},next:{title:"L4 - Operational service",permalink:"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service"}},h={},u=[{value:"Start situation",id:"start-situation",level:3},{value:"During the workshop use phase",id:"during-the-workshop-use-phase",level:3},{value:"Workshop use milestone",id:"workshop-use-milestone",level:3},{value:"Workshop use responsibilities",id:"workshop-use-responsibilities",level:3},{value:"Exit conditions",id:"exit-conditions",level:3}];function d(e){const t={h3:"h3",input:"input",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return r||p("Responsibilities",!1),r.L3CommunitySupporter||p("Responsibilities.L3CommunitySupporter",!0),r.L3Coordinator||p("Responsibilities.L3Coordinator",!0),r.L3CoreDeveloper||p("Responsibilities.L3CoreDeveloper",!0),r.L3GoldenUser||p("Responsibilities.L3GoldenUser",!0),r.L3InfrastructureSupporter||p("Responsibilities.L3InfrastructureSupporter",!0),r.L3SteeringBoard||p("Responsibilities.L3SteeringBoard",!0),r.L3Trainer||p("Responsibilities.L3Trainer",!0),r.L3UserSupporter||p("Responsibilities.L3UserSupporter",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,s.jsx)(t.p,{children:"At the start of level 3, the documentation and scientific publication is ready for silver users to learn the practices in workshops, trainings, and hackathons."}),"\n",(0,s.jsx)(t.h3,{id:"during-the-workshop-use-phase",children:"During the workshop use phase"}),"\n",(0,s.jsx)(t.p,{children:"During this phase silver users are invited to join workshops, trainings, or hackathons to learn the features and\ncomponents developed in the virtual lab and conduct their own exercises."}),"\n",(0,s.jsx)(t.p,{children:"The following should be done during workshop use:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Documentation","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Gather user feedback on the documentation."}),"\n",(0,s.jsx)(t.li,{children:"Continuously improve the documentation."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["Codebase","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Find out if the architecture of the virtual lab is understandable and maintainable."}),"\n",(0,s.jsx)(t.li,{children:"Continuously improve the codebase."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["Deployment","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"The virtual lab should be published on MyLifeWatch."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"workshop-use-milestone",children:"Workshop use milestone"}),"\n",(0,s.jsx)(t.p,{children:"In this phase at least one workshop should be given to a group of 10 to 25 potential users.\nAdditionally, user feedback should be gathered and processed."}),"\n",(0,s.jsx)(t.h3,{id:"workshop-use-responsibilities",children:"Workshop use responsibilities"}),"\n",(0,s.jsx)(t.p,{children:"The following responsibilities should be assigned during workshop use:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Golden users: ",(0,s.jsx)(r.L3GoldenUser,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Scientific steering board: ",(0,s.jsx)(r.L3SteeringBoard,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Community supporter: ",(0,s.jsx)(r.L3CommunitySupporter,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Virtual lab trainer: ",(0,s.jsx)(r.L3Trainer,{})]}),"\n",(0,s.jsxs)(t.li,{children:["User supporter: ",(0,s.jsx)(r.L3UserSupporter,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Core developer: ",(0,s.jsx)(r.L3CoreDeveloper,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Infrastructure supporter: ",(0,s.jsx)(r.L3InfrastructureSupporter,{})]}),"\n",(0,s.jsxs)(t.li,{children:["Virtual lab coordinator: ",(0,s.jsx)(r.L3Coordinator,{})]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"exit-conditions",children:"Exit conditions"}),"\n",(0,s.jsx)(t.p,{children:"The virtual lab becomes an operational service, if scientists taking part in the workshops, trainings, and hackathons\nfind that they can use the virtual lab in their research, and the training material and guidelines are ready for normal (ivory) users to use."}),"\n",(0,s.jsx)(t.p,{children:"Virtual labs do not need to reach operational service to be successful. A lab could also be the perfect fit for the scientific\nscenario of the golden users, but not have any other users who can apply it in their own research.\nIt is important to weigh the scientific benefits of advancing a virtual lab to the next readiness level to the effort and cost involved in doing that.\nIn case none of the silver users keeps using the virtual labs after the workshops, the virtual lab should be archived."}),"\n",(0,s.jsx)(t.p,{children:"To evolve to an operational service, all previous criteria apply in addition to the following:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Community","\n",(0,s.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,s.jsxs)(t.li,{className:"task-list-item",children:[(0,s.jsx)(t.input,{type:"checkbox",disabled:!0})," ","There is a scientific steering board who are willing to take care of the scientific\ndirection of the virtual lab."]}),"\n",(0,s.jsxs)(t.li,{className:"task-list-item",children:[(0,s.jsx)(t.input,{type:"checkbox",disabled:!0})," ","The is a community of users who benefit from doing their research in the virtual lab."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["Dependencies","\n",(0,s.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,s.jsxs)(t.li,{className:"task-list-item",children:[(0,s.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Dependencies are specified. The dependencies are in the dockerfile of the virtual lab,\nbut should be duplicated in the metadata such that a person can in theory also run the source code on their own machine after installing the dependencies manually."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["Deployment","\n",(0,s.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,s.jsxs)(t.li,{className:"task-list-item",children:[(0,s.jsx)(t.input,{type:"checkbox",disabled:!0})," ","Deploy the virtual lab on MyLifeWatch."]}),"\n"]}),"\n"]}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}function p(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,i)=>{i.r(t),i.d(t,{L0CommunitySupporter:()=>s,L0Coordinator:()=>p,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>w,L1DevOps:()=>x,L1GoldenUser:()=>h,L1InfrastructureSupporter:()=>S,L1Reviewer:()=>C,L2CommunitySupporter:()=>r,L2Coordinator:()=>m,L2CoreDeveloper:()=>k,L2DevOps:()=>L,L2GoldenUser:()=>u,L2InfrastructureSupporter:()=>_,L2Trainer:()=>E,L2VREResearcher:()=>U,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>j,L3GoldenUser:()=>d,L3InfrastructureSupporter:()=>D,L3SteeringBoard:()=>I,L3Trainer:()=>T,L3UserSupporter:()=>N,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>y,L4GoldenUser:()=>c,L4InfrastructureSupporter:()=>R,L4SteeringBoard:()=>G,L4UserSupporter:()=>V});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",r=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",h=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",u=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",d=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",c=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",x=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",k=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",j=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",y=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",S=()=>"Advises and provides the infrastructure for the virtual lab.",_=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",D=()=>"Ensures the infrastructure can support the training sessions.",R=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",E=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",T=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",U=()=>"Potentially publishes a technical paper in addition to the domain paper.",I=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",N=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",V=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>o});var s=i(7294);const n={},r=s.createContext(n);function o(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/a65f7afd.e081efaf.js b/pr-preview/pr-33/assets/js/a65f7afd.e081efaf.js new file mode 100644 index 0000000..641f76a --- /dev/null +++ b/pr-preview/pr-33/assets/js/a65f7afd.e081efaf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[63],{1901:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>h,default:()=>f,frontMatter:()=>c,metadata:()=>d,toc:()=>g});var i=t(5893),s=t(1151),a=t(3901),r=t(2004);const o=t.p+"assets/medias/GettingStartedVRE-f8e58c19f2a2792084f7f44ca675f285.mp4",l=t.p+"assets/medias/NaaVREICOSDemo-2c9e806d0abdf0aef0502661806eeb6b.mp4",c={sidebar_position:2},h="Getting Started with NaaVRE tutorial",d={id:"tutorials/index",title:"Getting Started with NaaVRE tutorial",description:"The aim of this tutorial is to discover the basic functionalities of NaaVRE",source:"@site/docs/tutorials/index.mdx",sourceDirName:"tutorials",slug:"/tutorials/",permalink:"/pr-preview/pr-33/docs/tutorials/",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/tutorials/index.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"VRE researcher",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher"},next:{title:"The NaaVRE Interface",permalink:"/pr-preview/pr-33/docs/NaaVRE_Interface/"}},p={},g=[{value:"Starting NaaVRE",id:"starting-naavre",level:2},{value:"Signing in",id:"signing-in",level:3},{value:"Pick your collaborative virtual lab",id:"pick-your-collaborative-virtual-lab",level:3},{value:"Starting your virtual lab",id:"starting-your-virtual-lab",level:3},{value:"The NaaVRE interface in Jupyter Lab",id:"the-naavre-interface-in-jupyter-lab",level:3},{value:"From notebook to workflow",id:"from-notebook-to-workflow",level:2},{value:"Create a notebook",id:"create-a-notebook",level:3},{value:"Containerize the cells",id:"containerize-the-cells",level:3},{value:"Compose a workflow",id:"compose-a-workflow",level:3},{value:"Monitor the workflow",id:"monitor-the-workflow",level:3},{value:"A more realistic example",id:"a-more-realistic-example",level:2},{value:"Run it yourself",id:"run-it-yourself",level:3}];function x(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"getting-started-with-naavre-tutorial",children:"Getting Started with NaaVRE tutorial"}),"\n",(0,i.jsx)(n.p,{children:"The aim of this tutorial is to discover the basic functionalities of NaaVRE: logging in, starting your virtual lab, and creating a workflow from a notebook:"}),"\n",(0,i.jsx)(a.Z,{toc:g}),"\n",(0,i.jsx)(n.p,{children:"This is a screencast of the tutorial:"}),"\n",(0,i.jsx)(r.Z,{controls:!0,width:"100%",height:"auto",url:o}),"\n",(0,i.jsx)(n.h2,{id:"starting-naavre",children:"Starting NaaVRE"}),"\n",(0,i.jsxs)(n.p,{children:["Open the NaaVRE demo: ",(0,i.jsx)(n.a,{href:"https://naavre.lifewatch.dev",children:"https://naavre.lifewatch.dev"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Startin point",src:t(7972).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"signing-in",children:"Signing in"}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Login' button."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Sign in",src:t(4913).Z+"",width:"768",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Chose your preferred login method:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"option 1 (recommended): Google"}),"\n",(0,i.jsx)(n.li,{children:"option 2: Federation with EOSC (provides several options such as GitHub or ORCID)"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Sign in",src:t(6788).Z+"",width:"768",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Log in with the chosen method (Google shown here)"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Sign in",src:t(4766).Z+"",width:"768",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"pick-your-collaborative-virtual-lab",children:"Pick your collaborative virtual lab"}),"\n",(0,i.jsx)(n.p,{children:"On the main panel, you will see several Virtual Labs (VLs).\nFor this tutorial, select the 'NaaVRE Open Lab'."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Pick VRE",src:t(2875).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"When in the VL you can see:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"A description of the VL"}),"\n",(0,i.jsx)(n.li,{children:"The instances started by other users"}),"\n",(0,i.jsx)(n.li,{children:"A button to start your own instance of the VL"}),"\n",(0,i.jsxs)(n.li,{children:["Assets from the Virtual lab:","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Workflow runs"}),"\n",(0,i.jsx)(n.li,{children:"Data products"}),"\n",(0,i.jsx)(n.li,{children:"Geographical data products"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Pick VRE",src:t(6419).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"starting-your-virtual-lab",children:"Starting your virtual lab"}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Launch my instance' button."}),"\n",(0,i.jsx)(n.p,{children:"This opens a new tab where your virtual lab will be started. Click on the 'Sign in' button."}),"\n",(0,i.jsx)(n.p,{children:"On the new page click on the 'Sign in' button."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Start VRE",src:t(4618).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Your virtual lab instance starts up."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Start VRE",src:t(2637).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"the-naavre-interface-in-jupyter-lab",children:"The NaaVRE interface in Jupyter Lab"}),"\n",(0,i.jsxs)(n.p,{children:["You now see the NaaVRE interface in Jupyter lab.\n(You can read more details ",(0,i.jsx)(n.a,{href:"../NaaVRE_Interface",children:"here"}),")."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Launcher",src:t(128).Z+"",width:"951",height:"668"})}),"\n",(0,i.jsx)(n.h2,{id:"from-notebook-to-workflow",children:"From notebook to workflow"}),"\n",(0,i.jsx)(n.h3,{id:"create-a-notebook",children:"Create a notebook"}),"\n",(0,i.jsx)(n.p,{children:"Create a new Python or a R notebook by clicking on the 'Python 3' or the 'R' icon under 'Notebook' on the launcher tab."}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"If the Launcher page is not open, click on the new tab button or 'File->New->New Launcher'."})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Create notebook",src:t(5105).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Add some code to the notebook. For this tutorial, we will use a simple 'hello, world' example over two cells. The first one sets the data (in a real world application, this cell could download data from a repository), the second one prints the data (this could correspond to processing the data and generating some figures)."}),"\n",(0,i.jsx)(n.p,{children:"If you chose Python:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-python",children:'# Input list\nnames = ["Alice", "Bob"]\n'})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-python",children:'# Process list\nfor name in names:\n print(f"Hello, {name}!")\n'})}),"\n",(0,i.jsx)(n.p,{children:"If you chose R:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-R",children:'# Input list\nnames = list("Alice", "Bob")\n'})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-R",children:'# Process list\nfor (name in names) {\n print(sprintf("Hello, %s!", name))\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Create notebook",src:t(9776).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"containerize-the-cells",children:"Containerize the cells"}),"\n",(0,i.jsx)(n.p,{children:"Open the component containerizer panel by clicking on the icon in the left-hand bar."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(8312).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Select the first cell to containerize it."}),"\n",(0,i.jsx)(n.p,{children:"On the left panel, you will see a preview of the containerized cell with the detected inputs, outputs, parameters and dependencies (if any)."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(8863).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Set the variable types to 'List'. For Python notebooks, type is inferred automatically."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(4430).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Select the base image for the containerized cell ('r' or 'python' depending on your notebook)."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(6796).Z+"",width:"1126",height:"1013"})}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Create' button."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"This publishes the contents of the cell to a public repository on GitHub. Do not containerize cells containing passwords, API keys, or any code you wish to keep private."})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(363).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Congratulations, you containerized your first cell!"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Containerize cells",src:t(9664).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Repeat the containerization cells for the second cell in the notebook."}),"\n",(0,i.jsx)(n.h3,{id:"compose-a-workflow",children:"Compose a workflow"}),"\n",(0,i.jsx)(n.p,{children:"To compose a workflow open a new tab and click on the 'Experimenter Manager' icon."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(8891).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(8427).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Cells catalogue' button."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(3654).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"For each of the cells you created:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"select the cell,"}),"\n",(0,i.jsx)(n.li,{children:"click on Add to workspace."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(8e3).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Drag and drop the two cells onto the canvas, as well as a 'splitter' cell."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(4846).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Connect the cells nodes."}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"It is important to note that the direction of the connections between the cells is important as it indicates the flow of ]\ndata dependencies between the cells. Therefore, the flow should be: 'Input list' -> 'Splitter' -> 'Process list'."})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(6680).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Click on the 'Run' button."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(9943).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"Click on 'Execute'"}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["If your workflow uses ",(0,i.jsx)(n.a,{href:"../NaaVRE_Interface/#special-variables",children:"parameters"}),", you can set their values here. To use values from the notebook, click on 'Use notebook values'."]})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(9077).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.h3,{id:"monitor-the-workflow",children:"Monitor the workflow"}),"\n",(0,i.jsx)(n.p,{children:"To check the progress of the workflow click on the link on the pop-up message."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Experimenter Manager",src:t(8350).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.p,{children:"This will take you to the workflow engine page where you can see the progress of the workflow. Click on a node to see its status and logs."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Workflow Engine",src:t(5554).Z+"",width:"900",height:"810"})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"The first time you open the workflow engine, select the 'single sign-on' login, and close the welcome message."})}),"\n",(0,i.jsx)(n.h2,{id:"a-more-realistic-example",children:"A more realistic example"}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["This example is part of the EGU ",(0,i.jsx)(n.a,{href:"https://meetingorganizer.copernicus.org/EGU24/session/49515",children:"SC5.19: Mastering Environmental Research through FAIR Data Integration, VREs and Open Science"}),"."]})}),"\n",(0,i.jsx)(n.p,{children:"We present a more realistic workflow using data from ICOS:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"list stations matching given criteria"}),"\n",(0,i.jsx)(n.li,{children:"list data products matching given criteria for these stations"}),"\n",(0,i.jsx)(n.li,{children:"plot a specific variable for these data products"}),"\n",(0,i.jsx)(n.li,{children:"save the plots"}),"\n"]}),"\n",(0,i.jsx)(r.Z,{controls:!0,width:"100%",height:"auto",url:l}),"\n",(0,i.jsx)(n.h3,{id:"run-it-yourself",children:"Run it yourself"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 1"})," Open the example notebook in NaaVRE by following ",(0,i.jsx)(n.a,{href:"https://naavre.lifewatch.dev/vl-openlab/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2FQCDIS%2Flifewatch-notebooks&urlpath=lab%2Ftree%2Flifewatch-notebooks%2FICOS-demo%2Fegu24-icos-naavre.ipynb&branch=main",children:"this link"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(8003).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 2"})," Fill-in the values for ",(0,i.jsx)(n.code,{children:"param_cpauth_token"})," (cell 2), ",(0,i.jsx)(n.code,{children:"param_s3_user_prefix"}),", ",(0,i.jsx)(n.code,{children:"param_s3_access_key"}),", and ",(0,i.jsx)(n.code,{children:"param_s3_secret_key"})," (cell 6). The s3 params and the \u201cUpload files\u201d step can be skipped if you want to make the tutorial shorter."]}),"\n",(0,i.jsx)(n.p,{children:"After filling in the values, you have the possibility to run the notebook."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(3427).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 3"})," Containerize the cells of the notebook (see ",(0,i.jsx)(n.a,{href:"#containerize-the-cells",children:"\u201cContainerize the cells\u201d"})," in the above tutorial)."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(1178).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 4"})," Create a workflow (see ",(0,i.jsx)(n.a,{href:"#compose-a-workflow",children:"\u201cCompose a workflow\u201d"}),") using the cells you just containerized, in the following order:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"List ICOS stations"}),"\n",(0,i.jsx)(n.li,{children:"List data products"}),"\n",(0,i.jsx)(n.li,{children:"Splitter"}),"\n",(0,i.jsx)(n.li,{children:"Plot time series"}),"\n",(0,i.jsx)(n.li,{children:"Merger (optional)"}),"\n",(0,i.jsx)(n.li,{children:"Upload files (optional)"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(7575).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 5"})," Run the workflow:"]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Click on the \u201cRun\u201d button"}),"\n",(0,i.jsx)(n.li,{children:"Fill in the workflow parameters by clicking on the \u201cUse notebook values\u201d button. Notice that you can edit the parameters at this stage, without having to re-containerize the cells or re-create the workflow."}),"\n",(0,i.jsx)(n.li,{children:"Click on \u201cExecute\u201d"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(8987).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 6"})," Monitor the workflow execution (see ",(0,i.jsx)(n.a,{href:"#monitor-the-workflow",children:"\u201cMonitor the workflow\u201d"}),")"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(1026).Z+"",width:"898",height:"808"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Step 7"})," Retrieve the results"]}),"\n",(0,i.jsx)(n.p,{children:"If you used the \u201cUpload files\u201d cell, you can retrieve the results that have been uploaded to the MinIO server."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ICOS example",src:t(8331).Z+"",width:"898",height:"808"})})]})}function f(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(x,{...e})}):x(e)}},8003:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_1-dfd756f376bb5d10243c21305079e9a0.png"},3427:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_2-92faa23841aab2cf015ebb7e45592c0a.png"},1178:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_3-3ca2107fcfce9f518e07e37a11f02cbc.png"},7575:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_4-9a167161c4a417bd3830c5016235defe.png"},8987:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_5-f68f4cf4630c8121e18c4668712de35b.png"},1026:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_6-56f55278365a743200e329065ed13ab9.png"},8331:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/10_example_icos_7-d1fe9d5169e4477b7ea5134ccd8523a7.png"},7972:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/1_starting_point-1b110d23ba5b4ff9058c445d475aa549.png"},4913:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/2_signin_1-17934bc19db36bfefa4da380ca635a21.png"},6788:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/2_signin_2-ebba53247893ccb0fc59cb3152944882.png"},4766:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/2_signin_3-6ec134e26bc8fb371877820d74c62e8d.png"},2875:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/3_pick_vre_1-9df30abd2081134175b86a445fe0829e.png"},6419:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/3_pick_vre_2-6a2be3dd99dffeb5b3db14690688c841.png"},4618:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/4_start_vre_1-fa90be6957ed13821a0de360075e6dba.png"},2637:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/4_start_vre_2-860c5476324f633dcf4100a873912e68.png"},128:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/5_naavre_interface-441fe6fcba0c3cac6eb3a9294e33d740.png"},5105:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/6_create_notebook_1-a664a6b8752037a1526d70af3b472608.png"},9776:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/6_create_notebook_3-d72aa74930792849072e0f58f8baaa94.png"},8312:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_1-bd16d7f6c8b37901799803b31d8f43d8.png"},8863:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_2-474fcecd41fba6dfe2bb8a0c0c609655.png"},4430:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_3-98601ebf55684e1981bdbcd166fce713.png"},6796:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_4-7ea22f6fe34fb97eca2a1774cfded046.png"},363:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_5-bc28ba8919cf261c65bf0dcde6124f4b.png"},9664:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/7_containerize_6-1aa99944ddebc8b3184fae6f6846c343.png"},8891:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_1-82f1c05dbde9ed77051bc60e19147d7a.png"},8427:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_2-ad01915453712124333b1d29f020e6da.png"},3654:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_3-63858b38db719a237f033958ed1c502a.png"},8e3:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_4-2ab00df5660a327b2cacee40b87f5e2c.png"},4846:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_5-63ceed268a7e397dcfbc280ce762f8d2.png"},6680:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_6-f952bb9e4996148268200a64e6f48667.png"},9943:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_7-1a5130804476bb0b7fe41aca3eb450a1.png"},9077:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_8-90737f51cc92f99f8de181955ae7f2d5.png"},8350:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/8_workflow_9-0766f26eff5f67192e624d842261d351.png"},5554:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/9_argo_1-d4408b9bb320806c8a666c2c2b009e17.png"}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/a7bd4aaa.f385fbff.js b/pr-preview/pr-33/assets/js/a7bd4aaa.f385fbff.js new file mode 100644 index 0000000..27ce75e --- /dev/null +++ b/pr-preview/pr-33/assets/js/a7bd4aaa.f385fbff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[518],{8564:(e,n,s)=>{s.r(n),s.d(n,{default:()=>d});s(7294);var r=s(1944),o=s(3320),t=s(4477),i=s(8790),a=s(197),c=s(5893);function u(e){const{version:n}=e;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(a.Z,{version:n.version,tag:(0,o.os)(n.pluginId,n.version)}),(0,c.jsx)(r.d,{children:n.noIndex&&(0,c.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(e){const{version:n,route:s}=e;return(0,c.jsx)(r.FG,{className:n.className,children:(0,c.jsx)(t.q,{version:n,children:(0,i.H)(s.routes)})})}function d(e){return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(u,{...e}),(0,c.jsx)(l,{...e})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/a84c24dd.41744933.js b/pr-preview/pr-33/assets/js/a84c24dd.41744933.js new file mode 100644 index 0000000..0bff22f --- /dev/null +++ b/pr-preview/pr-33/assets/js/a84c24dd.41744933.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[385],{3263:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var i=r(5893),n=r(1151),s=r(2457);const a={sidebar_position:1,title:"Reviewer"},o=void 0,l={id:"readiness_levels/Virtual_lab_roles/Reviewer",title:"Reviewer",description:"The reviewer can contribute the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Reviewer.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Reviewer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Reviewer.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Reviewer"},sidebar:"tutorialSidebar",previous:{title:"Infrastructure supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter"},next:{title:"Scientific steering board",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board"}},u={},h=[];function p(e){const t={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return s||c("Responsibilities",!1),s.L1Reviewer||c("Responsibilities.L1Reviewer",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The reviewer can contribute the following per level:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["L1: ",(0,i.jsx)(s.L1Reviewer,{})]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}function c(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>w,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>x,L1Reviewer:()=>k,L2CommunitySupporter:()=>s,L2Coordinator:()=>m,L2CoreDeveloper:()=>_,L2DevOps:()=>L,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>S,L2Trainer:()=>D,L2VREResearcher:()=>j,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>C,L3GoldenUser:()=>p,L3InfrastructureSupporter:()=>E,L3SteeringBoard:()=>I,L3Trainer:()=>P,L3UserSupporter:()=>G,L4CommunitySupporter:()=>o,L4Coordinator:()=>f,L4CoreDeveloper:()=>R,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>V,L4SteeringBoard:()=>U,L4UserSupporter:()=>T});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",s=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",p=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",w=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",R=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",x=()=>"Advises and provides the infrastructure for the virtual lab.",S=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",E=()=>"Ensures the infrastructure can support the training sessions.",V=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",D=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",P=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",j=()=>"Potentially publishes a technical paper in addition to the domain paper.",I=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",U=()=>"Coordinates the further development of the virtual lab with a scientific vision.",G=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>o,a:()=>a});var i=r(7294);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/a94703ab.39a4eb2d.js b/pr-preview/pr-33/assets/js/a94703ab.39a4eb2d.js new file mode 100644 index 0000000..0cf7b21 --- /dev/null +++ b/pr-preview/pr-33/assets/js/a94703ab.39a4eb2d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[368],{2674:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(7294),o=n(512),i=n(1944),s=n(5281),l=n(2802),r=n(1116),c=n(5999),d=n(2466),u=n(5936);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(5893);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.Ct)();return(0,d.RF)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.S)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",s.k.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(1442),x=n(6550),f=n(7524),j=n(6668),k=n(1327);function _(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const v={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function g(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",v.collapseSidebarButton),onClick:t,children:(0,b.jsx)(_,{className:v.collapseSidebarButtonIcon})})}var C=n(9689),S=n(902);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var B=n(6043),Z=n(8596),A=n(9960),L=n(2389);function y(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),type:"button",className:"clean-btn menu__caret",onClick:a})}function w(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.L)(),k=function(e){const t=(0,L.Z)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.LM)(e):void 0),[e,t])}(t),_=(0,l._F)(t,i),v=(0,Z.Mg)(x,i),{collapsed:g,setCollapsed:C}=(0,B.u)({initialState:()=>!!h&&(!_&&t.collapsed)}),{expandedItem:T,setExpandedItem:w}=function(){const e=(0,a.useContext)(N);if(e===I)throw new S.i6("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!g),w(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.D9)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:_,collapsed:g,updateCollapsed:E}),(0,a.useEffect)((()=>{h&&null!=T&&T!==c&&f&&C(!0)}),[h,T,c,C,f]),(0,b.jsxs)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemCategory,s.k.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":g},p),children:[(0,b.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(A.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":_}),onClick:h?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":h?!g:void 0,href:h?k??"#":k,...d,children:m}),x&&h&&(0,b.jsx)(y,{collapsed:g,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(B.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:(0,b.jsx)(V,{items:u,tabIndex:g?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var E=n(3919),H=n(9471);const M={menuExternalLink:"menuExternalLink_NmtK"};function R(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l._F)(t,a),x=(0,E.Z)(d);return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(A.Z,{className:(0,o.Z)("menu__link",!x&&M.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(H.Z,{})]})},u)}const W={menuHtmlItem:"menuHtmlItem_M9Kj"};function F(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(n),l&&[W.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function P(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(w,{item:t,...n});case"html":return(0,b.jsx)(F,{item:t,...n});default:return(0,b.jsx)(R,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.f)(t,n.activePath);return(0,b.jsx)(T,{children:a.map(((e,t)=>(0,b.jsx)(P,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(D),U={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function K(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.nT)(),[t,n]=(0,a.useState)(e);return(0,d.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,l&&U.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const Y="sidebar_njMd",z="sidebarWithHideableNavbar_wUlq",G="sidebarHidden_VK0M",O="sidebarLogo_isFc";function q(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.L)();return(0,b.jsxs)("div",{className:(0,o.Z)(Y,s&&z,i&&G),children:[s&&(0,b.jsx)(k.Z,{tabIndex:-1,className:O}),(0,b.jsx)(K,{path:t,sidebar:n}),l&&(0,b.jsx)(g,{onClick:a})]})}const J=a.memo(q);var Q=n(3102),X=n(2961);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,X.e)();return(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(Q.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(J,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(_,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function se(e){let{children:t}=e;const n=(0,r.V)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.TH)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.n)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.Z)(s.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.Z)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.V)();return(0,b.jsx)("main",{className:(0,o.Z)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,r.V)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(5658);function be(e){const t=(0,l.SN)(e);if(!t)return(0,b.jsx)(me.Z,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.FG,{className:(0,o.Z)(s.k.page.docsDocPage),children:(0,b.jsx)(r.b,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},5658:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var a=n(512),o=n(5999),i=n(2503),s=n(5893);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.Z)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.Z,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/bb19cae0.81d1e62b.js b/pr-preview/pr-33/assets/js/bb19cae0.81d1e62b.js new file mode 100644 index 0000000..c66ce5f --- /dev/null +++ b/pr-preview/pr-33/assets/js/bb19cae0.81d1e62b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[686],{3121:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var i=r(5893),s=r(1151),n=r(2457);const o={sidebar_position:1,title:"L4 - Operational service"},a=void 0,l={id:"readiness_levels/L4_operational_service",title:"L4 - Operational service",description:"Start situation",source:"@site/docs/readiness_levels/L4_operational_service.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L4_operational_service",permalink:"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L4_operational_service.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L4 - Operational service"},sidebar:"tutorialSidebar",previous:{title:"L3 - Workshop use",permalink:"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use"},next:{title:"RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.",permalink:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/"}},u={},p=[{value:"Start situation",id:"start-situation",level:3},{value:"During operational service",id:"during-operational-service",level:3},{value:"Operational service milestones",id:"operational-service-milestones",level:3},{value:"Operational service responsibilities",id:"operational-service-responsibilities",level:3}];function h(e){const t={h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return n||d("Responsibilities",!1),n.L4CommunitySupporter||d("Responsibilities.L4CommunitySupporter",!0),n.L4Coordinator||d("Responsibilities.L4Coordinator",!0),n.L4CoreDeveloper||d("Responsibilities.L4CoreDeveloper",!0),n.L4InfrastructureSupporter||d("Responsibilities.L4InfrastructureSupporter",!0),n.L4SteeringBoard||d("Responsibilities.L4SteeringBoard",!0),n.L4UserSupporter||d("Responsibilities.L4UserSupporter",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,i.jsx)(t.p,{children:"At the start of the operational service phase, the lab has been tested by multiple users and the documentation has matured."}),"\n",(0,i.jsx)(t.h3,{id:"during-operational-service",children:"During operational service"}),"\n",(0,i.jsx)(t.p,{children:"In this phase the virtual lab has been industrialized and is provisioned on the research infrastructure."}),"\n",(0,i.jsx)(t.p,{children:"The following should be done during operational service:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Expand and adapt the virtual lab where useful."}),"\n",(0,i.jsx)(t.li,{children:"Keep up to date with new versions of dependencies."}),"\n",(0,i.jsx)(t.li,{children:"Make the containerized cells and workflow interoperable with other systems where use cases for the interoperability between NaaVRE and another system arise."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"operational-service-milestones",children:"Operational service milestones"}),"\n",(0,i.jsx)(t.p,{children:"The following milestones can occur when a virtual lab runs as an operational service:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Silver and ivory users successfully run their own scenarios in the virtual lab."}),"\n",(0,i.jsx)(t.li,{children:"Silver and ivory users make their own modifications to the virtual lab to facilitate their research."}),"\n",(0,i.jsx)(t.li,{children:"Users come up with ideas that spawn the creation of a new virtual lab:\nWhenever users of the virtual lab come up with a new idea that does not fit in the possibilities of existing virtual labs,\nthey can contact the community supporter or virtual lab coordinator to discuss the possibilities of creating a new virtual lab."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"operational-service-responsibilities",children:"Operational service responsibilities"}),"\n",(0,i.jsx)(t.p,{children:"The following responsibilities should be assigned when the virtual lab is an operational service:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Scientific steering board: ",(0,i.jsx)(n.L4SteeringBoard,{})]}),"\n",(0,i.jsxs)(t.li,{children:["User supporter: ",(0,i.jsx)(n.L4UserSupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Community supporter: ",(0,i.jsx)(n.L4CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Core developer: ",(0,i.jsx)(n.L4CoreDeveloper,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Virtual lab coordinator: ",(0,i.jsx)(n.L4Coordinator,{})]}),"\n",(0,i.jsxs)(t.li,{children:["Infrastructure supporter: ",(0,i.jsx)(n.L4InfrastructureSupporter,{})]}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}function d(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>d,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>s,L1Coordinator:()=>v,L1CoreDeveloper:()=>x,L1DevOps:()=>w,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>k,L1Reviewer:()=>j,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>y,L2DevOps:()=>L,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>_,L2Trainer:()=>D,L2VREResearcher:()=>I,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>C,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>R,L3SteeringBoard:()=>O,L3Trainer:()=>U,L3UserSupporter:()=>P,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>S,L4GoldenUser:()=>c,L4InfrastructureSupporter:()=>E,L4SteeringBoard:()=>V,L4UserSupporter:()=>T});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",s=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",c=()=>"A golden user can keep on using the virtual lab for their own experiments.",d=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",w=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",x=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",j=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",k=()=>"Advises and provides the infrastructure for the virtual lab.",_=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",R=()=>"Ensures the infrastructure can support the training sessions.",E=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",D=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",U=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",I=()=>"Potentially publishes a technical paper in addition to the domain paper.",O=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",V=()=>"Coordinates the further development of the virtual lab with a scientific vision.",P=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",T=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>o});var i=r(7294);const s={},n=i.createContext(s);function o(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/c9526f62.90de1b8e.js b/pr-preview/pr-33/assets/js/c9526f62.90de1b8e.js new file mode 100644 index 0000000..22880f4 --- /dev/null +++ b/pr-preview/pr-33/assets/js/c9526f62.90de1b8e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[48],{9477:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var s=t(5893),i=t(1151),n=t(2457);const o={sidebar_position:1,title:"User supporter"},a=void 0,l={id:"readiness_levels/Virtual_lab_roles/User_supporter",title:"User supporter",description:"The user supporter contributes the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/User_supporter.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/User_supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/User_supporter.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"User supporter"},sidebar:"tutorialSidebar",previous:{title:"Trainer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer"},next:{title:"VRE researcher",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher"}},u={},p=[];function h(e){const r={li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return n||c("Responsibilities",!1),n.L3UserSupporter||c("Responsibilities.L3UserSupporter",!0),n.L4UserSupporter||c("Responsibilities.L4UserSupporter",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.p,{children:"The user supporter contributes the following per level:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["L3: ",(0,s.jsx)(n.L3UserSupporter,{})]}),"\n",(0,s.jsxs)(r.li,{children:["L4: ",(0,s.jsx)(n.L4UserSupporter,{})]}),"\n"]})]})}function d(e={}){const{wrapper:r}={...(0,i.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}function c(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>s,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>i,L1Coordinator:()=>v,L1CoreDeveloper:()=>_,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>x,L1Reviewer:()=>k,L2CommunitySupporter:()=>n,L2Coordinator:()=>m,L2CoreDeveloper:()=>y,L2DevOps:()=>w,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>U,L2Trainer:()=>R,L2VREResearcher:()=>j,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>C,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>E,L3SteeringBoard:()=>P,L3Trainer:()=>D,L3UserSupporter:()=>G,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>S,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>V,L4SteeringBoard:()=>T,L4UserSupporter:()=>I});const s=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",i=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",_=()=>"Develop the content of the new virtual lab in NaaVRE.",y=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",x=()=>"Advises and provides the infrastructure for the virtual lab.",U=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",E=()=>"Ensures the infrastructure can support the training sessions.",V=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",D=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",j=()=>"Potentially publishes a technical paper in addition to the domain paper.",P=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",T=()=>"Coordinates the further development of the virtual lab with a scientific vision.",G=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>a,a:()=>o});var s=t(7294);const i={},n=s.createContext(i);function o(e){const r=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/d76867c1.dee9674d.js b/pr-preview/pr-33/assets/js/d76867c1.dee9674d.js new file mode 100644 index 0000000..3ebee4b --- /dev/null +++ b/pr-preview/pr-33/assets/js/d76867c1.dee9674d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[408],{8210:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var n=t(5893),s=t(1151),r=t(2457);const a={sidebar_position:1,title:"L0 - initial proposal"},o=void 0,l={id:"readiness_levels/L0_initial_proposal",title:"L0 - initial proposal",description:"Start situation",source:"@site/docs/readiness_levels/L0_initial_proposal.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/L0_initial_proposal",permalink:"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/L0_initial_proposal.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"L0 - initial proposal"},sidebar:"tutorialSidebar",previous:{title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform",permalink:"/pr-preview/pr-33/docs/readiness_levels/"},next:{title:"L1 - Co-development",permalink:"/pr-preview/pr-33/docs/readiness_levels/L1_co-development"}},c={},h=[{value:"Start situation",id:"start-situation",level:3},{value:"During the initial proposal phase",id:"during-the-initial-proposal-phase",level:3},{value:"Initial proposal responsibilities",id:"initial-proposal-responsibilities",level:3},{value:"Initial proposal milestones",id:"initial-proposal-milestones",level:3},{value:"Exit conditions",id:"exit-conditions",level:3}];function d(e){const i={a:"a",h3:"h3",input:"input",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return r||p("Responsibilities",!1),r.L0CommunitySupporter||p("Responsibilities.L0CommunitySupporter",!0),r.L0Coordinator||p("Responsibilities.L0Coordinator",!0),r.L0DevOps||p("Responsibilities.L0DevOps",!0),r.L0GoldenUser||p("Responsibilities.L0GoldenUser",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h3,{id:"start-situation",children:"Start situation"}),"\n",(0,n.jsx)(i.p,{children:"A new virtual lab starts with potential (golden) users who are willing to use NaaVRE to conduct their research.\nThey will be selected, or reached out. The (golden) user will propose a virtual lab based on a scientific story\nand technical starting point.\nIf a NaaVRE virtual lab seems a suitable platform to conduct the research,\nthe potential (golden) users, the community manager, and NaaVRE DevOps team work out the idea further, recruit a team of core developers,\nestablish ambitions, and make a timeline for the virtual lab."}),"\n",(0,n.jsx)(i.h3,{id:"during-the-initial-proposal-phase",children:"During the initial proposal phase"}),"\n",(0,n.jsx)(i.p,{children:"The following things should be done to work out the initial proposal to a concrete virtual lab:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["Feasibility","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Check if the research activity can be done in NaaVRE."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Team recruitment","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Find and hire a team of core developers to build the virtual lab."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Plan","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Write a development plan for the virtual lab. What scientific scenario will be investigated and what is needed to enable that?"}),"\n",(0,n.jsx)(i.li,{children:"Make a timeline for the co-development, validation of the virtual lab and development of training material."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Licensing","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["Choose a license for the virtual lab. We recommend using the ",(0,n.jsx)(i.a,{href:"https://choosealicense.com/licenses/apache-2.0/",children:"Apache license 2.0"}),",\nassuming this is compatible with the other packages and software you use in the virtual lab. If the Apache License 2.0 is incompatible with software or libraries used,\nyou can pick another license. We recommend having a look at ",(0,n.jsx)(i.a,{href:"https://choosealicense.com/",children:"https://choosealicense.com/"}),"."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Codebase","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"The virtual lab coordinator will create a new virtual lab."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Version control","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Store the codebase on a repository with version control (e.g. git)."}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Documentation","\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"Pick a nice name for your virtual lab. Make sure the name won't be mixed up with other virtual labs."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"initial-proposal-responsibilities",children:"Initial proposal responsibilities"}),"\n",(0,n.jsx)(i.p,{children:"The following roles are involved in a initial proposal:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["Community supporter: ",(0,n.jsx)(r.L0CommunitySupporter,{})]}),"\n",(0,n.jsxs)(i.li,{children:["Golden users: ",(0,n.jsx)(r.L0GoldenUser,{})]}),"\n",(0,n.jsxs)(i.li,{children:["Virtual lab coordinator: ",(0,n.jsx)(r.L0Coordinator,{})]}),"\n",(0,n.jsxs)(i.li,{children:["VRE DevOps engineer: ",(0,n.jsx)(r.L0DevOps,{})]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"initial-proposal-milestones",children:"Initial proposal milestones"}),"\n",(0,n.jsx)(i.p,{children:"The following milestones can be achieved during the phase L0 of virtual lab development:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:"The core development team becomes complete."}),"\n",(0,n.jsx)(i.li,{children:"The creation of a new empty virtual lab."}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"exit-conditions",children:"Exit conditions"}),"\n",(0,n.jsx)(i.p,{children:"To transition from initial proposal to co-development an ambitious but realistic virtual lab proposal should exist.\nThe following should be done:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["Plan","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","There is an ambitious and realistic development plan for the virtual lab."]}),"\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","A timeline exists for the co-development, validation of the virtual lab and development of training material."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Codebase","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","A new virtual lab is created."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Version control","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","The codebase repository has version control (e.g. git)."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Security","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","Personal tokens for APIs do not end up in version control. ToDo VLIC: Guideline for secret management ",(0,n.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/276",children:"#276"}),"."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Licensing","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","The virtual lab has a license."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["Documentation","\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","The virtual lab has a nice name."]}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:i}={...(0,s.a)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}function p(e,i){throw new Error("Expected "+(i?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,i,t)=>{t.r(i),t.d(i,{L0CommunitySupporter:()=>n,L0Coordinator:()=>p,L0DevOps:()=>x,L0GoldenUser:()=>l,L1CommunitySupporter:()=>s,L1Coordinator:()=>m,L1CoreDeveloper:()=>w,L1DevOps:()=>g,L1GoldenUser:()=>c,L1InfrastructureSupporter:()=>S,L1Reviewer:()=>C,L2CommunitySupporter:()=>r,L2Coordinator:()=>v,L2CoreDeveloper:()=>L,L2DevOps:()=>j,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>_,L2Trainer:()=>E,L2VREResearcher:()=>T,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>y,L3GoldenUser:()=>d,L3InfrastructureSupporter:()=>N,L3SteeringBoard:()=>V,L3Trainer:()=>R,L3UserSupporter:()=>P,L4CommunitySupporter:()=>o,L4Coordinator:()=>f,L4CoreDeveloper:()=>k,L4GoldenUser:()=>u,L4InfrastructureSupporter:()=>D,L4SteeringBoard:()=>I,L4UserSupporter:()=>G});const n=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",s=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",r=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",c=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",d=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",u=()=>"A golden user can keep on using the virtual lab for their own experiments.",p=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",m=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",v=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",x=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",g=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",j=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",w=()=>"Develop the content of the new virtual lab in NaaVRE.",L=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",y=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",C=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",S=()=>"Advises and provides the infrastructure for the virtual lab.",_=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",N=()=>"Ensures the infrastructure can support the training sessions.",D=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",E=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",R=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",T=()=>"Potentially publishes a technical paper in addition to the domain paper.",V=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",I=()=>"Coordinates the further development of the virtual lab with a scientific vision.",P=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",G=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,i,t)=>{t.d(i,{Z:()=>o,a:()=>a});var n=t(7294);const s={},r=n.createContext(s);function a(e){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/eb592792.e609651f.js b/pr-preview/pr-33/assets/js/eb592792.e609651f.js new file mode 100644 index 0000000..54aa10b --- /dev/null +++ b/pr-preview/pr-33/assets/js/eb592792.e609651f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[453],{6696:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var i=t(5893),n=t(1151),s=t(2457);const a={sidebar_position:1,title:"Trainer"},o=void 0,l={id:"readiness_levels/Virtual_lab_roles/Trainer",title:"Trainer",description:"The trainer contributes the following per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Trainer.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Trainer",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Trainer.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Trainer"},sidebar:"tutorialSidebar",previous:{title:"Scientific steering board",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board"},next:{title:"User supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter"}},u={},h=[];function p(e){const r={li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return s||c("Responsibilities",!1),s.L2Trainer||c("Responsibilities.L2Trainer",!0),s.L3Trainer||c("Responsibilities.L3Trainer",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.p,{children:"The trainer contributes the following per level:"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["L2: ",(0,i.jsx)(s.L2Trainer,{})]}),"\n",(0,i.jsxs)(r.li,{children:["L3: ",(0,i.jsx)(s.L3Trainer,{})]}),"\n"]})]})}function d(e={}){const{wrapper:r}={...(0,n.a)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}function c(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,r,t)=>{t.r(r),t.d(r,{L0CommunitySupporter:()=>i,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>l,L1CommunitySupporter:()=>n,L1Coordinator:()=>v,L1CoreDeveloper:()=>y,L1DevOps:()=>L,L1GoldenUser:()=>u,L1InfrastructureSupporter:()=>T,L1Reviewer:()=>x,L2CommunitySupporter:()=>s,L2Coordinator:()=>m,L2CoreDeveloper:()=>_,L2DevOps:()=>w,L2GoldenUser:()=>h,L2InfrastructureSupporter:()=>S,L2Trainer:()=>R,L2VREResearcher:()=>j,L3CommunitySupporter:()=>a,L3Coordinator:()=>b,L3CoreDeveloper:()=>C,L3GoldenUser:()=>p,L3InfrastructureSupporter:()=>E,L3SteeringBoard:()=>U,L3Trainer:()=>D,L3UserSupporter:()=>G,L4CommunitySupporter:()=>o,L4Coordinator:()=>f,L4CoreDeveloper:()=>k,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>V,L4SteeringBoard:()=>P,L4UserSupporter:()=>I});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",n=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",s=()=>"Finds potential silver users to take part in the trainings in the next phase.",a=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",o=()=>"Identifies any potential new golden users from the community using the virtual lab.",l=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",u=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",h=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",p=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",v=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",m=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",L=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",w=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",y=()=>"Develop the content of the new virtual lab in NaaVRE.",_=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",C=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",k=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",T=()=>"Advises and provides the infrastructure for the virtual lab.",S=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",E=()=>"Ensures the infrastructure can support the training sessions.",V=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",R=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",D=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",j=()=>"Potentially publishes a technical paper in addition to the domain paper.",U=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",P=()=>"Coordinates the further development of the virtual lab with a scientific vision.",G=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,r,t)=>{t.d(r,{Z:()=>o,a:()=>a});var i=t(7294);const n={},s=i.createContext(n);function a(e){const r=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/f8cb845a.3149b4d5.js b/pr-preview/pr-33/assets/js/f8cb845a.3149b4d5.js new file mode 100644 index 0000000..4d85065 --- /dev/null +++ b/pr-preview/pr-33/assets/js/f8cb845a.3149b4d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[207],{8228:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>h});var t=s(5893),r=s(1151);const n=e=>{let{text:i}=e;return(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"41px",height:"52px",viewBox:"-0.5 -0.5 83 104",children:[(0,t.jsx)("rect",{width:"100%",height:"100%",fill:"#ffffff"})," ",(0,t.jsx)("g",{children:(0,t.jsx)("path",{d:"M40 102 L80 62 M40 102 L0 62 M40 41 L0 1 M41 40 L81 0 M80 2 L80 62 M0 2 L0 62",fill:"none",stroke:"black","stroke-miterlimit":"10"})}),(0,t.jsx)("text",{x:"50%",y:"60%",textAnchor:"middle",dominantBaseline:"middle","font-size":"40",children:i})]})},a={sidebar_position:1,title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform"},l=void 0,o={id:"readiness_levels/index",title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform",description:"Version 0.0.2",source:"@site/docs/readiness_levels/index.mdx",sourceDirName:"readiness_levels",slug:"/readiness_levels/",permalink:"/pr-preview/pr-33/docs/readiness_levels/",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/index.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Readiness level framework for co-development of virtual labs on the NaaVRE platform"},sidebar:"tutorialSidebar",previous:{title:"About NaaVRE",permalink:"/pr-preview/pr-33/docs/about"},next:{title:"L0 - initial proposal",permalink:"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal"}},d={},h=[{value:"Content of a virtual lab",id:"content-of-a-virtual-lab",level:2},{value:"Assets",id:"assets",level:3},{value:"Documents",id:"documents",level:3},{value:"Stakeholder roles",id:"stakeholder-roles",level:2},{value:"Readiness levels",id:"readiness-levels",level:2},{value:"Sources",id:"sources",level:2},{value:"Potential ToDos for LifeWatch VLIC",id:"potential-todos-for-lifewatch-vlic",level:2},{value:"Feedback",id:"feedback",level:2}];function c(e){const i={a:"a",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:(0,t.jsx)(i.em,{children:"Version 0.0.2"})}),"\n",(0,t.jsx)(i.p,{children:"The NaaVRE platform facilitates data- and computing-centric research activities by enabling scientists to create customizable virtual labs for specific scientific purposes.\nThis is achieved through a collaborative co-development approach, bringing together domain specialists, computational scientists, data scientists, and development and operations engineers."}),"\n",(0,t.jsx)(i.p,{children:"This readiness level framework assists researchers in virtual lab co-development by:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Introducing the content of virtual labs."}),"\n",(0,t.jsx)(i.li,{children:"Defining stakeholder roles."}),"\n",(0,t.jsx)(i.li,{children:"Describing the progression of a virtual lab through readiness levels,\nhighlighting requirements, milestones and responsibilities."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"content-of-a-virtual-lab",children:"Content of a virtual lab"}),"\n",(0,t.jsx)(i.p,{children:"To successfully develop a reusable and maintainable virtual lab, it is important to understand what a virtual lab is made up of.\nA NaaVRE virtual lab provides a collection of research tools and assets customized for a specific research need:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Assets created in the virtual lab."}),"\n",(0,t.jsx)(i.li,{children:"Documents that support the usability of the virtual lab."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"assets",children:"Assets"}),"\n",(0,t.jsx)(i.p,{children:"Three types of assets can be created in a virtual lab:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"The codebase: Any code written for the virtual lab. The codebase interacts with external resources such as software libraries and external data."}),"\n",(0,t.jsx)(i.li,{children:"Internal data: Produced in the virtual lab by data processing, data analysis, and simulations."}),"\n",(0,t.jsx)(i.li,{children:"Containerized cells and workflows."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"documents",children:"Documents"}),"\n",(0,t.jsx)(i.p,{children:"Besides assets, we encourage the developers of a virtual lab to create documents that aid the FAIRness and maintenance of the virtual lab:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Metadata."}),"\n",(0,t.jsx)(i.li,{children:"Documentation, including a tutorial."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"stakeholder-roles",children:"Stakeholder roles"}),"\n",(0,t.jsx)(i.p,{children:"NaaVRE aims to be a virtual research environment (VRE) that enables experts in computational ecology and ecological data analysis\nto create virtual labs.\nStakeholders are organized into multiple roles to facilitate the collaboration that enables innovative research methods. Some people will only have\none role for the virtual lab, while others might have multiple of the following roles:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Virtual lab usage roles:"})," Roles for the domain scientists using the virtual lab for their own research.","\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Golden_user",children:"Golden user"}),": Provides a scientific scenario that be well investigated in NaaVRE. Is involved in developing a\nnew virtual lab and conducts the first research in that virtual lab."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Silver user:"})," Starts using a virtual lab developed by others for their own scientific scenarios in a workshop, training or hackathon.\nLearns how to use the virtual lab through a workshop, training or hackathon."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Ivory user:"})," Other users that visit or use the virtual lab in a later stage."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Virtual lab development roles:"})," Roles involved in the creation of a new virtual lab.","\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Core_developer",children:"Virtual lab core developers"}),": Develop a new virtual lab in NaaVRE. Often the virtual lab owner will be one of the core developers. Core developers are provided or hired by the golden user."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Reviewer",children:"Virtual lab code reviewers"}),": Provide feedback during co-development on the user-friendliness, maintainability, and robustness of the\nsource code and other assets."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Steering_board",children:"Scientific steering board"}),": Coordinates the development of the virtual lab with a scientific vision."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Virtual lab support roles:"})," Roles to support development and use of virtual labs.","\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Community_supporter",children:"Community supporter"}),": Forms connections between users and the virtual lab."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Trainer",children:"Virtual lab trainer"}),": Knows the lab from a user viewpoint and provides trainings to new users."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Coordinator",children:"Virtual lab coordinator"}),": Knows the lab from a technical perspective and pushes the lab to the next readiness level if there is a user community. Often, this will be an employee at LifeWatch ERIC VLIC"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/DevOps",children:"Virtual research environment development and operations (VRE DevOps) engineer"}),": Maintains NaaVRE. Often, this will be an employee at LifeWatch ERIC VLIC."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/VRE_researcher",children:"VRE researcher"}),": Contributes state-of-the-art components to the NaaVRE and can publish technical papers\nthat demonstrate the relevance of NaaVRE in the field of networked systems."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/User_supporter",children:"User supporter"}),": Can support users. Knows the potential and limitations of the lab and can help out when problems arise."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.a,{href:"Virtual_lab_roles/Infrastructure_supporter",children:"Infrastructure supporter"}),": Ensures there is infrastructure that allows the virtual lab to be used by multiple users."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.strong,{children:"Infrastructure provider:"})," Organisation that provides infrastructure for the virtual lab."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"readiness-levels",children:"Readiness levels"}),"\n",(0,t.jsx)(i.p,{children:"We discern five readiness levels in the development of a virtual lab.\nVirtual labs evolve through these readiness level by improving and expanding the assets and documents of the virtual lab.\nHigher readiness levels increase the usability of the lab for others, reducing reliance on core developers and the VRE DevOps team."}),"\n",(0,t.jsxs)("ul",{style:{listStyleType:"none"},children:[(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L0"})," ",(0,t.jsx)(i.a,{href:"L0_initial_proposal",children:"Initial proposal"}),": ",(0,t.jsx)("div",{children:"The initial proposal of a virtual lab, with conceptual definition but no technical setup. "})]}),(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L1"})," ",(0,t.jsx)(i.a,{href:"L1_co-development",children:"Co-development"}),": ",(0,t.jsx)("div",{children:"A provisioned virtual lab that is ready for the core development team to implement the virtual lab functionality, e.g. new components, workflows, or experiments. "})]}),(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L2"})," ",(0,t.jsx)(i.a,{href:"L2_validation_phase",children:"Validation phase"}),": ",(0,t.jsx)("div",{children:"A provisioned virtual lab with developed components. It is ready to run scientific experiments to validate the virtual lab and write scientific publications. "})]}),(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L3"})," ",(0,t.jsx)(i.a,{href:"L3_workshop_use",children:"Workshop use"}),": ",(0,t.jsx)("div",{children:"A provisioned virtual lab with validated components and scientific stories. It is ready to engage more users through training and hackathons under controlled conditions. "})]}),(0,t.jsxs)("li",{children:[" ",(0,t.jsx)(n,{text:"L4"})," ",(0,t.jsx)(i.a,{href:"L4_operational_service",children:"Operational service"}),": ",(0,t.jsx)("div",{children:"A provisioned virtual lab on operational infrastructure. It is ready to be operational for serving users from the general public. "})]})]}),"\n",(0,t.jsxs)(i.table,{children:[(0,t.jsx)(i.thead,{children:(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.th,{children:"Level"}),(0,t.jsx)(i.th,{children:"Name"}),(0,t.jsx)(i.th,{children:"Duration"}),(0,t.jsx)(i.th,{children:"Developers"}),(0,t.jsx)(i.th,{children:"Users"}),(0,t.jsx)(i.th,{children:"Context dissemination"}),(0,t.jsx)(i.th,{children:"Entering condition"}),(0,t.jsx)(i.th,{children:"Exit condition"})]})}),(0,t.jsxs)(i.tbody,{children:[(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L0"}),(0,t.jsx)(i.td,{children:"initial proposal"}),(0,t.jsx)(i.td,{children:"1-12 months"}),(0,t.jsx)(i.td,{children:"0"}),(0,t.jsx)(i.td,{children:"0"}),(0,t.jsx)(i.td,{}),(0,t.jsx)(i.td,{children:"A good idea & Available resources."}),(0,t.jsx)(i.td,{children:"Set up a concrete lab on the platform."})]}),(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L1"}),(0,t.jsx)(i.td,{children:"Co-development"}),(0,t.jsx)(i.td,{children:"3-6 months"}),(0,t.jsx)(i.td,{children:"Core developers 6-12 FTE"}),(0,t.jsx)(i.td,{children:"0"}),(0,t.jsx)(i.td,{children:"Metadata publication"}),(0,t.jsx)(i.td,{children:"A lab & a core development team."}),(0,t.jsx)(i.td,{children:"A lab ready for scientific experiments."})]}),(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L2"}),(0,t.jsx)(i.td,{children:"Validation phase"}),(0,t.jsx)(i.td,{children:"3 months"}),(0,t.jsx)(i.td,{children:"A team of core developers"}),(0,t.jsx)(i.td,{children:"1"}),(0,t.jsx)(i.td,{children:"Paper publication"}),(0,t.jsx)(i.td,{children:"A lab ready for writing a scientific paper."}),(0,t.jsx)(i.td,{children:"One or two papers submitted to publication."})]}),(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L3"}),(0,t.jsx)(i.td,{children:"Workshop use"}),(0,t.jsx)(i.td,{children:"3 months"}),(0,t.jsx)(i.td,{children:"Core developers or users"}),(0,t.jsx)(i.td,{children:"10-25"}),(0,t.jsx)(i.td,{children:"Workshops, trainings, hackathons"}),(0,t.jsx)(i.td,{children:"A working lab with documentation and training material."}),(0,t.jsx)(i.td,{children:"The lab has been tested in workshops / hackathons, and has an emerging community."})]}),(0,t.jsxs)(i.tr,{children:[(0,t.jsx)(i.td,{children:"L4"}),(0,t.jsx)(i.td,{children:"Operational service"}),(0,t.jsx)(i.td,{}),(0,t.jsx)(i.td,{children:"Core developers or users"}),(0,t.jsx)(i.td,{children:"10+"}),(0,t.jsx)(i.td,{}),(0,t.jsx)(i.td,{children:"The lab is operational, and can be managed on research infrastructure."}),(0,t.jsx)(i.td,{})]})]})]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.em,{children:"Table 1: Summary of readiness levels, with duration, number of developers and users,\nhow the context of the lab is communicated with the outside world, and what conditions per transition should be met."})}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:" images/NaaVRE_development_cycle.drawio.png not found",src:s(971).Z+"",width:"691",height:"668"}),(0,t.jsx)("br",{}),"\n",(0,t.jsx)(i.em,{children:"Figure 1: The virtual lab moves through the readiness levels, from initial proposal to operational service.\nUsers coming up with ideas for new experiments that can not be done in the existing virtual labs,\ncan, in collaboration with LifeWatch, create a new virtual lab that fits their needs."})]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:" images/Timeline.drawio.png not found",src:s(4786).Z+"",width:"701",height:"481"}),(0,t.jsx)("br",{}),"\n",(0,t.jsx)(i.em,{children:"Figure 2: Timeline per readiness level showing the timing of role involvement. See roles pages for details."})]}),"\n",(0,t.jsx)(i.h2,{id:"sources",children:"Sources"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["These recommendations are partially based on ideas presented in the paper ",(0,t.jsx)(i.a,{href:"https://www.nature.com/articles/s41597-022-01710-x",children:"Introducing the FAIR Principles for research software"}),", the ",(0,t.jsx)(i.a,{href:"https://fairsoftwarechecklist.net/v0.2/",children:"Fair software checklist"}),", and ",(0,t.jsx)(i.a,{href:"https://fair-software.eu/recommendations/license",children:"fair-software.eu"}),"."]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"potential-todos-for-lifewatch-vlic",children:"Potential ToDos for LifeWatch VLIC"}),"\n",(0,t.jsx)(i.p,{children:"To be able to cycle through the entire readiness cycle described here, LifeWatch VLIC needs to provide the following:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Make NaaVRE generate a persistent identifier and version number for containerized cells and executed workflows. ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/280",children:"https://github.com/QCDIS/projects_overview/issues/280"})]}),"\n",(0,t.jsxs)(i.li,{children:["Choose a metadata standard for Virtual labs. ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/275",children:"https://github.com/QCDIS/projects_overview/issues/275"})]}),"\n",(0,t.jsxs)(i.li,{children:["Create recommendations on community standards for reading, writing and exchanging data in virtual labs. See github issue ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/281",children:"#281"})]}),"\n",(0,t.jsxs)(i.li,{children:["Create recommendations for testing: ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/274",children:"https://github.com/QCDIS/projects_overview/issues/274"})]}),"\n",(0,t.jsxs)(i.li,{children:["Guideline for secret management ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/276",children:"https://github.com/QCDIS/projects_overview/issues/276"})]}),"\n",(0,t.jsxs)(i.li,{children:["Determine a way of structuring files in a virtual lab git repository that allows publication of the user manual and documentation on NaaVRE.net. ",(0,t.jsx)(i.a,{href:"https://github.com/QCDIS/projects_overview/issues/279",children:"https://github.com/QCDIS/projects_overview/issues/279"})]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"feedback",children:"Feedback"}),"\n",(0,t.jsx)(i.p,{children:"Any feedback on this document is appreciated. Please contact the LifeWatch VLIC team if you have any questions or comments on the document."})]})}function u(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},971:(e,i,s)=>{s.d(i,{Z:()=>t});const t=s.p+"assets/images/NaaVRE_development_cycle.drawio-59df28395fc82e2a20828d19ed19c9bf.png"},4786:(e,i,s)=>{s.d(i,{Z:()=>t});const t=s.p+"assets/images/Timeline.drawio-827411ef3e2aaf388dbccfa0a2894c7d.png"},1151:(e,i,s)=>{s.d(i,{Z:()=>l,a:()=>a});var t=s(7294);const r={},n=t.createContext(r);function a(e){const i=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/fb4baa79.9b1ce62e.js b/pr-preview/pr-33/assets/js/fb4baa79.9b1ce62e.js new file mode 100644 index 0000000..3e7c6f8 --- /dev/null +++ b/pr-preview/pr-33/assets/js/fb4baa79.9b1ce62e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[489],{5326:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>u,toc:()=>p});var i=r(5893),s=r(1151),n=r(2457);const o={sidebar_position:1,title:"Community supporter"},a=void 0,u={id:"readiness_levels/Virtual_lab_roles/Community_supporter",title:"Community supporter",description:"The community supporter has the following responsibilities per level:",source:"@site/docs/readiness_levels/Virtual_lab_roles/Community_supporter.mdx",sourceDirName:"readiness_levels/Virtual_lab_roles",slug:"/readiness_levels/Virtual_lab_roles/Community_supporter",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter",draft:!1,unlisted:!1,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/docs/readiness_levels/Virtual_lab_roles/Community_supporter.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Community supporter"},sidebar:"tutorialSidebar",previous:{title:"User manual",permalink:"/pr-preview/pr-33/docs/readiness_levels/user_manual"},next:{title:"Virtual lab coordinator",permalink:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator"}},l={},p=[];function h(e){const t={li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return n||c("Responsibilities",!1),n.L0CommunitySupporter||c("Responsibilities.L0CommunitySupporter",!0),n.L1CommunitySupporter||c("Responsibilities.L1CommunitySupporter",!0),n.L2CommunitySupporter||c("Responsibilities.L2CommunitySupporter",!0),n.L3CommunitySupporter||c("Responsibilities.L3CommunitySupporter",!0),n.L4CommunitySupporter||c("Responsibilities.L4CommunitySupporter",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"The community supporter has the following responsibilities per level:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["L0: ",(0,i.jsx)(n.L0CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L1: ",(0,i.jsx)(n.L1CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L2: ",(0,i.jsx)(n.L2CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L3: ",(0,i.jsx)(n.L3CommunitySupporter,{})]}),"\n",(0,i.jsxs)(t.li,{children:["L4: ",(0,i.jsx)(n.L4CommunitySupporter,{})]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}function c(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},2457:(e,t,r)=>{r.r(t),r.d(t,{L0CommunitySupporter:()=>i,L0Coordinator:()=>c,L0DevOps:()=>g,L0GoldenUser:()=>u,L1CommunitySupporter:()=>s,L1Coordinator:()=>m,L1CoreDeveloper:()=>C,L1DevOps:()=>y,L1GoldenUser:()=>l,L1InfrastructureSupporter:()=>k,L1Reviewer:()=>x,L2CommunitySupporter:()=>n,L2Coordinator:()=>v,L2CoreDeveloper:()=>w,L2DevOps:()=>L,L2GoldenUser:()=>p,L2InfrastructureSupporter:()=>j,L2Trainer:()=>V,L2VREResearcher:()=>P,L3CommunitySupporter:()=>o,L3Coordinator:()=>b,L3CoreDeveloper:()=>_,L3GoldenUser:()=>h,L3InfrastructureSupporter:()=>R,L3SteeringBoard:()=>U,L3Trainer:()=>D,L3UserSupporter:()=>T,L4CommunitySupporter:()=>a,L4Coordinator:()=>f,L4CoreDeveloper:()=>S,L4GoldenUser:()=>d,L4InfrastructureSupporter:()=>E,L4SteeringBoard:()=>G,L4UserSupporter:()=>I});const i=()=>"Reaches out to domain scientists who have the potential of becoming golden users.",s=()=>"At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.",n=()=>"Finds potential silver users to take part in the trainings in the next phase.",o=()=>"Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.",a=()=>"Identifies any potential new golden users from the community using the virtual lab.",u=()=>"Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.",l=()=>"Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments",p=()=>"Use the virtual lab to do their research. Publish a paper in the ecosystem domain.",h=()=>"The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.",d=()=>"A golden user can keep on using the virtual lab for their own experiments.",c=()=>"Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.",m=()=>"Coordinates the co-development between the golden users, core developers and DevOps engineers.",v=()=>"Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.",b=()=>"Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.",f=()=>"Ensures the VRE keeps supporting the virtual lab.",g=()=>"Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.",y=()=>"Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.",L=()=>"Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.",C=()=>"Develop the content of the new virtual lab in NaaVRE.",w=()=>"Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.",_=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",S=()=>"Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.",x=()=>"Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.",k=()=>"Advises and provides the infrastructure for the virtual lab.",j=()=>"Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.",R=()=>"Ensures the infrastructure can support the training sessions.",E=()=>"Monitors, provides, and adjusts infrastructure for the virtual lab.",V=()=>"Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.",D=()=>"Gives trainings to users. Can point out what the user can change and can not change in the lab.",P=()=>"Potentially publishes a technical paper in addition to the domain paper.",U=()=>"Gathers user feedback and determines how to facilitate other users in the virtual lab.",G=()=>"Coordinates the further development of the virtual lab with a scientific vision.",T=()=>"Answers any technical questions arising from the workshop use which the trainer can not answer.",I=()=>"Is the primary point of contact in case any problems arise with the virtual lab."},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>o});var i=r(7294);const s={},n=i.createContext(s);function o(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/main.280a6015.js b/pr-preview/pr-33/assets/js/main.280a6015.js new file mode 100644 index 0000000..1648bc7 --- /dev/null +++ b/pr-preview/pr-33/assets/js/main.280a6015.js @@ -0,0 +1,2 @@ +/*! For license information please see main.280a6015.js.LICENSE.txt */ +(self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"11047fcd":[()=>n.e(708).then(n.bind(n,7666)),"@site/docs/readiness_levels/Virtual_lab_roles/Core_developer.mdx",7666],17896441:[()=>Promise.all([n.e(532),n.e(918)]).then(n.bind(n,2730)),"@theme/DocItem",2730],"1df93b7f":[()=>Promise.all([n.e(532),n.e(237)]).then(n.bind(n,2924)),"@site/src/pages/index.tsx",2924],"22571d12":[()=>n.e(480).then(n.t.bind(n,3769,19)),"/home/runner/work/naavre.github.io/naavre.github.io/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"34aec551":[()=>n.e(971).then(n.bind(n,2455)),"@site/docs/readiness_levels/user_manual.mdx",2455],"34b0fabf":[()=>n.e(360).then(n.bind(n,216)),"@site/docs/readiness_levels/Virtual_lab_roles/Coordinator.mdx",216],36041992:[()=>n.e(73).then(n.bind(n,6670)),"@site/docs/about.mdx",6670],"38b43935":[()=>n.e(273).then(n.bind(n,7842)),"@site/docs/readiness_levels/RAVRE/documentation.md",7842],"3d901806":[()=>n.e(436).then(n.t.bind(n,5745,19)),"/home/runner/work/naavre.github.io/naavre.github.io/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"4d655930":[()=>n.e(895).then(n.bind(n,6999)),"@site/docs/readiness_levels/L2_validation_phase.mdx",6999],"5aab0ac5":[()=>n.e(98).then(n.bind(n,2018)),"@site/docs/readiness_levels/L1_co-development.mdx",2018],"5e95c892":[()=>n.e(661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"667ea6e9":[()=>n.e(132).then(n.bind(n,9188)),"@site/docs/readiness_levels/RAVRE/index.md",9188],"6f3e0bc7":[()=>n.e(167).then(n.bind(n,7326)),"@site/docs/NaaVRE_Interface/index.md",7326],"752a6134":[()=>n.e(384).then(n.bind(n,7952)),"@site/docs/readiness_levels/Virtual_lab_roles/VRE_researcher.mdx",7952],"7e556c3d":[()=>n.e(777).then(n.bind(n,7905)),"@site/docs/readiness_levels/Virtual_lab_roles/Golden_user.mdx",7905],"8e76cafd":[()=>n.e(214).then(n.bind(n,2376)),"@site/docs/readiness_levels/Virtual_lab_roles/DevOps.mdx",2376],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"944a1d22":[()=>n.e(999).then(n.bind(n,1546)),"@site/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter.mdx",1546],"9b58cf7f":[()=>n.e(859).then(n.bind(n,2925)),"@site/docs/readiness_levels/Virtual_lab_roles/Steering_board.mdx",2925],a034c16c:[()=>n.e(334).then(n.bind(n,606)),"@site/docs/readiness_levels/L3_workshop_use.mdx",606],a65f7afd:[()=>Promise.all([n.e(532),n.e(27),n.e(63)]).then(n.bind(n,1901)),"@site/docs/tutorials/index.mdx",1901],a7bd4aaa:[()=>n.e(518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a84c24dd:[()=>n.e(385).then(n.bind(n,3263)),"@site/docs/readiness_levels/Virtual_lab_roles/Reviewer.mdx",3263],a94703ab:[()=>Promise.all([n.e(532),n.e(368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],bb19cae0:[()=>n.e(686).then(n.bind(n,3121)),"@site/docs/readiness_levels/L4_operational_service.mdx",3121],c9526f62:[()=>n.e(48).then(n.bind(n,9477)),"@site/docs/readiness_levels/Virtual_lab_roles/User_supporter.mdx",9477],d76867c1:[()=>n.e(408).then(n.bind(n,8210)),"@site/docs/readiness_levels/L0_initial_proposal.mdx",8210],eb592792:[()=>n.e(453).then(n.bind(n,6696)),"@site/docs/readiness_levels/Virtual_lab_roles/Trainer.mdx",6696],f8cb845a:[()=>n.e(207).then(n.bind(n,8228)),"@site/docs/readiness_levels/index.mdx",8228],fb4baa79:[()=>n.e(489).then(n.bind(n,5326)),"@site/docs/readiness_levels/Virtual_lab_roles/Community_supporter.mdx",5326]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(9670),c=n(226);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],m=(0,u.Z)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const p=[{path:"/pr-preview/pr-33/docs/",component:d("/pr-preview/pr-33/docs/","c8e"),routes:[{path:"/pr-preview/pr-33/docs/",component:d("/pr-preview/pr-33/docs/","f96"),routes:[{path:"/pr-preview/pr-33/docs/",component:d("/pr-preview/pr-33/docs/","77e"),routes:[{path:"/pr-preview/pr-33/docs/about/",component:d("/pr-preview/pr-33/docs/about/","e36"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/NaaVRE_Interface/",component:d("/pr-preview/pr-33/docs/NaaVRE_Interface/","871"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/",component:d("/pr-preview/pr-33/docs/readiness_levels/","98f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/",component:d("/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/","4ce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L1_co-development/",component:d("/pr-preview/pr-33/docs/readiness_levels/L1_co-development/","7ea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/",component:d("/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/","c00"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/",component:d("/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/","163"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/",component:d("/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/","cbf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/",component:d("/pr-preview/pr-33/docs/readiness_levels/RAVRE/","b0c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/",component:d("/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/","96b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/user_manual/",component:d("/pr-preview/pr-33/docs/readiness_levels/user_manual/","648"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/","554"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/","8f2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/","b8e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/","85f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/","cc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/","98c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/","369"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/","afc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/","26b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/","d97"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/",component:d("/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/","0a0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/pr-preview/pr-33/docs/tutorials/",component:d("/pr-preview/pr-33/docs/tutorials/","f12"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/pr-preview/pr-33/",component:d("/pr-preview/pr-33/","8d4"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(3727),i=n(405),l=n(412);const s=[n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5742),h=n(2263),g=n(4996),y=n(6668),b=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),r=(0,v.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:r}=(0,c.TH)();return e+(0,x.applyTrailingSlash)((0,g.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(b.d,{image:n}),(0,p.jsx)(E,{}),(0,p.jsx)(_,{}),(0,p.jsx)(S.Z,{tag:k.HX,locale:e}),(0,p.jsx)(m.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;function L(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var R=n(8934),j=n(8940),A=n(469);function N(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=s.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,A.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),N("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?N("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=N("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(c.AW,{location:t,render:()=>e})})}}const I=D,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${M}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${z}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${z}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function U(){const{siteConfig:{baseUrl:e}}=(0,h.Z)();return(0,p.jsx)(p.Fragment,{children:!l.Z.canUseDOM&&(0,p.jsx)(m.Z,{children:(0,p.jsx)("script",{children:B(e)})})})}function $(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?(0,p.jsx)(U,{}):null}function V(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:a}}=(0,h.Z)(),o=(0,g.Z)(e),{htmlLang:i,direction:l}=a[r];return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("html",{lang:i,dir:l}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:o})]})}var q=n(4763),H=n(2389);function Z(){const e=(0,H.Z)();return(0,p.jsx)(m.Z,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}function G(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return(0,p.jsx)(q.Z,{children:(0,p.jsx)(j.M,{children:(0,p.jsxs)(R.t,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)(V,{}),(0,p.jsx)(C,{}),(0,p.jsx)($,{}),(0,p.jsx)(I,{location:L(t),children:e})]}),(0,p.jsx)(Z,{})]})})})}var W=n(6887);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(9670);const K=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.B6,{children:(0,p.jsx)(o.VK,{children:(0,p.jsx)(G,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};O(window.location.pathname).then(l)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/pr-preview/pr-33/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/pr-preview/pr-33/docs","mainDocId":"about","docs":[{"id":"about","path":"/pr-preview/pr-33/docs/about","sidebar":"tutorialSidebar"},{"id":"NaaVRE_Interface/index","path":"/pr-preview/pr-33/docs/NaaVRE_Interface/","sidebar":"tutorialSidebar"},{"id":"readiness_levels/index","path":"/pr-preview/pr-33/docs/readiness_levels/","sidebar":"tutorialSidebar"},{"id":"readiness_levels/L0_initial_proposal","path":"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal","sidebar":"tutorialSidebar"},{"id":"readiness_levels/L1_co-development","path":"/pr-preview/pr-33/docs/readiness_levels/L1_co-development","sidebar":"tutorialSidebar"},{"id":"readiness_levels/L2_validation_phase","path":"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase","sidebar":"tutorialSidebar"},{"id":"readiness_levels/L3_workshop_use","path":"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use","sidebar":"tutorialSidebar"},{"id":"readiness_levels/L4_operational_service","path":"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service","sidebar":"tutorialSidebar"},{"id":"readiness_levels/RAVRE/documentation","path":"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation","sidebar":"tutorialSidebar"},{"id":"readiness_levels/RAVRE/index","path":"/pr-preview/pr-33/docs/readiness_levels/RAVRE/","sidebar":"tutorialSidebar"},{"id":"readiness_levels/user_manual","path":"/pr-preview/pr-33/docs/readiness_levels/user_manual","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/Community_supporter","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/Coordinator","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/Core_developer","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/DevOps","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/Golden_user","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/Infrastructure_supporter","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/Reviewer","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/Steering_board","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/Trainer","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/User_supporter","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter","sidebar":"tutorialSidebar"},{"id":"readiness_levels/Virtual_lab_roles/VRE_researcher","path":"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher","sidebar":"tutorialSidebar"},{"id":"tutorials/index","path":"/pr-preview/pr-33/docs/tutorials/","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/pr-preview/pr-33/docs/about","label":"about"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.0.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.0.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.0.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.0.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.0.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.0.1"}}}');var u=n(5893);const c={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(c);function p(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),l=n(6040),s=n(5893);function u(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(f,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(o.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const p=e=>(0,s.jsx)(d,{...e});class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(405),a=n(5893);function o(e){return(0,a.jsx)(r.ql,{...e})}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(3727),o=n(8780),i=n(2263),l=n(3919),s=n(412),u=n(5893);const c=r.createContext({collectLink:()=>{}});var d=n(4996);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,d.C)(),x=(0,r.useContext)(c),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const _=p||f;const E=(0,l.Z)(_),C=_?.replace("pathname://","");let T=void 0!==C?(L=C,y&&(e=>e.startsWith("/"))(L)?k(L):L):void 0;var L;T&&E&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const R=(0,r.useRef)(!1),j=n?a.OL:a.rU,A=s.Z.canUseIntersectionObserver,N=(0,r.useRef)(),P=()=>{R.current||null==T||(window.docusaurus.preload(T),R.current=!0)};(0,r.useEffect)((()=>(!A&&E&&null!=T&&window.docusaurus.prefetch(T),()=>{A&&N.current&&N.current.disconnect()})),[N,T,A,E]);const O=T?.startsWith("#")??!1,D=!T||!E||O;return D||g||x.collectLink(T),D?(0,u.jsx)("a",{ref:S,href:T,..._&&!E&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,u.jsx)(j,{...b,onMouseEnter:P,onTouchStart:P,innerRef:e=>{S.current=e,A&&e&&E&&(N.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(N.current.unobserve(e),N.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),N.current.observe(e))},to:T,...n&&{isActive:h,activeClassName:m}})}const f=r.forwardRef(p)},1875:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r=()=>null},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,I:()=>s});var r=n(7294),a=n(5893);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>h,gA:()=>p,_r:()=>c,Jo:()=>g,zh:()=>d,yW:()=>m,gB:()=>f});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return s(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(512),a=n(5999),o=n(6668),i=n(9960);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var s=n(5893);function u(e){let{as:t,id:n,...u}=e;const{navbar:{hideOnScroll:c}}=(0,o.L)();if("h1"===t||!n)return(0,s.jsx)(t,{...u,id:void 0});const d=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,s.jsxs)(t,{...u,className:(0,r.Z)("anchor",c?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,s.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(5893);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},6040:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ft});var r=n(7294),a=n(512),o=n(4763),i=n(1944),l=n(6550),s=n(5999),u=n(5936),c=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(5281),y=n(9727);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(h,{className:b.skipToContent})}var w=n(6668),k=n(9689);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function _(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.Z)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function L(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:T.announcementBarPlaceholder}),(0,c.jsx)(C,{className:T.announcementBarContent}),o&&(0,c.jsx)(_,{onClick:n,className:T.announcementBarClose})]})}var R=n(2961),j=n(2466);var A=n(902),N=n(3102);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,R.e)(),t=(0,N.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,A.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function I(){const e=(0,r.useContext)(P);if(!e)throw new A.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,N.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=I();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(2949),z=n(2389);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function U(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function V(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,a.Z)($.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.Z)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,a.Z)($.toggleIcon,$.lightToggleIcon)}),(0,c.jsx)(U,{className:(0,a.Z)($.toggleIcon,$.darkToggleIcon)})]})})}const q=r.memo(V),H={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function Z(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.I)();return r?null:(0,c.jsx)(q,{className:t,buttonClassName:"dark"===n?H.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var G=n(1327);function W(){return(0,c.jsx)(G.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,R.e)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(W,{}),(0,c.jsx)(Z,{className:"margin-right--md"}),(0,c.jsx)(Q,{})]})}var K=n(9960),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.Z)(r),p=(0,X.Z)(t),f=(0,X.Z)(a,{forcePrependBaseUrl:!0}),m=o&&a&&!(0,J.Z)(a),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,m&&(0,c.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return a?(0,c.jsx)(K.Z,{href:s?f:a,...u,...h}):(0,c.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...u,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,c.jsx)(ne,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.Z)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),le=n(8596),se=n(2263);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ee,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),(0,c.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.Z)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,c.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ee,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,c.jsx)(r,{...n})}var me=n(4711);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_nlXk";var ye=n(1875);const be={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.Z)(n,be.navbarSearchContainer),children:t})}var we=n(143),ke=n(2802);var xe=n(373);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const _e={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.Z)(),p=(0,me.l)(),{search:f,hash:m}=(0,l.TH)(),h=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,s.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(fe,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(he,{className:ge}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(ye.Z,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.Z)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.vY)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,ke.lO)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,l.TH)(),p=(0,we.Iw)(n),f=(0,we.gB)(n),{savePreferredVersionName:m}=(0,xe.J)(n),h=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...o],g=(0,ke.lO)(n)[0],y=t&&h.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,b=t&&h.length>1?void 0:Se(g).path;return h.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(fe,{...i,mobile:t,label:y,to:b,items:h,isActive:r?()=>!1:void 0})}};function Ee(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=_e[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function Ce(){const e=(0,R.e)(),t=(0,w.L)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ee,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Te(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Le(){const e=0===(0,w.L)().navbar.items.length,t=I();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Te,{onClick:()=>t.hide()}),t.content]})}function Re(){const e=(0,R.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(F,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(Ce,{}),secondaryMenu:(0,c.jsx)(Le,{})}):null}const je={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ae(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function Ne(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,R.e)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,j.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<o.current)return void n(!0);if(a.current)return void(a.current=!1);const l=r?.scrollY,s=document.documentElement.scrollHeight-o.current,u=window.innerHeight;l&&i>=l?n(!1):i+u<s&&n(!0)})),(0,u.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[je.navbarHideable,!d&&je.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Ae,{onClick:i.toggle}),(0,c.jsx)(Re,{})]})}var Pe=n(8780);const Oe={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function De(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ie(e){let{error:t}=e;const n=(0,Pe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Oe.errorBoundaryError,children:n})}class Fe extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Me="right";function ze(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,R.e)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(ze,{})})}const Ue={colorModeToggle:"colorModeToggle_DEke"};function $e(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Fe,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(Ee,{...e})},t)))})}function Ve(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function qe(){const e=(0,R.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Me)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(Ve,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(W,{}),(0,c.jsx)($e,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)($e,{items:r}),(0,c.jsx)(Z,{className:Ue.colorModeToggle}),!a&&(0,c.jsx)(ve,{children:(0,c.jsx)(ye.Z,{})})]})})}function He(){return(0,c.jsx)(Ne,{children:(0,c.jsx)(qe,{})})}function Ze(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.Z)(n),s=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(K.Z,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.Z)(r)&&(0,c.jsx)(te.Z,{})]})}function Ge(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Ze,{item:t})},t.href??t.to)}function We(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(Ge,{item:e},t)))})]})}function Qe(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(We,{column:e},t)))})}function Ye(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ke(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Ze,{item:t})}function Xe(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Ke,{item:e}),t.length!==n+1&&(0,c.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Qe,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(9965);const tt={footerLogoLink:"footerLogoLink_BH7S"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(K.Z,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function at(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ot(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function it(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(ot,{style:a,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(at,{copyright:t})})}const lt=r.memo(it),st=(0,A.Qc)([M.S,k.pl,j.OC,xe.L5,i.VC,function(e){let{children:t}=e;return(0,c.jsx)(N.n2,{children:(0,c.jsx)(R.M,{children:(0,c.jsx)(O,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(st,{children:t})}var ct=n(2503);function dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ct.Z,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(De,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Ie,{error:t})})]})})})}const pt={mainWrapper:"mainWrapper_z2l0"};function ft(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.t)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.d,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(L,{}),(0,c.jsx)(He,{}),(0,c.jsx)("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,pt.mainWrapper,r),children:(0,c.jsx)(o.Z,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(lt,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(9960),a=n(4996),o=n(2263),i=n(6668),l=n(9965),s=n(5893);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Z)(t.src),dark:(0,a.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:c,titleClassName:d,...p}=e,f=(0,a.Z)(l?.href||"/"),m=n?"":t,h=l?.alt??m;return(0,s.jsxs)(r.Z,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:h,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(5742),a=n(5893);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.Z,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(7294),a=n(512),o=n(2389),i=n(2949);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(5893);function u(e){let{className:t,children:n}=e;const u=(0,o.Z)(),{colorMode:c}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>u,z:()=>y});var r=n(7294),a=n(412),o=n(469),i=n(1442),l=n(5893);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function m(e){if(!a.Z.canUseDOM)return e?c:d}function h(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return f({collapsibleRef:c,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:c,style:u?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(c.current,n),i?.(n))},className:s,children:a})}function g(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,o.Z)((()=>{t||i(!0)}),[t]),(0,o.Z)((()=>{a&&u(t)}),[a,t]),a?(0,l.jsx)(h,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,l.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>h,pl:()=>m});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668),s=n(5893);const u=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===u.get(),p=e=>u.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>y,S:()=>g});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668),s=n(5893);const u=r.createContext(void 0),c="theme",d=(0,i.WA)(c),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&h(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>y});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(2802),s=n(902),u=n(12),c=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,u.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function h(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=h();return(0,c.jsx)(m.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.cE?(0,c.jsx)(g,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(m);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>u,b:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>m});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),l=n(902);function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668),c=n(5893);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=p();return(0,c.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>u,n2:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(){const[e,t]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){t(function(){if(!a.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>i?o.desktop:o.mobile}())}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{LM:()=>f,_F:()=>g,cE:()=>p,SN:()=>_,lO:()=>k,vY:()=>S,oz:()=>x,s1:()=>w,f:()=>b});var r=n(7294),a=n(6550),o=n(8790),i=n(143),l=n(373),s=n(4477),u=n(1116);function c(e){return Array.from(new Set(e))}var d=n(8596);const p=!!i._r;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const m=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),h=(e,t)=>e.some((e=>g(e,t)));function g(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||h(e.items,t))}function y(e,t){switch(e.type){case"category":return g(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||g(e,t);default:return!0}}function b(e,t){return(0,r.useMemo)((()=>e.filter((e=>y(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,u.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>c([t,n,a].filter(Boolean))),[t,n,a])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,a.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,a.LX)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,o.H)(i),sidebarName:u,sidebarItems:c}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>m});var r=n(7294),a=n(512),o=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),u=n(2263);var c=n(5893);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),p=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.Z,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,a.Z)(i,t);return(0,c.jsxs)(p.Provider,{value:l,children:[(0,c.jsx)(o.Z,{children:(0,c.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,a.Z)(r,o),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>c,Ql:()=>u,i6:()=>s,zX:()=>i});var r=n(7294),a=n(469),o=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,a.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>u,RF:()=>p});var r=n(7294),a=n(412),o=n(2389),i=(n(469),n(902)),l=n(5893);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(d()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),a=n(6550),o=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,a.TH)(),u=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>f,PP:()=>L,Ep:()=>p});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],l=e&&a(e),s=t&&a(t),u=l||s;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var d=0,p=i.length;p>=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var h=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var y="popstate",b="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),h||(0,l.Z)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,u=i.forceRefresh,w=void 0!==u&&u,k=i.getUserConfirmation,x=void 0===k?g:k,S=i.keyLength,_=void 0===S?6:S,E=e.basename?d(s(e.basename)):"";function C(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return E&&(o=c(o,E)),f(o,r,n)}function T(){return Math.random().toString(36).substr(2,_)}var L=m();function R(e){(0,r.Z)(U,e),U.length=n.length,L.notifyListeners(U.location,U.action)}function j(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||P(C(e.state))}function A(){P(C(v()))}var N=!1;function P(e){if(N)N=!1,R();else{L.confirmTransitionTo(e,"POP",x,(function(t){t?R({action:"POP",location:e}):function(e){var t=U.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(N=!0,F(a))}(e)}))}}var O=C(v()),D=[O.key];function I(e){return E+p(e)}function F(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(y,j),o&&window.addEventListener(b,A)):0===M&&(window.removeEventListener(y,j),o&&window.removeEventListener(b,A))}var B=!1;var U={length:n.length,action:"POP",location:O,createHref:I,push:function(e,t){var r="PUSH",o=f(e,t,T(),U.location);L.confirmTransitionTo(o,r,x,(function(e){if(e){var t=I(o),i=o.key,l=o.state;if(a)if(n.pushState({key:i,state:l},null,t),w)window.location.href=t;else{var s=D.indexOf(U.location.key),u=D.slice(0,s+1);u.push(o.key),D=u,R({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,T(),U.location);L.confirmTransitionTo(o,r,x,(function(e){if(e){var t=I(o),i=o.key,l=o.state;if(a)if(n.replaceState({key:i,state:l},null,t),w)window.location.replace(t);else{var s=D.indexOf(U.location.key);-1!==s&&(D[s]=o.key),R({action:r,location:o})}else window.location.replace(t)}}))},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=L.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=L.appendListener(e);return z(1),function(){z(-1),t()}}};return U}var k="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+u(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:u,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function _(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function E(e){window.location.replace(S(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),h||(0,l.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?g:a,i=n.hashType,u=void 0===i?"slash":i,y=e.basename?d(s(e.basename)):"",b=x[u],v=b.encodePath,w=b.decodePath;function C(){var e=w(_());return y&&(e=c(e,y)),f(e)}var T=m();function L(e){(0,r.Z)(B,e),B.length=t.length,T.notifyListeners(B.location,B.action)}var R=!1,j=null;function A(){var e,t,n=_(),r=v(n);if(n!==r)E(r);else{var a=C(),i=B.location;if(!R&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(j===p(a))return;j=null,function(e){if(R)R=!1,L();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?L({action:t,location:e}):function(e){var t=B.location,n=D.lastIndexOf(p(t));-1===n&&(n=0);var r=D.lastIndexOf(p(e));-1===r&&(r=0);var a=n-r;a&&(R=!0,I(a))}(e)}))}}(a)}}var N=_(),P=v(N);N!==P&&E(P);var O=C(),D=[p(O)];function I(e){t.go(e)}var F=0;function M(e){1===(F+=e)&&1===e?window.addEventListener(k,A):0===F&&window.removeEventListener(k,A)}var z=!1;var B={length:t.length,action:"POP",location:O,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(y+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=v(y+t);if(_()!==a){j=t,function(e){window.location.hash=e}(a);var o=D.lastIndexOf(p(B.location)),i=D.slice(0,o+1);i.push(t),D=i,L({action:n,location:r})}else L()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=v(y+t);_()!==a&&(j=t,E(a));var o=D.indexOf(p(B.location));-1!==o&&(D[o]=t),L({action:n,location:r})}}))},go:I,goBack:function(){I(-1)},goForward:function(){I(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return z||(M(1),z=!0),function(){return z&&(z=!1,M(-1)),t()}},listen:function(e){var t=T.appendListener(e);return M(1),function(){M(-1),t()}}};return B}function T(e,t,n){return Math.min(Math.max(e,t),n)}function L(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,l=void 0===i?0:i,s=t.keyLength,u=void 0===s?6:s,c=m();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,c.notifyListeners(w.location,w.action)}function h(){return Math.random().toString(36).substr(2,u)}var g=T(l,0,o.length-1),y=o.map((function(e){return f(e,void 0,"string"==typeof e?h():e.key||h())})),b=p;function v(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];c.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:y.length,action:"POP",location:y[g],index:g,entries:y,createHref:b,push:function(e,t){var r="PUSH",a=f(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return w}},8679:(e,t,n)=>{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g<i.length;++g){var y=i[g];if(!(o[y]||r&&r[y]||h&&h[y]||l&&l[y])){var b=p(n,y);try{u(t,y,b)}catch(v){}}}}return t}},1143:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},4779:(e,t,n)=>{var r=n(5826);e.exports=f,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],p=n[1],f=n.index;if(l+=e.slice(i,f),i=f+d.length,p)l+=p[1];else{var m=e[i],h=n[2],g=n[3],y=n[4],b=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=h&&null!=m&&m!==h,x="+"===v||"*"===v,S="?"===v||"*"===v,_=n[2]||c,E=y||b;r.push({name:g||o++,prefix:h||"",delimiter:_,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:E?u(E):w?".*":"[^"+s(_)+"]+?"})}}return i<e.length&&(l+=e.substr(i)),l&&r.push(l),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",l=t||{},s=(a||{}).pretty?i:encodeURIComponent,u=0;u<e.length;u++){var c=e[u];if("string"!=typeof c){var d,p=l[c.name];if(null==p){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(r(p)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=s(p[f]),!n[u].test(d))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===f?c.prefix:c.delimiter)+d}}else{if(d=c.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):s(p),!n[u].test(d))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+d+'"');o+=c.prefix+d}}else o+=c}return o}}function s(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function c(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",l=0;l<e.length;l++){var u=e[l];if("string"==typeof u)i+=s(u);else{var p=s(u.prefix),f="(?:"+u.pattern+")";t.push(u),u.repeat&&(f+="(?:"+p+f+")*"),i+=f=u.optional?u.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var m=s(n.delimiter||"/"),h=i.slice(-m.length)===m;return a||(i=(h?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=o?"$":a&&h?"":"(?="+m+"|$)",c(new RegExp("^"+i,d(n)),t)}function f(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return c(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(f(e[a],t,n).source);return c(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return p(o(e,n),t,n)}(e,t,n)}},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),a=n(9642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s<l.length&&!(a>=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],p="string"==typeof u?u:u.content,f=t(r,c),m=p.indexOf(f);if(m>-1){++a;var h=p.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(m+f.length),b=[];h&&b.push.apply(b,i([h])),b.push(g),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},6500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function r(e){var n={},r=[];function a(r,o){if(!(r in n)){o.push(r);var i=o.indexOf(r);if(i<o.length-1)throw new Error("Circular dependency: "+o.slice(i).join(" -> "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in a(t,o),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var p,f=r(s),m=c;a(m);){for(var h in p={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(p[e]=!0)}))}for(var y in d)if(!(y in c))for(var b in f(y))if(b in c){p[y]=!0;break}for(var v in m=p)c[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var a,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)a=r(e);else{var p=i(c.map((function(e){var t=u(e);return delete s[e],t})));o?a=o(p,(function(){return r(e)})):r(e)}return l[e]=a}for(var c in n)u(c);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,c,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(3840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,l={};function s(e,t){u(e,t),u(e+"Capture",t)}function u(e,t){for(l[e]=t,e=0;e<t.length;e++)i.add(t[e])}var c=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},m={};function h(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function v(e,t,n,r){var a=g.hasOwnProperty(t)?g[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(m,e)||!d.call(f,e)&&(p.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(y,b);g[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,b);g[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,b);g[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),T=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),N=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var P=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var O=Symbol.iterator;function D(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var I,F=Object.assign;function M(e){if(void 0===I)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);I=t&&t[1]||""}return"\n"+I+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&"string"==typeof u.stack){for(var a=u.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,l=o.length-1;1<=i&&0<=l&&a[i]!==o[l];)l--;for(;1<=i&&0<=l;i--,l--)if(a[i]!==o[l]){if(1!==i||1!==l)do{if(i--,0>--l||a[i]!==o[l]){var s="\n"+a[i].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}}while(1<=i&&0<=l);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function U(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function $(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case E:return"Profiler";case _:return"StrictMode";case R:return"Suspense";case j:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case L:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case A:return null!==(t=e.displayName||null)?t:$(e.type)||"Memo";case N:t=e._payload,e=e._init;try{return $(e(t))}catch(n){}}return null}function V(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return $(t);case 8:return t===_?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function q(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function H(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Z(e){e._valueTracker||(e._valueTracker=function(e){var t=H(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function G(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=H(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function W(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=q(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function K(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){K(e,t);var n=q(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&W(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+q(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return F({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:q(n)}}function oe(e,t){var n=q(t.value),r=q(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function le(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function se(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?le(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ue,ce,de=(ce=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ue=ue||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ue.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ce(e,t)}))}:ce);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function he(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=he(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(fe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var ye=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function be(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function ke(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,_e=null;function Ee(e){if(e=va(e)){if("function"!=typeof xe)throw Error(o(280));var t=e.stateNode;t&&(t=ka(t),xe(e.stateNode,e.type,t))}}function Ce(e){Se?_e?_e.push(e):_e=[e]:Se=e}function Te(){if(Se){var e=Se,t=_e;if(_e=Se=null,Ee(e),t)for(e=0;e<t.length;e++)Ee(t[e])}}function Le(e,t){return e(t)}function Re(){}var je=!1;function Ae(e,t,n){if(je)return e(t,n);je=!0;try{return Le(e,t,n)}finally{je=!1,(null!==Se||null!==_e)&&(Re(),Te())}}function Ne(e,t){var n=e.stateNode;if(null===n)return null;var r=ka(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Pe=!1;if(c)try{var Oe={};Object.defineProperty(Oe,"passive",{get:function(){Pe=!0}}),window.addEventListener("test",Oe,Oe),window.removeEventListener("test",Oe,Oe)}catch(ce){Pe=!1}function De(e,t,n,r,a,o,i,l,s){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var Ie=!1,Fe=null,Me=!1,ze=null,Be={onError:function(e){Ie=!0,Fe=e}};function Ue(e,t,n,r,a,o,i,l,s){Ie=!1,Fe=null,De.apply(Be,arguments)}function $e(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ve(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function qe(e){if($e(e)!==e)throw Error(o(188))}function He(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=$e(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(r=a.return)){n=r;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return qe(a),e;if(i===r)return qe(a),t;i=i.sibling}throw Error(o(188))}if(n.return!==r.return)n=a,r=i;else{for(var l=!1,s=a.child;s;){if(s===n){l=!0,n=a,r=i;break}if(s===r){l=!0,r=a,n=i;break}s=s.sibling}if(!l){for(s=i.child;s;){if(s===n){l=!0,n=i,r=a;break}if(s===r){l=!0,r=i,n=a;break}s=s.sibling}if(!l)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?Ze(e):null}function Ze(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ze(e);if(null!==t)return t;e=e.sibling}return null}var Ge=a.unstable_scheduleCallback,We=a.unstable_cancelCallback,Qe=a.unstable_shouldYield,Ye=a.unstable_requestPaint,Ke=a.unstable_now,Xe=a.unstable_getCurrentPriorityLevel,Je=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,ot=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(lt(e)/st|0)|0},lt=Math.log,st=Math.LN2;var ut=64,ct=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,o=e.pingedLanes,i=268435455&n;if(0!==i){var l=i&~a;0!==l?r=dt(l):0!==(o&=i)&&(r=dt(o))}else 0!==(i=n&~a)?r=dt(i):0!==o&&(r=dt(o));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&a)&&((a=r&-r)>=(o=t&-t)||16===a&&0!=(4194240&o)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-it(t)),r|=e[n],t&=~a;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ht(){var e=ut;return 0==(4194240&(ut<<=1))&&(ut=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var vt=0;function wt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var kt,xt,St,_t,Et,Ct=!1,Tt=[],Lt=null,Rt=null,jt=null,At=new Map,Nt=new Map,Pt=[],Ot="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":Lt=null;break;case"dragenter":case"dragleave":Rt=null;break;case"mouseover":case"mouseout":jt=null;break;case"pointerover":case"pointerout":At.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nt.delete(t.pointerId)}}function It(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[a]},null!==t&&(null!==(t=va(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Ft(e){var t=ba(e.target);if(null!==t){var n=$e(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ve(n)))return e.blockedOn=t,void Et(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=va(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function zt(e,t,n){Mt(e)&&n.delete(t)}function Bt(){Ct=!1,null!==Lt&&Mt(Lt)&&(Lt=null),null!==Rt&&Mt(Rt)&&(Rt=null),null!==jt&&Mt(jt)&&(jt=null),At.forEach(zt),Nt.forEach(zt)}function Ut(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Bt)))}function $t(e){function t(t){return Ut(t,e)}if(0<Tt.length){Ut(Tt[0],e);for(var n=1;n<Tt.length;n++){var r=Tt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Lt&&Ut(Lt,e),null!==Rt&&Ut(Rt,e),null!==jt&&Ut(jt,e),At.forEach(t),Nt.forEach(t),n=0;n<Pt.length;n++)(r=Pt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Pt.length&&null===(n=Pt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Pt.shift()}var Vt=w.ReactCurrentBatchConfig,qt=!0;function Ht(e,t,n,r){var a=vt,o=Vt.transition;Vt.transition=null;try{vt=1,Gt(e,t,n,r)}finally{vt=a,Vt.transition=o}}function Zt(e,t,n,r){var a=vt,o=Vt.transition;Vt.transition=null;try{vt=4,Gt(e,t,n,r)}finally{vt=a,Vt.transition=o}}function Gt(e,t,n,r){if(qt){var a=Qt(e,t,n,r);if(null===a)qr(e,t,r,Wt,n),Dt(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return Lt=It(Lt,e,t,n,r,a),!0;case"dragenter":return Rt=It(Rt,e,t,n,r,a),!0;case"mouseover":return jt=It(jt,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return At.set(o,It(At.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,Nt.set(o,It(Nt.get(o)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<Ot.indexOf(e)){for(;null!==a;){var o=va(a);if(null!==o&&kt(o),null===(o=Qt(e,t,n,r))&&qr(e,t,r,Wt,n),o===a)break;a=o}null!==a&&r.stopPropagation()}else qr(e,t,r,null,n)}}var Wt=null;function Qt(e,t,n,r){if(Wt=null,null!==(e=ba(e=ke(r))))if(null===(t=$e(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Ve(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Wt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Kt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,a="value"in Kt?Kt.value:Kt.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return Jt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,ln,sn,un={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},cn=an(un),dn=F({},un,{view:0,detail:0}),pn=an(dn),fn=F({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==sn&&(sn&&"mousemove"===e.type?(on=e.screenX-sn.screenX,ln=e.screenY-sn.screenY):ln=on=0,sn=e),on)},movementY:function(e){return"movementY"in e?e.movementY:ln}}),mn=an(fn),hn=an(F({},fn,{dataTransfer:0})),gn=an(F({},dn,{relatedTarget:0})),yn=an(F({},un,{animationName:0,elapsedTime:0,pseudoElement:0})),bn=F({},un,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=an(bn),wn=an(F({},un,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _n(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function En(){return _n}var Cn=F({},dn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Tn=an(Cn),Ln=an(F({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Rn=an(F({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En})),jn=an(F({},un,{propertyName:0,elapsedTime:0,pseudoElement:0})),An=F({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Nn=an(An),Pn=[9,13,27,32],On=c&&"CompositionEvent"in window,Dn=null;c&&"documentMode"in document&&(Dn=document.documentMode);var In=c&&"TextEvent"in window&&!Dn,Fn=c&&(!On||Dn&&8<Dn&&11>=Dn),Mn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Pn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Un(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var $n=!1;var Vn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function qn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Vn[e.type]:"textarea"===t}function Hn(e,t,n,r){Ce(r),0<(t=Zr(t,"onChange")).length&&(n=new cn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Zn=null,Gn=null;function Wn(e){Mr(e,0)}function Qn(e){if(G(wa(e)))return e}function Yn(e,t){if("change"===e)return t}var Kn=!1;if(c){var Xn;if(c){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Kn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Zn&&(Zn.detachEvent("onpropertychange",nr),Gn=Zn=null)}function nr(e){if("value"===e.propertyName&&Qn(Gn)){var t=[];Hn(t,Gn,e,ke(e)),Ae(Wn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Gn=n,(Zn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Gn)}function or(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var lr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function sr(e,t){if(lr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!lr(e[a],t[a]))return!1}return!0}function ur(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function cr(e,t){var n,r=ur(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=ur(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=W();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=W((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,o=Math.min(r.start,a);r=void 0===r.end?o:Math.min(r.end,a),!e.extend&&o>r&&(a=r,r=o,o=a),a=cr(n,o);var i=cr(n,r);a&&i&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var hr=c&&"documentMode"in document&&11>=document.documentMode,gr=null,yr=null,br=null,vr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==gr||gr!==W(r)||("selectionStart"in(r=gr)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},br&&sr(br,r)||(br=r,0<(r=Zr(yr,"onSelect")).length&&(t=new cn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Sr={},_r={};function Er(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in _r)return Sr[e]=n[t];return e}c&&(_r=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var Cr=Er("animationend"),Tr=Er("animationiteration"),Lr=Er("animationstart"),Rr=Er("transitionend"),jr=new Map,Ar="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Nr(e,t){jr.set(e,t),s(t,[e])}for(var Pr=0;Pr<Ar.length;Pr++){var Or=Ar[Pr];Nr(Or.toLowerCase(),"on"+(Or[0].toUpperCase()+Or.slice(1)))}Nr(Cr,"onAnimationEnd"),Nr(Tr,"onAnimationIteration"),Nr(Lr,"onAnimationStart"),Nr("dblclick","onDoubleClick"),Nr("focusin","onFocus"),Nr("focusout","onBlur"),Nr(Rr,"onTransitionEnd"),u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ir=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function Fr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,i,l,s,u){if(Ue.apply(this,arguments),Ie){if(!Ie)throw Error(o(198));var c=Fe;Ie=!1,Fe=null,Me||(Me=!0,ze=c)}}(r,t,void 0,e),e.currentTarget=null}function Mr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,u=l.currentTarget;if(l=l.listener,s!==o&&a.isPropagationStopped())break e;Fr(a,l,u),o=s}else for(i=0;i<r.length;i++){if(s=(l=r[i]).instance,u=l.currentTarget,l=l.listener,s!==o&&a.isPropagationStopped())break e;Fr(a,l,u),o=s}}}if(Me)throw e=ze,Me=!1,ze=null,e}function zr(e,t){var n=t[ha];void 0===n&&(n=t[ha]=new Set);var r=e+"__bubble";n.has(r)||(Vr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),Vr(n,e,r,t)}var Ur="_reactListening"+Math.random().toString(36).slice(2);function $r(e){if(!e[Ur]){e[Ur]=!0,i.forEach((function(t){"selectionchange"!==t&&(Ir.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Ur]||(t[Ur]=!0,Br("selectionchange",!1,t))}}function Vr(e,t,n,r){switch(Yt(t)){case 1:var a=Ht;break;case 4:a=Zt;break;default:a=Gt}n=a.bind(null,t,n,e),a=void 0,!Pe||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function qr(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var l=r.stateNode.containerInfo;if(l===a||8===l.nodeType&&l.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var s=i.tag;if((3===s||4===s)&&((s=i.stateNode.containerInfo)===a||8===s.nodeType&&s.parentNode===a))return;i=i.return}for(;null!==l;){if(null===(i=ba(l)))return;if(5===(s=i.tag)||6===s){r=o=i;continue e}l=l.parentNode}}r=r.return}Ae((function(){var r=o,a=ke(n),i=[];e:{var l=jr.get(e);if(void 0!==l){var s=cn,u=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":s=Tn;break;case"focusin":u="focus",s=gn;break;case"focusout":u="blur",s=gn;break;case"beforeblur":case"afterblur":s=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=hn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=Rn;break;case Cr:case Tr:case Lr:s=yn;break;case Rr:s=jn;break;case"scroll":s=pn;break;case"wheel":s=Nn;break;case"copy":case"cut":case"paste":s=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=Ln}var c=0!=(4&t),d=!c&&"scroll"===e,p=c?null!==l?l+"Capture":null:l;c=[];for(var f,m=r;null!==m;){var h=(f=m).stateNode;if(5===f.tag&&null!==h&&(f=h,null!==p&&(null!=(h=Ne(m,p))&&c.push(Hr(m,h,f)))),d)break;m=m.return}0<c.length&&(l=new s(l,u,null,n,a),i.push({event:l,listeners:c}))}}if(0==(7&t)){if(s="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||n===we||!(u=n.relatedTarget||n.fromElement)||!ba(u)&&!u[ma])&&(s||l)&&(l=a.window===a?a:(l=a.ownerDocument)?l.defaultView||l.parentWindow:window,s?(s=r,null!==(u=(u=n.relatedTarget||n.toElement)?ba(u):null)&&(u!==(d=$e(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(s=null,u=r),s!==u)){if(c=mn,h="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(c=Ln,h="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==s?l:wa(s),f=null==u?l:wa(u),(l=new c(h,m+"leave",s,n,a)).target=d,l.relatedTarget=f,h=null,ba(a)===r&&((c=new c(p,m+"enter",u,n,a)).target=f,c.relatedTarget=d,h=c),d=h,s&&u)e:{for(p=u,m=0,f=c=s;f;f=Gr(f))m++;for(f=0,h=p;h;h=Gr(h))f++;for(;0<m-f;)c=Gr(c),m--;for(;0<f-m;)p=Gr(p),f--;for(;m--;){if(c===p||null!==p&&c===p.alternate)break e;c=Gr(c),p=Gr(p)}c=null}else c=null;null!==s&&Wr(i,l,s,c,!1),null!==u&&null!==d&&Wr(i,d,u,c,!0)}if("select"===(s=(l=r?wa(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var g=Yn;else if(qn(l))if(Kn)g=ir;else{g=ar;var y=rr}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(g=or);switch(g&&(g=g(e,r))?Hn(i,g,n,a):(y&&y(e,l,r),"focusout"===e&&(y=l._wrapperState)&&y.controlled&&"number"===l.type&&ee(l,"number",l.value)),y=r?wa(r):window,e){case"focusin":(qn(y)||"true"===y.contentEditable)&&(gr=y,yr=r,br=null);break;case"focusout":br=yr=gr=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,wr(i,n,a);break;case"selectionchange":if(hr)break;case"keydown":case"keyup":wr(i,n,a)}var b;if(On)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else $n?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Fn&&"ko"!==n.locale&&($n||"onCompositionStart"!==v?"onCompositionEnd"===v&&$n&&(b=en()):(Xt="value"in(Kt=a)?Kt.value:Kt.textContent,$n=!0)),0<(y=Zr(r,v)).length&&(v=new wn(v,e,null,n,a),i.push({event:v,listeners:y}),b?v.data=b:null!==(b=Un(n))&&(v.data=b))),(b=In?function(e,t){switch(e){case"compositionend":return Un(t);case"keypress":return 32!==t.which?null:(zn=!0,Mn);case"textInput":return(e=t.data)===Mn&&zn?null:e;default:return null}}(e,n):function(e,t){if($n)return"compositionend"===e||!On&&Bn(e,t)?(e=en(),Jt=Xt=Kt=null,$n=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Zr(r,"onBeforeInput")).length&&(a=new wn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=b))}Mr(i,t)}))}function Hr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Zr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Ne(e,n))&&r.unshift(Hr(e,o,a)),null!=(o=Ne(e,t))&&r.push(Hr(e,o,a))),e=e.return}return r}function Gr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Wr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var l=n,s=l.alternate,u=l.stateNode;if(null!==s&&s===r)break;5===l.tag&&null!==u&&(l=u,a?null!=(s=Ne(n,o))&&i.unshift(Hr(n,s,l)):a||null!=(s=Ne(n,o))&&i.push(Hr(n,s,l))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Qr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Kr(e){return("string"==typeof e?e:""+e).replace(Qr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Kr(t),Kr(e)!==t&&n)throw Error(o(425))}function Jr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"==typeof setTimeout?setTimeout:void 0,aa="function"==typeof clearTimeout?clearTimeout:void 0,oa="function"==typeof Promise?Promise:void 0,ia="function"==typeof queueMicrotask?queueMicrotask:void 0!==oa?function(e){return oa.resolve(null).then(e).catch(la)}:ra;function la(e){setTimeout((function(){throw e}))}function sa(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void $t(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);$t(t)}function ua(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ca(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),pa="__reactFiber$"+da,fa="__reactProps$"+da,ma="__reactContainer$"+da,ha="__reactEvents$"+da,ga="__reactListeners$"+da,ya="__reactHandles$"+da;function ba(e){var t=e[pa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ma]||n[pa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ca(e);null!==e;){if(n=e[pa])return n;e=ca(e)}return t}n=(e=n).parentNode}return null}function va(e){return!(e=e[pa]||e[ma])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function ka(e){return e[fa]||null}var xa=[],Sa=-1;function _a(e){return{current:e}}function Ea(e){0>Sa||(e.current=xa[Sa],xa[Sa]=null,Sa--)}function Ca(e,t){Sa++,xa[Sa]=e.current,e.current=t}var Ta={},La=_a(Ta),Ra=_a(!1),ja=Ta;function Aa(e,t){var n=e.type.contextTypes;if(!n)return Ta;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Na(e){return null!=(e=e.childContextTypes)}function Pa(){Ea(Ra),Ea(La)}function Oa(e,t,n){if(La.current!==Ta)throw Error(o(168));Ca(La,t),Ca(Ra,n)}function Da(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(o(108,V(e)||"Unknown",a));return F({},n,r)}function Ia(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ta,ja=La.current,Ca(La,e),Ca(Ra,Ra.current),!0}function Fa(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=Da(e,t,ja),r.__reactInternalMemoizedMergedChildContext=e,Ea(Ra),Ea(La),Ca(La,e)):Ea(Ra),Ca(Ra,n)}var Ma=null,za=!1,Ba=!1;function Ua(e){null===Ma?Ma=[e]:Ma.push(e)}function $a(){if(!Ba&&null!==Ma){Ba=!0;var e=0,t=vt;try{var n=Ma;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Ma=null,za=!1}catch(a){throw null!==Ma&&(Ma=Ma.slice(e+1)),Ge(Je,$a),a}finally{vt=t,Ba=!1}}return null}var Va=[],qa=0,Ha=null,Za=0,Ga=[],Wa=0,Qa=null,Ya=1,Ka="";function Xa(e,t){Va[qa++]=Za,Va[qa++]=Ha,Ha=e,Za=t}function Ja(e,t,n){Ga[Wa++]=Ya,Ga[Wa++]=Ka,Ga[Wa++]=Qa,Qa=e;var r=Ya;e=Ka;var a=32-it(r)-1;r&=~(1<<a),n+=1;var o=32-it(t)+a;if(30<o){var i=a-a%5;o=(r&(1<<i)-1).toString(32),r>>=i,a-=i,Ya=1<<32-it(t)+a|n<<a|r,Ka=o+e}else Ya=1<<o|n<<a|r,Ka=e}function eo(e){null!==e.return&&(Xa(e,1),Ja(e,1,0))}function to(e){for(;e===Ha;)Ha=Va[--qa],Va[qa]=null,Za=Va[--qa],Va[qa]=null;for(;e===Qa;)Qa=Ga[--Wa],Ga[Wa]=null,Ka=Ga[--Wa],Ga[Wa]=null,Ya=Ga[--Wa],Ga[Wa]=null}var no=null,ro=null,ao=!1,oo=null;function io(e,t){var n=Nu(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function lo(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ro=ua(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ro=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qa?{id:Ya,overflow:Ka}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Nu(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ro=null,!0);default:return!1}}function so(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function uo(e){if(ao){var t=ro;if(t){var n=t;if(!lo(e,t)){if(so(e))throw Error(o(418));t=ua(n.nextSibling);var r=no;t&&lo(e,t)?io(r,n):(e.flags=-4097&e.flags|2,ao=!1,no=e)}}else{if(so(e))throw Error(o(418));e.flags=-4097&e.flags|2,ao=!1,no=e}}}function co(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function po(e){if(e!==no)return!1;if(!ao)return co(e),ao=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ro)){if(so(e))throw fo(),Error(o(418));for(;t;)io(e,t),t=ua(t.nextSibling)}if(co(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ro=ua(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ro=null}}else ro=no?ua(e.stateNode.nextSibling):null;return!0}function fo(){for(var e=ro;e;)e=ua(e.nextSibling)}function mo(){ro=no=null,ao=!1}function ho(e){null===oo?oo=[e]:oo.push(e)}var go=w.ReactCurrentBatchConfig;function yo(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var bo=_a(null),vo=null,wo=null,ko=null;function xo(){ko=wo=vo=null}function So(e){var t=bo.current;Ea(bo),e._currentValue=t}function _o(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Eo(e,t){vo=e,ko=wo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(wl=!0),e.firstContext=null)}function Co(e){var t=e._currentValue;if(ko!==e)if(e={context:e,memoizedValue:t,next:null},null===wo){if(null===vo)throw Error(o(308));wo=e,vo.dependencies={lanes:0,firstContext:e}}else wo=wo.next=e;return t}var To=null;function Lo(e){null===To?To=[e]:To.push(e)}function Ro(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,Lo(t)):(n.next=a.next,a.next=n),t.interleaved=n,jo(e,r)}function jo(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ao=!1;function No(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Po(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Oo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Do(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&Rs)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,jo(e,n)}return null===(a=r.interleaved)?(t.next=t,Lo(r)):(t.next=a.next,a.next=t),r.interleaved=t,jo(e,n)}function Io(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}function Fo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Mo(e,t,n,r){var a=e.updateQueue;Ao=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var s=l,u=s.next;s.next=null,null===i?o=u:i.next=u,i=s;var c=e.alternate;null!==c&&((l=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===l?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(null!==o){var d=a.baseState;for(i=0,c=u=s=null,l=o;;){var p=l.lane,f=l.eventTime;if((r&p)===p){null!==c&&(c=c.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var m=e,h=l;switch(p=t,f=n,h.tag){case 1:if("function"==typeof(m=h.payload)){d=m.call(f,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(p="function"==typeof(m=h.payload)?m.call(f,d,p):m))break e;d=F({},d,p);break e;case 2:Ao=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(p=a.effects)?a.effects=[l]:p.push(l))}else f={eventTime:f,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===c?(u=c=f,s=d):c=c.next=f,i|=p;if(null===(l=l.next)){if(null===(l=a.shared.pending))break;l=(p=l).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}if(null===c&&(s=d),a.baseState=s,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null!==(t=a.shared.interleaved)){a=t;do{i|=a.lane,a=a.next}while(a!==t)}else null===o&&(a.shared.lanes=0);Fs|=i,e.lanes=i,e.memoizedState=d}}function zo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(o(191,a));a.call(r)}}}var Bo=(new r.Component).refs;function Uo(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var $o={isMounted:function(e){return!!(e=e._reactInternals)&&$e(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=tu(),a=nu(e),o=Oo(r,a);o.payload=t,null!=n&&(o.callback=n),null!==(t=Do(e,o,a))&&(ru(t,e,a,r),Io(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=tu(),a=nu(e),o=Oo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Do(e,o,a))&&(ru(t,e,a,r),Io(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tu(),r=nu(e),a=Oo(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=Do(e,a,r))&&(ru(t,e,r,n),Io(t,e,r))}};function Vo(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(a,o))}function qo(e,t,n){var r=!1,a=Ta,o=t.contextType;return"object"==typeof o&&null!==o?o=Co(o):(a=Na(t)?ja:La.current,o=(r=null!=(r=t.contextTypes))?Aa(e,a):Ta),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=$o,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function Ho(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&$o.enqueueReplaceState(t,t.state,null)}function Zo(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=Bo,No(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=Co(o):(o=Na(t)?ja:La.current,a.context=Aa(e,o)),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(Uo(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&$o.enqueueReplaceState(a,a.state,null),Mo(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function Go(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var a=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=a.refs;t===Bo&&(t=a.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function Wo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Qo(e){return(0,e._init)(e._payload)}function Yo(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Ou(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=2),t}function s(e,t,n,r){return null===t||6!==t.tag?((t=Mu(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function u(e,t,n,r){var o=n.type;return o===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===N&&Qo(o)===t.type)?((r=a(t,n.props)).ref=Go(e,t,n),r.return=e,r):((r=Du(n.type,n.key,n.props,null,e.mode,r)).ref=Go(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=zu(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Iu(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Mu(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Du(t.type,t.key,t.props,null,e.mode,n)).ref=Go(e,null,t),n.return=e,n;case x:return(t=zu(t,e.mode,n)).return=e,t;case N:return p(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Iu(t,e.mode,n,null)).return=e,t;Wo(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:s(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===a?u(e,t,n,r):null;case x:return n.key===a?c(e,t,n,r):null;case N:return f(e,t,(a=n._init)(n._payload),r)}if(te(n)||D(n))return null!==a?null:d(e,t,n,r,null);Wo(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return s(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case x:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case N:return m(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||D(r))return d(t,e=e.get(n)||null,r,a,null);Wo(t,r)}return null}function h(a,o,l,s){for(var u=null,c=null,d=o,h=o=0,g=null;null!==d&&h<l.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var y=f(a,d,l[h],s);if(null===y){null===d&&(d=g);break}e&&d&&null===y.alternate&&t(a,d),o=i(y,o,h),null===c?u=y:c.sibling=y,c=y,d=g}if(h===l.length)return n(a,d),ao&&Xa(a,h),u;if(null===d){for(;h<l.length;h++)null!==(d=p(a,l[h],s))&&(o=i(d,o,h),null===c?u=d:c.sibling=d,c=d);return ao&&Xa(a,h),u}for(d=r(a,d);h<l.length;h++)null!==(g=m(d,a,h,l[h],s))&&(e&&null!==g.alternate&&d.delete(null===g.key?h:g.key),o=i(g,o,h),null===c?u=g:c.sibling=g,c=g);return e&&d.forEach((function(e){return t(a,e)})),ao&&Xa(a,h),u}function g(a,l,s,u){var c=D(s);if("function"!=typeof c)throw Error(o(150));if(null==(s=c.call(s)))throw Error(o(151));for(var d=c=null,h=l,g=l=0,y=null,b=s.next();null!==h&&!b.done;g++,b=s.next()){h.index>g?(y=h,h=null):y=h.sibling;var v=f(a,h,b.value,u);if(null===v){null===h&&(h=y);break}e&&h&&null===v.alternate&&t(a,h),l=i(v,l,g),null===d?c=v:d.sibling=v,d=v,h=y}if(b.done)return n(a,h),ao&&Xa(a,g),c;if(null===h){for(;!b.done;g++,b=s.next())null!==(b=p(a,b.value,u))&&(l=i(b,l,g),null===d?c=b:d.sibling=b,d=b);return ao&&Xa(a,g),c}for(h=r(a,h);!b.done;g++,b=s.next())null!==(b=m(h,a,g,b.value,u))&&(e&&null!==b.alternate&&h.delete(null===b.key?g:b.key),l=i(b,l,g),null===d?c=b:d.sibling=b,d=b);return e&&h.forEach((function(e){return t(a,e)})),ao&&Xa(a,g),c}return function e(r,o,i,s){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case k:e:{for(var u=i.key,c=o;null!==c;){if(c.key===u){if((u=i.type)===S){if(7===c.tag){n(r,c.sibling),(o=a(c,i.props.children)).return=r,r=o;break e}}else if(c.elementType===u||"object"==typeof u&&null!==u&&u.$$typeof===N&&Qo(u)===c.type){n(r,c.sibling),(o=a(c,i.props)).ref=Go(r,c,i),o.return=r,r=o;break e}n(r,c);break}t(r,c),c=c.sibling}i.type===S?((o=Iu(i.props.children,r.mode,s,i.key)).return=r,r=o):((s=Du(i.type,i.key,i.props,null,r.mode,s)).ref=Go(r,o,i),s.return=r,r=s)}return l(r);case x:e:{for(c=i.key;null!==o;){if(o.key===c){if(4===o.tag&&o.stateNode.containerInfo===i.containerInfo&&o.stateNode.implementation===i.implementation){n(r,o.sibling),(o=a(o,i.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=zu(i,r.mode,s)).return=r,r=o}return l(r);case N:return e(r,o,(c=i._init)(i._payload),s)}if(te(i))return h(r,o,i,s);if(D(i))return g(r,o,i,s);Wo(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==o&&6===o.tag?(n(r,o.sibling),(o=a(o,i)).return=r,r=o):(n(r,o),(o=Mu(i,r.mode,s)).return=r,r=o),l(r)):n(r,o)}}var Ko=Yo(!0),Xo=Yo(!1),Jo={},ei=_a(Jo),ti=_a(Jo),ni=_a(Jo);function ri(e){if(e===Jo)throw Error(o(174));return e}function ai(e,t){switch(Ca(ni,t),Ca(ti,e),Ca(ei,Jo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:se(null,"");break;default:t=se(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Ea(ei),Ca(ei,t)}function oi(){Ea(ei),Ea(ti),Ea(ni)}function ii(e){ri(ni.current);var t=ri(ei.current),n=se(t,e.type);t!==n&&(Ca(ti,e),Ca(ei,n))}function li(e){ti.current===e&&(Ea(ei),Ea(ti))}var si=_a(0);function ui(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ci=[];function di(){for(var e=0;e<ci.length;e++)ci[e]._workInProgressVersionPrimary=null;ci.length=0}var pi=w.ReactCurrentDispatcher,fi=w.ReactCurrentBatchConfig,mi=0,hi=null,gi=null,yi=null,bi=!1,vi=!1,wi=0,ki=0;function xi(){throw Error(o(321))}function Si(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!lr(e[n],t[n]))return!1;return!0}function _i(e,t,n,r,a,i){if(mi=i,hi=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,pi.current=null===e||null===e.memoizedState?ll:sl,e=n(r,a),vi){i=0;do{if(vi=!1,wi=0,25<=i)throw Error(o(301));i+=1,yi=gi=null,t.updateQueue=null,pi.current=ul,e=n(r,a)}while(vi)}if(pi.current=il,t=null!==gi&&null!==gi.next,mi=0,yi=gi=hi=null,bi=!1,t)throw Error(o(300));return e}function Ei(){var e=0!==wi;return wi=0,e}function Ci(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===yi?hi.memoizedState=yi=e:yi=yi.next=e,yi}function Ti(){if(null===gi){var e=hi.alternate;e=null!==e?e.memoizedState:null}else e=gi.next;var t=null===yi?hi.memoizedState:yi.next;if(null!==t)yi=t,gi=e;else{if(null===e)throw Error(o(310));e={memoizedState:(gi=e).memoizedState,baseState:gi.baseState,baseQueue:gi.baseQueue,queue:gi.queue,next:null},null===yi?hi.memoizedState=yi=e:yi=yi.next=e}return yi}function Li(e,t){return"function"==typeof t?t(e):t}function Ri(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=gi,a=r.baseQueue,i=n.pending;if(null!==i){if(null!==a){var l=a.next;a.next=i.next,i.next=l}r.baseQueue=a=i,n.pending=null}if(null!==a){i=a.next,r=r.baseState;var s=l=null,u=null,c=i;do{var d=c.lane;if((mi&d)===d)null!==u&&(u=u.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:e(r,c.action);else{var p={lane:d,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};null===u?(s=u=p,l=r):u=u.next=p,hi.lanes|=d,Fs|=d}c=c.next}while(null!==c&&c!==i);null===u?l=r:u.next=s,lr(r,t.memoizedState)||(wl=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=u,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{i=a.lane,hi.lanes|=i,Fs|=i,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ji(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,i=t.memoizedState;if(null!==a){n.pending=null;var l=a=a.next;do{i=e(i,l.action),l=l.next}while(l!==a);lr(i,t.memoizedState)||(wl=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Ai(){}function Ni(e,t){var n=hi,r=Ti(),a=t(),i=!lr(r.memoizedState,a);if(i&&(r.memoizedState=a,wl=!0),r=r.queue,qi(Di.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==yi&&1&yi.memoizedState.tag){if(n.flags|=2048,zi(9,Oi.bind(null,n,r,a,t),void 0,null),null===js)throw Error(o(349));0!=(30&mi)||Pi(n,t,a)}return a}function Pi(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=hi.updateQueue)?(t={lastEffect:null,stores:null},hi.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Oi(e,t,n,r){t.value=n,t.getSnapshot=r,Ii(t)&&Fi(e)}function Di(e,t,n){return n((function(){Ii(t)&&Fi(e)}))}function Ii(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!lr(e,n)}catch(r){return!0}}function Fi(e){var t=jo(e,1);null!==t&&ru(t,e,1,-1)}function Mi(e){var t=Ci();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Li,lastRenderedState:e},t.queue=e,e=e.dispatch=nl.bind(null,hi,e),[t.memoizedState,e]}function zi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=hi.updateQueue)?(t={lastEffect:null,stores:null},hi.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Bi(){return Ti().memoizedState}function Ui(e,t,n,r){var a=Ci();hi.flags|=e,a.memoizedState=zi(1|t,n,void 0,void 0===r?null:r)}function $i(e,t,n,r){var a=Ti();r=void 0===r?null:r;var o=void 0;if(null!==gi){var i=gi.memoizedState;if(o=i.destroy,null!==r&&Si(r,i.deps))return void(a.memoizedState=zi(t,n,o,r))}hi.flags|=e,a.memoizedState=zi(1|t,n,o,r)}function Vi(e,t){return Ui(8390656,8,e,t)}function qi(e,t){return $i(2048,8,e,t)}function Hi(e,t){return $i(4,2,e,t)}function Zi(e,t){return $i(4,4,e,t)}function Gi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Wi(e,t,n){return n=null!=n?n.concat([e]):null,$i(4,4,Gi.bind(null,t,e),n)}function Qi(){}function Yi(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ki(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Xi(e,t,n){return 0==(21&mi)?(e.baseState&&(e.baseState=!1,wl=!0),e.memoizedState=n):(lr(n,t)||(n=ht(),hi.lanes|=n,Fs|=n,e.baseState=!0),t)}function Ji(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=fi.transition;fi.transition={};try{e(!1),t()}finally{vt=n,fi.transition=r}}function el(){return Ti().memoizedState}function tl(e,t,n){var r=nu(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rl(e))al(t,n);else if(null!==(n=Ro(e,t,n,r))){ru(n,e,r,tu()),ol(n,t,r)}}function nl(e,t,n){var r=nu(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rl(e))al(t,a);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var i=t.lastRenderedState,l=o(i,n);if(a.hasEagerState=!0,a.eagerState=l,lr(l,i)){var s=t.interleaved;return null===s?(a.next=a,Lo(t)):(a.next=s.next,s.next=a),void(t.interleaved=a)}}catch(u){}null!==(n=Ro(e,t,a,r))&&(ru(n,e,r,a=tu()),ol(n,t,r))}}function rl(e){var t=e.alternate;return e===hi||null!==t&&t===hi}function al(e,t){vi=bi=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ol(e,t,n){if(0!=(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}var il={readContext:Co,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},ll={readContext:Co,useCallback:function(e,t){return Ci().memoizedState=[e,void 0===t?null:t],e},useContext:Co,useEffect:Vi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ui(4194308,4,Gi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ui(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ui(4,2,e,t)},useMemo:function(e,t){var n=Ci();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ci();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=tl.bind(null,hi,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Ci().memoizedState=e},useState:Mi,useDebugValue:Qi,useDeferredValue:function(e){return Ci().memoizedState=e},useTransition:function(){var e=Mi(!1),t=e[0];return e=Ji.bind(null,e[1]),Ci().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=hi,a=Ci();if(ao){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===js)throw Error(o(349));0!=(30&mi)||Pi(r,t,n)}a.memoizedState=n;var i={value:n,getSnapshot:t};return a.queue=i,Vi(Di.bind(null,r,i,e),[e]),r.flags|=2048,zi(9,Oi.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ci(),t=js.identifierPrefix;if(ao){var n=Ka;t=":"+t+"R"+(n=(Ya&~(1<<32-it(Ya)-1)).toString(32)+n),0<(n=wi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=ki++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},sl={readContext:Co,useCallback:Yi,useContext:Co,useEffect:qi,useImperativeHandle:Wi,useInsertionEffect:Hi,useLayoutEffect:Zi,useMemo:Ki,useReducer:Ri,useRef:Bi,useState:function(){return Ri(Li)},useDebugValue:Qi,useDeferredValue:function(e){return Xi(Ti(),gi.memoizedState,e)},useTransition:function(){return[Ri(Li)[0],Ti().memoizedState]},useMutableSource:Ai,useSyncExternalStore:Ni,useId:el,unstable_isNewReconciler:!1},ul={readContext:Co,useCallback:Yi,useContext:Co,useEffect:qi,useImperativeHandle:Wi,useInsertionEffect:Hi,useLayoutEffect:Zi,useMemo:Ki,useReducer:ji,useRef:Bi,useState:function(){return ji(Li)},useDebugValue:Qi,useDeferredValue:function(e){var t=Ti();return null===gi?t.memoizedState=e:Xi(t,gi.memoizedState,e)},useTransition:function(){return[ji(Li)[0],Ti().memoizedState]},useMutableSource:Ai,useSyncExternalStore:Ni,useId:el,unstable_isNewReconciler:!1};function cl(e,t){try{var n="",r=t;do{n+=U(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a,digest:null}}function dl(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function pl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fl="function"==typeof WeakMap?WeakMap:Map;function ml(e,t,n){(n=Oo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Hs||(Hs=!0,Zs=r),pl(0,t)},n}function hl(e,t,n){(n=Oo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){pl(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){pl(0,t),"function"!=typeof r&&(null===Gs?Gs=new Set([this]):Gs.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function gl(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fl;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=Cu.bind(null,e,t,n),t.then(e,e))}function yl(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bl(e,t,n,r,a){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Oo(-1,1)).tag=2,Do(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=a,e)}var vl=w.ReactCurrentOwner,wl=!1;function kl(e,t,n,r){t.child=null===e?Xo(t,null,n,r):Ko(t,e.child,n,r)}function xl(e,t,n,r,a){n=n.render;var o=t.ref;return Eo(t,a),r=_i(e,t,n,r,o,a),n=Ei(),null===e||wl?(ao&&n&&eo(t),t.flags|=1,kl(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Hl(e,t,a))}function Sl(e,t,n,r,a){if(null===e){var o=n.type;return"function"!=typeof o||Pu(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Du(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,_l(e,t,o,r,a))}if(o=e.child,0==(e.lanes&a)){var i=o.memoizedProps;if((n=null!==(n=n.compare)?n:sr)(i,r)&&e.ref===t.ref)return Hl(e,t,a)}return t.flags|=1,(e=Ou(o,r)).ref=t.ref,e.return=t,t.child=e}function _l(e,t,n,r,a){if(null!==e){var o=e.memoizedProps;if(sr(o,r)&&e.ref===t.ref){if(wl=!1,t.pendingProps=r=o,0==(e.lanes&a))return t.lanes=e.lanes,Hl(e,t,a);0!=(131072&e.flags)&&(wl=!0)}}return Tl(e,t,n,r,a)}function El(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ca(Os,Ps),Ps|=n;else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ca(Os,Ps),Ps|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==o?o.baseLanes:n,Ca(Os,Ps),Ps|=r}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,Ca(Os,Ps),Ps|=r;return kl(e,t,a,n),t.child}function Cl(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Tl(e,t,n,r,a){var o=Na(n)?ja:La.current;return o=Aa(t,o),Eo(t,a),n=_i(e,t,n,r,o,a),r=Ei(),null===e||wl?(ao&&r&&eo(t),t.flags|=1,kl(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Hl(e,t,a))}function Ll(e,t,n,r,a){if(Na(n)){var o=!0;Ia(t)}else o=!1;if(Eo(t,a),null===t.stateNode)ql(e,t),qo(t,n,r),Zo(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var s=i.context,u=n.contextType;"object"==typeof u&&null!==u?u=Co(u):u=Aa(t,u=Na(n)?ja:La.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==r||s!==u)&&Ho(t,i,r,u),Ao=!1;var p=t.memoizedState;i.state=p,Mo(t,r,i,a),s=t.memoizedState,l!==r||p!==s||Ra.current||Ao?("function"==typeof c&&(Uo(t,n,c,r),s=t.memoizedState),(l=Ao||Vo(t,n,l,r,p,s,u))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=u,r=l):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Po(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:yo(t.type,l),i.props=u,d=t.pendingProps,p=i.context,"object"==typeof(s=n.contextType)&&null!==s?s=Co(s):s=Aa(t,s=Na(n)?ja:La.current);var f=n.getDerivedStateFromProps;(c="function"==typeof f||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==d||p!==s)&&Ho(t,i,r,s),Ao=!1,p=t.memoizedState,i.state=p,Mo(t,r,i,a);var m=t.memoizedState;l!==d||p!==m||Ra.current||Ao?("function"==typeof f&&(Uo(t,n,f,r),m=t.memoizedState),(u=Ao||Vo(t,n,u,r,p,m,s)||!1)?(c||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,s),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,s)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=s,r=u):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Rl(e,t,n,r,o,a)}function Rl(e,t,n,r,a,o){Cl(e,t);var i=0!=(128&t.flags);if(!r&&!i)return a&&Fa(t,n,!1),Hl(e,t,o);r=t.stateNode,vl.current=t;var l=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Ko(t,e.child,null,o),t.child=Ko(t,null,l,o)):kl(e,t,l,o),t.memoizedState=r.state,a&&Fa(t,n,!0),t.child}function jl(e){var t=e.stateNode;t.pendingContext?Oa(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Oa(0,t.context,!1),ai(e,t.containerInfo)}function Al(e,t,n,r,a){return mo(),ho(a),t.flags|=256,kl(e,t,n,r),t.child}var Nl,Pl,Ol,Dl,Il={dehydrated:null,treeContext:null,retryLane:0};function Fl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ml(e,t,n){var r,a=t.pendingProps,i=si.current,l=!1,s=0!=(128&t.flags);if((r=s)||(r=(null===e||null!==e.memoizedState)&&0!=(2&i)),r?(l=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),Ca(si,1&i),null===e)return uo(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(s=a.children,e=a.fallback,l?(a=t.mode,l=t.child,s={mode:"hidden",children:s},0==(1&a)&&null!==l?(l.childLanes=0,l.pendingProps=s):l=Fu(s,a,0,null),e=Iu(e,a,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Fl(n),t.memoizedState=Il,e):zl(t,s));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,a,i,l){if(n)return 256&t.flags?(t.flags&=-257,Bl(e,t,l,r=dl(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,a=t.mode,r=Fu({mode:"visible",children:r.children},a,0,null),(i=Iu(i,a,l,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,0!=(1&t.mode)&&Ko(t,e.child,null,l),t.child.memoizedState=Fl(l),t.memoizedState=Il,i);if(0==(1&t.mode))return Bl(e,t,l,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var s=r.dgst;return r=s,Bl(e,t,l,r=dl(i=Error(o(419)),r,void 0))}if(s=0!=(l&e.childLanes),wl||s){if(null!==(r=js)){switch(l&-l){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!=(a&(r.suspendedLanes|l))?0:a)&&a!==i.retryLane&&(i.retryLane=a,jo(e,a),ru(r,e,a,-1))}return gu(),Bl(e,t,l,r=dl(Error(o(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=Lu.bind(null,e),a._reactRetry=t,null):(e=i.treeContext,ro=ua(a.nextSibling),no=t,ao=!0,oo=null,null!==e&&(Ga[Wa++]=Ya,Ga[Wa++]=Ka,Ga[Wa++]=Qa,Ya=e.id,Ka=e.overflow,Qa=t),t=zl(t,r.children),t.flags|=4096,t)}(e,t,s,a,r,i,n);if(l){l=a.fallback,s=t.mode,r=(i=e.child).sibling;var u={mode:"hidden",children:a.children};return 0==(1&s)&&t.child!==i?((a=t.child).childLanes=0,a.pendingProps=u,t.deletions=null):(a=Ou(i,u)).subtreeFlags=14680064&i.subtreeFlags,null!==r?l=Ou(r,l):(l=Iu(l,s,n,null)).flags|=2,l.return=t,a.return=t,a.sibling=l,t.child=a,a=l,l=t.child,s=null===(s=e.child.memoizedState)?Fl(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},l.memoizedState=s,l.childLanes=e.childLanes&~n,t.memoizedState=Il,a}return e=(l=e.child).sibling,a=Ou(l,{mode:"visible",children:a.children}),0==(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function zl(e,t){return(t=Fu({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bl(e,t,n,r){return null!==r&&ho(r),Ko(t,e.child,null,n),(e=zl(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Ul(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),_o(e.return,t,n)}function $l(e,t,n,r,a){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=a)}function Vl(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(kl(e,t,r.children,n),0!=(2&(r=si.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Ul(e,n,t);else if(19===e.tag)Ul(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ca(si,r),0==(1&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===ui(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),$l(t,!1,a,n,o);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===ui(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}$l(t,!0,n,null,o);break;case"together":$l(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ql(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Hl(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Fs|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Ou(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Ou(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Zl(e,t){if(!ao)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Gl(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Wl(e,t,n){var r=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Gl(t),null;case 1:case 17:return Na(t.type)&&Pa(),Gl(t),null;case 3:return r=t.stateNode,oi(),Ea(Ra),Ea(La),di(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(po(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==oo&&(lu(oo),oo=null))),Pl(e,t),Gl(t),null;case 5:li(t);var a=ri(ni.current);if(n=t.type,null!==e&&null!=t.stateNode)Ol(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(o(166));return Gl(t),null}if(e=ri(ei.current),po(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[pa]=t,r[fa]=i,e=0!=(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(a=0;a<Dr.length;a++)zr(Dr[a],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":Y(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":ae(r,i),zr("invalid",r)}for(var s in be(n,i),a=null,i)if(i.hasOwnProperty(s)){var u=i[s];"children"===s?"string"==typeof u?r.textContent!==u&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,u,e),a=["children",u]):"number"==typeof u&&r.textContent!==""+u&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,u,e),a=["children",""+u]):l.hasOwnProperty(s)&&null!=u&&"onScroll"===s&&zr("scroll",r)}switch(n){case"input":Z(r),J(r,i,!0);break;case"textarea":Z(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{s=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=le(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[pa]=t,e[fa]=r,Nl(e,t,!1,!1),t.stateNode=e;e:{switch(s=ve(n,r),n){case"dialog":zr("cancel",e),zr("close",e),a=r;break;case"iframe":case"object":case"embed":zr("load",e),a=r;break;case"video":case"audio":for(a=0;a<Dr.length;a++)zr(Dr[a],e);a=r;break;case"source":zr("error",e),a=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),a=r;break;case"details":zr("toggle",e),a=r;break;case"input":Y(e,r),a=Q(e,r),zr("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=F({},r,{value:void 0}),zr("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),zr("invalid",e)}for(i in be(n,a),u=a)if(u.hasOwnProperty(i)){var c=u[i];"style"===i?ge(e,c):"dangerouslySetInnerHTML"===i?null!=(c=c?c.__html:void 0)&&de(e,c):"children"===i?"string"==typeof c?("textarea"!==n||""!==c)&&pe(e,c):"number"==typeof c&&pe(e,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(l.hasOwnProperty(i)?null!=c&&"onScroll"===i&&zr("scroll",e):null!=c&&v(e,i,c,s))}switch(n){case"input":Z(e),J(e,r,!1);break;case"textarea":Z(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+q(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Gl(t),null;case 6:if(e&&null!=t.stateNode)Dl(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(o(166));if(n=ri(ni.current),ri(ei.current),po(t)){if(r=t.stateNode,n=t.memoizedProps,r[pa]=t,(i=r.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Xr(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,0!=(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[pa]=t,t.stateNode=r}return Gl(t),null;case 13:if(Ea(si),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ao&&null!==ro&&0!=(1&t.mode)&&0==(128&t.flags))fo(),mo(),t.flags|=98560,i=!1;else if(i=po(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(o(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(o(317));i[pa]=t}else mo(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Gl(t),i=!1}else null!==oo&&(lu(oo),oo=null),i=!0;if(!i)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&si.current)?0===Ds&&(Ds=3):gu())),null!==t.updateQueue&&(t.flags|=4),Gl(t),null);case 4:return oi(),Pl(e,t),null===e&&$r(t.stateNode.containerInfo),Gl(t),null;case 10:return So(t.type._context),Gl(t),null;case 19:if(Ea(si),null===(i=t.memoizedState))return Gl(t),null;if(r=0!=(128&t.flags),null===(s=i.rendering))if(r)Zl(i,!1);else{if(0!==Ds||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(s=ui(e))){for(t.flags|=128,Zl(i,!1),null!==(r=s.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(s=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=s.childLanes,i.lanes=s.lanes,i.child=s.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=s.memoizedProps,i.memoizedState=s.memoizedState,i.updateQueue=s.updateQueue,i.type=s.type,e=s.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ca(si,1&si.current|2),t.child}e=e.sibling}null!==i.tail&&Ke()>Vs&&(t.flags|=128,r=!0,Zl(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ui(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Zl(i,!0),null===i.tail&&"hidden"===i.tailMode&&!s.alternate&&!ao)return Gl(t),null}else 2*Ke()-i.renderingStartTime>Vs&&1073741824!==n&&(t.flags|=128,r=!0,Zl(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=i.last)?n.sibling=s:t.child=s,i.last=s)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ke(),t.sibling=null,n=si.current,Ca(si,r?1&n|2:1&n),t):(Gl(t),null);case 22:case 23:return pu(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(1073741824&Ps)&&(Gl(t),6&t.subtreeFlags&&(t.flags|=8192)):Gl(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Ql(e,t){switch(to(t),t.tag){case 1:return Na(t.type)&&Pa(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return oi(),Ea(Ra),Ea(La),di(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return li(t),null;case 13:if(Ea(si),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));mo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Ea(si),null;case 4:return oi(),null;case 10:return So(t.type._context),null;case 22:case 23:return pu(),null;default:return null}}Nl=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Pl=function(){},Ol=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,ri(ei.current);var o,i=null;switch(n){case"input":a=Q(e,a),r=Q(e,r),i=[];break;case"select":a=F({},a,{value:void 0}),r=F({},r,{value:void 0}),i=[];break;case"textarea":a=re(e,a),r=re(e,r),i=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(c in be(n,r),n=null,a)if(!r.hasOwnProperty(c)&&a.hasOwnProperty(c)&&null!=a[c])if("style"===c){var s=a[c];for(o in s)s.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(l.hasOwnProperty(c)?i||(i=[]):(i=i||[]).push(c,null));for(c in r){var u=r[c];if(s=null!=a?a[c]:void 0,r.hasOwnProperty(c)&&u!==s&&(null!=u||null!=s))if("style"===c)if(s){for(o in s)!s.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in u)u.hasOwnProperty(o)&&s[o]!==u[o]&&(n||(n={}),n[o]=u[o])}else n||(i||(i=[]),i.push(c,n)),n=u;else"dangerouslySetInnerHTML"===c?(u=u?u.__html:void 0,s=s?s.__html:void 0,null!=u&&s!==u&&(i=i||[]).push(c,u)):"children"===c?"string"!=typeof u&&"number"!=typeof u||(i=i||[]).push(c,""+u):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(l.hasOwnProperty(c)?(null!=u&&"onScroll"===c&&zr("scroll",e),i||s===u||(i=[])):(i=i||[]).push(c,u))}n&&(i=i||[]).push("style",n);var c=i;(t.updateQueue=c)&&(t.flags|=4)}},Dl=function(e,t,n,r){n!==r&&(t.flags|=4)};var Yl=!1,Kl=!1,Xl="function"==typeof WeakSet?WeakSet:Set,Jl=null;function es(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){Eu(e,t,r)}else n.current=null}function ts(e,t,n){try{n()}catch(r){Eu(e,t,r)}}var ns=!1;function rs(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var o=a.destroy;a.destroy=void 0,void 0!==o&&ts(t,n,o)}a=a.next}while(a!==r)}}function as(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function os(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function is(e){var t=e.alternate;null!==t&&(e.alternate=null,is(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[pa],delete t[fa],delete t[ha],delete t[ga],delete t[ya])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ls(e){return 5===e.tag||3===e.tag||4===e.tag}function ss(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ls(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function us(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(us(e,t,n),e=e.sibling;null!==e;)us(e,t,n),e=e.sibling}function cs(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cs(e,t,n),e=e.sibling;null!==e;)cs(e,t,n),e=e.sibling}var ds=null,ps=!1;function fs(e,t,n){for(n=n.child;null!==n;)ms(e,t,n),n=n.sibling}function ms(e,t,n){if(ot&&"function"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(at,n)}catch(l){}switch(n.tag){case 5:Kl||es(n,t);case 6:var r=ds,a=ps;ds=null,fs(e,t,n),ps=a,null!==(ds=r)&&(ps?(e=ds,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ds.removeChild(n.stateNode));break;case 18:null!==ds&&(ps?(e=ds,n=n.stateNode,8===e.nodeType?sa(e.parentNode,n):1===e.nodeType&&sa(e,n),$t(e)):sa(ds,n.stateNode));break;case 4:r=ds,a=ps,ds=n.stateNode.containerInfo,ps=!0,fs(e,t,n),ds=r,ps=a;break;case 0:case 11:case 14:case 15:if(!Kl&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var o=a,i=o.destroy;o=o.tag,void 0!==i&&(0!=(2&o)||0!=(4&o))&&ts(n,t,i),a=a.next}while(a!==r)}fs(e,t,n);break;case 1:if(!Kl&&(es(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Eu(n,t,l)}fs(e,t,n);break;case 21:fs(e,t,n);break;case 22:1&n.mode?(Kl=(r=Kl)||null!==n.memoizedState,fs(e,t,n),Kl=r):fs(e,t,n);break;default:fs(e,t,n)}}function hs(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xl),t.forEach((function(t){var r=Ru.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function gs(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var i=e,l=t,s=l;e:for(;null!==s;){switch(s.tag){case 5:ds=s.stateNode,ps=!1;break e;case 3:case 4:ds=s.stateNode.containerInfo,ps=!0;break e}s=s.return}if(null===ds)throw Error(o(160));ms(i,l,a),ds=null,ps=!1;var u=a.alternate;null!==u&&(u.return=null),a.return=null}catch(c){Eu(a,t,c)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)ys(t,e),t=t.sibling}function ys(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(gs(t,e),bs(e),4&r){try{rs(3,e,e.return),as(3,e)}catch(g){Eu(e,e.return,g)}try{rs(5,e,e.return)}catch(g){Eu(e,e.return,g)}}break;case 1:gs(t,e),bs(e),512&r&&null!==n&&es(n,n.return);break;case 5:if(gs(t,e),bs(e),512&r&&null!==n&&es(n,n.return),32&e.flags){var a=e.stateNode;try{pe(a,"")}catch(g){Eu(e,e.return,g)}}if(4&r&&null!=(a=e.stateNode)){var i=e.memoizedProps,l=null!==n?n.memoizedProps:i,s=e.type,u=e.updateQueue;if(e.updateQueue=null,null!==u)try{"input"===s&&"radio"===i.type&&null!=i.name&&K(a,i),ve(s,l);var c=ve(s,i);for(l=0;l<u.length;l+=2){var d=u[l],p=u[l+1];"style"===d?ge(a,p):"dangerouslySetInnerHTML"===d?de(a,p):"children"===d?pe(a,p):v(a,d,p,c)}switch(s){case"input":X(a,i);break;case"textarea":oe(a,i);break;case"select":var f=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(a,!!i.multiple,m,!1):f!==!!i.multiple&&(null!=i.defaultValue?ne(a,!!i.multiple,i.defaultValue,!0):ne(a,!!i.multiple,i.multiple?[]:"",!1))}a[fa]=i}catch(g){Eu(e,e.return,g)}}break;case 6:if(gs(t,e),bs(e),4&r){if(null===e.stateNode)throw Error(o(162));a=e.stateNode,i=e.memoizedProps;try{a.nodeValue=i}catch(g){Eu(e,e.return,g)}}break;case 3:if(gs(t,e),bs(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{$t(t.containerInfo)}catch(g){Eu(e,e.return,g)}break;case 4:default:gs(t,e),bs(e);break;case 13:gs(t,e),bs(e),8192&(a=e.child).flags&&(i=null!==a.memoizedState,a.stateNode.isHidden=i,!i||null!==a.alternate&&null!==a.alternate.memoizedState||($s=Ke())),4&r&&hs(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Kl=(c=Kl)||d,gs(t,e),Kl=c):gs(t,e),bs(e),8192&r){if(c=null!==e.memoizedState,(e.stateNode.isHidden=c)&&!d&&0!=(1&e.mode))for(Jl=e,d=e.child;null!==d;){for(p=Jl=d;null!==Jl;){switch(m=(f=Jl).child,f.tag){case 0:case 11:case 14:case 15:rs(4,f,f.return);break;case 1:es(f,f.return);var h=f.stateNode;if("function"==typeof h.componentWillUnmount){r=f,n=f.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(g){Eu(r,n,g)}}break;case 5:es(f,f.return);break;case 22:if(null!==f.memoizedState){xs(p);continue}}null!==m?(m.return=f,Jl=m):xs(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{a=p.stateNode,c?"function"==typeof(i=a.style).setProperty?i.setProperty("display","none","important"):i.display="none":(s=p.stateNode,l=null!=(u=p.memoizedProps.style)&&u.hasOwnProperty("display")?u.display:null,s.style.display=he("display",l))}catch(g){Eu(e,e.return,g)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=c?"":p.memoizedProps}catch(g){Eu(e,e.return,g)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:gs(t,e),bs(e),4&r&&hs(e);case 21:}}function bs(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ls(n)){var r=n;break e}n=n.return}throw Error(o(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(pe(a,""),r.flags&=-33),cs(e,ss(e),a);break;case 3:case 4:var i=r.stateNode.containerInfo;us(e,ss(e),i);break;default:throw Error(o(161))}}catch(l){Eu(e,e.return,l)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vs(e,t,n){Jl=e,ws(e,t,n)}function ws(e,t,n){for(var r=0!=(1&e.mode);null!==Jl;){var a=Jl,o=a.child;if(22===a.tag&&r){var i=null!==a.memoizedState||Yl;if(!i){var l=a.alternate,s=null!==l&&null!==l.memoizedState||Kl;l=Yl;var u=Kl;if(Yl=i,(Kl=s)&&!u)for(Jl=a;null!==Jl;)s=(i=Jl).child,22===i.tag&&null!==i.memoizedState?Ss(a):null!==s?(s.return=i,Jl=s):Ss(a);for(;null!==o;)Jl=o,ws(o,t,n),o=o.sibling;Jl=a,Yl=l,Kl=u}ks(e)}else 0!=(8772&a.subtreeFlags)&&null!==o?(o.return=a,Jl=o):ks(e)}}function ks(e){for(;null!==Jl;){var t=Jl;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Kl||as(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Kl)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:yo(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&zo(t,i,r);break;case 3:var l=t.updateQueue;if(null!==l){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}zo(t,l,n)}break;case 5:var s=t.stateNode;if(null===n&&4&t.flags){n=s;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&n.focus();break;case"img":u.src&&(n.src=u.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var c=t.alternate;if(null!==c){var d=c.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&$t(p)}}}break;default:throw Error(o(163))}Kl||512&t.flags&&os(t)}catch(f){Eu(t,t.return,f)}}if(t===e){Jl=null;break}if(null!==(n=t.sibling)){n.return=t.return,Jl=n;break}Jl=t.return}}function xs(e){for(;null!==Jl;){var t=Jl;if(t===e){Jl=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Jl=n;break}Jl=t.return}}function Ss(e){for(;null!==Jl;){var t=Jl;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{as(4,t)}catch(s){Eu(t,n,s)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(s){Eu(t,a,s)}}var o=t.return;try{os(t)}catch(s){Eu(t,o,s)}break;case 5:var i=t.return;try{os(t)}catch(s){Eu(t,i,s)}}}catch(s){Eu(t,t.return,s)}if(t===e){Jl=null;break}var l=t.sibling;if(null!==l){l.return=t.return,Jl=l;break}Jl=t.return}}var _s,Es=Math.ceil,Cs=w.ReactCurrentDispatcher,Ts=w.ReactCurrentOwner,Ls=w.ReactCurrentBatchConfig,Rs=0,js=null,As=null,Ns=0,Ps=0,Os=_a(0),Ds=0,Is=null,Fs=0,Ms=0,zs=0,Bs=null,Us=null,$s=0,Vs=1/0,qs=null,Hs=!1,Zs=null,Gs=null,Ws=!1,Qs=null,Ys=0,Ks=0,Xs=null,Js=-1,eu=0;function tu(){return 0!=(6&Rs)?Ke():-1!==Js?Js:Js=Ke()}function nu(e){return 0==(1&e.mode)?1:0!=(2&Rs)&&0!==Ns?Ns&-Ns:null!==go.transition?(0===eu&&(eu=ht()),eu):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Yt(e.type)}function ru(e,t,n,r){if(50<Ks)throw Ks=0,Xs=null,Error(o(185));yt(e,n,r),0!=(2&Rs)&&e===js||(e===js&&(0==(2&Rs)&&(Ms|=n),4===Ds&&su(e,Ns)),au(e,r),1===n&&0===Rs&&0==(1&t.mode)&&(Vs=Ke()+500,za&&$a()))}function au(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes;0<o;){var i=31-it(o),l=1<<i,s=a[i];-1===s?0!=(l&n)&&0==(l&r)||(a[i]=ft(l,t)):s<=t&&(e.expiredLanes|=l),o&=~l}}(e,t);var r=pt(e,e===js?Ns:0);if(0===r)null!==n&&We(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&We(n),1===t)0===e.tag?function(e){za=!0,Ua(e)}(uu.bind(null,e)):Ua(uu.bind(null,e)),ia((function(){0==(6&Rs)&&$a()})),n=null;else{switch(wt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=ju(n,ou.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ou(e,t){if(Js=-1,eu=0,0!=(6&Rs))throw Error(o(327));var n=e.callbackNode;if(Su()&&e.callbackNode!==n)return null;var r=pt(e,e===js?Ns:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=yu(e,r);else{t=r;var a=Rs;Rs|=2;var i=hu();for(js===e&&Ns===t||(qs=null,Vs=Ke()+500,fu(e,t));;)try{vu();break}catch(s){mu(e,s)}xo(),Cs.current=i,Rs=a,null!==As?t=0:(js=null,Ns=0,t=Ds)}if(0!==t){if(2===t&&(0!==(a=mt(e))&&(r=a,t=iu(e,a))),1===t)throw n=Is,fu(e,0),su(e,r),au(e,Ke()),n;if(6===t)su(e,r);else{if(a=e.current.alternate,0==(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],o=a.getSnapshot;a=a.value;try{if(!lr(o(),a))return!1}catch(l){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)&&(2===(t=yu(e,r))&&(0!==(i=mt(e))&&(r=i,t=iu(e,i))),1===t))throw n=Is,fu(e,0),su(e,r),au(e,Ke()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(o(345));case 2:case 5:xu(e,Us,qs);break;case 3:if(su(e,r),(130023424&r)===r&&10<(t=$s+500-Ke())){if(0!==pt(e,0))break;if(((a=e.suspendedLanes)&r)!==r){tu(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(xu.bind(null,e,Us,qs),t);break}xu(e,Us,qs);break;case 4:if(su(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var l=31-it(r);i=1<<l,(l=t[l])>a&&(a=l),r&=~i}if(r=a,10<(r=(120>(r=Ke()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Es(r/1960))-r)){e.timeoutHandle=ra(xu.bind(null,e,Us,qs),r);break}xu(e,Us,qs);break;default:throw Error(o(329))}}}return au(e,Ke()),e.callbackNode===n?ou.bind(null,e):null}function iu(e,t){var n=Bs;return e.current.memoizedState.isDehydrated&&(fu(e,t).flags|=256),2!==(e=yu(e,t))&&(t=Us,Us=n,null!==t&&lu(t)),e}function lu(e){null===Us?Us=e:Us.push.apply(Us,e)}function su(e,t){for(t&=~zs,t&=~Ms,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function uu(e){if(0!=(6&Rs))throw Error(o(327));Su();var t=pt(e,0);if(0==(1&t))return au(e,Ke()),null;var n=yu(e,t);if(0!==e.tag&&2===n){var r=mt(e);0!==r&&(t=r,n=iu(e,r))}if(1===n)throw n=Is,fu(e,0),su(e,t),au(e,Ke()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,xu(e,Us,qs),au(e,Ke()),null}function cu(e,t){var n=Rs;Rs|=1;try{return e(t)}finally{0===(Rs=n)&&(Vs=Ke()+500,za&&$a())}}function du(e){null!==Qs&&0===Qs.tag&&0==(6&Rs)&&Su();var t=Rs;Rs|=1;var n=Ls.transition,r=vt;try{if(Ls.transition=null,vt=1,e)return e()}finally{vt=r,Ls.transition=n,0==(6&(Rs=t))&&$a()}}function pu(){Ps=Os.current,Ea(Os)}function fu(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==As)for(n=As.return;null!==n;){var r=n;switch(to(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Pa();break;case 3:oi(),Ea(Ra),Ea(La),di();break;case 5:li(r);break;case 4:oi();break;case 13:case 19:Ea(si);break;case 10:So(r.type._context);break;case 22:case 23:pu()}n=n.return}if(js=e,As=e=Ou(e.current,null),Ns=Ps=t,Ds=0,Is=null,zs=Ms=Fs=0,Us=Bs=null,null!==To){for(t=0;t<To.length;t++)if(null!==(r=(n=To[t]).interleaved)){n.interleaved=null;var a=r.next,o=n.pending;if(null!==o){var i=o.next;o.next=a,r.next=i}n.pending=r}To=null}return e}function mu(e,t){for(;;){var n=As;try{if(xo(),pi.current=il,bi){for(var r=hi.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}bi=!1}if(mi=0,yi=gi=hi=null,vi=!1,wi=0,Ts.current=null,null===n||null===n.return){Ds=1,Is=t,As=null;break}e:{var i=e,l=n.return,s=n,u=t;if(t=Ns,s.flags|=32768,null!==u&&"object"==typeof u&&"function"==typeof u.then){var c=u,d=s,p=d.tag;if(0==(1&d.mode)&&(0===p||11===p||15===p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=yl(l);if(null!==m){m.flags&=-257,bl(m,l,s,0,t),1&m.mode&&gl(i,c,t),u=c;var h=(t=m).updateQueue;if(null===h){var g=new Set;g.add(u),t.updateQueue=g}else h.add(u);break e}if(0==(1&t)){gl(i,c,t),gu();break e}u=Error(o(426))}else if(ao&&1&s.mode){var y=yl(l);if(null!==y){0==(65536&y.flags)&&(y.flags|=256),bl(y,l,s,0,t),ho(cl(u,s));break e}}i=u=cl(u,s),4!==Ds&&(Ds=2),null===Bs?Bs=[i]:Bs.push(i),i=l;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,ml(0,u,t));break e;case 1:s=u;var b=i.type,v=i.stateNode;if(0==(128&i.flags)&&("function"==typeof b.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===Gs||!Gs.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,hl(i,s,t));break e}}i=i.return}while(null!==i)}ku(n)}catch(w){t=w,As===n&&null!==n&&(As=n=n.return);continue}break}}function hu(){var e=Cs.current;return Cs.current=il,null===e?il:e}function gu(){0!==Ds&&3!==Ds&&2!==Ds||(Ds=4),null===js||0==(268435455&Fs)&&0==(268435455&Ms)||su(js,Ns)}function yu(e,t){var n=Rs;Rs|=2;var r=hu();for(js===e&&Ns===t||(qs=null,fu(e,t));;)try{bu();break}catch(a){mu(e,a)}if(xo(),Rs=n,Cs.current=r,null!==As)throw Error(o(261));return js=null,Ns=0,Ds}function bu(){for(;null!==As;)wu(As)}function vu(){for(;null!==As&&!Qe();)wu(As)}function wu(e){var t=_s(e.alternate,e,Ps);e.memoizedProps=e.pendingProps,null===t?ku(e):As=t,Ts.current=null}function ku(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=Wl(n,t,Ps)))return void(As=n)}else{if(null!==(n=Ql(n,t)))return n.flags&=32767,void(As=n);if(null===e)return Ds=6,void(As=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(As=t);As=t=e}while(null!==t);0===Ds&&(Ds=5)}function xu(e,t,n){var r=vt,a=Ls.transition;try{Ls.transition=null,vt=1,function(e,t,n,r){do{Su()}while(null!==Qs);if(0!=(6&Rs))throw Error(o(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-it(n),o=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~o}}(e,i),e===js&&(As=js=null,Ns=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Ws||(Ws=!0,ju(tt,(function(){return Su(),null}))),i=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||i){i=Ls.transition,Ls.transition=null;var l=vt;vt=1;var s=Rs;Rs|=4,Ts.current=null,function(e,t){if(ea=qt,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(k){n=null;break e}var l=0,s=-1,u=-1,c=0,d=0,p=e,f=null;t:for(;;){for(var m;p!==n||0!==a&&3!==p.nodeType||(s=l+a),p!==i||0!==r&&3!==p.nodeType||(u=l+r),3===p.nodeType&&(l+=p.nodeValue.length),null!==(m=p.firstChild);)f=p,p=m;for(;;){if(p===e)break t;if(f===n&&++c===a&&(s=l),f===i&&++d===r&&(u=l),null!==(m=p.nextSibling))break;f=(p=f).parentNode}p=m}n=-1===s||-1===u?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},qt=!1,Jl=t;null!==Jl;)if(e=(t=Jl).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Jl=e;else for(;null!==Jl;){t=Jl;try{var h=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var g=h.memoizedProps,y=h.memoizedState,b=t.stateNode,v=b.getSnapshotBeforeUpdate(t.elementType===t.type?g:yo(t.type,g),y);b.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(o(163))}}catch(k){Eu(t,t.return,k)}if(null!==(e=t.sibling)){e.return=t.return,Jl=e;break}Jl=t.return}h=ns,ns=!1}(e,n),ys(n,e),mr(ta),qt=!!ea,ta=ea=null,e.current=n,vs(n,e,a),Ye(),Rs=s,vt=l,Ls.transition=i}else e.current=n;if(Ws&&(Ws=!1,Qs=e,Ys=a),i=e.pendingLanes,0===i&&(Gs=null),function(e){if(ot&&"function"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(at,e,void 0,128==(128&e.current.flags))}catch(t){}}(n.stateNode),au(e,Ke()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(Hs)throw Hs=!1,e=Zs,Zs=null,e;0!=(1&Ys)&&0!==e.tag&&Su(),i=e.pendingLanes,0!=(1&i)?e===Xs?Ks++:(Ks=0,Xs=e):Ks=0,$a()}(e,t,n,r)}finally{Ls.transition=a,vt=r}return null}function Su(){if(null!==Qs){var e=wt(Ys),t=Ls.transition,n=vt;try{if(Ls.transition=null,vt=16>e?16:e,null===Qs)var r=!1;else{if(e=Qs,Qs=null,Ys=0,0!=(6&Rs))throw Error(o(331));var a=Rs;for(Rs|=4,Jl=e.current;null!==Jl;){var i=Jl,l=i.child;if(0!=(16&Jl.flags)){var s=i.deletions;if(null!==s){for(var u=0;u<s.length;u++){var c=s[u];for(Jl=c;null!==Jl;){var d=Jl;switch(d.tag){case 0:case 11:case 15:rs(8,d,i)}var p=d.child;if(null!==p)p.return=d,Jl=p;else for(;null!==Jl;){var f=(d=Jl).sibling,m=d.return;if(is(d),d===c){Jl=null;break}if(null!==f){f.return=m,Jl=f;break}Jl=m}}}var h=i.alternate;if(null!==h){var g=h.child;if(null!==g){h.child=null;do{var y=g.sibling;g.sibling=null,g=y}while(null!==g)}}Jl=i}}if(0!=(2064&i.subtreeFlags)&&null!==l)l.return=i,Jl=l;else e:for(;null!==Jl;){if(0!=(2048&(i=Jl).flags))switch(i.tag){case 0:case 11:case 15:rs(9,i,i.return)}var b=i.sibling;if(null!==b){b.return=i.return,Jl=b;break e}Jl=i.return}}var v=e.current;for(Jl=v;null!==Jl;){var w=(l=Jl).child;if(0!=(2064&l.subtreeFlags)&&null!==w)w.return=l,Jl=w;else e:for(l=v;null!==Jl;){if(0!=(2048&(s=Jl).flags))try{switch(s.tag){case 0:case 11:case 15:as(9,s)}}catch(x){Eu(s,s.return,x)}if(s===l){Jl=null;break e}var k=s.sibling;if(null!==k){k.return=s.return,Jl=k;break e}Jl=s.return}}if(Rs=a,$a(),ot&&"function"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(at,e)}catch(x){}r=!0}return r}finally{vt=n,Ls.transition=t}}return!1}function _u(e,t,n){e=Do(e,t=ml(0,t=cl(n,t),1),1),t=tu(),null!==e&&(yt(e,1,t),au(e,t))}function Eu(e,t,n){if(3===e.tag)_u(e,e,n);else for(;null!==t;){if(3===t.tag){_u(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Gs||!Gs.has(r))){t=Do(t,e=hl(t,e=cl(n,e),1),1),e=tu(),null!==t&&(yt(t,1,e),au(t,e));break}}t=t.return}}function Cu(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=tu(),e.pingedLanes|=e.suspendedLanes&n,js===e&&(Ns&n)===n&&(4===Ds||3===Ds&&(130023424&Ns)===Ns&&500>Ke()-$s?fu(e,0):zs|=n),au(e,t)}function Tu(e,t){0===t&&(0==(1&e.mode)?t=1:(t=ct,0==(130023424&(ct<<=1))&&(ct=4194304)));var n=tu();null!==(e=jo(e,t))&&(yt(e,t,n),au(e,n))}function Lu(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Tu(e,n)}function Ru(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(o(314))}null!==r&&r.delete(t),Tu(e,n)}function ju(e,t){return Ge(e,t)}function Au(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Nu(e,t,n,r){return new Au(e,t,n,r)}function Pu(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ou(e,t){var n=e.alternate;return null===n?((n=Nu(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Du(e,t,n,r,a,i){var l=2;if(r=e,"function"==typeof e)Pu(e)&&(l=1);else if("string"==typeof e)l=5;else e:switch(e){case S:return Iu(n.children,a,i,t);case _:l=8,a|=8;break;case E:return(e=Nu(12,n,t,2|a)).elementType=E,e.lanes=i,e;case R:return(e=Nu(13,n,t,a)).elementType=R,e.lanes=i,e;case j:return(e=Nu(19,n,t,a)).elementType=j,e.lanes=i,e;case P:return Fu(n,a,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:l=10;break e;case T:l=9;break e;case L:l=11;break e;case A:l=14;break e;case N:l=16,r=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Nu(l,n,t,a)).elementType=e,t.type=r,t.lanes=i,t}function Iu(e,t,n,r){return(e=Nu(7,e,r,t)).lanes=n,e}function Fu(e,t,n,r){return(e=Nu(22,e,r,t)).elementType=P,e.lanes=n,e.stateNode={isHidden:!1},e}function Mu(e,t,n){return(e=Nu(6,e,null,t)).lanes=n,e}function zu(e,t,n){return(t=Nu(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bu(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Uu(e,t,n,r,a,o,i,l,s){return e=new Bu(e,t,n,l,s),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Nu(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},No(o),e}function $u(e){if(!e)return Ta;e:{if($e(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Na(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Na(n))return Da(e,n,t)}return t}function Vu(e,t,n,r,a,o,i,l,s){return(e=Uu(n,r,!0,e,0,o,0,l,s)).context=$u(null),n=e.current,(o=Oo(r=tu(),a=nu(n))).callback=null!=t?t:null,Do(n,o,a),e.current.lanes=a,yt(e,a,r),au(e,r),e}function qu(e,t,n,r){var a=t.current,o=tu(),i=nu(a);return n=$u(n),null===t.context?t.context=n:t.pendingContext=n,(t=Oo(o,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Do(a,t,i))&&(ru(e,a,i,o),Io(e,a,i)),i}function Hu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Zu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Gu(e,t){Zu(e,t),(e=e.alternate)&&Zu(e,t)}_s=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ra.current)wl=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return wl=!1,function(e,t,n){switch(t.tag){case 3:jl(t),mo();break;case 5:ii(t);break;case 1:Na(t.type)&&Ia(t);break;case 4:ai(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;Ca(bo,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ca(si,1&si.current),t.flags|=128,null):0!=(n&t.child.childLanes)?Ml(e,t,n):(Ca(si,1&si.current),null!==(e=Hl(e,t,n))?e.sibling:null);Ca(si,1&si.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return Vl(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Ca(si,si.current),r)break;return null;case 22:case 23:return t.lanes=0,El(e,t,n)}return Hl(e,t,n)}(e,t,n);wl=0!=(131072&e.flags)}else wl=!1,ao&&0!=(1048576&t.flags)&&Ja(t,Za,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ql(e,t),e=t.pendingProps;var a=Aa(t,La.current);Eo(t,n),a=_i(null,t,r,e,a,n);var i=Ei();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Na(r)?(i=!0,Ia(t)):i=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,No(t),a.updater=$o,t.stateNode=a,a._reactInternals=t,Zo(t,r,e,n),t=Rl(null,t,r,!0,i,n)):(t.tag=0,ao&&i&&eo(t),kl(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ql(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return Pu(e)?1:0;if(null!=e){if((e=e.$$typeof)===L)return 11;if(e===A)return 14}return 2}(r),e=yo(r,e),a){case 0:t=Tl(null,t,r,e,n);break e;case 1:t=Ll(null,t,r,e,n);break e;case 11:t=xl(null,t,r,e,n);break e;case 14:t=Sl(null,t,r,yo(r.type,e),n);break e}throw Error(o(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,Tl(e,t,r,a=t.elementType===r?a:yo(r,a),n);case 1:return r=t.type,a=t.pendingProps,Ll(e,t,r,a=t.elementType===r?a:yo(r,a),n);case 3:e:{if(jl(t),null===e)throw Error(o(387));r=t.pendingProps,a=(i=t.memoizedState).element,Po(e,t),Mo(t,r,null,n);var l=t.memoizedState;if(r=l.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Al(e,t,r,n,a=cl(Error(o(423)),t));break e}if(r!==a){t=Al(e,t,r,n,a=cl(Error(o(424)),t));break e}for(ro=ua(t.stateNode.containerInfo.firstChild),no=t,ao=!0,oo=null,n=Xo(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mo(),r===a){t=Hl(e,t,n);break e}kl(e,t,r,n)}t=t.child}return t;case 5:return ii(t),null===e&&uo(t),r=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,l=a.children,na(r,a)?l=null:null!==i&&na(r,i)&&(t.flags|=32),Cl(e,t),kl(e,t,l,n),t.child;case 6:return null===e&&uo(t),null;case 13:return Ml(e,t,n);case 4:return ai(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Ko(t,null,r,n):kl(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,xl(e,t,r,a=t.elementType===r?a:yo(r,a),n);case 7:return kl(e,t,t.pendingProps,n),t.child;case 8:case 12:return kl(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,i=t.memoizedProps,l=a.value,Ca(bo,r._currentValue),r._currentValue=l,null!==i)if(lr(i.value,l)){if(i.children===a.children&&!Ra.current){t=Hl(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var s=i.dependencies;if(null!==s){l=i.child;for(var u=s.firstContext;null!==u;){if(u.context===r){if(1===i.tag){(u=Oo(-1,n&-n)).tag=2;var c=i.updateQueue;if(null!==c){var d=(c=c.shared).pending;null===d?u.next=u:(u.next=d.next,d.next=u),c.pending=u}}i.lanes|=n,null!==(u=i.alternate)&&(u.lanes|=n),_o(i.return,n,t),s.lanes|=n;break}u=u.next}}else if(10===i.tag)l=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(l=i.return))throw Error(o(341));l.lanes|=n,null!==(s=l.alternate)&&(s.lanes|=n),_o(l,n,t),l=i.sibling}else l=i.child;if(null!==l)l.return=i;else for(l=i;null!==l;){if(l===t){l=null;break}if(null!==(i=l.sibling)){i.return=l.return,l=i;break}l=l.return}i=l}kl(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,Eo(t,n),r=r(a=Co(a)),t.flags|=1,kl(e,t,r,n),t.child;case 14:return a=yo(r=t.type,t.pendingProps),Sl(e,t,r,a=yo(r.type,a),n);case 15:return _l(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:yo(r,a),ql(e,t),t.tag=1,Na(r)?(e=!0,Ia(t)):e=!1,Eo(t,n),qo(t,r,a),Zo(t,r,a,n),Rl(null,t,r,!0,e,n);case 19:return Vl(e,t,n);case 22:return El(e,t,n)}throw Error(o(156,t.tag))};var Wu="function"==typeof reportError?reportError:function(e){console.error(e)};function Qu(e){this._internalRoot=e}function Yu(e){this._internalRoot=e}function Ku(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Ju(){}function ec(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o;if("function"==typeof a){var l=a;a=function(){var e=Hu(i);l.call(e)}}qu(t,i,e,a)}else i=function(e,t,n,r,a){if(a){if("function"==typeof r){var o=r;r=function(){var e=Hu(i);o.call(e)}}var i=Vu(t,r,e,0,null,!1,0,"",Ju);return e._reactRootContainer=i,e[ma]=i.current,$r(8===e.nodeType?e.parentNode:e),du(),i}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var l=r;r=function(){var e=Hu(s);l.call(e)}}var s=Uu(e,0,!1,null,0,!1,0,"",Ju);return e._reactRootContainer=s,e[ma]=s.current,$r(8===e.nodeType?e.parentNode:e),du((function(){qu(t,s,n,r)})),s}(n,t,e,a,r);return Hu(i)}Yu.prototype.render=Qu.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));qu(e,t,null,null)},Yu.prototype.unmount=Qu.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;du((function(){qu(null,e,null,null)})),t[ma]=null}},Yu.prototype.unstable_scheduleHydration=function(e){if(e){var t=_t();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Pt.length&&0!==t&&t<Pt[n].priority;n++);Pt.splice(n,0,e),0===n&&Ft(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(bt(t,1|n),au(t,Ke()),0==(6&Rs)&&(Vs=Ke()+500,$a()))}break;case 13:du((function(){var t=jo(e,1);if(null!==t){var n=tu();ru(t,e,1,n)}})),Gu(e,1)}},xt=function(e){if(13===e.tag){var t=jo(e,134217728);if(null!==t)ru(t,e,134217728,tu());Gu(e,134217728)}},St=function(e){if(13===e.tag){var t=nu(e),n=jo(e,t);if(null!==n)ru(n,e,t,tu());Gu(e,t)}},_t=function(){return vt},Et=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=ka(r);if(!a)throw Error(o(90));G(r),X(r,a)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Le=cu,Re=du;var tc={usingClientEntryPoint:!1,Events:[va,wa,ka,Ce,Te,cu]},nc={findFiberByHostInstance:ba,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},rc={bundleType:nc.bundleType,version:nc.version,rendererPackageName:nc.rendererPackageName,rendererConfig:nc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=He(e))?null:e.stateNode},findFiberByHostInstance:nc.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ac=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ac.isDisabled&&ac.supportsFiber)try{at=ac.inject(rc),ot=ac}catch(ce){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tc,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Ku(t))throw Error(o(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Ku(e))throw Error(o(299));var n=!1,r="",a=Wu;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=Uu(e,1,!1,null,0,n,0,r,a),e[ma]=t.current,$r(8===e.nodeType?e.parentNode:e),new Qu(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return e=null===(e=He(t))?null:e.stateNode},t.flushSync=function(e){return du(e)},t.hydrate=function(e,t,n){if(!Xu(t))throw Error(o(200));return ec(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Ku(e))throw Error(o(405));var r=null!=n&&n.hydratedSources||null,a=!1,i="",l=Wu;if(null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(l=n.onRecoverableError)),t=Vu(t,null,e,1,null!=n?n:null,a,0,i,l),e[ma]=t.current,$r(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Yu(t)},t.render=function(e,t,n){if(!Xu(t))throw Error(o(200));return ec(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xu(e))throw Error(o(40));return!!e._reactRootContainer&&(du((function(){ec(null,null,e,!1,(function(){e._reactRootContainer=null,e[ma]=null}))})),!0)},t.unstable_batchedUpdates=cu,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Xu(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return ec(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},745:(e,t,n)=>{"use strict";var r=n(3935);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},3935:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4448)},9590:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var l,s,u,c;if(Array.isArray(e)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(!o(e[s],i[s]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(c=e.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;for(c=e.entries();!(s=c.next()).done;)if(!o(s.value[1],i.get(s.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(c=e.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(e[s]!==i[s])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((l=(u=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(s=l;0!=s--;)if(!Object.prototype.hasOwnProperty.call(i,u[s]))return!1;if(t&&e instanceof Element)return!1;for(s=l;0!=s--;)if(("_owner"!==u[s]&&"__v"!==u[s]&&"__o"!==u[s]||!e.$$typeof)&&!o(e[u[s]],i[u[s]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},405:(e,t,n)=>{"use strict";n.d(t,{B6:()=>H,ql:()=>J});var r=n(7294),a=n(5697),o=n.n(a),i=n(9590),l=n.n(i),s=n(1143),u=n.n(s),c=n(6774),d=n.n(c);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function h(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},y={rel:["amphtml","canonical","alternate"]},b={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(g).map((function(e){return g[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},_=function(e){var t=S(e,g.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},E=function(e){return S(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[g.BASE]})).map((function(e){return e[g.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},L=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var l=o[i],s=l.toLowerCase();-1===t.indexOf(s)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(n=s),-1===t.indexOf(l)||"innerHTML"!==l&&"cssText"!==l&&"itemprop"!==l||(n=l)}if(!n||!e[n])return!1;var u=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][u]&&(a[n][u]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(a),i=0;i<o.length;i+=1){var l=o[i],s=p({},r[l],a[l]);r[l]=s}return e}),[]).reverse()},R=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},j=function(e){return Array.isArray(e)?e.join(""):e},A=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},N=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},P=[g.NOSCRIPT,g.SCRIPT,g.STYLE],O=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},D=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},I=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},F=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},M=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=I(n,a),[r.createElement(g.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=D(n),o=j(t);return a?"<"+e+' data-rh="true" '+a+">"+O(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+O(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return I(t)},toString:function(){return D(t)}};default:return{toComponent:function(){return F(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+O(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===P.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,l=e.title,s=void 0===l?"":l,u=e.titleAttributes,c=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=A(e.metaTags,v),o=A(t,y),i=A(n,b);return{priorityMethods:{toComponent:function(){return[].concat(F(g.META,a.priority),F(g.LINK,o.priority),F(g.SCRIPT,i.priority))},toString:function(){return M(g.META,a.priority,r)+" "+M(g.LINK,o.priority,r)+" "+M(g.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);f=m.priorityMethods,c=m.linkTags,d=m.metaTags,p=m.scriptTags}return{priority:f,base:M(g.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",a,r),link:M(g.LINK,c,r),meta:M(g.META,d,r),noscript:M(g.NOSCRIPT,o,r),script:M(g.SCRIPT,p,r),style:M(g.STYLE,i,r),title:M(g.TITLE,{title:s,titleAttributes:u},r)}},B=[],U=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},$=r.createContext({}),V=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),q="undefined"!=typeof document,H=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new U(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement($.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);H.canUseDOM=q,H.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},H.defaultProps={context:{}},H.displayName="HelmetProvider";var Z=function(e,t){var n,r=document.head||document.querySelector(g.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},G=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),l=0;l<i.length;l+=1){var s=i[l],u=t[s]||"";n.getAttribute(s)!==u&&n.setAttribute(s,u),-1===a.indexOf(s)&&a.push(s);var c=o.indexOf(s);-1!==c&&o.splice(c,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},W=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,l=e.onChangeClientState,s=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;G(g.BODY,e.bodyAttributes),G(g.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=j(e)),G(g.TITLE,t)}(c,d);var p={baseTag:Z(g.BASE,n),linkTags:Z(g.LINK,a),metaTags:Z(g.META,o),noscriptTags:Z(g.NOSCRIPT,i),scriptTags:Z(g.SCRIPT,s),styleTags:Z(g.STYLE,u)},f={},m={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(m[e]=p[e].oldTags)})),t&&t(),l(e,f,m)},Q=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:C("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:C("htmlAttributes",e),linkTags:L(g.LINK,["rel","href"],e),metaTags:L(g.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:L(g.NOSCRIPT,["innerHTML"],e),onChangeClientState:E(e),scriptTags:L(g.SCRIPT,["src","innerHTML"],e),styleTags:L(g.STYLE,["cssText"],e),title:_(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:R(e,"prioritizeSeoTags")});H.canUseDOM?(t=o,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){W(t,(function(){Q=null}))})):(W(t),Q=null)):z&&(a=z(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:V.isRequired},Y.displayName="HelmetDispatcher";var K=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!l()(N(this.props,"helmetData"),N(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case g.SCRIPT:case g.NOSCRIPT:return{innerHTML:t};case g.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case g.TITLE:return p({},a,((t={})[r.type]=i,t.titleAttributes=p({},o),t));case g.BODY:return p({},a,{bodyAttributes:p({},o)});case g.HTML:return p({},a,{htmlAttributes:p({},o)});default:return p({},a,((n={})[r.type]=p({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=h(r,K),l=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,o),s){case g.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:l,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=h(e,X),a=p({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof U||(o=new U(o.context,o.instances)),o?r.createElement(Y,p({},a,{context:o.value,helmetData:void 0})):r.createElement($.Consumer,null,(function(e){return r.createElement(Y,p({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},9921:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case o:case l:case i:case f:return e;default:switch(e=e&&e.$$typeof){case u:case p:case g:case h:case s:return e;default:return t}}case a:return t}}}function x(e){return k(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=s,t.Element=r,t.ForwardRef=p,t.Fragment=o,t.Lazy=g,t.Memo=h,t.Portal=a,t.Profiler=l,t.StrictMode=i,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||k(e)===c},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===u},t.isContextProvider=function(e){return k(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===p},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===g},t.isMemo=function(e){return k(e)===h},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===l},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===l||e===i||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===h||e.$$typeof===s||e.$$typeof===u||e.$$typeof===p||e.$$typeof===b||e.$$typeof===v||e.$$typeof===w||e.$$typeof===y)},t.typeOf=k},9864:(e,t,n)=>{"use strict";e.exports=n(9921)},8356:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var l=n(7294),s=n(5697),u=[],c=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return l.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=i({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),h=null;function g(){return h||(h=e(m.loader)),h.promise}return u.push(g),"function"==typeof m.webpack&&c.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return g()})),p=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),h=e(m.loader),r._loadModule()})),g(),r.state={error:h.error,pastDelay:!1,timedOut:!1,loading:h.loading,loaded:h.loaded},r}r(n,t),n.preload=function(){return g()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.loadable.report(t)})),h.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:h.error,loaded:h.loaded,loading:h.loading}),e._clearTimeouts()};h.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?l.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(l.Component),o(d,"contextTypes",{loadable:s.shape({report:s.func.isRequired})}),p}function h(e){return m(d,e)}h.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(p,e)};var g=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return l.Children.only(this.props.children)},t}(l.Component);function y(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return y(e)}))}o(g,"propTypes",{report:s.func.isRequired}),o(g,"childContextTypes",{loadable:s.shape({report:s.func.isRequired}).isRequired}),h.Capture=g,h.preloadAll=function(){return new Promise((function(e,t){y(u).then(e,t)}))},h.preloadReady=function(){return new Promise((function(e,t){y(c).then(e,e)}))},e.exports=h},8790:(e,t,n)=>{"use strict";n.d(t,{H:()=>l,f:()=>i});var r=n(6550),a=n(7462),o=n(7294);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function l(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.rs,n,e.map((function(e,n){return o.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.Z)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.Z)({},n,t,{route:e}))}})}))):null}},3727:(e,t,n)=>{"use strict";n.d(t,{OL:()=>v,VK:()=>c,rU:()=>g});var r=n(6550),a=n(5068),o=n(7294),i=n(9318),l=n(7462),s=n(3366),u=n(8776),c=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,a.Z)(t,e),t.prototype.render=function(){return o.createElement(r.F0,{history:this.history,children:this.props.children})},t}(o.Component);o.Component;var d=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},f=function(e){return e},m=o.forwardRef;void 0===m&&(m=f);var h=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,s.Z)(e,["innerRef","navigate","onClick"]),u=i.target,c=(0,l.Z)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||u&&"_self"!==u||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return c.ref=f!==m&&t||n,o.createElement("a",c)}));var g=m((function(e,t){var n=e.component,a=void 0===n?h:n,c=e.replace,g=e.to,y=e.innerRef,b=(0,s.Z)(e,["component","replace","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=e.history,r=p(d(g,e.location),e.location),s=r?n.createHref(r):"",h=(0,l.Z)({},b,{href:s,navigate:function(){var t=d(g,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(p(t));(c||r?n.replace:n.push)(t)}});return f!==m?h.ref=t||y:h.innerRef=y,o.createElement(a,h)}))})),y=function(e){return e},b=o.forwardRef;void 0===b&&(b=y);var v=b((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,c=void 0===i?"active":i,f=e.activeStyle,m=e.className,h=e.exact,v=e.isActive,w=e.location,k=e.sensitive,x=e.strict,S=e.style,_=e.to,E=e.innerRef,C=(0,s.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=w||e.location,i=p(d(_,n),n),s=i.pathname,T=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),L=T?(0,r.LX)(n.pathname,{path:T,exact:h,sensitive:k,strict:x}):null,R=!!(v?v(L,n):L),j="function"==typeof m?m(R):m,A="function"==typeof S?S(R):S;R&&(j=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(j,c),A=(0,l.Z)({},A,f));var N=(0,l.Z)({"aria-current":R&&a||null,className:j,style:A,to:i},C);return y!==b?N.ref=t||E:N.innerRef=E,o.createElement(g,N)}))}))},6550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>_,F0:()=>v,LX:()=>S,TH:()=>P,k6:()=>N,rs:()=>j,s6:()=>b});var r=n(5068),a=n(7294),o=n(5697),i=n.n(o),l=n(9318),s=n(8776),u=n(7462),c=n(4779),d=n.n(c),p=(n(9864),n(3366)),f=(n(8679),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var h=a.createContext||function(e,t){var n,o,l="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",s=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return(t=e.call.apply(e,[this].concat(o))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[l]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},a.render=function(){return this.props.children},n}(a.Component);s.childContextTypes=((n={})[l]=i().object.isRequired,n);var u=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},a.componentDidMount=function(){this.context[l]&&this.context[l].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},a.componentWillUnmount=function(){this.context[l]&&this.context[l].off(this.onUpdate)},a.getValue=function(){return this.context[l]?this.context[l].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return u.contextTypes=((o={})[l]=i().object,o),{Provider:s,Consumer:u}},g=function(e){var t=h();return t.displayName=e,t},y=g("Router-History"),b=g("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(b.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(y.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var w={},k=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,l=void 0!==i&&i,s=n.sensitive,u=void 0!==s&&s;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var a=[],o={regexp:d()(e,a,t),keys:a};return x<k&&(r[e]=o,x++),o}(n,{end:o,strict:l,sensitive:u}),a=r.regexp,i=r.keys,s=a.exec(e);if(!s)return null;var c=s[0],p=s.slice(1),f=e===c;return o&&!f?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var _=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(b.Consumer,null,(function(t){t||(0,s.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,o=(0,u.Z)({},t,{location:n,match:r}),i=e.props,l=i.children,c=i.component,d=i.render;return Array.isArray(l)&&function(e){return 0===a.Children.count(e)}(l)&&(l=null),a.createElement(b.Provider,{value:o},o.match?l?"function"==typeof l?l(o):l:c?a.createElement(c,o):d?d(o):null:"function"==typeof l?l(o):null)}))},t}(a.Component);function E(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=E(e);return 0!==t.pathname.indexOf(n)?t:(0,u.Z)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,l.Ep)(e)}function L(e){return function(){(0,s.Z)(!1)}}function R(){}a.Component;var j=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(b.Consumer,null,(function(t){t||(0,s.Z)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(o.pathname,(0,u.Z)({},e.props,{path:i})):t.match}})),r?a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(a.Component);var A=a.useContext;function N(){return A(y)}function P(){return A(b).location}},5251:(e,t,n)=>{"use strict";var r=n(7294),a=Symbol.for("react.element"),o=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,o={},u=null,c=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(c=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:a,type:e,key:u,ref:c,props:o,_owner:l.current}}t.Fragment=o,t.jsx=u,t.jsxs=u},2408:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var w=v.prototype=new b;w.constructor=v,h(w,y.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},_={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var a,o={},i=null,l=null;if(null!=t)for(a in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,a)&&!_.hasOwnProperty(a)&&(o[a]=t[a]);var s=arguments.length-2;if(1===s)o.children=r;else if(1<s){for(var u=Array(s),c=0;c<s;c++)u[c]=arguments[c+2];o.children=u}if(e&&e.defaultProps)for(a in s=e.defaultProps)void 0===o[a]&&(o[a]=s[a]);return{$$typeof:n,type:e,key:i,ref:l,props:o,_owner:S.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var T=/\/+/g;function L(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function R(e,t,a,o,i){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var s=!1;if(null===e)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case n:case r:s=!0}}if(s)return i=i(s=e),e=""===o?"."+L(s,0):o,k(i)?(a="",null!=e&&(a=e.replace(T,"$&/")+"/"),R(i,t,a,"",(function(e){return e}))):null!=i&&(C(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,a+(!i.key||s&&s.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+e)),t.push(i)),1;if(s=0,o=""===o?".":o+":",k(e))for(var u=0;u<e.length;u++){var c=o+L(l=e[u],u);s+=R(l,t,a,c,i)}else if(c=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof c)for(e=c.call(e),u=0;!(l=e.next()).done;)s+=R(l=l.value,t,a,c=o+L(l,u++),i);else if("object"===l)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function j(e,t,n){if(null==e)return e;var r=[],a=0;return R(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function A(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var N={current:null},P={transition:null},O={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:P,ReactCurrentOwner:S};t.Children={map:j,forEach:function(e,t,n){j(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return j(e,(function(){t++})),t},toArray:function(e){return j(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=y,t.Fragment=a,t.Profiler=i,t.PureComponent=v,t.StrictMode=o,t.Suspense=c,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=h({},e.props),o=e.key,i=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,l=S.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(u in t)x.call(t,u)&&!_.hasOwnProperty(u)&&(a[u]=void 0===t[u]&&void 0!==s?s[u]:t[u])}var u=arguments.length-2;if(1===u)a.children=r;else if(1<u){s=Array(u);for(var c=0;c<u;c++)s[c]=arguments[c+2];a.children=s}return{$$typeof:n,type:e.type,key:o,ref:i,props:a,_owner:l}},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return N.current.useCallback(e,t)},t.useContext=function(e){return N.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return N.current.useDeferredValue(e)},t.useEffect=function(e,t){return N.current.useEffect(e,t)},t.useId=function(){return N.current.useId()},t.useImperativeHandle=function(e,t,n){return N.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return N.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return N.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return N.current.useMemo(e,t)},t.useReducer=function(e,t,n){return N.current.useReducer(e,t,n)},t.useRef=function(e){return N.current.useRef(e)},t.useState=function(e){return N.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return N.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return N.current.useTransition()},t.version="18.2.0"},7294:(e,t,n)=>{"use strict";e.exports=n(2408)},5893:(e,t,n)=>{"use strict";e.exports=n(5251)},53:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<o(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,i=a>>>1;r<i;){var l=2*(r+1)-1,s=e[l],u=l+1,c=e[u];if(0>o(s,n))u<a&&0>o(c,s)?(e[r]=c,e[u]=n,r=u):(e[r]=s,e[l]=n,r=l);else{if(!(u<a&&0>o(c,n)))break e;e[r]=c,e[u]=n,r=u}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var u=[],c=[],d=1,p=null,f=3,m=!1,h=!1,g=!1,y="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(c);null!==t;){if(null===t.callback)a(c);else{if(!(t.startTime<=e))break;a(c),t.sortIndex=t.expirationTime,n(u,t)}t=r(c)}}function k(e){if(g=!1,w(e),!h)if(null!==r(u))h=!0,P(x);else{var t=r(c);null!==t&&O(k,t.startTime-e)}}function x(e,n){h=!1,g&&(g=!1,b(C),C=-1),m=!0;var o=f;try{for(w(n),p=r(u);null!==p&&(!(p.expirationTime>n)||e&&!R());){var i=p.callback;if("function"==typeof i){p.callback=null,f=p.priorityLevel;var l=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?p.callback=l:p===r(u)&&a(u),w(n)}else a(u);p=r(u)}if(null!==p)var s=!0;else{var d=r(c);null!==d&&O(k,d.startTime-n),s=!1}return s}finally{p=null,f=o,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,_=!1,E=null,C=-1,T=5,L=-1;function R(){return!(t.unstable_now()-L<T)}function j(){if(null!==E){var e=t.unstable_now();L=e;var n=!0;try{n=E(!0,e)}finally{n?S():(_=!1,E=null)}}else _=!1}if("function"==typeof v)S=function(){v(j)};else if("undefined"!=typeof MessageChannel){var A=new MessageChannel,N=A.port2;A.port1.onmessage=j,S=function(){N.postMessage(null)}}else S=function(){y(j,0)};function P(e){E=e,_||(_=!0,S())}function O(e,n){C=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){h||m||(h=!0,P(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(u)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,a,o){var i=t.unstable_now();switch("object"==typeof o&&null!==o?o="number"==typeof(o=o.delay)&&0<o?i+o:i:o=i,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:o,expirationTime:l=o+l,sortIndex:-1},o>i?(e.sortIndex=o,n(c,e),null===r(u)&&e===r(c)&&(g?(b(C),C=-1):g=!0,O(k,o-i))):(e.sortIndex=l,n(u,e),h||m||(h=!0,P(x))),e},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},3840:(e,t,n)=>{"use strict";e.exports=n(53)},6774:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s<o.length;s++){var u=o[s];if(!l(u))return!1;var c=e[u],d=t[u];if(!1===(a=n?n.call(r,c,d,u):void 0)||void 0===a&&c!==d)return!1}return!0}},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"NaaVRE",tagline:"Notebook as a Virtual Research Environment",favicon:"img/favicon.ico",url:"https://naavre.github.io",baseUrl:"/pr-preview/pr-33/",organizationName:"QCDIS",projectName:"NaaVRE",deploymentBranch:"gh-pages",trailingSlash:!0,onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["classic",{docs:{sidebarPath:"./sidebars.ts",editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/"},blog:{showReadingTime:!0,editUrl:"https://github.com/NaaVRE/naavre.github.io/blob/main/"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{image:"img/social-card.png",navbar:{title:"NaaVRE",logo:{alt:"NaaVRE logo",src:"img/logo-compact-light.svg",srcDark:"img/logo-compact-dark.svg"},items:[{type:"docSidebar",sidebarId:"tutorialSidebar",position:"left",label:"Documentation"},{href:"https://github.com/QCDIS/NaaVRE",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Documentation",items:[{label:"About NaaVRE",href:"/docs/about"},{label:"Getting started",href:"/docs/tutorials"},{label:"The NaaVRE interface",href:"/docs/NaaVRE_Interface"}]},{title:"NaaVRE collaborative virtual labs",items:[{label:"Open Lab",href:"https://naavre.lifewatch.dev/vreapp/vlabs/openlab"},{label:"Laserfarm",href:"https://naavre.lifewatch.dev/vreapp/vlabs/laserfarm"},{label:"Vol2bird",href:"https://naavre.lifewatch.dev/vreapp/vlabs/vol2bird"}]},{title:"More",items:[{label:"GitHub",href:"https://github.com/QCDIS/NaaVRE"},{label:"Get in touch",href:"https://docs.google.com/forms/d/e/1FAIpQLSdbF6lrAYUx2CH7oxpjKWAa3mH2bSIPKJB5BkRa3xZStTcJOg/viewform"}]}],copyright:"Copyright \xa9 2025 LifeWatch ERIC VLIC / University of Amsterdam."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},plugins:[],themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0}}}},7462:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},5068:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>a})},3366:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,{Z:()=>r})},512:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n);else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}n.d(t,{Z:()=>a});const a=function(){for(var e,t,n=0,a="";n<arguments.length;)(e=arguments[n++])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}},2573:(e,t,n)=>{"use strict";n.d(t,{p1:()=>T,y$:()=>ee});var r,a,o,i,l,s,u,c=n(7294),d=n(512),p=Object.create,f=Object.defineProperty,m=Object.defineProperties,h=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(b)for(var n of b(t))k.call(t,n)&&x(e,n,t[n]);return e},_=(e,t)=>m(e,g(t)),E=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&b)for(var r of b(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},C=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(o=r.util.objId(t),n[o])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":return o=r.util.objId(t),n[o]?n[o]:(a=[],n[o]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var l in o)if(o.hasOwnProperty(l)){if(l==t)for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s]);n.hasOwnProperty(l)||(i[l]=o[l])}var u=a[e];return a[e]=i,r.languages.DFS(r.languages,(function(t,n){n===u&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var l in t)if(t.hasOwnProperty(l)){n.call(t,l,t[l],a||l);var s=t[l],u=r.util.type(s);"Object"!==u||o[i(s)]?"Array"!==u||o[i(s)]||(o[i(s)]=!0,e(s,n,l,o)):(o[i(s)]=!0,e(s,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",o),!o.grammar)throw new Error('The language "'+o.language+'" has no grammar.');return o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new l;return s(a,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(e,t,n,l,c,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var m=0;m<f.length;++m){if(d&&d.cause==p+","+m)return;var h=f[m],g=h.inside,y=!!h.lookbehind,b=!!h.greedy,v=h.alias;if(b&&!h.pattern.global){var w=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,w+"g")}for(var k=h.pattern||h,x=l.next,S=c;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var _=x.value;if(t.length>e.length)return;if(!(_ instanceof a)){var E,C=1;if(b){if(!(E=o(k,S,e,y))||E.index>=e.length)break;var T=E.index,L=E.index+E[0].length,R=S;for(R+=x.value.length;T>=R;)R+=(x=x.next).value.length;if(S=R-=x.value.length,x.value instanceof a)continue;for(var j=x;j!==t.tail&&(R<L||"string"==typeof j.value);j=j.next)C++,R+=j.value.length;C--,_=e.slice(S,R),E.index-=S}else if(!(E=o(k,0,_,y)))continue;T=E.index;var A=E[0],N=_.slice(0,T),P=_.slice(T+A.length),O=S+_.length;d&&O>d.reach&&(d.reach=O);var D=x.prev;if(N&&(D=s(t,D,N),S+=N.length),u(t,D,C),x=s(t,D,new a(p,g?r.tokenize(A,g):A,v,A)),P&&s(t,x,P),C>1){var I={cause:p+","+m,reach:O};i(e,t,n,x.prev,S,I),d&&I.reach>d.reach&&(d.reach=I.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var l="";for(var s in o.attributes)l+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+l+">"+o.content+"</"+o.tag+">"},r}();t.exports=n,n.default=n}},function(){return a||(0,r[y(r)[0]])((a={exports:{}}).exports,a),a.exports}),T=((e,t,n)=>(n=null!=e?p(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of y(t))w.call(e,a)||a===n||f(e,a,{get:()=>t[a],enumerable:!(r=h(t,a))||r.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(C());T.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},T.languages.markup.tag.inside["attr-value"].inside.entity=T.languages.markup.entity,T.languages.markup.doctype.inside["internal-subset"].inside=T.languages.markup,T.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(T.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:T.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:T.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},T.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(T.languages.markup.tag,"addAttribute",{value:function(e,t){T.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:T.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),T.languages.html=T.languages.markup,T.languages.mathml=T.languages.markup,T.languages.svg=T.languages.markup,T.languages.xml=T.languages.extend("markup",{}),T.languages.ssml=T.languages.xml,T.languages.atom=T.languages.xml,T.languages.rss=T.languages.xml,o=T,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},s="(?:[^\\\\-]|"+(l=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",s=RegExp(s+"-"+s),u={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},o.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:s,inside:{escape:l,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:l}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":u}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:l,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":u}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},T.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},T.languages.javascript=T.languages.extend("clike",{"class-name":[T.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),T.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,T.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:T.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:T.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:T.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:T.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:T.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),T.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:T.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),T.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),T.languages.markup&&(T.languages.markup.tag.addInlined("script","javascript"),T.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),T.languages.js=T.languages.javascript,T.languages.actionscript=T.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),T.languages.actionscript["class-name"].alias="function",delete T.languages.actionscript.parameter,delete T.languages.actionscript["literal-property"],T.languages.markup&&T.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:T.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(T),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},a="doc-comment";if(o=e.languages[t]){var o,i=o[a];if((i=i||(o=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[a])instanceof RegExp&&(i=o[a]={pattern:i}),Array.isArray(i))for(var l=0,s=i.length;l<s;l++)i[l]instanceof RegExp&&(i[l]={pattern:i[l]}),r(i[l]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(T),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(T),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(T),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(T),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a,o=t[n];"code"!==o.type?e(o.content):(a=o.content[1],o=o.content[3],a&&o&&"code-language"===a.type&&"code-block"===o.type&&"string"==typeof a.content&&(a=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),a="language-"+(a=(/[a-z][\w-]*/i.exec(a)||[""])[0].toLowerCase()),o.alias?"string"==typeof o.alias?o.alias=[o.alias,a]:o.alias.push(a):o.alias=[a]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var o=t.classes[r];if(o=/language-(.+)/.exec(o)){n=o[1];break}}var u,c=e.languages[n];c?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),s(n)):l[t]||e})),c,n):n&&"none"!==n&&e.plugins.autoloader&&(u="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=u,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(u);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),l={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(T),T.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:T.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},T.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===c(1).content){n+=2;var o=p(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=c(0);"variable"===i.type&&(f(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===c(0).content&&(n++,f(c(0),"property-mutation"),0<a.length)){var l=p(/^\{$/,/^\}$/);if(-1!==l)for(var s=n;s<l;s++){var u=t[s];"variable"===u.type&&0<=a.indexOf(u.content)&&f(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=c(n+t);if(!r||r.type!==e[n])return}return 1}function p(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],l=i.content;if("punctuation"===i.type&&"string"==typeof l)if(e.test(l))a++;else if(r.test(l)&&0==--a)return o}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),T.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function s(t,n,i){var s=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),u=0,c={},d=(s=l(s.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=u++,n="___"+i.toUpperCase()+"_"+r+"___")););return c[n]=e,n})).join(""),n,i),Object.keys(c));return u=0,function t(n){for(var o=0;o<n.length;o++){if(u>=d.length)return;var i,s,p,f,m,h,g,y=n[o];"string"==typeof y||"string"==typeof y.content?(i=d[u],-1!==(g=(h="string"==typeof y?y:y.content).indexOf(i))&&(++u,s=h.substring(0,g),m=c[i],p=void 0,(f={})["interpolation-punctuation"]=a,3===(f=e.tokenize(m,f)).length&&((p=[1,1]).push.apply(p,l(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,r.alias,m),f=h.substring(g+i.length),m=[],s&&m.push(s),m.push(p),f&&(t(h=[f]),m.push.apply(m,h)),"string"==typeof y?(n.splice.apply(n,[o,1].concat(m)),o+=m.length-1):y.content=m)):(g=y.content,Array.isArray(g)?t(g):t([g]))}}(s),new e.Token(i,s,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function c(e){return"string"==typeof e?e:Array.isArray(e)?e.map(c).join(""):c(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in u&&function t(n){for(var r=0,a=n.length;r<a;r++){var o,i,l,u=n[r];"string"!=typeof u&&(o=u.content,Array.isArray(o)?"template-string"===u.type?(u=o[1],3===o.length&&"string"!=typeof u&&"embedded-code"===u.type&&(i=c(u),u=u.alias,u=Array.isArray(u)?u[0]:u,l=e.languages[u])&&(o[1]=s(i,l,u))):t(o):"string"!=typeof o&&t([o]))}}(t.tokens)}))}(T),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(T),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(T),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(T),T.languages.n4js=T.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),T.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),T.languages.n4jsd=T.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a];a=(o="RegExp"===e.util.type(o)?e.languages.javascript[a]={pattern:o}:o).inside||{};(o.inside=a)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(T),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;"string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===l(a.content[0].content[1])&&n.pop():"/>"!==a.content[a.content.length-1].content&&n.push({tagName:l(a.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&0<n.length&&0===n[n.length-1].openedBraces&&(o=l(a),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(o+=l(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(o=l(t[r-1])+o,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",o,null,o)),a.content&&"string"!=typeof a.content&&i(a.content)}}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(l).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(T),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(T),T.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},T.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=T.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(T),T.languages.c=T.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),T.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),T.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},T.languages.c.string],char:T.languages.c.char,comment:T.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:T.languages.c}}}}),T.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete T.languages.c.boolean,T.languages.objectivec=T.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete T.languages.objectivec["class-name"],T.languages.objc=T.languages.objectivec,T.languages.reason=T.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),T.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete T.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(T),T.languages.go=T.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),T.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete T.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(T),T.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},T.languages.python["string-interpolation"].inside.interpolation.inside.rest=T.languages.python,T.languages.py=T.languages.python;((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>L,duotoneDark:()=>R,duotoneLight:()=>j,github:()=>A,jettwaveDark:()=>q,jettwaveLight:()=>H,nightOwl:()=>N,nightOwlLight:()=>P,oceanicNext:()=>I,okaidia:()=>F,oneDark:()=>Z,oneLight:()=>G,palenight:()=>M,shadesOfPurple:()=>z,synthwave84:()=>B,ultramin:()=>U,vsDark:()=>$,vsLight:()=>V});var L={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},R={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},j={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},A={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},N={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},P={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},O="#c5a5c5",D="#8dc891",I={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:O}},{types:["attr-value"],style:{color:D}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:D}},{types:["punctuation"],style:{color:D}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:O}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},F={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},M={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},B={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},U={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},$={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},V={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},q={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},H={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},Z={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},G={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},W=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),a);e[t]=n})),e}),{});return r.root=n,r.plain=_(S({},n),{backgroundColor:void 0}),r},Q=/\r\n|\r|\n/,Y=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},K=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},X=e=>{const t=[[]],n=[e],r=[0],a=[e.length];let o=0,i=0,l=[];const s=[l];for(;i>-1;){for(;(o=r[i]++)<a[i];){let e,u=t[i];const c=n[i][o];if("string"==typeof c?(u=i>0?u:["plain"],e=c):(u=K(u,c.type),c.alias&&(u=K(u,c.alias)),e=c.content),"string"!=typeof e){i++,t.push(u),n.push(e),r.push(0),a.push(e.length);continue}const d=e.split(Q),p=d.length;l.push({types:u,content:d[0]});for(let t=1;t<p;t++)Y(l),s.push(l=[]),l.push({types:u,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),a.pop()}return Y(l),s},J=({children:e,language:t,code:n,theme:r,prism:a})=>{const o=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,c.useState)(W(t,e)),a=(0,c.useRef)(),o=(0,c.useRef)();return(0,c.useEffect)((()=>{t===a.current&&e===o.current||(a.current=t,o.current=e,r(W(t,e)))}),[e,t]),n})(o,r),l=(e=>(0,c.useCallback)((t=>{var n=t,{className:r,style:a,line:o}=n,i=E(n,["className","style","line"]);const l=_(S({},i),{className:(0,d.Z)("token-line",r)});return"object"==typeof e&&"plain"in e&&(l.style=e.plain),"object"==typeof a&&(l.style=S(S({},l.style||{}),a)),l}),[e]))(i),s=(e=>{const t=(0,c.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,c.useCallback)((e=>{var n=e,{token:r,className:a,style:o}=n,i=E(n,["token","className","style"]);const l=_(S({},i),{className:(0,d.Z)("token",...r.types,a),children:r.content,style:t(r)});return null!=o&&(l.style=S(S({},l.style||{}),o)),l}),[t])})(i),u=(({prism:e,code:t,grammar:n,language:r})=>{const a=(0,c.useRef)(e);return(0,c.useMemo)((()=>{if(null==n)return X([t]);const e={code:t,grammar:n,language:r,tokens:[]};return a.current.hooks.run("before-tokenize",e),e.tokens=a.current.tokenize(t,n),a.current.hooks.run("after-tokenize",e),X(e.tokens)}),[t,n,r])})({prism:a,language:o,code:n,grammar:a.languages[o]});return e({tokens:u,className:`prism-code language-${o}`,style:null!=i?i.root:{},getLineProps:l,getTokenProps:s})},ee=e=>(0,c.createElement)(J,_(S({},e),{prism:e.prism||T,theme:e.theme||$,code:e.code,language:e.language}))},8776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},7529:e=>{"use strict";e.exports={}},6887:e=>{"use strict";e.exports=JSON.parse('{"/pr-preview/pr-33/docs/-c8e":{"__comp":"5e95c892","__context":{"plugin":"22571d12"}},"/pr-preview/pr-33/docs/-f96":{"__comp":"a7bd4aaa","version":"935f2afb"},"/pr-preview/pr-33/docs/-77e":{"__comp":"a94703ab"},"/pr-preview/pr-33/docs/about/-e36":{"__comp":"17896441","content":"36041992"},"/pr-preview/pr-33/docs/NaaVRE_Interface/-871":{"__comp":"17896441","content":"6f3e0bc7"},"/pr-preview/pr-33/docs/readiness_levels/-98f":{"__comp":"17896441","content":"f8cb845a"},"/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/-4ce":{"__comp":"17896441","content":"d76867c1"},"/pr-preview/pr-33/docs/readiness_levels/L1_co-development/-7ea":{"__comp":"17896441","content":"5aab0ac5"},"/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/-c00":{"__comp":"17896441","content":"4d655930"},"/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/-163":{"__comp":"17896441","content":"a034c16c"},"/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/-cbf":{"__comp":"17896441","content":"bb19cae0"},"/pr-preview/pr-33/docs/readiness_levels/RAVRE/-b0c":{"__comp":"17896441","content":"667ea6e9"},"/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/-96b":{"__comp":"17896441","content":"38b43935"},"/pr-preview/pr-33/docs/readiness_levels/user_manual/-648":{"__comp":"17896441","content":"34aec551"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/-554":{"__comp":"17896441","content":"fb4baa79"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/-8f2":{"__comp":"17896441","content":"34b0fabf"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/-b8e":{"__comp":"17896441","content":"11047fcd"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/-85f":{"__comp":"17896441","content":"8e76cafd"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/-cc5":{"__comp":"17896441","content":"7e556c3d"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/-98c":{"__comp":"17896441","content":"944a1d22"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/-369":{"__comp":"17896441","content":"a84c24dd"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/-afc":{"__comp":"17896441","content":"9b58cf7f"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/-26b":{"__comp":"17896441","content":"eb592792"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/-d97":{"__comp":"17896441","content":"c9526f62"},"/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/-0a0":{"__comp":"17896441","content":"752a6134"},"/pr-preview/pr-33/docs/tutorials/-f12":{"__comp":"17896441","content":"a65f7afd"},"/pr-preview/pr-33/-8d4":{"__comp":"1df93b7f","__context":{"plugin":"3d901806"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=7221,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/js/main.280a6015.js.LICENSE.txt b/pr-preview/pr-33/assets/js/main.280a6015.js.LICENSE.txt new file mode 100644 index 0000000..91dc894 --- /dev/null +++ b/pr-preview/pr-33/assets/js/main.280a6015.js.LICENSE.txt @@ -0,0 +1,64 @@ +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! Bundled license information: + +prismjs/prism.js: + (** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT <https://opensource.org/licenses/MIT> + * @author Lea Verou <https://lea.verou.me> + * @namespace + * @public + *) +*/ + +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/pr-preview/pr-33/assets/js/runtime~main.65f3e1b2.js b/pr-preview/pr-33/assets/js/runtime~main.65f3e1b2.js new file mode 100644 index 0000000..5f7de8e --- /dev/null +++ b/pr-preview/pr-33/assets/js/runtime~main.65f3e1b2.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,t,r,f,d={},o={};function c(e){var a=o[e];if(void 0!==a)return a.exports;var t=o[e]={id:e,loaded:!1,exports:{}};return d[e].call(t.exports,t,t.exports,c),t.loaded=!0,t.exports}c.m=d,c.c=o,e=[],c.O=(a,t,r,f)=>{if(!t){var d=1/0;for(i=0;i<e.length;i++){t=e[i][0],r=e[i][1],f=e[i][2];for(var o=!0,n=0;n<t.length;n++)(!1&f||d>=f)&&Object.keys(c.O).every((e=>c.O[e](t[n])))?t.splice(n--,1):(o=!1,f<d&&(d=f));if(o){e.splice(i--,1);var b=r();void 0!==b&&(a=b)}}return a}f=f||0;for(var i=e.length;i>0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[t,r,f]},c.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return c.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var d={};a=a||[null,t({}),t([]),t(t)];for(var o=2&r&&e;"object"==typeof o&&!~a.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,c.d(f,d),f},c.d=(e,a)=>{for(var t in a)c.o(a,t)&&!c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((a,t)=>(c.f[t](e,a),a)),[])),c.u=e=>"assets/js/"+({48:"c9526f62",53:"935f2afb",63:"a65f7afd",73:"36041992",98:"5aab0ac5",132:"667ea6e9",167:"6f3e0bc7",207:"f8cb845a",214:"8e76cafd",237:"1df93b7f",273:"38b43935",334:"a034c16c",360:"34b0fabf",368:"a94703ab",384:"752a6134",385:"a84c24dd",408:"d76867c1",436:"3d901806",453:"eb592792",480:"22571d12",489:"fb4baa79",518:"a7bd4aaa",661:"5e95c892",686:"bb19cae0",708:"11047fcd",777:"7e556c3d",859:"9b58cf7f",895:"4d655930",918:"17896441",971:"34aec551",999:"944a1d22"}[e]||e)+"."+{27:"ae3da107",48:"90de1b8e",53:"158c11a6",63:"e081efaf",73:"efa75fb5",98:"c9c1dea3",132:"799d3bec",167:"eff265d4",207:"3149b4d5",214:"21bbfcf9",237:"7dde3e80",273:"207650d3",334:"d8725a72",360:"a760253c",368:"39a4eb2d",384:"76febb78",385:"41744933",408:"dee9674d",436:"1f055279",453:"e609651f",480:"f08edc9b",489:"9b1ce62e",518:"f385fbff",661:"873fd505",686:"81d1e62b",708:"99060a74",772:"9ad1d593",777:"55c6c85c",859:"4f30322a",895:"2690e790",918:"9c3e9041",971:"882b4c83",999:"d3908620"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},f="naa-vre-website:",c.l=(e,a,t,d)=>{if(r[e])r[e].push(a);else{var o,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i<b.length;i++){var u=b[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==f+t){o=u;break}}o||(n=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,c.nc&&o.setAttribute("nonce",c.nc),o.setAttribute("data-webpack",f+t),o.src=e),r[e]=[a];var l=(a,t)=>{o.onerror=o.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),f&&f.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),n&&document.head.appendChild(o)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/pr-preview/pr-33/",c.gca=function(e){return e={17896441:"918",36041992:"73",c9526f62:"48","935f2afb":"53",a65f7afd:"63","5aab0ac5":"98","667ea6e9":"132","6f3e0bc7":"167",f8cb845a:"207","8e76cafd":"214","1df93b7f":"237","38b43935":"273",a034c16c:"334","34b0fabf":"360",a94703ab:"368","752a6134":"384",a84c24dd:"385",d76867c1:"408","3d901806":"436",eb592792:"453","22571d12":"480",fb4baa79:"489",a7bd4aaa:"518","5e95c892":"661",bb19cae0:"686","11047fcd":"708","7e556c3d":"777","9b58cf7f":"859","4d655930":"895","34aec551":"971","944a1d22":"999"}[e]||e,c.p+c.u(e)},(()=>{var e={303:0,532:0};c.f.j=(a,t)=>{var r=c.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(303|532)$/.test(a))e[a]=0;else{var f=new Promise(((t,f)=>r=e[a]=[t,f]));t.push(r[2]=f);var d=c.p+c.u(a),o=new Error;c.l(d,(t=>{if(c.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var f=t&&("load"===t.type?"missing":t.type),d=t&&t.target&&t.target.src;o.message="Loading chunk "+a+" failed.\n("+f+": "+d+")",o.name="ChunkLoadError",o.type=f,o.request=d,r[1](o)}}),"chunk-"+a,a)}},c.O.j=a=>0===e[a];var a=(a,t)=>{var r,f,d=t[0],o=t[1],n=t[2],b=0;if(d.some((a=>0!==e[a]))){for(r in o)c.o(o,r)&&(c.m[r]=o[r]);if(n)var i=n(c)}for(a&&a(t);b<d.length;b++)f=d[b],c.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return c.O(i)},t=self.webpackChunknaa_vre_website=self.webpackChunknaa_vre_website||[];t.forEach(a.bind(null,0)),t.push=a.bind(null,t.push.bind(t))})()})(); \ No newline at end of file diff --git a/pr-preview/pr-33/assets/medias/GettingStartedVRE-f8e58c19f2a2792084f7f44ca675f285.mp4 b/pr-preview/pr-33/assets/medias/GettingStartedVRE-f8e58c19f2a2792084f7f44ca675f285.mp4 new file mode 100644 index 0000000..30a097d Binary files /dev/null and b/pr-preview/pr-33/assets/medias/GettingStartedVRE-f8e58c19f2a2792084f7f44ca675f285.mp4 differ diff --git a/pr-preview/pr-33/assets/medias/NaaVREICOSDemo-2c9e806d0abdf0aef0502661806eeb6b.mp4 b/pr-preview/pr-33/assets/medias/NaaVREICOSDemo-2c9e806d0abdf0aef0502661806eeb6b.mp4 new file mode 100644 index 0000000..381f94f Binary files /dev/null and b/pr-preview/pr-33/assets/medias/NaaVREICOSDemo-2c9e806d0abdf0aef0502661806eeb6b.mp4 differ diff --git a/pr-preview/pr-33/docs/NaaVRE_Interface/index.html b/pr-preview/pr-33/docs/NaaVRE_Interface/index.html new file mode 100644 index 0000000..77f590f --- /dev/null +++ b/pr-preview/pr-33/docs/NaaVRE_Interface/index.html @@ -0,0 +1,113 @@ +<!doctype html> +<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-NaaVRE_Interface/index" data-has-hydrated="false"> +<head> +<meta charset="UTF-8"> +<meta name="generator" content="Docusaurus v3.0.1"> +<title data-rh="true">The NaaVRE Interface | NaaVRE + + + + +
Skip to main content

The NaaVRE Interface

+

The Notebook as a Virtual Research Environment (NaaVRE) is a set of tools to allow users to containerize cells, compose +workflows and execute them on a workflow engine.

+

NaaVRE_interface

+

Component Containerizer

+

Component Containerizer +The 'Cell Preview' panel shows a preview of the cell that is currently selected including its name, inputs and outputs. +Under the 'Cell Preview' panel there a list of the inputs and outputs of the cell and their types. The types are needed +to be filled in by the user when containerizing a cell. Currently, the supported types are:

+
    +
  • String
  • +
  • Integer
  • +
  • Float
  • +
  • List
  • +
+

Under the 'Inputs' and 'Outputs' there is the 'Base Image' selection. This is the base image that will be used to build +the container. The default base image is 'miniconda3'. The user can select a different base image from the drop down.

+

Special Variables

+

Special variables can be used in the cell code. Their name should contain one of the following prefixes:

+
    +
  • +

    param_: these variables are used to pass input parameters to a cell. They should be used to allow users to set their own values when running a workflow. When containerizing the cell, a default value is extracted from the code and saved to the catalogue. When running a workflow that contains the cell, users use the default value or set a custom one. The value is then passed to the cell during execution.

    +

    Param_example.webm

    +
  • +
  • +

    secret_: these variables are used to pass secret parameters to a cell. They should be used for credentials such as passwords or API keys. They are similar to param_ variables, but no default value is saved to the catalogue, and values are handled in a secure way when executing the workflow.

    +

    Component Containerizer secrets

    +
  • +
  • +

    conf_: these variables are used to pass configuration parameters to all cells. They are visible by all cells of the notebook. They can be thought of as 'global' variables therefore, they do not require to set their type like other variables. Their value is set when containerizing the cell, and cannot be updated when running the workflow.

    +

    Conf_example.webm

    +

    Component Containerizer

    +
  • +
+

Notice in the image above that the conf_b variable is declared in the first cell and used in the second and third cell. +However, the conf_b is not showing up as input in the second and third cell.

+

Overriding definition of cell inputs and outputs

+
warning

This feature can result in broken containerized cells. Use it with caution.

+

In normal circumstances, the component containerizer automatically determines the cell variables (inputs, outputs, +params, confs) and dependencies by analyzing the source code.

+

This can be overridden by adding a special comment to the cell. The comment contains a YAML document, beginning with +--- and ending with ....

+

Example:

+
# My cell name
# ---
# NaaVRE:
# cell:
# inputs:
# - my_input: String
# - my_other_input: Integer
# outputs:
# - my_output: List
# - my_other_output: List
# params:
# - param_something:
# type: String
# default_value: "my default value"
# confs:
# - conf_something_else:
# assignation: "conf_something_else = 'my other value'"
# dependencies:
# - name: yaml
# - name: numpy
# asname: np
# - name: signal
# module: scipy
# ...

(my cell code)
+

If an entry (e.g. params:) is omitted from the comment, the containerizer will try to determine the appropriate values from the source code. +This makes it possible to override some variable types, while using the code analysis for others. +In this example, the input and output are manually specified, while the dependencies, confs and params are determined from the source code (note how we specify that the cell has no outputs):

+
# My cell with partial override
# ---
# NaaVRE:
# cell:
# inputs:
# - my_input: String
# outputs: []
# ...

print(my_input, param_my_param)
+

For the full syntax, see the YAML document schema.

+

Containerizing R cells

+

While containerizing R code cells is similar to Python, R's characteristics make it more challenging and require additional steps. The type of detected variables will only be identified if they have been explicitly assigned a primitive value.

+
# Will be detected
a <- 1L # Integer
b <- 1.5 # Float
c <- "foo" # String
d <- list(1,2,3) # List

# Will not be detected
e <- round(1.555, 2)
+

The type detector can detect the type of variables that have not been explicitly assigned a primitive value.

+

type_detector_1

+

By pressing the Type Detector button, the selected cell will be executed by the kernel and the types of the detected variables will be retrieved. However, this does require that the selected cell is executable and that all used variables are initialized.

+

type_detector_2

+

In R, new variables can be added to the environment without explicit initialization, leading to instances where additional inputs are detected. This is especially common when working with dataframes, where variables for columns may be implicitly created. Unwanted input variables can be removed by pressing the X button next to the variable.

+

Experiment Manager

+

In the 'Experiment Manager' page you can compose and execute workflows. To compose a workflow click on the '+' button in +the bottom right corner of the page and select the 'Cells Catalog' option.

+

Experiment Manager

+

After you have selected the cells you want to compose a workflow with, click on the 'Add to Workspace' button.

+

Special Components

+

In the 'Experiment Manager' page you can compose workflows using special components. These components are:

+
    +
  • Splitter: This component is used to split an output array from a call into its elements and feed each element to the +next cell. That way the next cell will be executed in parallel as many times as the number of elements in the array.
  • +
  • Merger: This component is used to merge the outputs of multiple cells into a single array.
  • +
+

Cells Catalog

+

The cells catalog contains all the cells that have been containerized.

+

Cells Catalog

+

Re-containerizing cells used in a workflow

+

When re-containerizing a cell used in a workflow, you might need to update the +workflow itself:

+
    +
  • If you only updated the cell's source code or dependencies: the workflow automatically uses the new version of the +cell.
  • +
  • If you changed the cell’s inputs, outputs or parameters: the workflow needs to be updated. Remove the cell from the +workflow, and add the new version from the catalogue.
  • +
  • If you changed the cell’s title: a new cell is created in the catalogue. Both the old and new cell can be used. +Workflows using the old cell don’t need to be updated.
  • +
+

Managing files in workflows

+

To transfer files between containerized cells when running the workflow, they need to be placed in the /tmp/data/ repository. Files outside of this repository are not preserved from one containerized cell to the other.

+

The best practice for exchanging files between cells is to save the file in /tmp/data/, and pass the filename between the cells. Example:

+
# Write file
filename = '/tmp/data/my_file.csv'
with open(filename, 'w') as f:
f.write('file content')
+
# Read file
with open(filename, 'r') as f:
data = f.read()
+

Files workflow example

+ +

In the 'Notebook Search' page you can search for notebooks relevant to your research. To search for notebooks click on +the icon in the middle left of the page. There you can search for notebooks.

+

Notebook Search

+

The results will be displayed in the left panel. If you clik on a result you will be shown some relevant information +such its title, link, summary etc. If you click on the 'More' button you will be redirected to the notebook where you +can download it.

+

Notebook Search

+

Notebook Search

+

Jupyterlab-git

+

In all VLs there is a Git integration with jupyterlab-git. +To clone and push to a repository you can follow the instructions from here: jupyterlab-git.

+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/about/index.html b/pr-preview/pr-33/docs/about/index.html new file mode 100644 index 0000000..6f80390 --- /dev/null +++ b/pr-preview/pr-33/docs/about/index.html @@ -0,0 +1,57 @@ + + + + + +About NaaVRE | NaaVRE + + + + +
Skip to main content

About NaaVRE

NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].

+VRE knowledgebaseNotebook-as-a-VREdashboardseSciencedevOpsDistributed VREledgerProvenance /log expllorerDistributedworkflow busRemoteinfrastructureautomatorAAIDistributeddata meshSemanticsearch engineComponentcontainerizerExperimentmanagerClient side (e.g. Jupyter environment)NaaVRENaaVRE +services +market placeABCDEFGHIJKL +
    +
  1. Zhao, Zhiming, Spiros Koulouzis, Riccardo Bianchi, Siamak Farshidi, Zeshun Shi, Ruyue Xin, Yuandou Wang et al. "Notebook‐as‐a‐VRE (NaaVRE): From private notebooks to a collaborative cloud virtual research environment." Software: Practice and Experience 52, no. 9 (2022): 1947-1966. https://doi.org/10.1002/spe.3098
  2. +
+

Tutorials

+

This section of the documentation contains step-by-step tutorials that help outline the capabilities of Virtual Research +Environments (VRE) and how you can achieve specific aims. The tutorials are recommended if you do not have much +experience with VRE.

+ +

Notebook as a Virtual Research Environment (NaaVRE) Platform

+

The LifeWatch NaaVRE platform is a Platform as a Service (PaaS) that allows users to create Collaborative Virtual Labs with customized runtime libraries, user interfaces, and workflow building blocks, and to conduct research activities in specific domains.

+

Main Features

+
    +
  • A user-friendly interface to the LifeWatch VRE platform
  • +
  • Overview of the running Virtual Labs (VLs)
  • +
  • Overview of executed workflows
  • +
  • Community-based data products catalog
  • +
  • Community-based geographical data products catalog
  • +
  • Collaboration tools + +
  • +
+

Collaborative Virtual Labs

+

A Collaborative Virtual Lab provides a customized profile, which allows a domain user to create a Virtual Lab instance on the NaaVRE platform. All the Virtual Lab instances of a Collaborative Virtual Lab can share data and workflows. A Virtual Lab is based on a Jupyter environment with specially developed extensions for containerizing Notebook cells, composing and executing workflows, and searching and sharing research objects.

+

Main Features

+
    +
  • Containerization of cells
  • +
  • Workflow composition based on containerized cells
  • +
  • Execution of containerized cells on a workflow engine
  • +
  • Search for notebooks
  • +
+

Supported Kernels

+
    +
  • Python
  • +
  • Rscript
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/index.html b/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/index.html new file mode 100644 index 0000000..3b39895 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/index.html @@ -0,0 +1,111 @@ + + + + + +L0 - initial proposal | NaaVRE + + + + +
Skip to main content

L0 - initial proposal

Start situation

+

A new virtual lab starts with potential (golden) users who are willing to use NaaVRE to conduct their research. +They will be selected, or reached out. The (golden) user will propose a virtual lab based on a scientific story +and technical starting point. +If a NaaVRE virtual lab seems a suitable platform to conduct the research, +the potential (golden) users, the community manager, and NaaVRE DevOps team work out the idea further, recruit a team of core developers, +establish ambitions, and make a timeline for the virtual lab.

+

During the initial proposal phase

+

The following things should be done to work out the initial proposal to a concrete virtual lab:

+
    +
  • Feasibility +
      +
    • Check if the research activity can be done in NaaVRE.
    • +
    +
  • +
  • Team recruitment +
      +
    • Find and hire a team of core developers to build the virtual lab.
    • +
    +
  • +
  • Plan +
      +
    • Write a development plan for the virtual lab. What scientific scenario will be investigated and what is needed to enable that?
    • +
    • Make a timeline for the co-development, validation of the virtual lab and development of training material.
    • +
    +
  • +
  • Licensing +
      +
    • Choose a license for the virtual lab. We recommend using the Apache license 2.0, +assuming this is compatible with the other packages and software you use in the virtual lab. If the Apache License 2.0 is incompatible with software or libraries used, +you can pick another license. We recommend having a look at https://choosealicense.com/.
    • +
    +
  • +
  • Codebase +
      +
    • The virtual lab coordinator will create a new virtual lab.
    • +
    +
  • +
  • Version control +
      +
    • Store the codebase on a repository with version control (e.g. git).
    • +
    +
  • +
  • Documentation +
      +
    • Pick a nice name for your virtual lab. Make sure the name won't be mixed up with other virtual labs.
    • +
    +
  • +
+

Initial proposal responsibilities

+

The following roles are involved in a initial proposal:

+
    +
  • Community supporter: Reaches out to domain scientists who have the potential of becoming golden users.
  • +
  • Golden users: Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.
  • +
  • Virtual lab coordinator: Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.
  • +
  • VRE DevOps engineer: Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.
  • +
+

Initial proposal milestones

+

The following milestones can be achieved during the phase L0 of virtual lab development:

+
    +
  • The core development team becomes complete.
  • +
  • The creation of a new empty virtual lab.
  • +
+

Exit conditions

+

To transition from initial proposal to co-development an ambitious but realistic virtual lab proposal should exist. +The following should be done:

+
    +
  • Plan +
      +
    • There is an ambitious and realistic development plan for the virtual lab.
    • +
    • A timeline exists for the co-development, validation of the virtual lab and development of training material.
    • +
    +
  • +
  • Codebase +
      +
    • A new virtual lab is created.
    • +
    +
  • +
  • Version control +
      +
    • The codebase repository has version control (e.g. git).
    • +
    +
  • +
  • Security +
      +
    • Personal tokens for APIs do not end up in version control. ToDo VLIC: Guideline for secret management #276.
    • +
    +
  • +
  • Licensing +
      +
    • The virtual lab has a license.
    • +
    +
  • +
  • Documentation +
      +
    • The virtual lab has a nice name.
    • +
    +
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/L1_co-development/index.html b/pr-preview/pr-33/docs/readiness_levels/L1_co-development/index.html new file mode 100644 index 0000000..90c4829 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/L1_co-development/index.html @@ -0,0 +1,132 @@ + + + + + +L1 - Co-development | NaaVRE + + + + +
Skip to main content

L1 - Co-development

Start situation

+

Co-development of the new virtual lab can be started when a basic virtual lab has been provisioned with the customized libraries +and configurations required by the development plan and a development team is ready to work on the subject.

+

During the co-development phase

+

The development team preferably follows Agile practices to implement the components and workflows based on the development plan.

+

Where possible, the following should be done while building the virtual lab:

+
    +
  • Documentation +
      +
    • Publish virtual lab metadata outside the virtual lab. This will allow others to be aware of the context of the virtual lab from an early stage. +
        +
      • Track the metadata with version control, such that the changes to metadata can be viewed by virtual lab users.
      • +
      • Currently, we are choosing a default metadata catalogue. For progress, see issue #275.
      • +
      +
    • +
    • Create a directory for documentation of the virtual lab. +
        +
      • Track the documentation with version control.
      • +
      +
    • +
    • Start each cell in a notebook with a title.
    • +
    +
  • +
  • Security +
      +
    • Make sure personal tokens for APIs do not end up in version control. ToDo VLIC: Guideline for secret management #276.
    • +
    +
  • +
  • Versioning +
      +
    • Pin versions of used software and libraries in the dependencies to prevent compatibility problems when updates occur to the packages and software.
    • +
    +
  • +
  • Data +
      +
    • Prepare the data for scientific experiments.
    • +
    • Store data that is only read by the virtual lab in an external catalogue and use an API to access this data.
    • +
    +
  • +
  • Parallelization +
      +
    • Parallelize the execution of the parts of the code where this is useful. A tutorial is available here.
    • +
    +
  • +
  • Workflow +
      +
    • Prepare and perform a demonstration of the virtual lab to inform the community supporter of the possibilities in the virtual lab.
    • +
    +
  • +
+

Co-development responsibilities

+

The following roles should be assigned during co-development:

+
    +
  • Golden users: Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments
  • +
  • Virtual lab core developers: Develop the content of the new virtual lab in NaaVRE.
  • +
  • Virtual lab code reviewer: Provides feedback on the user-friendliness, maintainability, and robustness of the source code and other assets. We recommend starting with reviews early on in the development process, as this may contribute to a clear architecture, and good code quality.
  • +
  • Community supporter: At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.
  • +
  • Infrastructure supporter: Advises and provides the infrastructure for the virtual lab.
  • +
  • Virtual lab coordinator: Coordinates the co-development between the golden users, core developers and DevOps engineers.
  • +
  • Virtual research environment (VRE) development and operations (DevOps) engineers: Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.
  • +
+

Co-development milestones

+

Two milestones should be reached during co-development:

+
    +
  • The publication of the metadata.
  • +
  • A demonstration of a running the workflow in the virtual lab.
  • +
+

Exit conditions

+

The lab transitions from co-development to the validation phase, when the technical development has been finished and +the lab is ready to conduct the scientific experiments on the required scale. +For this, at least the following criteria should be checked:

+
    +
  • Documentation +
      +
    • The virtual lab metadata is available outside the virtual lab. +
        +
      • Metadata is tracked by version control.
      • +
      +
    • +
    +
  • +
  • Security +
      +
    • Personal tokens are not tracked by version control.
    • +
    +
  • +
  • Versioning +
      +
    • Versions of used software and libraries are pinned.
    • +
    +
  • +
  • Data +
      +
    • The data is ready for scientific experiments.
    • +
    • Data that is only read by the virtual lab is stored in an external catalogue.
    • +
    +
  • +
  • Codebase +
      +
    • The code executes without errors: The code can be executed without errors. +Currently, you can verify this by manually executing all cells in the notebook on a machine on which the code was not developed (to ensure no references are made to local resources).
    • +
    • The responsibility of each cell in the notebook is clear and can be described in a single sentence.
    • +
    • The coding style is consistent and follows a style guide e.g. For Python PEP 8.
    • +
    • Parallel processing is applied where suitable.
    • +
    • There are clear errors when expected files and objects are not found.
    • +
    • External code use, such as command-line interface tools, are clearly labeled.
    • +
    +
  • +
  • Containerization +
      +
    • The notebook cells can be containerized.
    • +
    +
  • +
  • Workflow execution +
      +
    • The containerized cells can run without any modifications.
    • +
    • It is possible to give a demonstration of the virtual lab.
    • +
    +
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/index.html b/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/index.html new file mode 100644 index 0000000..216ba20 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/index.html @@ -0,0 +1,140 @@ + + + + + +L2 - Validation phase | NaaVRE + + + + +
Skip to main content

L2 - Validation phase

Start situation

+

At the start of the validation phase, the virtual lab has the required components and the workflow has been developed and tested. +Additionally the scientific (golden) user has made the data sets ready for the experiments.

+

During the validation phase

+

The golden user will conduct experiments in the virtual lab in this phase. +The following should also be done phase:

+
    +
  • Data +
      +
    • Make data fair.
    • +
    • Follow the community standards of the relevant domains for reading, writing and exchanging data.
    • +
    +
  • +
  • Metadata +
      +
    • Complete all metadata fields.
    • +
    +
  • +
  • Scenarios +
      +
    • Make sure and describe how the virtual lab can be used on different scenarios, i.e. other datasets and with other parameters.
    • +
    +
  • +
  • Versioning +
      +
    • Add a version number to the virtual lab so users can refer to this number when they are reporting reproducibility or bug issues.
    • +
    • Give each containerized cell and executed workflow a persistent identifier and version number. +Feature is currently under development. For progress, see #280.
    • +
    +
  • +
  • Documentation + +
  • +
  • Workflow +
      +
    • Check the duration of computation, memory usage, and power usage of the containers.
    • +
    +
  • +
  • Codebase +
      +
    • Add unit tests to verify the behavior of used methods and libraries.
    • +
    • Define clear responsibilities of all notebook cells, methods and classes.
    • +
    +
  • +
+

Validation phase milestones

+
    +
  • The submission for publication of a paper in the ecosystem domain presenting the scenarios run in the virtual lab.
  • +
  • The lab becoming publicly available.
  • +
  • Potentially, besides a domain paper, the submission for publication of a technical paper focusing on the infrastructure part of the virtual research environment.
  • +
+

Validation phase responsibilities

+

The following roles should be assigned during the validation phase:

+
    +
  • Golden users: Use the virtual lab to do their research. Publish a paper in the ecosystem domain.
  • +
  • Virtual lab core developers: Provide support to the golden users executing experiments in the virtual lab. Help prepare the virtual lab for workshop use.
  • +
  • Community supporter: Finds potential silver users to take part in the trainings in the next phase.
  • +
  • Virtual lab trainer: Tries out the virtual lab and makes suggestions. Helps the golden users identify issues arising when others start using the virtual lab.
  • +
  • Infrastructure supporter: Scales infrastructure if needed for the experiments. Prepares the infrastructure for the trainings.
  • +
  • VRE researcher: Potentially publishes a technical paper in addition to the domain paper.
  • +
  • Virtual lab coordinator: Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.
  • +
  • VRE DevOps engineer: Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.
  • +
+

Exit condition

+

The virtual lab transitions to workshop use, once validation of the lab by doing scientific experiments has been done and a scientific paper is ready for publication.

+

It is important to find out who would be potential silver users of the virtual lab. In case no match between the virtual lab +and potential silver users can be found, the virtual lab should be archived.

+

To advance to workshop use, all of the following boxes should be checked, in addition to the criteria for the initial proposal, and co-development:

+
    +
  • User community +
      +
    • Other potential users have been identified.
    • +
    +
  • +
  • Data +
      +
    • All input data of the lab is FAIR.
    • +
    +
  • +
  • Metadata +
      +
    • All the fields of the metadata standard are present.
    • +
    +
  • +
  • Scenarios +
      +
    • The virtual lab can be used in multiple scenarios, i.e. both the parameters and datasets can be changed to suit experiments of different researchers.
    • +
    +
  • +
  • Documentation +
      +
    • There is a user manual and at least one domain scientist who was not involved in the development of the virtual lab has reviewed the user manual. +The coding experience of the reviewer of the user manual is similar to the coding experience of the intended user.
    • +
    • How to use the virtual lab on a different scenario is explained.
    • +
    +
  • +
  • Codebase +
      +
    • Unit tests verify the behavior of used methods and libraries. There should be a testing guideline, which will be done in this issue #274.
    • +
    • The virtual lab reads, writes and exchanges data in a way that meets domain-relevant community standards. Recommendations for what standards to use are under investigation, see github issue #281.
    • +
    • The code within cells is easily human-readable and others can easily modify it. If methods have side effects, this is clear to the user.
    • +
    • The input and output of each cell is clear. It is both clear what the structure is (e.g. what data type is used) and what the data content is from a domain perspective.
    • +
    +
  • +
  • Workflow +
      +
    • The duration of computation, memory usage, and power usage of the containers is acceptable. As there is currently no dashboard to monitor resource usage, contact the VLIC team for guidelines.
    • +
    +
  • +
  • Deployment +
      +
    • The virtual lab is publicly available.
    • +
    +
  • +
  • Infrastructure +
      +
    • The infrastructure requirements for the workshop are known and the necessary infrastructure has been provided: +
        +
      • The number of people taking part in a workshop.
      • +
      • The random access memory and permanent storage usage of the virtual lab are known.
      • +
      • The amount of processors the virtual lab uses is known.
      • +
      +
    • +
    +
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/index.html b/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/index.html new file mode 100644 index 0000000..6003f94 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/index.html @@ -0,0 +1,80 @@ + + + + + +L3 - Workshop use | NaaVRE + + + + +
Skip to main content

L3 - Workshop use

Start situation

+

At the start of level 3, the documentation and scientific publication is ready for silver users to learn the practices in workshops, trainings, and hackathons.

+

During the workshop use phase

+

During this phase silver users are invited to join workshops, trainings, or hackathons to learn the features and +components developed in the virtual lab and conduct their own exercises.

+

The following should be done during workshop use:

+
    +
  • Documentation +
      +
    • Gather user feedback on the documentation.
    • +
    • Continuously improve the documentation.
    • +
    +
  • +
  • Codebase +
      +
    • Find out if the architecture of the virtual lab is understandable and maintainable.
    • +
    • Continuously improve the codebase.
    • +
    +
  • +
  • Deployment +
      +
    • The virtual lab should be published on MyLifeWatch.
    • +
    +
  • +
+

Workshop use milestone

+

In this phase at least one workshop should be given to a group of 10 to 25 potential users. +Additionally, user feedback should be gathered and processed.

+

Workshop use responsibilities

+

The following responsibilities should be assigned during workshop use:

+
    +
  • Golden users: The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.
  • +
  • Scientific steering board: Gathers user feedback and determines how to facilitate other users in the virtual lab.
  • +
  • Community supporter: Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.
  • +
  • Virtual lab trainer: Gives trainings to users. Can point out what the user can change and can not change in the lab.
  • +
  • User supporter: Answers any technical questions arising from the workshop use which the trainer can not answer.
  • +
  • Core developer: Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.
  • +
  • Infrastructure supporter: Ensures the infrastructure can support the training sessions.
  • +
  • Virtual lab coordinator: Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.
  • +
+

Exit conditions

+

The virtual lab becomes an operational service, if scientists taking part in the workshops, trainings, and hackathons +find that they can use the virtual lab in their research, and the training material and guidelines are ready for normal (ivory) users to use.

+

Virtual labs do not need to reach operational service to be successful. A lab could also be the perfect fit for the scientific +scenario of the golden users, but not have any other users who can apply it in their own research. +It is important to weigh the scientific benefits of advancing a virtual lab to the next readiness level to the effort and cost involved in doing that. +In case none of the silver users keeps using the virtual labs after the workshops, the virtual lab should be archived.

+

To evolve to an operational service, all previous criteria apply in addition to the following:

+
    +
  • Community +
      +
    • There is a scientific steering board who are willing to take care of the scientific +direction of the virtual lab.
    • +
    • The is a community of users who benefit from doing their research in the virtual lab.
    • +
    +
  • +
  • Dependencies +
      +
    • Dependencies are specified. The dependencies are in the dockerfile of the virtual lab, +but should be duplicated in the metadata such that a person can in theory also run the source code on their own machine after installing the dependencies manually.
    • +
    +
  • +
  • Deployment +
      +
    • Deploy the virtual lab on MyLifeWatch.
    • +
    +
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/index.html b/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/index.html new file mode 100644 index 0000000..1abbd84 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/index.html @@ -0,0 +1,41 @@ + + + + + +L4 - Operational service | NaaVRE + + + + +
Skip to main content

L4 - Operational service

Start situation

+

At the start of the operational service phase, the lab has been tested by multiple users and the documentation has matured.

+

During operational service

+

In this phase the virtual lab has been industrialized and is provisioned on the research infrastructure.

+

The following should be done during operational service:

+
    +
  • Expand and adapt the virtual lab where useful.
  • +
  • Keep up to date with new versions of dependencies.
  • +
  • Make the containerized cells and workflow interoperable with other systems where use cases for the interoperability between NaaVRE and another system arise.
  • +
+

Operational service milestones

+

The following milestones can occur when a virtual lab runs as an operational service:

+
    +
  • Silver and ivory users successfully run their own scenarios in the virtual lab.
  • +
  • Silver and ivory users make their own modifications to the virtual lab to facilitate their research.
  • +
  • Users come up with ideas that spawn the creation of a new virtual lab: +Whenever users of the virtual lab come up with a new idea that does not fit in the possibilities of existing virtual labs, +they can contact the community supporter or virtual lab coordinator to discuss the possibilities of creating a new virtual lab.
  • +
+

Operational service responsibilities

+

The following responsibilities should be assigned when the virtual lab is an operational service:

+
    +
  • Scientific steering board: Coordinates the further development of the virtual lab with a scientific vision.
  • +
  • User supporter: Is the primary point of contact in case any problems arise with the virtual lab.
  • +
  • Community supporter: Identifies any potential new golden users from the community using the virtual lab.
  • +
  • Core developer: Development of the main virtual lab is kept in the hands of core developers or taken over by the user community.
  • +
  • Virtual lab coordinator: Ensures the VRE keeps supporting the virtual lab.
  • +
  • Infrastructure supporter: Monitors, provides, and adjusts infrastructure for the virtual lab.
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/index.html b/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/index.html new file mode 100644 index 0000000..6b5f306 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/index.html @@ -0,0 +1,30 @@ + + + + + +RAVRE documentation | NaaVRE + + + + +
Skip to main content

RAVRE documentation

This page provides detailed documentation for RAVRE. A higher level overview of the RAVRE virtual lab is available on the lab overview page.

+

Viewpoints

+

Mathematical description

+

ToDo: A mathematical description of the workflow.

+

Computational description

+

ToDo: How is the algorithm converted into computational methods?

+

Engineering implementation / Architecture

+

The following processes take place in the RAVRE data processing pipeline:

+
    +
  1. Notebook cell Download-KNMI requests data from the KNMI open data platform.
  2. +
  3. KNNI data is returned to NaaVRE and locally stored.
  4. +
  5. Notebook cell KNMI-to-odim-converter retrieves the local data, pre-processes it, and stores it in a Minio object store.
  6. +
  7. Notebook cell PVOL-VP-converter retrieves the pre-processed data and sends it to the vol2bird using the command-line interface.
  8. +
  9. The vol2bird algorithm returns vertical profiles of biological scatters to PVOL-VP-converter.
  10. +
  11. Notebook cell PVOL-VP-converter stores the vertical profiles in Minio object store.
  12. +
+

Current development: New cells are available to visualize the vertical profiles.

+

 images/RAVRE_sequence_diagram.drawio.png not found

+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/RAVRE/index.html b/pr-preview/pr-33/docs/readiness_levels/RAVRE/index.html new file mode 100644 index 0000000..bd4ad8a --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/RAVRE/index.html @@ -0,0 +1,62 @@ + + + + + +RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers. | NaaVRE + + + + +
Skip to main content

RAVRE: Easy processing of weather radar data to vertical profiles of biological scatterers.

Introduction: The airspace is becoming increasingly crowded. High-rises, wind farms and airports all contribute to conflict with aerial organisms. Information about the movements of organisms in the air is required to identify stop-over sites, migratory routes, and patterns. This can inform mitigation of conflicts by, for example, wind-turbine curtailments or early warning systems for aviation. Weather radars, that continuously monitor the sky across continents, can be used to study movements of birds, bats, and insects. However, for continental scale analysis, large volumes of data are required to be processed and analyzed, which often rely on institute-specific tools and computational resources. This severely hampers collaborative efforts because of the initial investment of time and resources to gain access to existing computing infrastructure. Here we show a Radar Aeroecology Virtual Research Environment (RAVRE) which uses the Lifewatch ERIC infrastructure to facilitate collaboration and re-use of infrastructure and tools. By providing RAVRE, we aim to facilitate collaboration between ornithological institutes.

+

Readiness level: L1 - co-development

+

 images/RAVRE_overview_image.drawio.png not found

+

Conceptual description

+

This virtual lab (VL) allows users to easily obtain biological scatters from radar data. +The lab reduces the initial investment of acquiring access and expertise to computational resources and provide immediate access to tools built by domain experts. These tools are then run in the cloud leveraging the performance and flexibility of cloud computing. +The VL is shipped with the data management plan used by the University of Amsterdam's Animal Movement Ecology group (UvA IBED-TCE AME) to provide an out of the box solution for managing large datasets. +RAVRE is currently capable of accessing, processing, managing and visualizing data from the Royal Netherlands Meteorological Institute's (RNMI) open Radar Data repository. The VL has multi-language support, and has well known libraries such as bioRad in R and xradar in Python installed. Furthermore, it uses vol2bird for processing biological echoes found in Polar Volume files to Vertical Profiles.

+

Keywords

+
    +
  • Aerial animal movement
  • +
  • Biological scatter
  • +
  • Bird migration
  • +
  • Radar ontology
  • +
  • Weather radar
  • +
  • Altitude profile
  • +
+

Features

+
    +
  • Vol2bird algorithm
  • +
  • Mapping to Vol2bird input format
  • +
  • Easy KNMI data retrieval
  • +
  • Biological scatterers visualization
  • +
+

License: Apache-2.0

+

NaaVRE virtual lab

+

Click to open RAVRE in NaaVRE

+

Related virtual labs: None

+

Publication(s)

+

Dokter AM, Liechti F, Stark H, Delobbe L, Tabary P, Holleman I, J. R. Soc.
+Bird migration flight altitudes studied by a network of operational weather radars
+Interface, 8, 30–43, 2011, DOI 10.1098/rsif.2010.0116

+ +

This virtual lab uses the vol2bird algorithm, which can be found on github.

+

Possible applications

+
    +
  • Select a date range to create a vertical profiles of biological scatters.
  • +
  • Write your own pre-processor to map weather radar data from sources other than KNMI to a format readable by vol2bird.
  • +
+ +

Picking custom dates to study biological scatters using KNMI weather radar data is possible by only setting parameters.
+Preprocessing other weather radar data to the vol2bird input format requires some experience in handling APIs and data in Python.

+

Documentation

+

See the documentation page. Additionally, a user guide and tutorial is available in the virtual lab.

+

Point of contact

+

Berend-Christiaan Wijers
+IBED - University of Amsterdam
+Email: B.C.Wijers@uva.nl

+

Standards

+

ToDo: description of the standards used for data exchange with application programming interfaces and databases.

+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/index.html new file mode 100644 index 0000000..af1b1f1 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/index.html @@ -0,0 +1,20 @@ + + + + + +Community supporter | NaaVRE + + + + +
Skip to main content

Community supporter

The community supporter has the following responsibilities per level:

+
    +
  • L0: Reaches out to domain scientists who have the potential of becoming golden users.
  • +
  • L1: At the end of L1 gets a demonstration of the virtual lab from the golden users to gain insight in the virtual lab and potential use cases.
  • +
  • L2: Finds potential silver users to take part in the trainings in the next phase.
  • +
  • L3: Invites silver users to the virtual lab. Suggests domain scientists to the golden users as potential members of the scientific steering board.
  • +
  • L4: Identifies any potential new golden users from the community using the virtual lab.
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/index.html new file mode 100644 index 0000000..31fcb11 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/index.html @@ -0,0 +1,20 @@ + + + + + +Virtual lab coordinator | NaaVRE + + + + +
Skip to main content

Virtual lab coordinator

The virtual lab coordinator has the following responsibilities per level:

+
    +
  • L0: Creates a new empty virtual lab. Consults domain and technical experts to assess the whether running the virtual lab in NaaVRE is realistic. Ensures the golden users are onboarded onto NaaVRE and the readiness level framework.
  • +
  • L1: Coordinates the co-development between the golden users, core developers and DevOps engineers.
  • +
  • L2: Ensures the community supporter is involved in the virtual lab and supports solving any issues arising.
  • +
  • L3: Monitors the virtual lab and any problems arising during training. Checks whether a user community emerges during this phase that provides a use case for maturing the virtual lab further.
  • +
  • L4: Ensures the VRE keeps supporting the virtual lab.
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/index.html new file mode 100644 index 0000000..a276458 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/index.html @@ -0,0 +1,19 @@ + + + + + +Core developer | NaaVRE + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/index.html new file mode 100644 index 0000000..d81e9e9 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/index.html @@ -0,0 +1,18 @@ + + + + + +Virtual research environment development and operations (VRE DevOps) engineer | NaaVRE + + + + +
Skip to main content

Virtual research environment development and operations (VRE DevOps) engineer

The VRE DevOps engineers have the following responsibilities per level:

+
    +
  • L0: Establish if NaaVRE can support to use case. Provision customized libraries and configurations for the virtual lab.
  • +
  • L1: Support the creation of the new virtual lab by giving the core development team advice and changing the virtual research environment where necessary. Advice on the right infrastructure for the virtual lab.
  • +
  • L2: Support the core developers and golden user by providing advise and changing the virtual research environment where necessary.
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/index.html new file mode 100644 index 0000000..2ff9815 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/index.html @@ -0,0 +1,20 @@ + + + + + +Golden user | NaaVRE + + + + +
Skip to main content

Golden user

Golden users have the following responsibilities per level:

+
    +
  • L0: Have a use case that will serve as the first application of the virtual lab. Recruit and hire the core development team.
  • +
  • L1: Guide the development of the lab from the scientific viewpoint. Prepare the datasets for scientific experiments
  • +
  • L2: Use the virtual lab to do their research. Publish a paper in the ecosystem domain.
  • +
  • L3: The golden users who have used the virtual lab for their own investigations, will appoint and approve members for the scientific steering board. The golden user can also take place in the scientific steering board.
  • +
  • L4: A golden user can keep on using the virtual lab for their own experiments.
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/index.html new file mode 100644 index 0000000..6a8e39a --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/index.html @@ -0,0 +1,19 @@ + + + + + +Infrastructure supporter | NaaVRE + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/index.html new file mode 100644 index 0000000..8264246 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/index.html @@ -0,0 +1,16 @@ + + + + + +Reviewer | NaaVRE + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/index.html new file mode 100644 index 0000000..6d1d1d6 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/index.html @@ -0,0 +1,19 @@ + + + + + +Scientific steering board | NaaVRE + + + + +
Skip to main content

Scientific steering board

The scientific steering board decides on the further development of the virtual lab based on a scientific vision and their knowledge of the use cases of the virtual lab. +Members of the scientific steering board are invited by the golden users and community supporter during L3 - workshop use. +If a golden user remains involved in the virtual lab, they can take place in the scientific steering board.

+
    +
  • L3: Gathers user feedback and determines how to facilitate other users in the virtual lab.
  • +
  • L4: Coordinates the further development of the virtual lab with a scientific vision.
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/index.html new file mode 100644 index 0000000..794d9cb --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/index.html @@ -0,0 +1,17 @@ + + + + + +Trainer | NaaVRE + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/index.html new file mode 100644 index 0000000..721718e --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/index.html @@ -0,0 +1,17 @@ + + + + + +User supporter | NaaVRE + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/index.html b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/index.html new file mode 100644 index 0000000..a31c6d4 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/index.html @@ -0,0 +1,16 @@ + + + + + +VRE researcher | NaaVRE + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/index.html b/pr-preview/pr-33/docs/readiness_levels/index.html new file mode 100644 index 0000000..2f35e9e --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/index.html @@ -0,0 +1,109 @@ + + + + + +Readiness level framework for co-development of virtual labs on the NaaVRE platform | NaaVRE + + + + +
Skip to main content

Readiness level framework for co-development of virtual labs on the NaaVRE platform

Version 0.0.2

+

The NaaVRE platform facilitates data- and computing-centric research activities by enabling scientists to create customizable virtual labs for specific scientific purposes. +This is achieved through a collaborative co-development approach, bringing together domain specialists, computational scientists, data scientists, and development and operations engineers.

+

This readiness level framework assists researchers in virtual lab co-development by:

+
    +
  • Introducing the content of virtual labs.
  • +
  • Defining stakeholder roles.
  • +
  • Describing the progression of a virtual lab through readiness levels, +highlighting requirements, milestones and responsibilities.
  • +
+

Content of a virtual lab

+

To successfully develop a reusable and maintainable virtual lab, it is important to understand what a virtual lab is made up of. +A NaaVRE virtual lab provides a collection of research tools and assets customized for a specific research need:

+
    +
  • Assets created in the virtual lab.
  • +
  • Documents that support the usability of the virtual lab.
  • +
+

Assets

+

Three types of assets can be created in a virtual lab:

+
    +
  • The codebase: Any code written for the virtual lab. The codebase interacts with external resources such as software libraries and external data.
  • +
  • Internal data: Produced in the virtual lab by data processing, data analysis, and simulations.
  • +
  • Containerized cells and workflows.
  • +
+

Documents

+

Besides assets, we encourage the developers of a virtual lab to create documents that aid the FAIRness and maintenance of the virtual lab:

+
    +
  • Metadata.
  • +
  • Documentation, including a tutorial.
  • +
+

Stakeholder roles

+

NaaVRE aims to be a virtual research environment (VRE) that enables experts in computational ecology and ecological data analysis +to create virtual labs. +Stakeholders are organized into multiple roles to facilitate the collaboration that enables innovative research methods. Some people will only have +one role for the virtual lab, while others might have multiple of the following roles:

+
    +
  • Virtual lab usage roles: Roles for the domain scientists using the virtual lab for their own research. +
      +
    • Golden user: Provides a scientific scenario that be well investigated in NaaVRE. Is involved in developing a +new virtual lab and conducts the first research in that virtual lab.
    • +
    • Silver user: Starts using a virtual lab developed by others for their own scientific scenarios in a workshop, training or hackathon. +Learns how to use the virtual lab through a workshop, training or hackathon.
    • +
    • Ivory user: Other users that visit or use the virtual lab in a later stage.
    • +
    +
  • +
  • Virtual lab development roles: Roles involved in the creation of a new virtual lab. +
      +
    • Virtual lab core developers: Develop a new virtual lab in NaaVRE. Often the virtual lab owner will be one of the core developers. Core developers are provided or hired by the golden user.
    • +
    • Virtual lab code reviewers: Provide feedback during co-development on the user-friendliness, maintainability, and robustness of the +source code and other assets.
    • +
    • Scientific steering board: Coordinates the development of the virtual lab with a scientific vision.
    • +
    +
  • +
  • Virtual lab support roles: Roles to support development and use of virtual labs. +
      +
    • Community supporter: Forms connections between users and the virtual lab.
    • +
    • Virtual lab trainer: Knows the lab from a user viewpoint and provides trainings to new users.
    • +
    • Virtual lab coordinator: Knows the lab from a technical perspective and pushes the lab to the next readiness level if there is a user community. Often, this will be an employee at LifeWatch ERIC VLIC
    • +
    • Virtual research environment development and operations (VRE DevOps) engineer: Maintains NaaVRE. Often, this will be an employee at LifeWatch ERIC VLIC.
    • +
    • VRE researcher: Contributes state-of-the-art components to the NaaVRE and can publish technical papers +that demonstrate the relevance of NaaVRE in the field of networked systems.
    • +
    • User supporter: Can support users. Knows the potential and limitations of the lab and can help out when problems arise.
    • +
    • Infrastructure supporter: Ensures there is infrastructure that allows the virtual lab to be used by multiple users.
    • +
    • Infrastructure provider: Organisation that provides infrastructure for the virtual lab.
    • +
    +
  • +
+

Readiness levels

+

We discern five readiness levels in the development of a virtual lab. +Virtual labs evolve through these readiness level by improving and expanding the assets and documents of the virtual lab. +Higher readiness levels increase the usability of the lab for others, reducing reliance on core developers and the VRE DevOps team.

+
  • L0 Initial proposal:
    The initial proposal of a virtual lab, with conceptual definition but no technical setup.
  • L1 Co-development:
    A provisioned virtual lab that is ready for the core development team to implement the virtual lab functionality, e.g. new components, workflows, or experiments.
  • L2 Validation phase:
    A provisioned virtual lab with developed components. It is ready to run scientific experiments to validate the virtual lab and write scientific publications.
  • L3 Workshop use:
    A provisioned virtual lab with validated components and scientific stories. It is ready to engage more users through training and hackathons under controlled conditions.
  • L4 Operational service:
    A provisioned virtual lab on operational infrastructure. It is ready to be operational for serving users from the general public.
+
LevelNameDurationDevelopersUsersContext disseminationEntering conditionExit condition
L0initial proposal1-12 months00A good idea & Available resources.Set up a concrete lab on the platform.
L1Co-development3-6 monthsCore developers 6-12 FTE0Metadata publicationA lab & a core development team.A lab ready for scientific experiments.
L2Validation phase3 monthsA team of core developers1Paper publicationA lab ready for writing a scientific paper.One or two papers submitted to publication.
L3Workshop use3 monthsCore developers or users10-25Workshops, trainings, hackathonsA working lab with documentation and training material.The lab has been tested in workshops / hackathons, and has an emerging community.
L4Operational serviceCore developers or users10+The lab is operational, and can be managed on research infrastructure.
+

Table 1: Summary of readiness levels, with duration, number of developers and users, +how the context of the lab is communicated with the outside world, and what conditions per transition should be met.

+

 images/NaaVRE_development_cycle.drawio.png not found
+Figure 1: The virtual lab moves through the readiness levels, from initial proposal to operational service. +Users coming up with ideas for new experiments that can not be done in the existing virtual labs, +can, in collaboration with LifeWatch, create a new virtual lab that fits their needs.

+

 images/Timeline.drawio.png not found
+Figure 2: Timeline per readiness level showing the timing of role involvement. See roles pages for details.

+

Sources

+ +

Potential ToDos for LifeWatch VLIC

+

To be able to cycle through the entire readiness cycle described here, LifeWatch VLIC needs to provide the following:

+ +

Feedback

+

Any feedback on this document is appreciated. Please contact the LifeWatch VLIC team if you have any questions or comments on the document.

+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/readiness_levels/user_manual/index.html b/pr-preview/pr-33/docs/readiness_levels/user_manual/index.html new file mode 100644 index 0000000..155afd5 --- /dev/null +++ b/pr-preview/pr-33/docs/readiness_levels/user_manual/index.html @@ -0,0 +1,44 @@ + + + + + +User manual | NaaVRE + + + + +
Skip to main content

User manual

The following guidelines can be used to determine the completeness of a user manual.

+
    +
  • The virtual lab is explained from the following viewpoints: +
      +
    • A conceptual viewpoint. There is an intuitive description of what happens.
    • +
    • A mathematical viewpoint. How the real world system relates to the used mathematical algorithm is clear.
    • +
    • A computational viewpoint: How the algorithm is converted into computational methods is explained.
    • +
    • An engineering viewpoint: There is a description of the software architecture of the virtual lab.
    • +
    +
  • +
  • The parameters are clear. +
      +
    • It is clear what the ecological meaning of the parameter is.
    • +
    • It is clear how to change these parameters.
    • +
    +
  • +
  • There is a tutorial: Virtual lab developers are strongly encouraged to create a tutorial for virtual labs early on in the development. In the simplest case, this is the existing main notebook with a description of the processes that occur during execution. +
      +
    • The tutorial can be done without supervision.
    • +
    +
  • +
  • Known potential pitfalls in using the virtual lab are described.
  • +
  • There is a description of the standards used for data exchange with application programming interfaces and databases.
  • +
  • The intended audience is described. Recommended prior knowledge is listed.
  • +
  • Storage location +
      +
    • Store the user manual for the virtual lab in the same git repository as the virtual lab assets.
    • +
    • The user manual will be made available on NaaVRE.net and should be separated from the codebase.
    • +
    • Instructions on how to use a single notebook can be stored in the markdown of that notebook.
    • +
    +
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/docs/tutorials/index.html b/pr-preview/pr-33/docs/tutorials/index.html new file mode 100644 index 0000000..dd79916 --- /dev/null +++ b/pr-preview/pr-33/docs/tutorials/index.html @@ -0,0 +1,158 @@ + + + + + +Getting Started with NaaVRE tutorial | NaaVRE + + + + +
Skip to main content

Getting Started with NaaVRE tutorial

+

The aim of this tutorial is to discover the basic functionalities of NaaVRE: logging in, starting your virtual lab, and creating a workflow from a notebook:

+ +

This is a screencast of the tutorial:

+
+

Starting NaaVRE

+

Open the NaaVRE demo: https://naavre.lifewatch.dev.

+

Startin point

+

Signing in

+

Click on the 'Login' button.

+

Sign in

+

Chose your preferred login method:

+
    +
  • option 1 (recommended): Google
  • +
  • option 2: Federation with EOSC (provides several options such as GitHub or ORCID)
  • +
+

Sign in

+

Log in with the chosen method (Google shown here)

+

Sign in

+

Pick your collaborative virtual lab

+

On the main panel, you will see several Virtual Labs (VLs). +For this tutorial, select the 'NaaVRE Open Lab'.

+

Pick VRE

+

When in the VL you can see:

+
    +
  • A description of the VL
  • +
  • The instances started by other users
  • +
  • A button to start your own instance of the VL
  • +
  • Assets from the Virtual lab: +
      +
    • Workflow runs
    • +
    • Data products
    • +
    • Geographical data products
    • +
    +
  • +
+

Pick VRE

+

Starting your virtual lab

+

Click on the 'Launch my instance' button.

+

This opens a new tab where your virtual lab will be started. Click on the 'Sign in' button.

+

On the new page click on the 'Sign in' button.

+

Start VRE

+

Your virtual lab instance starts up.

+

Start VRE

+

The NaaVRE interface in Jupyter Lab

+

You now see the NaaVRE interface in Jupyter lab. +(You can read more details here).

+

Launcher

+

From notebook to workflow

+

Create a notebook

+

Create a new Python or a R notebook by clicking on the 'Python 3' or the 'R' icon under 'Notebook' on the launcher tab.

+
note

If the Launcher page is not open, click on the new tab button or 'File->New->New Launcher'.

+

Create notebook

+

Add some code to the notebook. For this tutorial, we will use a simple 'hello, world' example over two cells. The first one sets the data (in a real world application, this cell could download data from a repository), the second one prints the data (this could correspond to processing the data and generating some figures).

+

If you chose Python:

+
# Input list
names = ["Alice", "Bob"]
+
# Process list
for name in names:
print(f"Hello, {name}!")
+

If you chose R:

+
# Input list
names = list("Alice", "Bob")
+
# Process list
for (name in names) {
print(sprintf("Hello, %s!", name))
}
+

Create notebook

+

Containerize the cells

+

Open the component containerizer panel by clicking on the icon in the left-hand bar.

+

Containerize cells

+

Select the first cell to containerize it.

+

On the left panel, you will see a preview of the containerized cell with the detected inputs, outputs, parameters and dependencies (if any).

+

Containerize cells

+

Set the variable types to 'List'. For Python notebooks, type is inferred automatically.

+

Containerize cells

+

Select the base image for the containerized cell ('r' or 'python' depending on your notebook).

+

Containerize cells

+

Click on the 'Create' button.

+
warning

This publishes the contents of the cell to a public repository on GitHub. Do not containerize cells containing passwords, API keys, or any code you wish to keep private.

+

Containerize cells

+

Congratulations, you containerized your first cell!

+

Containerize cells

+

Repeat the containerization cells for the second cell in the notebook.

+

Compose a workflow

+

To compose a workflow open a new tab and click on the 'Experimenter Manager' icon.

+

Experimenter Manager

+

Experimenter Manager

+

Click on the 'Cells catalogue' button.

+

Experimenter Manager

+

For each of the cells you created:

+
    +
  • select the cell,
  • +
  • click on Add to workspace.
  • +
+

Experimenter Manager

+

Drag and drop the two cells onto the canvas, as well as a 'splitter' cell.

+

Experimenter Manager

+

Connect the cells nodes.

+
tip

It is important to note that the direction of the connections between the cells is important as it indicates the flow of ] +data dependencies between the cells. Therefore, the flow should be: 'Input list' -> 'Splitter' -> 'Process list'.

+

Experimenter Manager

+

Click on the 'Run' button.

+

Experimenter Manager

+

Click on 'Execute'

+
note

If your workflow uses parameters, you can set their values here. To use values from the notebook, click on 'Use notebook values'.

+

Experimenter Manager

+

Monitor the workflow

+

To check the progress of the workflow click on the link on the pop-up message.

+

Experimenter Manager

+

This will take you to the workflow engine page where you can see the progress of the workflow. Click on a node to see its status and logs.

+

Workflow Engine

+
note

The first time you open the workflow engine, select the 'single sign-on' login, and close the welcome message.

+

A more realistic example

+ +

We present a more realistic workflow using data from ICOS:

+
    +
  • list stations matching given criteria
  • +
  • list data products matching given criteria for these stations
  • +
  • plot a specific variable for these data products
  • +
  • save the plots
  • +
+
+

Run it yourself

+

Step 1 Open the example notebook in NaaVRE by following this link.

+

ICOS example

+

Step 2 Fill-in the values for param_cpauth_token (cell 2), param_s3_user_prefix, param_s3_access_key, and param_s3_secret_key (cell 6). The s3 params and the “Upload files” step can be skipped if you want to make the tutorial shorter.

+

After filling in the values, you have the possibility to run the notebook.

+

ICOS example

+

Step 3 Containerize the cells of the notebook (see “Containerize the cells” in the above tutorial).

+

ICOS example

+

Step 4 Create a workflow (see “Compose a workflow”) using the cells you just containerized, in the following order:

+
    +
  • List ICOS stations
  • +
  • List data products
  • +
  • Splitter
  • +
  • Plot time series
  • +
  • Merger (optional)
  • +
  • Upload files (optional)
  • +
+

ICOS example

+

Step 5 Run the workflow:

+
    +
  1. Click on the “Run” button
  2. +
  3. Fill in the workflow parameters by clicking on the “Use notebook values” button. Notice that you can edit the parameters at this stage, without having to re-containerize the cells or re-create the workflow.
  4. +
  5. Click on “Execute”
  6. +
+

ICOS example

+

Step 6 Monitor the workflow execution (see “Monitor the workflow”)

+

ICOS example

+

Step 7 Retrieve the results

+

If you used the “Upload files” cell, you can retrieve the results that have been uploaded to the MinIO server.

+

ICOS example

+ + \ No newline at end of file diff --git a/pr-preview/pr-33/img/favicon.ico b/pr-preview/pr-33/img/favicon.ico new file mode 100644 index 0000000..cd92ae8 Binary files /dev/null and b/pr-preview/pr-33/img/favicon.ico differ diff --git a/pr-preview/pr-33/img/hero-dark.svg b/pr-preview/pr-33/img/hero-dark.svg new file mode 100644 index 0000000..53d9d6c --- /dev/null +++ b/pr-preview/pr-33/img/hero-dark.svg @@ -0,0 +1,50 @@ + + + + diff --git a/pr-preview/pr-33/img/hero-light.svg b/pr-preview/pr-33/img/hero-light.svg new file mode 100644 index 0000000..05d5b61 --- /dev/null +++ b/pr-preview/pr-33/img/hero-light.svg @@ -0,0 +1,55 @@ + + + + diff --git a/pr-preview/pr-33/img/logo-compact-dark.svg b/pr-preview/pr-33/img/logo-compact-dark.svg new file mode 100644 index 0000000..7f6a8b8 --- /dev/null +++ b/pr-preview/pr-33/img/logo-compact-dark.svg @@ -0,0 +1,20 @@ + + + + diff --git a/pr-preview/pr-33/img/logo-compact-light.svg b/pr-preview/pr-33/img/logo-compact-light.svg new file mode 100644 index 0000000..555459a --- /dev/null +++ b/pr-preview/pr-33/img/logo-compact-light.svg @@ -0,0 +1,20 @@ + + + + diff --git a/pr-preview/pr-33/img/logo-normal-dark.svg b/pr-preview/pr-33/img/logo-normal-dark.svg new file mode 100644 index 0000000..28c5f59 --- /dev/null +++ b/pr-preview/pr-33/img/logo-normal-dark.svg @@ -0,0 +1,22 @@ + + + + diff --git a/pr-preview/pr-33/img/logo-normal-light.svg b/pr-preview/pr-33/img/logo-normal-light.svg new file mode 100644 index 0000000..8bddfcb --- /dev/null +++ b/pr-preview/pr-33/img/logo-normal-light.svg @@ -0,0 +1,22 @@ + + + + diff --git a/pr-preview/pr-33/img/social-card.png b/pr-preview/pr-33/img/social-card.png new file mode 100644 index 0000000..870e7b7 Binary files /dev/null and b/pr-preview/pr-33/img/social-card.png differ diff --git a/pr-preview/pr-33/img/social-card.svg b/pr-preview/pr-33/img/social-card.svg new file mode 100644 index 0000000..c7e21b9 --- /dev/null +++ b/pr-preview/pr-33/img/social-card.svg @@ -0,0 +1,120 @@ + + + +NaaVRENotebook as a VirtualResearchEnvironment diff --git a/pr-preview/pr-33/img/undraw_abstract_re_l9xy.svg b/pr-preview/pr-33/img/undraw_abstract_re_l9xy.svg new file mode 100644 index 0000000..e2d3838 --- /dev/null +++ b/pr-preview/pr-33/img/undraw_abstract_re_l9xy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pr-preview/pr-33/img/undraw_order_delivered_re_v4ab.svg b/pr-preview/pr-33/img/undraw_order_delivered_re_v4ab.svg new file mode 100644 index 0000000..bf7bfb8 --- /dev/null +++ b/pr-preview/pr-33/img/undraw_order_delivered_re_v4ab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pr-preview/pr-33/img/undraw_teamwork_hpdk.svg b/pr-preview/pr-33/img/undraw_teamwork_hpdk.svg new file mode 100644 index 0000000..75fb78b --- /dev/null +++ b/pr-preview/pr-33/img/undraw_teamwork_hpdk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pr-preview/pr-33/index.html b/pr-preview/pr-33/index.html new file mode 100644 index 0000000..bda4f77 --- /dev/null +++ b/pr-preview/pr-33/index.html @@ -0,0 +1,57 @@ + + + + + +NaaVRE + + + + +
Skip to main content

Turn Jupyter notebooks into reusable components

NaaVRE lets you containerize cells of Jupyter notebooks. Use these reusable components to build workflows.

Compose workflows and run them in the cloud

NaaVRE lets you compose workflows and run them into a cloud environment, with different parameters or input data.

Find, reuse and share research assets

Find notebooks, containerized cells, workflows and datasets to run your own experiments in NaaVRE.

NaaVRE (Notebook as a Virtual Research Environment) provide user-centric support in the lifecycle of research activities, for example, discovering and accessing research assets or composing and executing application workflows. The Notebook as a Virtual Research Environment (NaaVRE) platform is a VRE platform developed by LifeWatch VLIC; it allows users to create customizable Collaborative Virtual Labs to conduct domain research activities [1].

+VRE knowledgebaseNotebook-as-a-VREdashboardseSciencedevOpsDistributed VREledgerProvenance /log expllorerDistributedworkflow busRemoteinfrastructureautomatorAAIDistributeddata meshSemanticsearch engineComponentcontainerizerExperimentmanagerClient side (e.g. Jupyter environment)NaaVRENaaVRE +services +market placeABCDEFGHIJKL +
    +
  1. Zhao, Zhiming, Spiros Koulouzis, Riccardo Bianchi, Siamak Farshidi, Zeshun Shi, Ruyue Xin, Yuandou Wang et al. "Notebook‐as‐a‐VRE (NaaVRE): From private notebooks to a collaborative cloud virtual research environment." Software: Practice and Experience 52, no. 9 (2022): 1947-1966. https://doi.org/10.1002/spe.3098
  2. +
+

Tutorials

+

This section of the documentation contains step-by-step tutorials that help outline the capabilities of Virtual Research +Environments (VRE) and how you can achieve specific aims. The tutorials are recommended if you do not have much +experience with VRE.

+ +

Notebook as a Virtual Research Environment (NaaVRE) Platform

+

The LifeWatch NaaVRE platform is a Platform as a Service (PaaS) that allows users to create Collaborative Virtual Labs with customized runtime libraries, user interfaces, and workflow building blocks, and to conduct research activities in specific domains.

+

Main Features

+
    +
  • A user-friendly interface to the LifeWatch VRE platform
  • +
  • Overview of the running Virtual Labs (VLs)
  • +
  • Overview of executed workflows
  • +
  • Community-based data products catalog
  • +
  • Community-based geographical data products catalog
  • +
  • Collaboration tools + +
  • +
+

Collaborative Virtual Labs

+

A Collaborative Virtual Lab provides a customized profile, which allows a domain user to create a Virtual Lab instance on the NaaVRE platform. All the Virtual Lab instances of a Collaborative Virtual Lab can share data and workflows. A Virtual Lab is based on a Jupyter environment with specially developed extensions for containerizing Notebook cells, composing and executing workflows, and searching and sharing research objects.

+

Main Features

+
    +
  • Containerization of cells
  • +
  • Workflow composition based on containerized cells
  • +
  • Execution of containerized cells on a workflow engine
  • +
  • Search for notebooks
  • +
+

Supported Kernels

+
    +
  • Python
  • +
  • Rscript
  • +
+ + \ No newline at end of file diff --git a/pr-preview/pr-33/sitemap.xml b/pr-preview/pr-33/sitemap.xml new file mode 100644 index 0000000..9fc9a65 --- /dev/null +++ b/pr-preview/pr-33/sitemap.xml @@ -0,0 +1 @@ +https://naavre.github.io/pr-preview/pr-33/docs/about/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/NaaVRE_Interface/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L0_initial_proposal/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L1_co-development/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L2_validation_phase/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L3_workshop_use/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/L4_operational_service/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/RAVRE/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/RAVRE/documentation/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/user_manual/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Community_supporter/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Coordinator/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Core_developer/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/DevOps/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Golden_user/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Infrastructure_supporter/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Reviewer/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Steering_board/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/Trainer/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/User_supporter/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/readiness_levels/Virtual_lab_roles/VRE_researcher/weekly0.5https://naavre.github.io/pr-preview/pr-33/docs/tutorials/weekly0.5https://naavre.github.io/pr-preview/pr-33/weekly0.5 \ No newline at end of file