diff --git a/404.html b/404.html new file mode 100644 index 00000000..557b1bd0 --- /dev/null +++ b/404.html @@ -0,0 +1,16 @@ + + + + + +Page Not Found | CML + + + + +
+
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/assets/css/styles.bafaf52b.css b/assets/css/styles.bafaf52b.css new file mode 100644 index 00000000..2cb11c18 --- /dev/null +++ b/assets/css/styles.bafaf52b.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}*,.loadingRing_RJI3 div{box-sizing:border-box}.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:#356ddb;--ifm-color-primary-dark:#356ddb;--ifm-color-primary-darker:#356ddb;--ifm-color-primary-darkest:#356ddb;--ifm-color-primary-light:#356ddb;--ifm-color-primary-lighter:#356ddb;--ifm-color-primary-lightest:#356ddb;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--ifm-spacing-horizontal:40px;--ifm-font-color-base:#3b454e;--ifm-blockquote-border-left-width:4px;--ifm-blockquote-color:#5c6975;--ifm-blockquote-padding-horizontal:20px;--ifm-alert-padding-horizontal:20px;--ifm-navbar-padding-horizontal:16px;--tabs-bg-active:#fff;--tabs-text-inactive:#9ca3af;--ifm-font-family-base:"Manrope";--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}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)}.list_eTzJ article:last-child,.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[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_tbUL,.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,.searchBarContainer_NW3z.searchIndexLoading_EJ1f .searchBarLoadingRing_YnHq{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}.content_knG7 a,.hitFooter_E9YW a,.suggestion_fB_2.cursor_eG29 mark{text-decoration:underline}.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}.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;pointer-events:none;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_S0QG>:last-child,.cardContainer_fWXF :last-child,.collapsibleContent_i85q>:last-child,.footer__items,.searchResultItem_U687>h2{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}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.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{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);content:""}.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__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)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.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);position:fixed;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;position:fixed;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-container [role=tab],.tabs-container [role=tabpanel]{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity));border-style:solid}.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}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@font-face{font-family:Manrope;src:url(/assets/fonts/Manrope-Regular-b1d694f660569a9a9ee6d1236227eaff.ttf)}[data-theme=dark]{--ifm-color-primary:#ff9828;--ifm-color-primary-dark:#ff9828;--ifm-color-primary-darker:#ff9828;--ifm-color-primary-darkest:#ff9828;--ifm-color-primary-light:#ff9828;--ifm-color-primary-lighter:#ff9828;--ifm-color-primary-lightest:#ff9828;--ifm-font-color-base:#fff;--ifm-blockquote-color:#c8c8c8;--docusaurus-highlighted-code-line-bg:#0000004d;--tabs-bg-active:#1c1c1d;--tabs-text-inactive:#bab0b0}img{margin-bottom:.75rem;max-width:300px}.img-full{max-width:100%;width:100%}.img-card{margin-bottom:1rem;max-width:300px}.img-icon{margin-bottom:0;width:1.25rem}.tabs-container [role=tab]{background-color:var(--tabs-bg-active);border-radius:.375rem .375rem 0 0;border-width:1px 1px 0;padding-bottom:.5rem;padding-top:.5rem}.tabs-container [role=tab][aria-selected=false]{--tw-text-opacity:1;background-color:var(--tabs-bg);color:rgb(156 163 175/var(--tw-text-opacity))}.tabs-container [role=tabpanel]{border-width:1px;margin-top:-17px;padding:1.25rem}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_b6E3,.hideAction_vcyE>svg,.sidebarLogo_isFc,.themedImage_ToTc,[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}.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] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,#f5f6f7);border-radius:6px;box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64);left:auto!important;margin-top:8px;padding:var(--search-local-spacing,12px);position:relative;right:0!important;width:var(--search-local-modal-width,560px)}html[data-theme=dark] .searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,var(--ifm-background-color));box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309)}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2{align-items:center;background:var(--search-local-hit-background,#fff);border-radius:4px;box-shadow:var(--search-local-hit-shadow,0 1px 3px 0 #d4d9e1);color:var(--search-local-hit-color,#444950);cursor:pointer;display:flex;flex-direction:row;height:var(--search-local-hit-height,56px);padding:0 var(--search-local-spacing,12px);width:100%}.hitTree_kk6K,.noResults_l6Q3{align-items:center;display:flex}html[data-theme=dark] .dropdownMenu_qbY6 .suggestion_fB_2{background:var(--search-local-hit-background,var(--ifm-color-emphasis-100));box-shadow:var(--search-local-hit-shadow,none);color:var(--search-local-hit-color,var(--ifm-font-color-base))}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2:not(:last-child){margin-bottom:4px}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2.cursor_eG29{background-color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitFooter_E9YW a,.hitIcon_a7Zy,.hitPath_ieM4,.hitTree_kk6K,.noResultsIcon_EBY5{color:var(--search-local-muted-color,#969faf)}html[data-theme=dark] .hitIcon_a7Zy,html[data-theme=dark] .hitPath_ieM4,html[data-theme=dark] .hitTree_kk6K,html[data-theme=dark] .noResultsIcon_EBY5{color:var(--search-local-muted-color,var(--ifm-color-secondary-darkest))}.hitTree_kk6K>svg{height:var(--search-local-hit-height,56px);opacity:.5;width:24px}.hitIcon_a7Zy,.hitTree_kk6K>svg{stroke-width:var(--search-local-icon-stroke-width,1.4)}.hitAction_NqkB,.hitIcon_a7Zy{height:20px;width:20px}.hitWrapper_sAK8{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;margin:0 8px;overflow-x:hidden;width:80%}.hitWrapper_sAK8 mark{background:none;color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitTitle_vyVt{font-size:.9em}.hitPath_ieM4{font-size:.75em}.hitPath_ieM4,.hitTitle_vyVt{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.noResults_l6Q3{flex-direction:column;justify-content:center;padding:var(--search-local-spacing,12px) 0}.noResultsIcon_EBY5{margin-bottom:var(--search-local-spacing,12px)}.hitFooter_E9YW{font-size:.85em;margin-top:var(--search-local-spacing,12px);text-align:center}.cursor_eG29 .hideAction_vcyE>svg,.tocCollapsibleContent_vkbj a{display:block}.suggestion_fB_2.cursor_eG29,.suggestion_fB_2.cursor_eG29 .hitIcon_a7Zy,.suggestion_fB_2.cursor_eG29 .hitPath_ieM4,.suggestion_fB_2.cursor_eG29 .hitTree_kk6K,.suggestion_fB_2.cursor_eG29 mark{color:var(--search-local-hit-active-color,var(--ifm-color-white))!important}.searchBarContainer_NW3z{margin-left:16px}.searchBarContainer_NW3z .searchBarLoadingRing_YnHq{display:none;left:10px;position:absolute;top:6px}.searchBarContainer_NW3z .searchClearButton_qk4g{background:none;border:none;line-height:1rem;padding:0;position:absolute;right:.8rem;top:50%;transform:translateY(-50%)}.navbar__search{position:relative}.searchIndexLoading_EJ1f .navbar__search-input{background-image:none}.searchHintContainer_Pkmr{align-items:center;display:flex;gap:4px;height:100%;justify-content:center;pointer-events:none;position:absolute;right:10px;top:0}.searchHint_iIMx{background-color:var(--ifm-navbar-search-input-background-color);border:1px solid var(--ifm-color-emphasis-500);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-500);color:var(--ifm-navbar-search-input-placeholder-color)}.loadingRing_RJI3{display:inline-block;height:20px;opacity:var(--search-local-loading-icon-opacity,.5);position:relative;width:20px}.loadingRing_RJI3 div{animation:1.2s cubic-bezier(.5,0,.5,1) infinite a;border:2px solid var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color));border-color:var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color)) #0000 #0000 #0000;border-radius:50%;display:block;height:16px;margin:2px;position:absolute;width:16px}.loadingRing_RJI3 div:first-child{animation-delay:-.45s}.loadingRing_RJI3 div:nth-child(2){animation-delay:-.3s}.loadingRing_RJI3 div:nth-child(3){animation-delay:-.15s}@keyframes a{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.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}.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}.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%}.cardContainer_fWXF{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 #00000026;transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_fWXF:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 #0003}.cardTitle_rnsV{font-size:1.2rem}.cardDescription_PWke{font-size:.8rem}.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}.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}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.searchQueryInput_CFBF{background:var(--ifm-background-color);border:var(--ifm-global-border-width) solid var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-font-color-base);font-size:var(--ifm-font-size-base);margin-bottom:1rem;padding:.5rem;width:100%}.searchResultItem_U687{border-bottom:1px solid #dfe3e8;padding:1rem 0}.searchResultItemPath_uIbk{color:var(--ifm-color-content-secondary);font-size:.8rem;margin:.5rem 0 0}.searchResultItemSummary_oZHr{font-style:italic;margin:.5rem 0 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)}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.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}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.docPage__5DB{flex:1 0}.docsWrapper_BCFX{display:flex;flex:1 0 auto}.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:"#"}.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_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_tbUL code{text-transform:none}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy 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}.title_kItE{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.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_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_: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_m80_{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_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{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_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xe31{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.docItemCol_VOVn,.generatedIndexPage_vN6x{max-width:75%!important}.list_eTzJ article:nth-last-child(-n+2){margin-bottom:0!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}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media not (max-width:996px){.searchBar_RVTs.searchBarLeft_MXDe .dropdownMenu_qbY6{left:0!important;right:auto!important}}@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}.navbar__search-input:not(:focus){width:2rem}.searchBar_RVTs .dropdownMenu_qbY6{max-width:calc(100vw - var(--ifm-navbar-padding-horizontal)*2);width:var(--search-local-modal-width-sm,340px)}.searchBarContainer_NW3z:not(.focused_OWtg) .searchClearButton_qk4g,.searchHintContainer_Pkmr{display:none}}@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/assets/fonts/Manrope-Regular-b1d694f660569a9a9ee6d1236227eaff.ttf b/assets/fonts/Manrope-Regular-b1d694f660569a9a9ee6d1236227eaff.ttf new file mode 100644 index 00000000..7cf09bf8 Binary files /dev/null and b/assets/fonts/Manrope-Regular-b1d694f660569a9a9ee6d1236227eaff.ttf differ diff --git a/assets/js/0109cddc.748be62a.js b/assets/js/0109cddc.748be62a.js new file mode 100644 index 00000000..7cfcb252 --- /dev/null +++ b/assets/js/0109cddc.748be62a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[54],{2776:e=>{e.exports=JSON.parse('{"name":"@easyops-cn/docusaurus-search-local","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/14eb3368.5dfcfa66.js b/assets/js/14eb3368.5dfcfa66.js new file mode 100644 index 00000000..1d9f2854 --- /dev/null +++ b/assets/js/14eb3368.5dfcfa66.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[817],{1310:(e,t,n)=>{n.d(t,{Z:()=>E});var a=n(7462),r=n(7294),i=n(6010),l=n(5281),c=n(2802),s=n(8596),o=n(9960),m=n(5999),d=n(4996);function u(e){return r.createElement("svg",(0,a.Z)({viewBox:"0 0 24 24"},e),r.createElement("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 h={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function b(){const e=(0,d.Z)("/");return r.createElement("li",{className:"breadcrumbs__item"},r.createElement(o.Z,{"aria-label":(0,m.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},r.createElement(u,{className:h.breadcrumbHomeIcon})))}const v={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function g(e){let{children:t,href:n,isLast:a}=e;const i="breadcrumbs__link";return a?r.createElement("span",{className:i,itemProp:"name"},t):n?r.createElement(o.Z,{className:i,href:n,itemProp:"item"},r.createElement("span",{itemProp:"name"},t)):r.createElement("span",{className:i},t)}function p(e){let{children:t,active:n,index:l,addMicrodata:c}=e;return r.createElement("li",(0,a.Z)({},c&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,i.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,r.createElement("meta",{itemProp:"position",content:String(l+1)}))}function E(){const e=(0,c.s1)(),t=(0,s.Ns)();return e?r.createElement("nav",{className:(0,i.Z)(l.k.docs.docBreadcrumbs,v.breadcrumbsContainer),"aria-label":(0,m.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},r.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&r.createElement(b,null),e.map(((t,n)=>{const a=n===e.length-1;return r.createElement(p,{key:n,active:a,index:n,addMicrodata:!!t.href},r.createElement(g,{href:t.href,isLast:a},t.label))})))):null}},4228:(e,t,n)=>{n.r(t),n.d(t,{default:()=>y});var a=n(7294),r=n(1944),i=n(2802),l=n(4996),c=n(6010),s=n(9960),o=n(3919),m=n(5999);const d={cardContainer:"cardContainer_fWXF",cardTitle:"cardTitle_rnsV",cardDescription:"cardDescription_PWke"};function u(e){let{href:t,children:n}=e;return a.createElement(s.Z,{href:t,className:(0,c.Z)("card padding--lg",d.cardContainer)},n)}function h(e){let{href:t,icon:n,title:r,description:i}=e;return a.createElement(u,{href:t},a.createElement("h2",{className:(0,c.Z)("text--truncate",d.cardTitle),title:r},n," ",r),i&&a.createElement("p",{className:(0,c.Z)("text--truncate",d.cardDescription),title:i},i))}function b(e){let{item:t}=e;const n=(0,i.Wl)(t);return n?a.createElement(h,{href:n,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:t.description??(0,m.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t.items.length})}):null}function v(e){let{item:t}=e;const n=(0,o.Z)(t.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",r=(0,i.xz)(t.docId??void 0);return a.createElement(h,{href:t.href,icon:n,title:t.label,description:t.description??r?.description})}function g(e){let{item:t}=e;switch(t.type){case"link":return a.createElement(v,{item:t});case"category":return a.createElement(b,{item:t});default:throw new Error(`unknown item type ${JSON.stringify(t)}`)}}function p(e){let{className:t}=e;const n=(0,i.jA)();return a.createElement(E,{items:n.items,className:t})}function E(e){const{items:t,className:n}=e;if(!t)return a.createElement(p,e);const r=(0,i.MN)(t);return a.createElement("section",{className:(0,c.Z)("row",n)},r.map(((e,t)=>a.createElement("article",{key:t,className:"col col--6 margin-bottom--lg"},a.createElement(g,{item:e})))))}var f=n(4966),N=n(3120),Z=n(4364),k=n(1310),_=n(2503);const L={generatedIndexPage:"generatedIndexPage_vN6x",list:"list_eTzJ",title:"title_kItE"};function T(e){let{categoryGeneratedIndex:t}=e;return a.createElement(r.d,{title:t.title,description:t.description,keywords:t.keywords,image:(0,l.Z)(t.image)})}function x(e){let{categoryGeneratedIndex:t}=e;const n=(0,i.jA)();return a.createElement("div",{className:L.generatedIndexPage},a.createElement(N.Z,null),a.createElement(k.Z,null),a.createElement(Z.Z,null),a.createElement("header",null,a.createElement(_.Z,{as:"h1",className:L.title},t.title),t.description&&a.createElement("p",null,t.description)),a.createElement("article",{className:"margin-top--lg"},a.createElement(E,{items:n.items,className:L.list})),a.createElement("footer",{className:"margin-top--lg"},a.createElement(f.Z,{previous:t.navigation.previous,next:t.navigation.next})))}function y(e){return a.createElement(a.Fragment,null,a.createElement(T,e),a.createElement(x,e))}},4966:(e,t,n)=>{n.d(t,{Z:()=>o});var a=n(7462),r=n(7294),i=n(5999),l=n(6010),c=n(9960);function s(e){const{permalink:t,title:n,subLabel:a,isNext:i}=e;return r.createElement(c.Z,{className:(0,l.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},a&&r.createElement("div",{className:"pagination-nav__sublabel"},a),r.createElement("div",{className:"pagination-nav__label"},n))}function o(e){const{previous:t,next:n}=e;return r.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,i.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"})},t&&r.createElement(s,(0,a.Z)({},t,{subLabel:r.createElement(i.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&r.createElement(s,(0,a.Z)({},n,{subLabel:r.createElement(i.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}},4364:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(7294),r=n(6010),i=n(5999),l=n(5281),c=n(4477);function s(e){let{className:t}=e;const n=(0,c.E)();return n.badge?a.createElement("span",{className:(0,r.Z)(t,l.k.docs.docVersionBadge,"badge badge--secondary")},a.createElement(i.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}},3120:(e,t,n)=>{n.d(t,{Z:()=>g});var a=n(7294),r=n(6010),i=n(2263),l=n(9960),c=n(5999),s=n(143),o=n(5281),m=n(373),d=n(4477);const u={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(c.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:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(c.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:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function h(e){const t=u[e.versionMetadata.banner];return a.createElement(t,e)}function b(e){let{versionLabel:t,to:n,onClick:r}=e;return a.createElement(c.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(l.Z,{to:n,onClick:r},a.createElement(c.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function v(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:l}}=(0,i.Z)(),{pluginId:c}=(0,s.gA)({failfast:!0}),{savePreferredVersionName:d}=(0,m.J)(c),{latestDocSuggestion:u,latestVersionSuggestion:v}=(0,s.Jo)(c),g=u??(p=v).docs.find((e=>e.id===p.mainDocId));var p;return a.createElement("div",{className:(0,r.Z)(t,o.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(h,{siteTitle:l,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(b,{versionLabel:v.label,to:g.path,onClick:()=>d(v.name)})))}function g(e){let{className:t}=e;const n=(0,d.E)();return n.banner?a.createElement(v,{className:t,versionMetadata:n}):null}},2503:(e,t,n)=>{n.d(t,{Z:()=>m});var a=n(7462),r=n(7294),i=n(6010),l=n(5999),c=n(6668),s=n(9960);const o={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};function m(e){let{as:t,id:n,...m}=e;const{navbar:{hideOnScroll:d}}=(0,c.L)();if("h1"===t||!n)return r.createElement(t,(0,a.Z)({},m,{id:void 0}));const u=(0,l.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof m.children?m.children:n});return r.createElement(t,(0,a.Z)({},m,{className:(0,i.Z)("anchor",d?o.anchorWithHideOnScrollNavbar:o.anchorWithStickyNavbar,m.className),id:n}),m.children,r.createElement(s.Z,{className:"hash-link",to:`#${n}`,"aria-label":u,title:u},"\u200b"))}}}]); \ No newline at end of file diff --git a/assets/js/1655029a.0de60d52.js b/assets/js/1655029a.0de60d52.js new file mode 100644 index 00000000..ecde262e --- /dev/null +++ b/assets/js/1655029a.0de60d52.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[67],{198:e=>{e.exports=JSON.parse('{"title":"Crypto","slug":"/category/crypto","permalink":"/category/crypto","navigation":{"previous":{"title":"Chain","permalink":"/modules/chain/"},"next":{"title":"Generating Keys and Addresses","permalink":"/modules/crypto/generating_keys"}}}')}}]); \ No newline at end of file diff --git a/assets/js/17896441.e85cca84.js b/assets/js/17896441.e85cca84.js new file mode 100644 index 00000000..1016915b --- /dev/null +++ b/assets/js/17896441.e85cca84.js @@ -0,0 +1 @@ +(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[918],{3905:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>d,kt:()=>f});var a=n(7294);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 r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var i=a.createContext({}),s=function(e){var t=a.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(i.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,i=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),m=s(n),p=o,f=m["".concat(i,".").concat(p)]||m[p]||u[p]||r;return n?a.createElement(f,l(l({ref:t},d),{},{components:n})):a.createElement(f,l({ref:t},d))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,l=new Array(r);l[0]=p;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c[m]="string"==typeof e?e:o,l[1]=c;for(var s=2;s{"use strict";n.d(t,{Z:()=>v});var a=n(7462),o=n(7294),r=n(6010),l=n(5281),c=n(2802),i=n(8596),s=n(9960),d=n(5999),m=n(4996);function u(e){return o.createElement("svg",(0,a.Z)({viewBox:"0 0 24 24"},e),o.createElement("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 p={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function f(){const e=(0,m.Z)("/");return o.createElement("li",{className:"breadcrumbs__item"},o.createElement(s.Z,{"aria-label":(0,d.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},o.createElement(u,{className:p.breadcrumbHomeIcon})))}const h={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function g(e){let{children:t,href:n,isLast:a}=e;const r="breadcrumbs__link";return a?o.createElement("span",{className:r,itemProp:"name"},t):n?o.createElement(s.Z,{className:r,href:n,itemProp:"item"},o.createElement("span",{itemProp:"name"},t)):o.createElement("span",{className:r},t)}function b(e){let{children:t,active:n,index:l,addMicrodata:c}=e;return o.createElement("li",(0,a.Z)({},c&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,r.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,o.createElement("meta",{itemProp:"position",content:String(l+1)}))}function v(){const e=(0,c.s1)(),t=(0,i.Ns)();return e?o.createElement("nav",{className:(0,r.Z)(l.k.docs.docBreadcrumbs,h.breadcrumbsContainer),"aria-label":(0,d.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},o.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&o.createElement(f,null),e.map(((t,n)=>{const a=n===e.length-1;return o.createElement(b,{key:n,active:a,index:n,addMicrodata:!!t.href},o.createElement(g,{href:t.href,isLast:a},t.label))})))):null}},620:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>it});var a=n(7294),o=n(1944),r=n(902);const l=a.createContext(null);function c(e){let{children:t,content:n}=e;const o=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(l.Provider,{value:o},t)}function i(){const e=(0,a.useContext)(l);if(null===e)throw new r.i6("DocProvider");return e}function s(){const{metadata:e,frontMatter:t,assets:n}=i();return a.createElement(o.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var d=n(6010),m=n(7524),u=n(4966);function p(){const{metadata:e}=i();return a.createElement(u.Z,{previous:e.previous,next:e.next})}var f=n(3120),h=n(4364),g=n(5281),b=n(5999);function v(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return a.createElement(b.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:a.createElement("b",null,a.createElement("time",{dateTime:new Date(1e3*t).toISOString()},n))}}," on {date}")}function E(e){let{lastUpdatedBy:t}=e;return a.createElement(b.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:a.createElement("b",null,t)}}," by {user}")}function y(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:o}=e;return a.createElement("span",{className:g.k.common.lastUpdated},a.createElement(b.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?a.createElement(v,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:o?a.createElement(E,{lastUpdatedBy:o}):""}},"Last updated{atDate}{byUser}"),!1)}var k=n(7462);const N={iconEdit:"iconEdit_Z9Sw"};function C(e){let{className:t,...n}=e;return a.createElement("svg",(0,k.Z)({fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,d.Z)(N.iconEdit,t),"aria-hidden":"true"},n),a.createElement("g",null,a.createElement("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 L(e){let{editUrl:t}=e;return a.createElement("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:g.k.common.editThisPage},a.createElement(C,null),a.createElement(b.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page"},"Edit this page"))}var Z=n(9960);const _={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function T(e){let{permalink:t,label:n,count:o}=e;return a.createElement(Z.Z,{href:t,className:(0,d.Z)(_.tag,o?_.tagWithCount:_.tagRegular)},n,o&&a.createElement("span",null,o))}const w={tags:"tags_jXut",tag:"tag_QGVx"};function B(e){let{tags:t}=e;return a.createElement(a.Fragment,null,a.createElement("b",null,a.createElement(b.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),a.createElement("ul",{className:(0,d.Z)(w.tags,"padding--none","margin-left--sm")},t.map((e=>{let{label:t,permalink:n}=e;return a.createElement("li",{key:n,className:w.tag},a.createElement(T,{label:t,permalink:n}))}))))}const x={lastUpdated:"lastUpdated_vwxv"};function O(e){return a.createElement("div",{className:(0,d.Z)(g.k.docs.docFooterTagsRow,"row margin-bottom--sm")},a.createElement("div",{className:"col"},a.createElement(B,e)))}function H(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:o,formattedLastUpdatedAt:r}=e;return a.createElement("div",{className:(0,d.Z)(g.k.docs.docFooterEditMetaRow,"row")},a.createElement("div",{className:"col"},t&&a.createElement(L,{editUrl:t})),a.createElement("div",{className:(0,d.Z)("col",x.lastUpdated)},(n||o)&&a.createElement(y,{lastUpdatedAt:n,formattedLastUpdatedAt:r,lastUpdatedBy:o})))}function A(){const{metadata:e}=i(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:o,lastUpdatedBy:r,tags:l}=e,c=l.length>0,s=!!(t||n||r);return c||s?a.createElement("footer",{className:(0,d.Z)(g.k.docs.docFooter,"docusaurus-mt-lg")},c&&a.createElement(O,{tags:l}),s&&a.createElement(H,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:r,formattedLastUpdatedAt:o})):null}var j=n(6043),I=n(6668);function S(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...o}=e;n>=0?t[n].children.push(o):a.push(o)})),a}function M(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=M({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function P(e){const t=e.getBoundingClientRect();return t.top===t.bottom?P(e.parentNode):t}function U(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>P(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function V(e){const t=(0,a.useRef)(void 0),n=z();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:o,minHeadingLevel:r,maxHeadingLevel:l}=e;function c(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),c=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let o=t;o<=n;o+=1)a.push(`h${o}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:r,maxHeadingLevel:l}),i=U(c,{anchorTopOffset:n.current}),s=e.find((e=>i&&i.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",c),document.addEventListener("resize",c),c(),()=>{document.removeEventListener("scroll",c),document.removeEventListener("resize",c)}}),[e,n])}function D(e){let{toc:t,className:n,linkClassName:o,isChild:r}=e;return t.length?a.createElement("ul",{className:r?void 0:n},t.map((e=>a.createElement("li",{key:e.id},a.createElement("a",{href:`#${e.id}`,className:o??void 0,dangerouslySetInnerHTML:{__html:e.value}}),a.createElement(D,{isChild:!0,toc:e.children,className:n,linkClassName:o}))))):null}const R=a.memo(D);function W(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:l,maxHeadingLevel:c,...i}=e;const s=(0,I.L)(),d=l??s.tableOfContents.minHeadingLevel,m=c??s.tableOfContents.maxHeadingLevel,u=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return(0,a.useMemo)((()=>M({toc:S(t),minHeadingLevel:n,maxHeadingLevel:o})),[t,n,o])}({toc:t,minHeadingLevel:d,maxHeadingLevel:m});return V((0,a.useMemo)((()=>{if(o&&r)return{linkClassName:o,linkActiveClassName:r,minHeadingLevel:d,maxHeadingLevel:m}}),[o,r,d,m])),a.createElement(R,(0,k.Z)({toc:u,className:n,linkClassName:o},i))}const $={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function F(e){let{collapsed:t,...n}=e;return a.createElement("button",(0,k.Z)({type:"button"},n,{className:(0,d.Z)("clean-btn",$.tocCollapsibleButton,!t&&$.tocCollapsibleButtonExpanded,n.className)}),a.createElement(b.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}const q={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function G(e){let{toc:t,className:n,minHeadingLevel:o,maxHeadingLevel:r}=e;const{collapsed:l,toggleCollapsed:c}=(0,j.u)({initialState:!0});return a.createElement("div",{className:(0,d.Z)(q.tocCollapsible,!l&&q.tocCollapsibleExpanded,n)},a.createElement(F,{collapsed:l,onClick:c}),a.createElement(j.z,{lazy:!0,className:q.tocCollapsibleContent,collapsed:l},a.createElement(W,{toc:t,minHeadingLevel:o,maxHeadingLevel:r})))}const Y={tocMobile:"tocMobile_ITEo"};function J(){const{toc:e,frontMatter:t}=i();return a.createElement(G,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,d.Z)(g.k.docs.docTocMobile,Y.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 a.createElement("div",{className:(0,d.Z)(Q.tableOfContents,"thin-scrollbar",t)},a.createElement(W,(0,k.Z)({},n,{linkClassName:X,linkActiveClassName:K})))}function te(){const{toc:e,frontMatter:t}=i();return a.createElement(ee,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:g.k.docs.docTocDesktop})}var ne=n(2503),ae=n(3905),oe=n(5742);var re=n(2389),le=n(2949);function ce(){const{prism:e}=(0,I.L)(),{colorMode:t}=(0,le.I)(),n=e.theme,a=e.darkTheme||n;return"dark"===t?a:n}var ie=n(7594),se=n.n(ie);const de=/title=(?["'])(?.*?)\1/,me=/\{(?<range>[\d,-]+)\}/,ue={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function pe(e,t){const n=e.map((e=>{const{start:n,end:a}=ue[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${a})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function fe(e,t){let n=e.replace(/\n$/,"");const{language:a,magicComments:o,metastring:r}=t;if(r&&me.test(r)){const e=r.match(me).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${r}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,a=se()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(a),code:n}}if(void 0===a)return{lineClassNames:{},code:n};const l=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);default:return pe(Object.keys(ue),t)}}(a,o),c=n.split("\n"),i=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),s=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let p=0;p<c.length;){const e=c[p].match(l);if(!e){p+=1;continue}const t=e.slice(1).find((e=>void 0!==e));s[t]?i[s[t]].range+=`${p},`:d[t]?i[d[t]].start=p:m[t]&&(i[m[t]].range+=`${i[m[t]].start}-${p-1},`),c.splice(p,1)}n=c.join("\n");const u={};return Object.entries(i).forEach((e=>{let[t,{range:n}]=e;se()(n).forEach((e=>{u[e]??=[],u[e].push(t)}))})),{lineClassNames:u,code:n}}const he={codeBlockContainer:"codeBlockContainer_Ckt0"};function ge(e){let{as:t,...n}=e;const o=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[a,o]=e;const r=t[a];r&&"string"==typeof o&&(n[r]=o)})),n}(ce());return a.createElement(t,(0,k.Z)({},n,{style:o,className:(0,d.Z)(n.className,he.codeBlockContainer,g.k.common.codeBlock)}))}const be={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function ve(e){let{children:t,className:n}=e;return a.createElement(ge,{as:"pre",tabIndex:0,className:(0,d.Z)(be.codeBlockStandalone,"thin-scrollbar",n)},a.createElement("code",{className:be.codeBlockLines},t))}const Ee={attributes:!0,characterData:!0,childList:!0,subtree:!0};function ye(e,t){const[n,o]=(0,a.useState)(),l=(0,a.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,a.useEffect)((()=>{l()}),[l]),function(e,t,n){void 0===n&&(n=Ee);const o=(0,r.zX)(t),l=(0,r.Ql)(n);(0,a.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,l),()=>t.disconnect()}),[e,o,l])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),l())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const ke={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"}}]};var Ne={Prism:n(7410).Z,theme:ke};function Ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Le(){return Le=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},Le.apply(this,arguments)}var Ze=/\r\n|\r|\n/,_e=function(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)},Te=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},we=function(e,t){var n=e.plain,a=Object.create(null),o=e.styles.reduce((function(e,n){var a=n.languages,o=n.style;return a&&!a.includes(t)||n.types.forEach((function(t){var n=Le({},e[t],o);e[t]=n})),e}),a);return o.root=n,o.plain=Le({},n,{backgroundColor:null}),o};function Be(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(n[a]=e[a]);return n}const xe=function(e){function t(){for(var t=this,n=[],a=arguments.length;a--;)n[a]=arguments[a];e.apply(this,n),Ce(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?we(e.theme,e.language):void 0;return t.themeDict=n})),Ce(this,"getLineProps",(function(e){var n=e.key,a=e.className,o=e.style,r=Le({},Be(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(r.style=l.plain),void 0!==o&&(r.style=void 0!==r.style?Le({},r.style,o):o),void 0!==n&&(r.key=n),a&&(r.className+=" "+a),r})),Ce(this,"getStyleForToken",(function(e){var n=e.types,a=e.empty,o=n.length,r=t.getThemeDict(t.props);if(void 0!==r){if(1===o&&"plain"===n[0])return a?{display:"inline-block"}:void 0;if(1===o&&!a)return r[n[0]];var l=a?{display:"inline-block"}:{},c=n.map((function(e){return r[e]}));return Object.assign.apply(Object,[l].concat(c))}})),Ce(this,"getTokenProps",(function(e){var n=e.key,a=e.className,o=e.style,r=e.token,l=Le({},Be(e,["key","className","style","token"]),{className:"token "+r.types.join(" "),children:r.content,style:t.getStyleForToken(r),key:void 0});return void 0!==o&&(l.style=void 0!==l.style?Le({},l.style,o):o),void 0!==n&&(l.key=n),a&&(l.className+=" "+a),l})),Ce(this,"tokenize",(function(e,t,n,a){var o={code:t,grammar:n,language:a,tokens:[]};e.hooks.run("before-tokenize",o);var r=o.tokens=e.tokenize(o.code,o.grammar,o.language);return e.hooks.run("after-tokenize",o),r}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,a=e.code,o=e.children,r=this.getThemeDict(this.props),l=t.languages[n];return o({tokens:function(e){for(var t=[[]],n=[e],a=[0],o=[e.length],r=0,l=0,c=[],i=[c];l>-1;){for(;(r=a[l]++)<o[l];){var s=void 0,d=t[l],m=n[l][r];if("string"==typeof m?(d=l>0?d:["plain"],s=m):(d=Te(d,m.type),m.alias&&(d=Te(d,m.alias)),s=m.content),"string"==typeof s){var u=s.split(Ze),p=u.length;c.push({types:d,content:u[0]});for(var f=1;f<p;f++)_e(c),i.push(c=[]),c.push({types:d,content:u[f]})}else l++,t.push(d),n.push(s),a.push(0),o.push(s.length)}l--,t.pop(),n.pop(),a.pop(),o.pop()}return _e(c),i}(void 0!==l?this.tokenize(t,a,l,n):[a]),className:"prism-code language-"+n,style:void 0!==r?r.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(a.Component),Oe={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function He(e){let{line:t,classNames:n,showLineNumbers:o,getLineProps:r,getTokenProps:l}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=r({line:t,className:(0,d.Z)(n,o&&Oe.codeLine)}),i=t.map(((e,t)=>a.createElement("span",(0,k.Z)({key:t},l({token:e,key:t})))));return a.createElement("span",c,o?a.createElement(a.Fragment,null,a.createElement("span",{className:Oe.codeLineNumber}),a.createElement("span",{className:Oe.codeLineContent},i)):i,a.createElement("br",null))}function Ae(e){return a.createElement("svg",(0,k.Z)({viewBox:"0 0 24 24"},e),a.createElement("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 je(e){return a.createElement("svg",(0,k.Z)({viewBox:"0 0 24 24"},e),a.createElement("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}const Ie={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function Se(e){let{code:t,className:n}=e;const[o,r]=(0,a.useState)(!1),l=(0,a.useRef)(void 0),c=(0,a.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;const a=document.createElement("textarea"),o=document.activeElement;a.value=e,a.setAttribute("readonly",""),a.style.contain="strict",a.style.position="absolute",a.style.left="-9999px",a.style.fontSize="12pt";const r=document.getSelection();let l=!1;r.rangeCount>0&&(l=r.getRangeAt(0)),n.append(a),a.select(),a.selectionStart=0,a.selectionEnd=e.length;let c=!1;try{c=document.execCommand("copy")}catch{}a.remove(),l&&(r.removeAllRanges(),r.addRange(l)),o&&o.focus()}(t),r(!0),l.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,a.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),a.createElement("button",{type:"button","aria-label":o?(0,b.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,b.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,b.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,d.Z)("clean-btn",n,Ie.copyButton,o&&Ie.copyButtonCopied),onClick:c},a.createElement("span",{className:Ie.copyButtonIcons,"aria-hidden":"true"},a.createElement(Ae,{className:Ie.copyButtonIcon}),a.createElement(je,{className:Ie.copyButtonSuccessIcon})))}function Me(e){return a.createElement("svg",(0,k.Z)({viewBox:"0 0 24 24"},e),a.createElement("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 Pe={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function Ue(e){let{className:t,onClick:n,isEnabled:o}=e;const r=(0,b.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return a.createElement("button",{type:"button",onClick:n,className:(0,d.Z)("clean-btn",t,o&&Pe.wordWrapButtonEnabled),"aria-label":r,title:r},a.createElement(Me,{className:Pe.wordWrapButtonIcon,"aria-hidden":"true"}))}function ze(e){let{children:t,className:n="",metastring:o,title:r,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:i,magicComments:s}}=(0,I.L)(),m=c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??i,u=ce(),p=function(){const[e,t]=(0,a.useState)(!1),[n,o]=(0,a.useState)(!1),r=(0,a.useRef)(null),l=(0,a.useCallback)((()=>{const n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[r,e]),c=(0,a.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=r.current,n=e>t||r.current.querySelector("code").hasAttribute("style");o(n)}),[r]);return ye(r,c),(0,a.useEffect)((()=>{c()}),[e,c]),(0,a.useEffect)((()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)})),[c]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:l}}(),f=function(e){return e?.match(de)?.groups.title??""}(o)||r,{lineClassNames:h,code:g}=fe(t,{metastring:o,language:m,magicComments:s}),b=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return a.createElement(ge,{as:"div",className:(0,d.Z)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`)},f&&a.createElement("div",{className:be.codeBlockTitle},f),a.createElement("div",{className:be.codeBlockContent},a.createElement(xe,(0,k.Z)({},Ne,{theme:u,code:g,language:m??"text"}),(e=>{let{className:t,tokens:n,getLineProps:o,getTokenProps:r}=e;return a.createElement("pre",{tabIndex:0,ref:p.codeBlockRef,className:(0,d.Z)(t,be.codeBlock,"thin-scrollbar")},a.createElement("code",{className:(0,d.Z)(be.codeBlockLines,b&&be.codeBlockLinesWithNumbering)},n.map(((e,t)=>a.createElement(He,{key:t,line:e,getLineProps:o,getTokenProps:r,classNames:h[t],showLineNumbers:b})))))})),a.createElement("div",{className:be.buttonGroup},(p.isEnabled||p.isCodeScrollable)&&a.createElement(Ue,{className:be.codeButton,onClick:()=>p.toggle(),isEnabled:p.isEnabled}),a.createElement(Se,{className:be.codeButton,code:g}))))}function Ve(e){let{children:t,...n}=e;const o=(0,re.Z)(),r=function(e){return a.Children.toArray(e).some((e=>(0,a.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),l="string"==typeof r?ze:ve;return a.createElement(l,(0,k.Z)({key:String(o)},n),r)}const De={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function Re(e){return!!e&&("SUMMARY"===e.tagName||Re(e.parentElement))}function We(e,t){return!!e&&(e===t||We(e.parentElement,t))}function $e(e){let{summary:t,children:n,...o}=e;const r=(0,re.Z)(),l=(0,a.useRef)(null),{collapsed:c,setCollapsed:i}=(0,j.u)({initialState:!o.open}),[s,m]=(0,a.useState)(o.open),u=a.isValidElement(t)?t:a.createElement("summary",null,t??"Details");return a.createElement("details",(0,k.Z)({},o,{ref:l,open:s,"data-collapsed":c,className:(0,d.Z)(De.details,r&&De.isBrowser,o.className),onMouseDown:e=>{Re(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Re(t)&&We(t,l.current)&&(e.preventDefault(),c?(i(!1),m(!0)):i(!0))}}),u,a.createElement(j.z,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{i(e),m(!e)}},a.createElement("div",{className:De.collapsibleContent},n)))}const Fe={details:"details_b_Ee"},qe="alert alert--info";function Ge(e){let{...t}=e;return a.createElement($e,(0,k.Z)({},t,{className:(0,d.Z)(qe,Fe.details,t.className)}))}function Ye(e){return a.createElement(ne.Z,e)}const Je={containsTaskList:"containsTaskList_mC6p"};const Qe={img:"img_ev3q"};const Xe={admonition:"admonition_LlT9",admonitionHeading:"admonitionHeading_tbUL",admonitionIcon:"admonitionIcon_kALy",admonitionContent:"admonitionContent_S0QG"};const Ke={note:{infimaClassName:"secondary",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("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"}))},label:a.createElement(b.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("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"}))},label:a.createElement(b.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("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"}))},label:a.createElement(b.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("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"}))},label:a.createElement(b.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 16 16"},a.createElement("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"}))},label:a.createElement(b.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},et={secondary:"note",important:"info",success:"tip",warning:"danger"};function tt(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=a.Children.toArray(e),n=t.find((e=>a.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),o=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:o}}(e.children);return{...e,title:e.title??t,children:n}}const nt={head:function(e){const t=a.Children.map(e.children,(e=>a.isValidElement(e)?function(e){if(e.props?.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...o}=e.props;return a.createElement(e.props.originalType,o)}return e}(e):e));return a.createElement(oe.Z,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return a.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")||(0,a.isValidElement)(e)&&t.includes(e.props?.mdxType)))?a.createElement("code",e):a.createElement(Ve,e)},a:function(e){return a.createElement(Z.Z,e)},pre:function(e){return a.createElement(Ve,(0,a.isValidElement)(e.children)&&"code"===e.children.props?.originalType?e.children.props:{...e})},details:function(e){const t=a.Children.toArray(e.children),n=t.find((e=>a.isValidElement(e)&&"summary"===e.props?.mdxType)),o=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return a.createElement(Ge,(0,k.Z)({},e,{summary:n}),o)},ul:function(e){return a.createElement("ul",(0,k.Z)({},e,{className:(t=e.className,(0,d.Z)(t,t?.includes("contains-task-list")&&Je.containsTaskList))}));var t},img:function(e){return a.createElement("img",(0,k.Z)({loading:"lazy"},e,{className:(t=e.className,(0,d.Z)(t,Qe.img))}));var t},h1:e=>a.createElement(Ye,(0,k.Z)({as:"h1"},e)),h2:e=>a.createElement(Ye,(0,k.Z)({as:"h2"},e)),h3:e=>a.createElement(Ye,(0,k.Z)({as:"h3"},e)),h4:e=>a.createElement(Ye,(0,k.Z)({as:"h4"},e)),h5:e=>a.createElement(Ye,(0,k.Z)({as:"h5"},e)),h6:e=>a.createElement(Ye,(0,k.Z)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:o,icon:r}=tt(e),l=function(e){const t=et[e]??e,n=Ke[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),Ke.info)}(n),c=o??l.label,{iconComponent:i}=l,s=r??a.createElement(i,null);return a.createElement("div",{className:(0,d.Z)(g.k.common.admonition,g.k.common.admonitionType(e.type),"alert",`alert--${l.infimaClassName}`,Xe.admonition)},a.createElement("div",{className:Xe.admonitionHeading},a.createElement("span",{className:Xe.admonitionIcon},s),c),a.createElement("div",{className:Xe.admonitionContent},t))},mermaid:()=>null};function at(e){let{children:t}=e;return a.createElement(ae.Zo,{components:nt},t)}function ot(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=i();return t.hide_title||void 0!==n?null:e.title}();return a.createElement("div",{className:(0,d.Z)(g.k.docs.docMarkdown,"markdown")},n&&a.createElement("header",null,a.createElement(ne.Z,{as:"h1"},n)),a.createElement(at,null,t))}var rt=n(1310);const lt={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function ct(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=i(),n=(0,m.i)(),o=e.hide_table_of_contents,r=!o&&t.length>0;return{hidden:o,mobile:r?a.createElement(J,null):void 0,desktop:!r||"desktop"!==n&&"ssr"!==n?void 0:a.createElement(te,null)}}();return a.createElement("div",{className:"row"},a.createElement("div",{className:(0,d.Z)("col",!n.hidden&<.docItemCol)},a.createElement(f.Z,null),a.createElement("div",{className:lt.docItemContainer},a.createElement("article",null,a.createElement(rt.Z,null),a.createElement(h.Z,null),n.mobile,a.createElement(ot,null,t),a.createElement(A,null)),a.createElement(p,null))),n.desktop&&a.createElement("div",{className:"col col--3"},n.desktop))}function it(e){const t=`docs-doc-id-${e.content.metadata.unversionedId}`,n=e.content;return a.createElement(c,{content:e.content},a.createElement(o.FG,{className:t},a.createElement(s,null),a.createElement(ct,null,a.createElement(n,null))))}},4966:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var a=n(7462),o=n(7294),r=n(5999),l=n(6010),c=n(9960);function i(e){const{permalink:t,title:n,subLabel:a,isNext:r}=e;return o.createElement(c.Z,{className:(0,l.Z)("pagination-nav__link",r?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},a&&o.createElement("div",{className:"pagination-nav__sublabel"},a),o.createElement("div",{className:"pagination-nav__label"},n))}function s(e){const{previous:t,next:n}=e;return o.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,r.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"})},t&&o.createElement(i,(0,a.Z)({},t,{subLabel:o.createElement(r.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&o.createElement(i,(0,a.Z)({},n,{subLabel:o.createElement(r.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}},4364:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7294),o=n(6010),r=n(5999),l=n(5281),c=n(4477);function i(e){let{className:t}=e;const n=(0,c.E)();return n.badge?a.createElement("span",{className:(0,o.Z)(t,l.k.docs.docVersionBadge,"badge badge--secondary")},a.createElement(r.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}},3120:(e,t,n)=>{"use strict";n.d(t,{Z:()=>g});var a=n(7294),o=n(6010),r=n(2263),l=n(9960),c=n(5999),i=n(143),s=n(5281),d=n(373),m=n(4477);const u={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(c.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:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(c.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:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function p(e){const t=u[e.versionMetadata.banner];return a.createElement(t,e)}function f(e){let{versionLabel:t,to:n,onClick:o}=e;return a.createElement(c.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(l.Z,{to:n,onClick:o},a.createElement(c.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function h(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:l}}=(0,r.Z)(),{pluginId:c}=(0,i.gA)({failfast:!0}),{savePreferredVersionName:m}=(0,d.J)(c),{latestDocSuggestion:u,latestVersionSuggestion:h}=(0,i.Jo)(c),g=u??(b=h).docs.find((e=>e.id===b.mainDocId));var b;return a.createElement("div",{className:(0,o.Z)(t,s.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(p,{siteTitle:l,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(f,{versionLabel:h.label,to:g.path,onClick:()=>m(h.name)})))}function g(e){let{className:t}=e;const n=(0,m.E)();return n.banner?a.createElement(h,{className:t,versionMetadata:n}):null}},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var a=n(7462),o=n(7294),r=n(6010),l=n(5999),c=n(6668),i=n(9960);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};function d(e){let{as:t,id:n,...d}=e;const{navbar:{hideOnScroll:m}}=(0,c.L)();if("h1"===t||!n)return o.createElement(t,(0,a.Z)({},d,{id:void 0}));const u=(0,l.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof d.children?d.children:n});return o.createElement(t,(0,a.Z)({},d,{className:(0,r.Z)("anchor",m?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,d.className),id:n}),d.children,o.createElement(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":u,title:u},"\u200b"))}},7594:(e,t)=>{function n(e){let t,n=[];for(let a of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(a))n.push(parseInt(a,10));else if(t=a.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,a,o,r]=t;if(a&&r){a=parseInt(a),r=parseInt(r);const e=a<r?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(r+=e);for(let t=a;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n}}]); \ No newline at end of file diff --git a/assets/js/187dbc21.f4beb3df.js b/assets/js/187dbc21.f4beb3df.js new file mode 100644 index 00000000..4a2d11b6 --- /dev/null +++ b/assets/js/187dbc21.f4beb3df.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[455],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function a(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,c=e.originalType,l=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),p=s(r),m=o,f=p["".concat(l,".").concat(m)]||p[m]||d[m]||c;return r?n.createElement(f,i(i({ref:t},u),{},{components:r})):n.createElement(f,i({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var c=r.length,i=new Array(c);i[0]=m;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[p]="string"==typeof e?e:o,i[1]=a;for(var s=2;s<c;s++)i[s]=r[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},9325:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>c,metadata:()=>a,toc:()=>s});var n=r(7462),o=(r(7294),r(3905));const c={},i="Core",a={unversionedId:"modules/core/index",id:"modules/core/index",title:"Core",description:"This crate is for core features and traits common to all CML crates. Most users likely won't need to directly use this module except for possibly pulling in traits used with other cml crates. If you are using CML from WASM/typescript this module will not be needed as any used types will be re-exported in the crates (e.g. cml-chain-wasm, cml-cip25-wasm, etc) that use it.",source:"@site/docs/modules/core/index.md",sourceDirName:"modules/core",slug:"/modules/core/",permalink:"/modules/core/",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Core",permalink:"/category/core"},next:{title:"Chain",permalink:"/category/chain"}},l={},s=[],u={toc:s},p="wrapper";function d(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"core"},"Core"),(0,o.kt)("p",null,"This crate is for core features and traits common to all CML crates. Most users likely won't need to directly use this module except for possibly pulling in traits used with other cml crates. If you are using CML from WASM/typescript this module will not be needed as any used types will be re-exported in the crates (e.g. cml-chain-wasm, cml-cip25-wasm, etc) that use it."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.f2a2eb9d.js b/assets/js/1a4e3797.f2a2eb9d.js new file mode 100644 index 00000000..9cb9a3ce --- /dev/null +++ b/assets/js/1a4e3797.f2a2eb9d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[920],{2027:(e,t,a)=>{a.r(t),a.d(t,{default:()=>$});var n=a(7294),r=a(2263),l=a(179),s=a(5742),c=a(9960),u=a(5999),o=a(373),m=a(902);const h=["zero","one","two","few","many","other"];function i(e){return h.filter((t=>e.includes(t)))}const p={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function d(){const{i18n:{currentLocale:e}}=(0,r.Z)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),p}}),[e])}function g(){const e=d();return{selectMessage:(t,a)=>function(e,t,a){const n=e.split("|");if(1===n.length)return n[0];n.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const r=a.select(t),l=a.pluralForms.indexOf(r);return n[Math.min(l,n.length-1)]}(a,t,e)}}var f=a(143),y=a(6550),E=a(412);const I="q";const S=function(){const e=(0,y.k6)(),t=(0,y.TH)(),{siteConfig:{baseUrl:a}}=(0,r.Z)();return{searchValue:E.Z.canUseDOM&&new URLSearchParams(t.search).get(I)||"",updateSearchPath:a=>{const n=new URLSearchParams(t.search);a?n.set(I,a):n.delete(I),e.replace({search:n.toString()})},generateSearchPageLink:e=>`${a}search?q=${encodeURIComponent(e)}`}};var R=a(22),w=a(8202),P=a(2539),b=a(726),_=a(1073),F=a(311),k=a(3926),v=a(1029);const C={searchQueryInput:"searchQueryInput_CFBF",searchResultItem:"searchResultItem_U687",searchResultItemPath:"searchResultItemPath_uIbk",searchResultItemSummary:"searchResultItemSummary_oZHr"};function T(){const{siteConfig:{baseUrl:e}}=(0,r.Z)(),t=(0,f.gA)();let a=e;try{const{preferredVersion:e}=(0,o.J)(t?.pluginId??v.gQ);e&&!e.isLast&&(a=e.path+"/")}catch(_){if(v.l9&&!(_ instanceof m.i6))throw _}const{selectMessage:l}=g(),{searchValue:c,updateSearchPath:h}=S(),[i,p]=(0,n.useState)(c),[d,y]=(0,n.useState)(),[E,I]=(0,n.useState)(),P=(0,n.useMemo)((()=>i?(0,u.I)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:i}):(0,u.I)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"})),[i]);(0,n.useEffect)((()=>{h(i),d&&(i?d(i,(e=>{I(e)})):I(void 0))}),[i,d]);const b=(0,n.useCallback)((e=>{p(e.target.value)}),[]);return(0,n.useEffect)((()=>{c&&c!==i&&p(c)}),[c]),(0,n.useEffect)((()=>{!async function(){const{wrappedIndexes:e,zhDictionary:t}=await(0,R.w)(a);y((()=>(0,w.v)(e,t,100)))}()}),[a]),n.createElement(n.Fragment,null,n.createElement(s.Z,null,n.createElement("meta",{property:"robots",content:"noindex, follow"}),n.createElement("title",null,P)),n.createElement("div",{className:"container margin-vert--lg"},n.createElement("h1",null,P),n.createElement("input",{type:"search",name:"q",className:C.searchQueryInput,"aria-label":"Search",onChange:b,value:i,autoComplete:"off",autoFocus:!0}),!d&&i&&n.createElement("div",null,n.createElement(F.Z,null)),E&&(E.length>0?n.createElement("p",null,l(E.length,(0,u.I)({id:"theme.SearchPage.documentsFound.plurals",message:"1 document found|{count} documents found",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)'},{count:E.length}))):n.createElement("p",null,(0,u.I)({id:"theme.SearchPage.noResultsText",message:"No documents were found",description:"The paragraph for empty search result"}))),n.createElement("section",null,E&&E.map((e=>n.createElement(Z,{key:e.document.i,searchResult:e}))))))}function Z(e){let{searchResult:{document:t,type:a,page:r,tokens:l,metadata:s}}=e;const u=0===a,o=2===a,m=(u?t.b:r.b).slice(),h=o?t.s:t.t;return u||m.push(r.t),n.createElement("article",{className:C.searchResultItem},n.createElement("h2",null,n.createElement(c.Z,{to:t.u+(t.h||""),dangerouslySetInnerHTML:{__html:o?(0,P.C)(h,l):(0,b.o)(h,(0,_.m)(s,"t"),l,100)}})),m.length>0&&n.createElement("p",{className:C.searchResultItemPath},(0,k.e)(m)),o&&n.createElement("p",{className:C.searchResultItemSummary,dangerouslySetInnerHTML:{__html:(0,b.o)(t.t,(0,_.m)(s,"t"),l,100)}}))}const $=function(){return n.createElement(l.Z,null,n.createElement(T,null))}}}]); \ No newline at end of file diff --git a/assets/js/1be78505.f54ff2b5.js b/assets/js/1be78505.f54ff2b5.js new file mode 100644 index 00000000..a28fd763 --- /dev/null +++ b/assets/js/1be78505.f54ff2b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[514,972],{9963:(e,t,n)=>{n.r(t),n.d(t,{default:()=>he});var a=n(7294),o=n(6010),l=n(1944),r=n(5281),c=n(3320),i=n(2802),s=n(4477),d=n(1116),m=n(179),u=n(5999),b=n(2466),p=n(5936);const h={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),l=(0,a.useRef)(!1),{startScroll:r,cancelScroll:c}=(0,b.Ct)();return(0,b.RF)(((e,n)=>{let{scrollY:a}=e;const r=n?.scrollY;r&&(l.current?l.current=!1:a>=r?(c(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,p.S)((e=>{e.location.hash&&(l.current=!0,o(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return a.createElement("button",{"aria-label":(0,u.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",r.k.common.backToTopButton,h.backToTopButton,e&&h.backToTopButtonShow),type:"button",onClick:t})}var g=n(1442),f=n(6550),_=n(7524),k=n(6668),v=n(1327),C=n(7462);function S(e){return a.createElement("svg",(0,C.Z)({width:"20",height:"20","aria-hidden":"true"},e),a.createElement("g",{fill:"#7a7a7a"},a.createElement("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"}),a.createElement("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 I={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function N(e){let{onClick:t}=e;return a.createElement("button",{type:"button",title:(0,u.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.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",I.collapseSidebarButton),onClick:t},a.createElement(S,{className:I.collapseSidebarButtonIcon}))}var T=n(9689),Z=n(902);const x=Symbol("EmptyContext"),B=a.createContext(x);function y(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),l=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return a.createElement(B.Provider,{value:l},t)}var L=n(6043),w=n(8596),A=n(9960),H=n(2389);function M(e){let{categoryLabel:t,onClick:n}=e;return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:n})}function F(e){let{item:t,onItemClick:n,activePath:l,level:c,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:E}}}=(0,k.L)(),g=function(e){const t=(0,H.Z)();return(0,a.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,i.Wl)(e):void 0),[e,t])}(t),f=(0,i._F)(t,l),_=(0,w.Mg)(h,l),{collapsed:v,setCollapsed:S}=(0,L.u)({initialState:()=>!!b&&(!f&&t.collapsed)}),{expandedItem:I,setExpandedItem:N}=function(){const e=(0,a.useContext)(B);if(e===x)throw new Z.i6("DocSidebarItemsExpandedStateProvider");return e}(),T=function(e){void 0===e&&(e=!v),N(e?null:s),S(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const l=(0,Z.D9)(t);(0,a.useEffect)((()=>{t&&!l&&n&&o(!1)}),[t,l,n,o])}({isActive:f,collapsed:v,updateCollapsed:T}),(0,a.useEffect)((()=>{b&&null!=I&&I!==s&&E&&S(!0)}),[b,I,s,S,E]),a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemCategory,r.k.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":v},p)},a.createElement("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":_})},a.createElement(A.Z,(0,C.Z)({className:(0,o.Z)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":f}),onClick:b?e=>{n?.(t),h?T(!1):(e.preventDefault(),T())}:()=>{n?.(t)},"aria-current":_?"page":void 0,"aria-expanded":b?!v:void 0,href:b?g??"#":g},d),u),h&&b&&a.createElement(M,{categoryLabel:u,onClick:e=>{e.preventDefault(),T()}})),a.createElement(L.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:v},a.createElement(j,{items:m,tabIndex:v?-1:0,onItemClick:n,activePath:l,level:c+1})))}var W=n(3919),P=n(9471);const D={menuExternalLink:"menuExternalLink_NmtK"};function R(e){let{item:t,onItemClick:n,activePath:l,level:c,index:s,...d}=e;const{href:m,label:u,className:b,autoAddBaseUrl:p}=t,h=(0,i._F)(t,l),E=(0,W.Z)(m);return a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(c),"menu__list-item",b),key:u},a.createElement(A.Z,(0,C.Z)({className:(0,o.Z)("menu__link",!E&&D.menuExternalLink,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:m},E&&{onClick:n?()=>n(t):void 0},d),u,!E&&a.createElement(P.Z,null)))}const V={menuHtmlItem:"menuHtmlItem_M9Kj"};function z(e){let{item:t,level:n,index:l}=e;const{value:c,defaultStyle:i,className:s}=t;return a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(n),i&&[V.menuHtmlItem,"menu__list-item"],s),key:l,dangerouslySetInnerHTML:{__html:c}})}function U(e){let{item:t,...n}=e;switch(t.type){case"category":return a.createElement(F,(0,C.Z)({item:t},n));case"html":return a.createElement(z,(0,C.Z)({item:t},n));default:return a.createElement(R,(0,C.Z)({item:t},n))}}function K(e){let{items:t,...n}=e;return a.createElement(y,null,t.map(((e,t)=>a.createElement(U,(0,C.Z)({key:t,item:e,index:t},n)))))}const j=(0,a.memo)(K),G={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function Y(e){let{path:t,sidebar:n,className:l}=e;const c=function(){const{isActive:e}=(0,T.nT)(),[t,n]=(0,a.useState)(e);return(0,b.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return a.createElement("nav",{"aria-label":(0,u.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",G.menu,c&&G.menuWithAnnouncementBar,l)},a.createElement("ul",{className:(0,o.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(j,{items:n,activePath:t,level:1})))}const q={sidebar:"sidebar_njMd",sidebarWithHideableNavbar:"sidebarWithHideableNavbar_wUlq",sidebarHidden:"sidebarHidden_VK0M",sidebarLogo:"sidebarLogo_isFc"};function O(e){let{path:t,sidebar:n,onCollapse:l,isHidden:r}=e;const{navbar:{hideOnScroll:c},docs:{sidebar:{hideable:i}}}=(0,k.L)();return a.createElement("div",{className:(0,o.Z)(q.sidebar,c&&q.sidebarWithHideableNavbar,r&&q.sidebarHidden)},c&&a.createElement(v.Z,{tabIndex:-1,className:q.sidebarLogo}),a.createElement(Y,{path:t,sidebar:n}),i&&a.createElement(N,{onClick:l}))}const X=a.memo(O);var J=n(3102),Q=n(2961);const $=e=>{let{sidebar:t,path:n}=e;const l=(0,Q.e)();return a.createElement("ul",{className:(0,o.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(j,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&l.toggle(),"link"===e.type&&l.toggle()},level:1}))};function ee(e){return a.createElement(J.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,_.i)(),n="desktop"===t||"ssr"===t,o="mobile"===t;return a.createElement(a.Fragment,null,n&&a.createElement(X,e),o&&a.createElement(te,e))}const ae={expandButton:"expandButton_m80_",expandButtonIcon:"expandButtonIcon_BlDH"};function oe(e){let{toggleSidebar:t}=e;return a.createElement("div",{className:ae.expandButton,title:(0,u.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,u.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},a.createElement(S,{className:ae.expandButtonIcon}))}const le={docSidebarContainer:"docSidebarContainer_b6E3",docSidebarContainerHidden:"docSidebarContainerHidden_b3ry",sidebarViewport:"sidebarViewport_Xe31"};function re(e){let{children:t}=e;const n=(0,d.V)();return a.createElement(a.Fragment,{key:n?.name??"noSidebar"},t)}function ce(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:l}=e;const{pathname:c}=(0,f.TH)(),[i,s]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{i&&s(!1),!i&&(0,g.n)()&&s(!0),l((e=>!e))}),[l,i]);return a.createElement("aside",{className:(0,o.Z)(r.k.docs.docSidebarContainer,le.docSidebarContainer,n&&le.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(le.docSidebarContainer)&&n&&s(!0)}},a.createElement(re,null,a.createElement("div",{className:(0,o.Z)(le.sidebarViewport,i&&le.sidebarViewportHidden)},a.createElement(ne,{sidebar:t,path:c,onCollapse:d,isHidden:i}),i&&a.createElement(oe,{toggleSidebar:d}))))}const ie={docMainContainer:"docMainContainer_gTbr",docMainContainerEnhanced:"docMainContainerEnhanced_Uz_u",docItemWrapperEnhanced:"docItemWrapperEnhanced_czyv"};function se(e){let{hiddenSidebarContainer:t,children:n}=e;const l=(0,d.V)();return a.createElement("main",{className:(0,o.Z)(ie.docMainContainer,(t||!l)&&ie.docMainContainerEnhanced)},a.createElement("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",ie.docItemWrapper,t&&ie.docItemWrapperEnhanced)},n))}const de={docPage:"docPage__5DB",docsWrapper:"docsWrapper_BCFX"};function me(e){let{children:t}=e;const n=(0,d.V)(),[o,l]=(0,a.useState)(!1);return a.createElement(m.Z,{wrapperClassName:de.docsWrapper},a.createElement(E,null),a.createElement("div",{className:de.docPage},n&&a.createElement(ce,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:l}),a.createElement(se,{hiddenSidebarContainer:o},t)))}var ue=n(4972),be=n(197);function pe(e){const{versionMetadata:t}=e;return a.createElement(a.Fragment,null,a.createElement(be.Z,{version:t.version,tag:(0,c.os)(t.pluginId,t.version)}),a.createElement(l.d,null,t.noIndex&&a.createElement("meta",{name:"robots",content:"noindex, nofollow"})))}function he(e){const{versionMetadata:t}=e,n=(0,i.hI)(e);if(!n)return a.createElement(ue.default,null);const{docElement:c,sidebarName:m,sidebarItems:u}=n;return a.createElement(a.Fragment,null,a.createElement(pe,e),a.createElement(l.FG,{className:(0,o.Z)(r.k.wrapper.docsPages,r.k.page.docsDocPage,e.versionMetadata.className)},a.createElement(s.q,{version:t},a.createElement(d.b,{name:m,items:u},a.createElement(me,null,c)))))}},4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(7294),o=n(5999),l=n(1944),r=n(179);function c(){return a.createElement(a.Fragment,null,a.createElement(l.d,{title:(0,o.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"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/assets/js/37328f8a.1b460169.js b/assets/js/37328f8a.1b460169.js new file mode 100644 index 00000000..416fa1b7 --- /dev/null +++ b/assets/js/37328f8a.1b460169.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[731],{9235:e=>{e.exports=JSON.parse('{"title":"Modules","slug":"/category/modules","permalink":"/category/modules","navigation":{"previous":{"title":"Crate Architecture","permalink":"/crate_architecture"},"next":{"title":"Core","permalink":"/category/core"}}}')}}]); \ No newline at end of file diff --git a/assets/js/42a4384b.b14a884c.js b/assets/js/42a4384b.b14a884c.js new file mode 100644 index 00000000..7f623003 --- /dev/null +++ b/assets/js/42a4384b.b14a884c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[810],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>m});var r=n(7294);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 a(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 i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(n),f=o,m=d["".concat(l,".").concat(f)]||d[f]||p[f]||a;return n?r.createElement(m,i(i({ref:t},u),{},{components:n})):r.createElement(m,i({ref:t},u))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:o,i[1]=c;for(var s=2;s<a;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},8791:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var r=n(7462),o=(n(7294),n(3905));const a={},i="Chain",c={unversionedId:"modules/chain/index",id:"modules/chain/index",title:"Chain",description:"This crate contains all of the on-chain types used in the current Cardano era. All of these types can be serialized and deserialized from their on-chain CBOR encodings. Also included are some utility funtionality for working with them, as well as builders for creating them.",source:"@site/docs/modules/chain/index.md",sourceDirName:"modules/chain",slug:"/modules/chain/",permalink:"/modules/chain/",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Chain",permalink:"/category/chain"},next:{title:"Crypto",permalink:"/category/crypto"}},l={},s=[],u={toc:s},d="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"chain"},"Chain"),(0,o.kt)("p",null,"This crate contains all of the on-chain types used in the current Cardano era. All of these types can be serialized and deserialized from their on-chain CBOR encodings. Also included are some utility funtionality for working with them, as well as builders for creating them."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/443.3d74dd3a.js b/assets/js/443.3d74dd3a.js new file mode 100644 index 00000000..6d875a1e --- /dev/null +++ b/assets/js/443.3d74dd3a.js @@ -0,0 +1,2 @@ +/*! For license information please see 443.3d74dd3a.js.LICENSE.txt */ +(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[443],{8443:(t,e,n)=>{"use strict";t.exports=n(295)},1228:(t,e,n)=>{"use strict";var i=n(2856),s={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};i.isMsie()&&i.mixin(s.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),i.isMsie()&&i.isMsie()<=7&&i.mixin(s.input,{marginTop:"-1px"}),t.exports=s},9050:(t,e,n)=>{"use strict";var i="aaDataset",s="aaValue",r="aaDatum",o=n(2856),a=n(4910),u=n(3561),c=n(1228),l=n(3109);function h(t){var e;(t=t||{}).templates=t.templates||{},t.source||o.error("missing source"),t.name&&(e=t.name,!/^[_a-zA-Z0-9-]+$/.test(e))&&o.error("invalid dataset name: "+t.name),this.query=null,this._isEmpty=!0,this.highlight=!!t.highlight,this.name=void 0===t.name||null===t.name?o.getUniqueId():t.name,this.source=t.source,this.displayFn=function(t){return t=t||"value",o.isFunction(t)?t:e;function e(e){return e[t]}}(t.display||t.displayKey),this.debounce=t.debounce,this.cache=!1!==t.cache,this.templates=function(t,e){return{empty:t.empty&&o.templatify(t.empty),header:t.header&&o.templatify(t.header),footer:t.footer&&o.templatify(t.footer),suggestion:t.suggestion||n};function n(t){return"<p>"+e(t)+"</p>"}}(t.templates,this.displayFn),this.css=o.mixin({},c,t.appendTo?c.appendTo:{}),this.cssClasses=t.cssClasses=o.mixin({},c.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var n=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=t.$menu&&t.$menu.find(n+"-"+this.name).length>0?a.element(t.$menu.find(n+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=t.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(t){return a.element(t).data(i)},h.extractValue=function(t){return a.element(t).data(s)},h.extractDatum=function(t){var e=a.element(t).data(r);return"string"==typeof e&&(e=JSON.parse(e)),e},o.mixin(h.prototype,l,{_render:function(t,e){if(this.$el){var n,c=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=e&&e.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(function(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!0}].concat(e),c.templates.empty.apply(this,e)}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(n)this.$el.html(function(){var t,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return t=a.element(p).css(this.css.suggestions),n=o.map(e,f),t.append.apply(t,n),t;function f(t){var e,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(e=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[t].concat(l)))).data(i,c.name),e.data(s,c.displayFn(t)||void 0),e.data(r,JSON.stringify(t)),e.children().each((function(){a.element(this).css(h.css.suggestionChild)})),e}}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(e&&!Array.isArray(e))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",t)}function h(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.header.apply(this,e)}function p(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.footer.apply(this,e)}},getRoot:function(){return this.$el},update:function(t){function e(e){if(!this.canceled&&t===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(t,e,n),this._render.apply(this,[t,e].concat(n))}}if(this.query=t,this.canceled=!1,this.shouldFetchFromCache(t))e.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,i=function(){n.canceled||n.source(t,e.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((function(){n.debounceTimeout=null,i()}),this.debounce)}else i()}},cacheSuggestions:function(t,e,n){this.cachedQuery=t,this.cachedSuggestions=e,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(t){return this.cache&&this.cachedQuery===t&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),t.exports=h},3354:(t,e,n)=>{"use strict";var i=n(2856),s=n(4910),r=n(3109),o=n(9050),a=n(1228);function u(t){var e,n,r,o=this;(t=t||{}).menu||i.error("menu is required"),i.isArray(t.datasets)||i.isObject(t.datasets)||i.error("1 or more datasets required"),t.datasets||i.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=t.minLength||0,this.templates={},this.appendTo=t.appendTo||!1,this.css=i.mixin({},a,t.appendTo?a.appendTo:{}),this.cssClasses=t.cssClasses=i.mixin({},a.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),e=i.bind(this._onSuggestionClick,this),n=i.bind(this._onSuggestionMouseEnter,this),r=i.bind(this._onSuggestionMouseLeave,this);var c=i.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=s.element(t.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,r).on("click.aa",c,e),this.$container=t.appendTo?t.wrapper:this.$menu,t.templates&&t.templates.header&&(this.templates.header=i.templatify(t.templates.header),this.$menu.prepend(this.templates.header())),t.templates&&t.templates.empty&&(this.templates.empty=i.templatify(t.templates.empty),this.$empty=s.element('<div class="'+i.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=i.map(t.datasets,(function(e){return function(t,e,n){return new u.Dataset(i.mixin({$menu:t,cssClasses:n},e))}(o.$menu,e,t.cssClasses)})),i.each(this.datasets,(function(t){var e=t.getRoot();e&&0===e.parent().length&&o.$menu.append(e),t.onSync("rendered",o._onRendered,o)})),t.templates&&t.templates.footer&&(this.templates.footer=i.templatify(t.templates.footer),this.$menu.append(this.templates.footer()));var l=this;s.element(window).resize((function(){l._redraw()}))}i.mixin(u.prototype,r,{_onSuggestionClick:function(t){this.trigger("suggestionClicked",s.element(t.currentTarget))},_onSuggestionMouseEnter:function(t){var e=s.element(t.currentTarget);if(!e.hasClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout((function(){n._setCursor(e,!1)}),0)}},_onSuggestionMouseLeave:function(t){if(t.relatedTarget&&s.element(t.relatedTarget).closest("."+i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(t,e){if(this.isEmpty=i.every(this.datasets,(function(t){return t.isEmpty()})),this.isEmpty)if(e.length>=this.minLength&&this.trigger("empty"),this.$empty)if(e.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else i.any(this.datasets,(function(t){return t.templates&&t.templates.empty}))?e.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),e.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(t,e){t.first().addClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",e)},_removeCursor:function(){this._getCursor().removeClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(t){var e,n,i,s;this.isOpen&&(n=this._getCursor(),e=this._getSuggestions(),this._removeCursor(),-1!==(i=((i=e.index(n)+t)+1)%(e.length+1)-1)?(i<-1&&(i=e.length-1),this._setCursor(s=e.eq(i),!0),this._ensureVisible(s)):this.trigger("cursorRemoved"))},_ensureVisible:function(t){var e,n,i,s;n=(e=t.position().top)+t.height()+parseInt(t.css("margin-top"),10)+parseInt(t.css("margin-bottom"),10),i=this.$menu.scrollTop(),s=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),e<0?this.$menu.scrollTop(i+e):s<n&&this.$menu.scrollTop(i+(n-s))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(t){this.$menu.css("ltr"===t?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(t){var e=null;return t.length&&(e={raw:o.extractDatum(t),value:o.extractValue(t),datasetName:o.extractDatasetName(t)}),e},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(t){i.each(this.datasets,(function(e){e.update(t)}))},empty:function(){i.each(this.datasets,(function(t){t.clear()})),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,i.each(this.datasets,(function(t){t.destroy()}))}}),u.Dataset=o,t.exports=u},50:(t,e,n)=>{"use strict";var i=n(2856),s=n(4910);function r(t){t&&t.el||i.error("EventBus initialized without el"),this.$el=s.element(t.el)}i.mixin(r.prototype,{trigger:function(t,e,n,s){var r=i.Event("autocomplete:"+t);return this.$el.trigger(r,[e,n,s]),r}}),t.exports=r},3109:(t,e,n)=>{"use strict";var i=n(624),s=/\s+/;function r(t,e,n,i){var r;if(!n)return this;for(e=e.split(s),n=i?function(t,e){return t.bind?t.bind(e):function(){t.apply(e,[].slice.call(arguments,0))}}(n,i):n,this._callbacks=this._callbacks||{};r=e.shift();)this._callbacks[r]=this._callbacks[r]||{sync:[],async:[]},this._callbacks[r][t].push(n);return this}function o(t,e,n){return function(){for(var i,s=0,r=t.length;!i&&s<r;s+=1)i=!1===t[s].apply(e,n);return!i}}t.exports={onSync:function(t,e,n){return r.call(this,"sync",t,e,n)},onAsync:function(t,e,n){return r.call(this,"async",t,e,n)},off:function(t){var e;if(!this._callbacks)return this;t=t.split(s);for(;e=t.shift();)delete this._callbacks[e];return this},trigger:function(t){var e,n,r,a,u;if(!this._callbacks)return this;t=t.split(s),r=[].slice.call(arguments,1);for(;(e=t.shift())&&(n=this._callbacks[e]);)a=o(n.sync,this,[e].concat(r)),u=o(n.async,this,[e].concat(r)),a()&&i(u);return this}}},3561:t=>{"use strict";t.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},2534:(t,e,n)=>{"use strict";var i;i={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var s=n(2856),r=n(4910),o=n(3109);function a(t){var e,n,o,a,u,c=this;(t=t||{}).input||s.error("input is missing"),e=s.bind(this._onBlur,this),n=s.bind(this._onFocus,this),o=s.bind(this._onKeydown,this),a=s.bind(this._onInput,this),this.$hint=r.element(t.hint),this.$input=r.element(t.input).on("blur.aa",e).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=s.noop),s.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",(function(t){i[t.which||t.keyCode]||s.defer(s.bind(c._onInput,c,t))})):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=(u=this.$input,r.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:u.css("font-family"),fontSize:u.css("font-size"),fontStyle:u.css("font-style"),fontVariant:u.css("font-variant"),fontWeight:u.css("font-weight"),wordSpacing:u.css("word-spacing"),letterSpacing:u.css("letter-spacing"),textIndent:u.css("text-indent"),textRendering:u.css("text-rendering"),textTransform:u.css("text-transform")}).insertAfter(u))}function u(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}a.normalizeQuery=function(t){return(t||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},s.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(t){var e=i[t.which||t.keyCode];this._managePreventDefault(e,t),e&&this._shouldTrigger(e,t)&&this.trigger(e+"Keyed",t)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(t,e){var n,i,s;switch(t){case"tab":i=this.getHint(),s=this.getInputValue(),n=i&&i!==s&&!u(e);break;case"up":case"down":n=!u(e);break;default:n=!1}n&&e.preventDefault()},_shouldTrigger:function(t,e){var n;if("tab"===t)n=!u(e);else n=!0;return n},_checkInputValue:function(){var t,e,n,i,s;t=this.getInputValue(),i=t,s=this.query,n=!(!(e=a.normalizeQuery(i)===a.normalizeQuery(s))||!this.query)&&this.query.length!==t.length,this.query=t,e?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(t){this.query=t},getInputValue:function(){return this.$input.val()},setInputValue:function(t,e){void 0===t&&(t=this.query),this.$input.val(t),e?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(t){this.$input.attr("aria-activedescendant",t)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(t){this.$hint.val(t)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var t,e,n;n=(t=this.getInputValue())!==(e=this.getHint())&&0===e.indexOf(t),""!==t&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var t=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=t},isCursorAtEnd:function(){var t,e,n;return t=this.$input.val().length,e=this.$input[0].selectionStart,s.isNumber(e)?e===t:!document.selection||((n=document.selection.createRange()).moveStart("character",-t),t===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),t.exports=a},6549:(t,e,n)=>{"use strict";var i="aaAttrs",s=n(2856),r=n(4910),o=n(50),a=n(2534),u=n(3354),c=n(3561),l=n(1228);function h(t){var e,n;if((t=t||{}).input||s.error("missing input"),this.isActivated=!1,this.debug=!!t.debug,this.autoselect=!!t.autoselect,this.autoselectOnBlur=!!t.autoselectOnBlur,this.openOnFocus=!!t.openOnFocus,this.minLength=s.isNumber(t.minLength)?t.minLength:1,this.autoWidth=void 0===t.autoWidth||!!t.autoWidth,this.clearOnSelected=!!t.clearOnSelected,this.tabAutocomplete=void 0===t.tabAutocomplete||!!t.tabAutocomplete,t.hint=!!t.hint,t.hint&&t.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=t.css=s.mixin({},l,t.appendTo?l.appendTo:{}),this.cssClasses=t.cssClasses=s.mixin({},l.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix=s.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=t.listboxId=[this.cssClasses.root,"listbox",s.getUniqueId()].join("-");var a=function(t){var e,n,o,a;e=r.element(t.input),n=r.element(c.wrapper.replace("%ROOT%",t.cssClasses.root)).css(t.css.wrapper),t.appendTo||"block"!==e.css("display")||"table"!==e.parent().css("display")||n.css("display","table-cell");var u=c.dropdown.replace("%PREFIX%",t.cssClasses.prefix).replace("%DROPDOWN_MENU%",t.cssClasses.dropdownMenu);o=r.element(u).css(t.css.dropdown).attr({role:"listbox",id:t.listboxId}),t.templates&&t.templates.dropdownMenu&&o.html(s.templatify(t.templates.dropdownMenu)());a=e.clone().css(t.css.hint).css(function(t){return{backgroundAttachment:t.css("background-attachment"),backgroundClip:t.css("background-clip"),backgroundColor:t.css("background-color"),backgroundImage:t.css("background-image"),backgroundOrigin:t.css("background-origin"),backgroundPosition:t.css("background-position"),backgroundRepeat:t.css("background-repeat"),backgroundSize:t.css("background-size")}}(e)),a.val("").addClass(s.className(t.cssClasses.prefix,t.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();e.data(i,{"aria-autocomplete":e.attr("aria-autocomplete"),"aria-expanded":e.attr("aria-expanded"),"aria-owns":e.attr("aria-owns"),autocomplete:e.attr("autocomplete"),dir:e.attr("dir"),role:e.attr("role"),spellcheck:e.attr("spellcheck"),style:e.attr("style"),type:e.attr("type")}),e.addClass(s.className(t.cssClasses.prefix,t.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":t.datasets&&t.datasets[0]&&t.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":t.ariaLabel,"aria-owns":t.listboxId}).css(t.hint?t.css.input:t.css.inputWithNoHint);try{e.attr("dir")||e.attr("dir","auto")}catch(l){}return n=t.appendTo?n.appendTo(r.element(t.appendTo).eq(0)).eq(0):e.wrap(n).parent(),n.prepend(t.hint?a:null).append(o),{wrapper:n,input:e,hint:a,menu:o}}(t);this.$node=a.wrapper;var u=this.$input=a.input;e=a.menu,n=a.hint,t.dropdownMenuContainer&&r.element(t.dropdownMenuContainer).css("position","relative").append(e.css("top","0")),u.on("blur.aa",(function(t){var n=document.activeElement;s.isMsie()&&(e[0]===n||e[0].contains(n))&&(t.preventDefault(),t.stopImmediatePropagation(),s.defer((function(){u.focus()})))})),e.on("mousedown.aa",(function(t){t.preventDefault()})),this.eventBus=t.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:t.appendTo,wrapper:this.$node,menu:e,datasets:t.datasets,templates:t.templates,cssClasses:t.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(t),this._setLanguageDirection()}s.mixin(h.prototype,{_bindKeyboardShortcuts:function(t){if(t.keyboardShortcuts){var e=this.$input,n=[];s.each(t.keyboardShortcuts,(function(t){"string"==typeof t&&(t=t.toUpperCase().charCodeAt(0)),n.push(t)})),r.element(document).keydown((function(t){var i=t.target||t.srcElement,s=i.tagName;if(!i.isContentEditable&&"INPUT"!==s&&"SELECT"!==s&&"TEXTAREA"!==s){var r=t.which||t.keyCode;-1!==n.indexOf(r)&&(e.focus(),t.stopPropagation(),t.preventDefault())}}))}},_onSuggestionClicked:function(t,e){var n;(n=this.dropdown.getDatumForSuggestion(e))&&this._select(n,{selectionMethod:"click"})},_onCursorMoved:function(t,e){var n=this.dropdown.getDatumForCursor(),i=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(i),n&&(e&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var t=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",t.width+"px");var e=this.$node[0].getBoundingClientRect(),n=t.bottom-e.top;this.$node.css("top",n+"px");var i=t.left-e.left;this.$node.css("left",i+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var t=this.input.getQuery();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var t,e;t=this.dropdown.getDatumForCursor(),e=this.dropdown.getDatumForTopSuggestion();var n={selectionMethod:"blur"};this.debug||(this.autoselectOnBlur&&t?this._select(t,n):this.autoselectOnBlur&&e?this._select(e,n):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(t,e){var n,i;n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion();var s={selectionMethod:"enterKey"};n?(this._select(n,s),e.preventDefault()):this.autoselect&&i&&(this._select(i,s),e.preventDefault())},_onTabKeyed:function(t,e){if(this.tabAutocomplete){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n,{selectionMethod:"tabKey"}),e.preventDefault()):this._autocomplete(!0)}else this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(t,e){this.input.clearHintIfInvalid(),e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var t=this.input.getLanguageDirection();this.dir!==t&&(this.dir=t,this.$node.css("direction",t),this.dropdown.setLanguageDirection(t))},_updateHint:function(){var t,e,n,i,r;(t=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(e=this.input.getInputValue(),n=a.normalizeQuery(e),i=s.escapeRegExChars(n),(r=new RegExp("^(?:"+i+")(.+$)","i").exec(t.value))?this.input.setHint(e+r[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(t){var e,n,i,s;e=this.input.getHint(),n=this.input.getQuery(),i=t||this.input.isCursorAtEnd(),e&&n!==e&&i&&((s=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(s.value),this.eventBus.trigger("autocompleted",s.raw,s.datasetName))},_select:function(t,e){void 0!==t.value&&this.input.setQuery(t.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(t.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",t.raw,t.datasetName,e).isDefaultPrevented()&&(this.dropdown.close(),s.defer(s.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var t=this.input.getInputValue();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(t){t=s.toStr(t),this.isActivated?this.input.setInputValue(t):(this.input.setQuery(t),this.input.setInputValue(t,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(t,e){var n=t.find(s.className(e.prefix,e.input));s.each(n.data(i),(function(t,e){void 0===t?n.removeAttr(e):n.attr(e,t)})),n.detach().removeClass(s.className(e.prefix,e.input,!0)).insertAfter(t),n.removeData&&n.removeData(i);t.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=u,h.Input=a,h.sources=n(8840),t.exports=h},4910:t=>{"use strict";t.exports={element:null}},6177:t=>{"use strict";t.exports=function(t){var e=t.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||t.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(e)return[e[1],e[2],e[3]]}},2856:(t,e,n)=>{"use strict";var i,s=n(8820),r=n(4910);function o(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}t.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(t){if(void 0===t&&(t=navigator.userAgent),/(msie|trident)/i.test(t)){var e=t.match(/(msie |rv:)(\d+(.\d+)?)/i);if(e)return e[2]}return!1},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(t){return"number"==typeof t},toStr:function(t){return null==t?"":t+""},cloneDeep:function(t){var e=this.mixin({},t),n=this;return this.each(e,(function(t,i){t&&(n.isArray(t)?e[i]=[].concat(t):n.isObject(t)&&(e[i]=n.cloneDeep(t)))})),e},error:function(t){throw new Error(t)},every:function(t,e){var n=!0;return t?(this.each(t,(function(i,s){n&&(n=e.call(null,i,s,t)&&n)})),!!n):n},any:function(t,e){var n=!1;return t?(this.each(t,(function(i,s){if(e.call(null,i,s,t))return n=!0,!1})),n):n},getUniqueId:(i=0,function(){return i++}),templatify:function(t){if(this.isFunction(t))return t;var e=r.element(t);return"SCRIPT"===e.prop("tagName")?function(){return e.text()}:function(){return String(t)}},defer:function(t){setTimeout(t,0)},noop:function(){},formatPrefix:function(t,e){return e?"":t+"-"},className:function(t,e,n){return n?t+e:"."+s(t+e,{isIdentifier:!0})},escapeHighlightedString:function(t,e,n){e=e||"<em>";var i=document.createElement("div");i.appendChild(document.createTextNode(e)),n=n||"</em>";var s=document.createElement("div");s.appendChild(document.createTextNode(n));var r=document.createElement("div");return r.appendChild(document.createTextNode(t)),r.innerHTML.replace(RegExp(o(i.innerHTML),"g"),e).replace(RegExp(o(s.innerHTML),"g"),n)}}},9983:(t,e,n)=>{"use strict";var i=n(2856),s=n(533),r=n(6177);var o,a,u=(o=[],a=window.Promise.resolve(),function(t,e){return function(n,s){(function(t,e){return window.Promise.resolve().then((function(){return o.length&&(a=t.search(o),o=[]),a})).then((function(t){if(t)return t.results[e]}))})(t.as,o.push({indexName:t.indexName,query:n,params:e})-1).then((function(t){t&&s(t.hits,t)})).catch((function(t){i.error(t.message)}))}});t.exports=function(t,e){var n=r(t.as._ua);if(n&&n[0]>=3&&n[1]>20){var i="autocomplete.js "+s;-1===t.as._ua.indexOf(i)&&(t.as._ua+="; "+i)}return u(t,e)}},8840:(t,e,n)=>{"use strict";t.exports={hits:n(9983),popularIn:n(4445)}},4445:(t,e,n)=>{"use strict";var i=n(2856),s=n(533),r=n(6177);t.exports=function(t,e,n,o){var a=r(t.as._ua);if(a&&a[0]>=3&&a[1]>20&&((e=e||{}).additionalUA="autocomplete.js "+s),!n.source)return i.error("Missing 'source' key");var u=i.isFunction(n.source)?n.source:function(t){return t[n.source]};if(!n.index)return i.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){t.search(a,e,(function(t,a){if(t)i.error(t.message);else{if(a.hits.length>0){var h=a.hits[0],p=i.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var f=r(c.as._ua);return f&&f[0]>=3&&f[1]>20&&(e.additionalUA="autocomplete.js "+s),void c.search(u(h),p,(function(t,e){if(t)i.error(t.message);else{var n=[];if(o.includeAll){var s=o.allTitle||"All departments";n.push(i.mixin({facet:{value:s,count:e.nbHits}},i.cloneDeep(h)))}i.each(e.facets,(function(t,e){i.each(t,(function(t,s){n.push(i.mixin({facet:{facet:e,value:s,count:t}},i.cloneDeep(h)))}))}));for(var r=1;r<a.hits.length;++r)n.push(a.hits[r]);l(n,a)}}))}l([])}}))}}},295:(t,e,n)=>{"use strict";var i=n(6990);n(4910).element=i;var s=n(2856);s.isArray=i.isArray,s.isFunction=i.isFunction,s.isObject=i.isPlainObject,s.bind=i.proxy,s.each=function(t,e){i.each(t,(function(t,n){return e(n,t)}))},s.map=i.map,s.mixin=i.extend,s.Event=i.Event;var r="aaAutocomplete",o=n(6549),a=n(50);function u(t,e,n,u){n=s.isArray(n)?n:[].slice.call(arguments,2);var c=i(t).each((function(t,s){var c=i(s),l=new a({el:c}),h=u||new o({input:c,eventBus:l,dropdownMenuContainer:e.dropdownMenuContainer,hint:void 0===e.hint||!!e.hint,minLength:e.minLength,autoselect:e.autoselect,autoselectOnBlur:e.autoselectOnBlur,tabAutocomplete:e.tabAutocomplete,openOnFocus:e.openOnFocus,templates:e.templates,debug:e.debug,clearOnSelected:e.clearOnSelected,cssClasses:e.cssClasses,datasets:n,keyboardShortcuts:e.keyboardShortcuts,appendTo:e.appendTo,autoWidth:e.autoWidth,ariaLabel:e.ariaLabel||s.getAttribute("aria-label")});c.data(r,h)}));return c.autocomplete={},s.each(["open","close","getVal","setVal","destroy","getWrapper"],(function(t){c.autocomplete[t]=function(){var e,n=arguments;return c.each((function(s,o){var a=i(o).data(r);e=a[t].apply(a,n)})),e}})),c}u.sources=o.sources,u.escapeHighlightedString=s.escapeHighlightedString;var c="autocomplete"in window,l=window.autocomplete;u.noConflict=function(){return c?window.autocomplete=l:delete window.autocomplete,u},t.exports=u},533:t=>{t.exports="0.38.1"},6990:t=>{var e;e=window,t.exports=function(t){var e,n,i=function(){var e,n,i,s,r,o,a=[],u=a.concat,c=a.filter,l=a.slice,h=t.document,p={},f={},d={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,y=/^(?:body|html)$/i,w=/([A-Z])/g,b=["val","css","html","text","data","width","height","offset"],C=["after","prepend","before","append"],x=h.createElement("table"),_=h.createElement("tr"),S={tr:h.createElement("tbody"),tbody:x,thead:x,tfoot:x,td:_,th:_,"*":h.createElement("div")},E=/complete|loaded|interactive/,A=/^[\w-]*$/,$={},T=$.toString,O={},D=h.createElement("div"),N={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},k=Array.isArray||function(t){return t instanceof Array};function I(t){return null==t?String(t):$[T.call(t)]||"object"}function P(t){return"function"==I(t)}function L(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function F(t){return"object"==I(t)}function R(t){return F(t)&&!L(t)&&Object.getPrototypeOf(t)==Object.prototype}function q(t){var e=!!t&&"length"in t&&t.length,n=i.type(t);return"function"!=n&&!L(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function V(t){return c.call(t,(function(t){return null!=t}))}function H(t){return t.length>0?i.fn.concat.apply([],t):t}function B(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function K(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function j(t,e){return"number"!=typeof e||d[B(t)]?e:e+"px"}function z(t){var e,n;return p[t]||(e=h.createElement(t),h.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),p[t]=n),p[t]}function U(t){return"children"in t?l.call(t.children):i.map(t.childNodes,(function(t){if(1==t.nodeType)return t}))}function Q(t,e){var n,i=t?t.length:0;for(n=0;n<i;n++)this[n]=t[n];this.length=i,this.selector=e||""}function W(t,i,s){for(n in i)s&&(R(i[n])||k(i[n]))?(R(i[n])&&!R(t[n])&&(t[n]={}),k(i[n])&&!k(t[n])&&(t[n]=[]),W(t[n],i[n],s)):i[n]!==e&&(t[n]=i[n])}function Z(t,e){return null==e?i(t):i(t).filter(e)}function X(t,e,n,i){return P(e)?e.call(t,n,i):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function J(t,n){var i=t.className||"",s=i&&i.baseVal!==e;if(n===e)return s?i.baseVal:i;s?i.baseVal=n:t.className=n}function Y(t){try{return t?"true"==t||"false"!=t&&("null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?i.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,i=t.childNodes.length;n<i;n++)tt(t.childNodes[n],e)}return O.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,s=t.parentNode,r=!s;return r&&(s=D).appendChild(t),i=~O.qsa(s,e).indexOf(t),r&&D.removeChild(t),i},r=function(t){return t.replace(/-+(.)?/g,(function(t,e){return e?e.toUpperCase():""}))},o=function(t){return c.call(t,(function(e,n){return t.indexOf(e)==n}))},O.fragment=function(t,n,s){var r,o,a;return m.test(t)&&(r=i(h.createElement(RegExp.$1))),r||(t.replace&&(t=t.replace(v,"<$1></$2>")),n===e&&(n=g.test(t)&&RegExp.$1),n in S||(n="*"),(a=S[n]).innerHTML=""+t,r=i.each(l.call(a.childNodes),(function(){a.removeChild(this)}))),R(s)&&(o=i(r),i.each(s,(function(t,e){b.indexOf(t)>-1?o[t](e):o.attr(t,e)}))),r},O.Z=function(t,e){return new Q(t,e)},O.isZ=function(t){return t instanceof O.Z},O.init=function(t,n){var s;if(!t)return O.Z();if("string"==typeof t)if("<"==(t=t.trim())[0]&&g.test(t))s=O.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}else{if(P(t))return i(h).ready(t);if(O.isZ(t))return t;if(k(t))s=V(t);else if(F(t))s=[t],t=null;else if(g.test(t))s=O.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}}return O.Z(s,t)},(i=function(t,e){return O.init(t,e)}).extend=function(t){var e,n=l.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach((function(n){W(t,n,e)})),t},O.qsa=function(t,e){var n,i="#"==e[0],s=!i&&"."==e[0],r=i||s?e.slice(1):e,o=A.test(r);return t.getElementById&&o&&i?(n=t.getElementById(r))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:l.call(o&&!i&&t.getElementsByClassName?s?t.getElementsByClassName(r):t.getElementsByTagName(e):t.querySelectorAll(e))},i.contains=h.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},i.type=I,i.isFunction=P,i.isWindow=L,i.isArray=k,i.isPlainObject=R,i.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},i.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},i.inArray=function(t,e,n){return a.indexOf.call(e,t,n)},i.camelCase=r,i.trim=function(t){return null==t?"":String.prototype.trim.call(t)},i.uuid=0,i.support={},i.expr={},i.noop=function(){},i.map=function(t,e){var n,i,s,r=[];if(q(t))for(i=0;i<t.length;i++)null!=(n=e(t[i],i))&&r.push(n);else for(s in t)null!=(n=e(t[s],s))&&r.push(n);return H(r)},i.each=function(t,e){var n,i;if(q(t)){for(n=0;n<t.length;n++)if(!1===e.call(t[n],n,t[n]))return t}else for(i in t)if(!1===e.call(t[i],i,t[i]))return t;return t},i.grep=function(t,e){return c.call(t,e)},t.JSON&&(i.parseJSON=JSON.parse),i.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),(function(t,e){$["[object "+e+"]"]=e.toLowerCase()})),i.fn={constructor:O.Z,length:0,forEach:a.forEach,reduce:a.reduce,push:a.push,sort:a.sort,splice:a.splice,indexOf:a.indexOf,concat:function(){var t,e,n=[];for(t=0;t<arguments.length;t++)e=arguments[t],n[t]=O.isZ(e)?e.toArray():e;return u.apply(O.isZ(this)?this.toArray():this,n)},map:function(t){return i(i.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return i(l.apply(this,arguments))},ready:function(t){return E.test(h.readyState)&&h.body?t(i):h.addEventListener("DOMContentLoaded",(function(){t(i)}),!1),this},get:function(t){return t===e?l.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each((function(){null!=this.parentNode&&this.parentNode.removeChild(this)}))},each:function(t){return a.every.call(this,(function(e,n){return!1!==t.call(e,n,e)})),this},filter:function(t){return P(t)?this.not(this.not(t)):i(c.call(this,(function(e){return O.matches(e,t)})))},add:function(t,e){return i(o(this.concat(i(t,e))))},is:function(t){return this.length>0&&O.matches(this[0],t)},not:function(t){var n=[];if(P(t)&&t.call!==e)this.each((function(e){t.call(this,e)||n.push(this)}));else{var s="string"==typeof t?this.filter(t):q(t)&&P(t.item)?l.call(t):i(t);this.forEach((function(t){s.indexOf(t)<0&&n.push(t)}))}return i(n)},has:function(t){return this.filter((function(){return F(t)?i.contains(this,t):i(this).find(t).size()}))},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!F(t)?t:i(t)},last:function(){var t=this[this.length-1];return t&&!F(t)?t:i(t)},find:function(t){var e=this;return t?"object"==typeof t?i(t).filter((function(){var t=this;return a.some.call(e,(function(e){return i.contains(e,t)}))})):1==this.length?i(O.qsa(this[0],t)):this.map((function(){return O.qsa(this,t)})):i()},closest:function(t,e){var n=[],s="object"==typeof t&&i(t);return this.each((function(i,r){for(;r&&!(s?s.indexOf(r)>=0:O.matches(r,t));)r=r!==e&&!M(r)&&r.parentNode;r&&n.indexOf(r)<0&&n.push(r)})),i(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=i.map(n,(function(t){if((t=t.parentNode)&&!M(t)&&e.indexOf(t)<0)return e.push(t),t}));return Z(e,t)},parent:function(t){return Z(o(this.pluck("parentNode")),t)},children:function(t){return Z(this.map((function(){return U(this)})),t)},contents:function(){return this.map((function(){return this.contentDocument||l.call(this.childNodes)}))},siblings:function(t){return Z(this.map((function(t,e){return c.call(U(e.parentNode),(function(t){return t!==e}))})),t)},empty:function(){return this.each((function(){this.innerHTML=""}))},pluck:function(t){return i.map(this,(function(e){return e[t]}))},show:function(){return this.each((function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=z(this.nodeName))}))},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=P(t);if(this[0]&&!e)var n=i(t).get(0),s=n.parentNode||this.length>1;return this.each((function(r){i(this).wrapAll(e?t.call(this,r):s?n.cloneNode(!0):n)}))},wrapAll:function(t){if(this[0]){var e;for(i(this[0]).before(t=i(t));(e=t.children()).length;)t=e.first();i(t).append(this)}return this},wrapInner:function(t){var e=P(t);return this.each((function(n){var s=i(this),r=s.contents(),o=e?t.call(this,n):t;r.length?r.wrapAll(o):s.append(o)}))},unwrap:function(){return this.parent().each((function(){i(this).replaceWith(i(this).children())})),this},clone:function(){return this.map((function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(t){return this.each((function(){var n=i(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()}))},prev:function(t){return i(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return i(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each((function(e){var n=this.innerHTML;i(this).empty().append(X(this,t,e,n))})):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each((function(e){var n=X(this,t,e,this.textContent);this.textContent=null==n?"":""+n})):0 in this?this.pluck("textContent").join(""):null},attr:function(t,i){var s;return"string"!=typeof t||1 in arguments?this.each((function(e){if(1===this.nodeType)if(F(t))for(n in t)G(this,n,t[n]);else G(this,t,X(this,i,e,this.getAttribute(t)))})):0 in this&&1==this[0].nodeType&&null!=(s=this[0].getAttribute(t))?s:e},removeAttr:function(t){return this.each((function(){1===this.nodeType&&t.split(" ").forEach((function(t){G(this,t)}),this)}))},prop:function(t,e){return t=N[t]||t,1 in arguments?this.each((function(n){this[t]=X(this,e,n,this[t])})):this[0]&&this[0][t]},removeProp:function(t){return t=N[t]||t,this.each((function(){delete this[t]}))},data:function(t,n){var i="data-"+t.replace(w,"-$1").toLowerCase(),s=1 in arguments?this.attr(i,n):this.attr(i);return null!==s?Y(s):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each((function(e){this.value=X(this,t,e,this.value)}))):this[0]&&(this[0].multiple?i(this[0]).find("option").filter((function(){return this.selected})).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each((function(t){var n=i(this),s=X(this,e,t,n.offset()),r=n.offsetParent().offset(),o={top:s.top-r.top,left:s.left-r.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)}));if(!this.length)return null;if(h.documentElement!==this[0]&&!i.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var s=this[0];if("string"==typeof t){if(!s)return;return s.style[r(t)]||getComputedStyle(s,"").getPropertyValue(t)}if(k(t)){if(!s)return;var o={},a=getComputedStyle(s,"");return i.each(t,(function(t,e){o[e]=s.style[r(e)]||a.getPropertyValue(e)})),o}}var u="";if("string"==I(t))e||0===e?u=B(t)+":"+j(t,e):this.each((function(){this.style.removeProperty(B(t))}));else for(n in t)t[n]||0===t[n]?u+=B(n)+":"+j(n,t[n])+";":this.each((function(){this.style.removeProperty(B(n))}));return this.each((function(){this.style.cssText+=";"+u}))},index:function(t){return t?this.indexOf(i(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return!!t&&a.some.call(this,(function(t){return this.test(J(t))}),K(t))},addClass:function(t){return t?this.each((function(e){if("className"in this){s=[];var n=J(this);X(this,t,e,n).split(/\s+/g).forEach((function(t){i(this).hasClass(t)||s.push(t)}),this),s.length&&J(this,n+(n?" ":"")+s.join(" "))}})):this},removeClass:function(t){return this.each((function(n){if("className"in this){if(t===e)return J(this,"");s=J(this),X(this,t,n,s).split(/\s+/g).forEach((function(t){s=s.replace(K(t)," ")})),J(this,s.trim())}}))},toggleClass:function(t,n){return t?this.each((function(s){var r=i(this);X(this,t,s,J(this)).split(/\s+/g).forEach((function(t){(n===e?!r.hasClass(t):n)?r.addClass(t):r.removeClass(t)}))})):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),s=y.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(i(t).css("margin-top"))||0,n.left-=parseFloat(i(t).css("margin-left"))||0,s.top+=parseFloat(i(e[0]).css("border-top-width"))||0,s.left+=parseFloat(i(e[0]).css("border-left-width"))||0,{top:n.top-s.top,left:n.left-s.left}}},offsetParent:function(){return this.map((function(){for(var t=this.offsetParent||h.body;t&&!y.test(t.nodeName)&&"static"==i(t).css("position");)t=t.offsetParent;return t}))}},i.fn.detach=i.fn.remove,["width","height"].forEach((function(t){var n=t.replace(/./,(function(t){return t[0].toUpperCase()}));i.fn[t]=function(s){var r,o=this[0];return s===e?L(o)?o["inner"+n]:M(o)?o.documentElement["scroll"+n]:(r=this.offset())&&r[t]:this.each((function(e){(o=i(this)).css(t,X(this,s,e,o[t]()))}))}})),C.forEach((function(n,s){var r=s%2;i.fn[n]=function(){var n,o,a=i.map(arguments,(function(t){var s=[];return"array"==(n=I(t))?(t.forEach((function(t){return t.nodeType!==e?s.push(t):i.zepto.isZ(t)?s=s.concat(t.get()):void(s=s.concat(O.fragment(t)))})),s):"object"==n||null==t?t:O.fragment(t)})),u=this.length>1;return a.length<1?this:this.each((function(e,n){o=r?n:n.parentNode,n=0==s?n.nextSibling:1==s?n.firstChild:2==s?n:null;var c=i.contains(h.documentElement,o);a.forEach((function(e){if(u)e=e.cloneNode(!0);else if(!o)return i(e).remove();o.insertBefore(e,n),c&&tt(e,(function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}}))}))}))},i.fn[r?n+"To":"insert"+(s?"Before":"After")]=function(t){return i(t)[n](this),this}})),O.Z.prototype=Q.prototype=i.fn,O.uniq=o,O.deserializeValue=Y,i.zepto=O,i}();return function(e){var n,i=1,s=Array.prototype.slice,r=e.isFunction,o=function(t){return"string"==typeof t},a={},u={},c="onfocusin"in t,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function p(t){return t._zid||(t._zid=i++)}function f(t,e,n,i){if((e=d(e)).ns)var s=g(e.ns);return(a[p(t)]||[]).filter((function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||s.test(t.ns))&&(!n||p(t.fn)===p(n))&&(!i||t.sel==i)}))}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function g(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!c&&t.e in l||!!e}function v(t){return h[t]||c&&l[t]||t}function y(t,i,s,r,o,u,c){var l=p(t),f=a[l]||(a[l]=[]);i.split(/\s/).forEach((function(i){if("ready"==i)return e(document).ready(s);var a=d(i);a.fn=s,a.sel=o,a.e in h&&(s=function(t){var n=t.relatedTarget;if(!n||n!==this&&!e.contains(this,n))return a.fn.apply(this,arguments)}),a.del=u;var l=u||s;a.proxy=function(e){if(!(e=S(e)).isImmediatePropagationStopped()){try{var i=Object.getOwnPropertyDescriptor(e,"data");i&&!i.writable||(e.data=r)}catch(e){}var s=l.apply(t,e._args==n?[e]:[e].concat(e._args));return!1===s&&(e.preventDefault(),e.stopPropagation()),s}},a.i=f.length,f.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,m(a,c))}))}function w(t,e,n,i,s){var r=p(t);(e||"").split(/\s/).forEach((function(e){f(t,e,n,i).forEach((function(e){delete a[r][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,m(e,s))}))}))}u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:w},e.proxy=function(t,n){var i=2 in arguments&&s.call(arguments,2);if(r(t)){var a=function(){return t.apply(n,i?i.concat(s.call(arguments)):arguments)};return a._zid=p(t),a}if(o(n))return i?(i.unshift(t[n],t),e.proxy.apply(null,i)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var b=function(){return!0},C=function(){return!1},x=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,_={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function S(t,i){if(i||!t.isDefaultPrevented){i||(i=t),e.each(_,(function(e,n){var s=i[e];t[e]=function(){return this[n]=b,s&&s.apply(i,arguments)},t[n]=C}));try{t.timeStamp||(t.timeStamp=Date.now())}catch(s){}(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?!1===i.returnValue:i.getPreventDefault&&i.getPreventDefault())&&(t.isDefaultPrevented=b)}return t}function E(t){var e,i={originalEvent:t};for(e in t)x.test(e)||t[e]===n||(i[e]=t[e]);return S(i,t)}e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,i,a,u,c){var l,h,p=this;return t&&!o(t)?(e.each(t,(function(t,e){p.on(t,i,a,e,c)})),p):(o(i)||r(u)||!1===u||(u=a,a=i,i=n),u!==n&&!1!==a||(u=a,a=n),!1===u&&(u=C),p.each((function(n,r){c&&(l=function(t){return w(r,t.type,u),u.apply(this,arguments)}),i&&(h=function(t){var n,o=e(t.target).closest(i,r).get(0);if(o&&o!==r)return n=e.extend(E(t),{currentTarget:o,liveFired:r}),(l||u).apply(o,[n].concat(s.call(arguments,1)))}),y(r,t,u,a,i,h||l)})))},e.fn.off=function(t,i,s){var a=this;return t&&!o(t)?(e.each(t,(function(t,e){a.off(t,i,e)})),a):(o(i)||r(s)||!1===s||(s=i,i=n),!1===s&&(s=C),a.each((function(){w(this,t,s,i)})))},e.fn.trigger=function(t,n){return(t=o(t)||e.isPlainObject(t)?e.Event(t):S(t))._args=n,this.each((function(){t.type in l&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)}))},e.fn.triggerHandler=function(t,n){var i,s;return this.each((function(r,a){(i=E(o(t)?e.Event(t):t))._args=n,i.target=a,e.each(f(a,t.type||t),(function(t,e){if(s=e.proxy(i),i.isImmediatePropagationStopped())return!1}))})),s},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}})),e.Event=function(t,e){o(t)||(t=(e=t).type);var n=document.createEvent(u[t]||"Events"),i=!0;if(e)for(var s in e)"bubbles"==s?i=!!e[s]:n[s]=e[s];return n.initEvent(t,i,!0),S(n)}}(i),n=[],i.fn.remove=function(){return this.each((function(){this.parentNode&&("IMG"===this.tagName&&(n.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",e&&clearTimeout(e),e=setTimeout((function(){n=[]}),6e4)),this.parentNode.removeChild(this))}))},function(t){var e={},n=t.fn.data,i=t.camelCase,s=t.expando="Zepto"+ +new Date,r=[];function o(r,o){var u=r[s],c=u&&e[u];if(void 0===o)return c||a(r);if(c){if(o in c)return c[o];var l=i(o);if(l in c)return c[l]}return n.call(t(r),o)}function a(n,r,o){var a=n[s]||(n[s]=++t.uuid),c=e[a]||(e[a]=u(n));return void 0!==r&&(c[i(r)]=o),c}function u(e){var n={};return t.each(e.attributes||r,(function(e,s){0==s.name.indexOf("data-")&&(n[i(s.name.replace("data-",""))]=t.zepto.deserializeValue(s.value))})),n}t.fn.data=function(e,n){return void 0===n?t.isPlainObject(e)?this.each((function(n,i){t.each(e,(function(t,e){a(i,t,e)}))})):0 in this?o(this[0],e):void 0:this.each((function(){a(this,e,n)}))},t.data=function(e,n,i){return t(e).data(n,i)},t.hasData=function(n){var i=n[s],r=i&&e[i];return!!r&&!t.isEmptyObject(r)},t.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each((function(){var r=this[s],o=r&&e[r];o&&t.each(n||o,(function(t){delete o[n?i(this):t]}))}))},["remove","empty"].forEach((function(e){var n=t.fn[e];t.fn[e]=function(){var t=this.find("*");return"remove"===e&&(t=t.add(this)),t.removeData(),n.call(this)}}))}(i),i}(e)},8820:t=>{"use strict";var e={}.hasOwnProperty,n=/[ -,\.\/:-@\[-\^`\{-~]/,i=/[ -,\.\/:-@\[\]\^`\{-~]/,s=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,r=function t(r,o){"single"!=(o=function(t,n){if(!t)return n;var i={};for(var s in n)i[s]=e.call(t,s)?t[s]:n[s];return i}(o,t.options)).quotes&&"double"!=o.quotes&&(o.quotes="single");for(var a="double"==o.quotes?'"':"'",u=o.isIdentifier,c=r.charAt(0),l="",h=0,p=r.length;h<p;){var f=r.charAt(h++),d=f.charCodeAt(),g=void 0;if(d<32||d>126){if(d>=55296&&d<=56319&&h<p){var m=r.charCodeAt(h++);56320==(64512&m)?d=((1023&d)<<10)+(1023&m)+65536:h--}g="\\"+d.toString(16).toUpperCase()+" "}else g=o.escapeEverything?n.test(f)?"\\"+f:"\\"+d.toString(16).toUpperCase()+" ":/[\t\n\f\r\x0B]/.test(f)?"\\"+d.toString(16).toUpperCase()+" ":"\\"==f||!u&&('"'==f&&a==f||"'"==f&&a==f)||u&&i.test(f)?"\\"+f:f;l+=g}return u&&(/^-[-\d]/.test(l)?l="\\-"+l.slice(1):/\d/.test(c)&&(l="\\3"+c+" "+l.slice(1))),l=l.replace(s,(function(t,e,n){return e&&e.length%2?t:(e||"")+n})),!u&&o.wrap?a+l+a:l};r.options={escapeEverything:!1,isIdentifier:!1,quotes:"single",wrap:!1},r.version="3.0.0",t.exports=r},624:(t,e,n)=>{"use strict";var i,s,r,o=[n(5525),n(4785),n(8291),n(2709),n(2506),n(9176)],a=-1,u=[],c=!1;function l(){i&&s&&(i=!1,s.length?u=s.concat(u):a=-1,u.length&&h())}function h(){if(!i){c=!1,i=!0;for(var t=u.length,e=setTimeout(l);t;){for(s=u,u=[];s&&++a<t;)s[a].run();a=-1,t=u.length}s=null,a=-1,i=!1,clearTimeout(e)}}for(var p=-1,f=o.length;++p<f;)if(o[p]&&o[p].test&&o[p].test()){r=o[p].install(h);break}function d(t,e){this.fun=t,this.array=e}d.prototype.run=function(){var t=this.fun,e=this.array;switch(e.length){case 0:return t();case 1:return t(e[0]);case 2:return t(e[0],e[1]);case 3:return t(e[0],e[1],e[2]);default:return t.apply(null,e)}},t.exports=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new d(t,e)),c||i||(c=!0,r())}},2709:(t,e,n)=>{"use strict";e.test=function(){return!n.g.setImmediate&&void 0!==n.g.MessageChannel},e.install=function(t){var e=new n.g.MessageChannel;return e.port1.onmessage=t,function(){e.port2.postMessage(0)}}},8291:(t,e,n)=>{"use strict";var i=n.g.MutationObserver||n.g.WebKitMutationObserver;e.test=function(){return i},e.install=function(t){var e=0,s=new i(t),r=n.g.document.createTextNode("");return s.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}},4785:(t,e,n)=>{"use strict";e.test=function(){return"function"==typeof n.g.queueMicrotask},e.install=function(t){return function(){n.g.queueMicrotask(t)}}},2506:(t,e,n)=>{"use strict";e.test=function(){return"document"in n.g&&"onreadystatechange"in n.g.document.createElement("script")},e.install=function(t){return function(){var e=n.g.document.createElement("script");return e.onreadystatechange=function(){t(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},n.g.document.documentElement.appendChild(e),t}}},9176:(t,e)=>{"use strict";e.test=function(){return!0},e.install=function(t){return function(){setTimeout(t,0)}}}}]); \ No newline at end of file diff --git a/assets/js/443.3d74dd3a.js.LICENSE.txt b/assets/js/443.3d74dd3a.js.LICENSE.txt new file mode 100644 index 00000000..4f7ccd8a --- /dev/null +++ b/assets/js/443.3d74dd3a.js.LICENSE.txt @@ -0,0 +1 @@ +/*! https://mths.be/cssesc v3.0.0 by @mathias */ diff --git a/assets/js/456dc1ab.cccfea33.js b/assets/js/456dc1ab.cccfea33.js new file mode 100644 index 00000000..3c4b450c --- /dev/null +++ b/assets/js/456dc1ab.cccfea33.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[533],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=s(r),m=a,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||l;return r?n.createElement(f,i(i({ref:t},u),{},{components:r})):n.createElement(f,i({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,i=new Array(l);i[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o[p]="string"==typeof e?e:a,i[1]=o;for(var s=2;s<l;s++)i[s]=r[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},1276:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var n=r(7462),a=(r(7294),r(3905));const l={sidebar_position:2},i="Installation & Getting Started",o={unversionedId:"getting_started",id:"getting_started",title:"Installation & Getting Started",description:"Install",source:"@site/docs/getting_started.mdx",sourceDirName:".",slug:"/getting_started",permalink:"/getting_started",draft:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Introduction",permalink:"/"},next:{title:"Crate Architecture",permalink:"/crate_architecture"}},c={},s=[{value:"Install",id:"install",level:2},{value:"Run Example",id:"run-example",level:2},{value:"Build",id:"build",level:2},{value:"Test",id:"test",level:2}],u={toc:s},p="wrapper";function d(e){let{components:t,...r}=e;return(0,a.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"installation--getting-started"},"Installation & Getting Started"),(0,a.kt)("h2",{id:"install"},"Install"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"")),(0,a.kt)("h2",{id:"run-example"},"Run Example"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"")),(0,a.kt)("h2",{id:"build"},"Build"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"")),(0,a.kt)("h2",{id:"test"},"Test"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"nvm i && npm i && npm run rust:test\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4f8b6be9.0c2d8f63.js b/assets/js/4f8b6be9.0c2d8f63.js new file mode 100644 index 00000000..e70bd1dc --- /dev/null +++ b/assets/js/4f8b6be9.0c2d8f63.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[617],{7516:e=>{e.exports=JSON.parse('{"title":"Core","slug":"/category/core","permalink":"/category/core","navigation":{"previous":{"title":"Modules","permalink":"/category/modules"},"next":{"title":"Core","permalink":"/modules/core/"}}}')}}]); \ No newline at end of file diff --git a/assets/js/525.2fbd60c6.js b/assets/js/525.2fbd60c6.js new file mode 100644 index 00000000..8c46bcc7 --- /dev/null +++ b/assets/js/525.2fbd60c6.js @@ -0,0 +1 @@ +(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[525],{5525:()=>{}}]); \ No newline at end of file diff --git a/assets/js/8019ae33.90d90aac.js b/assets/js/8019ae33.90d90aac.js new file mode 100644 index 00000000..6d50bb47 --- /dev/null +++ b/assets/js/8019ae33.90d90aac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[11],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>k});var r=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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 a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,l=function(e,t){if(null==e)return{};var n,r,l={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var u=r.createContext({}),i=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=i(e.components);return r.createElement(u.Provider,{value:t},e.children)},s="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,l=e.mdxType,o=e.originalType,u=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),s=i(n),d=l,k=s["".concat(u,".").concat(d)]||s[d]||y[d]||o;return n?r.createElement(k,a(a({ref:t},c),{},{components:n})):r.createElement(k,a({ref:t},c))}));function k(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var o=n.length,a=new Array(o);a[0]=d;var p={};for(var u in t)hasOwnProperty.call(t,u)&&(p[u]=t[u]);p.originalType=e,p[s]="string"==typeof e?e:l,a[1]=p;for(var i=2;i<o;i++)a[i]=n[i];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},8097:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>y,frontMatter:()=>o,metadata:()=>p,toc:()=>i});var r=n(7462),l=(n(7294),n(3905));const o={},a="crypto",p={unversionedId:"modules/crypto/index",id:"modules/crypto/index",title:"crypto",description:"AuxiliaryDataHash",source:"@site/docs/modules/crypto/index.mdx",sourceDirName:"modules/crypto",slug:"/modules/crypto/",permalink:"/modules/crypto/",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Generating Keys and Addresses",permalink:"/modules/crypto/generating_keys"},next:{title:"Builders",permalink:"/category/builders"}},u={},i=[],c={toc:i},s="wrapper";function y(e){let{components:t,...n}=e;return(0,l.kt)(s,(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"crypto"},"crypto"),(0,l.kt)("p",null,"AuxiliaryDataHash"),(0,l.kt)("p",null,"Bip32PrivateKey"),(0,l.kt)("p",null,"Bip32PublicKey"),(0,l.kt)("p",null,"BlockBodyHash"),(0,l.kt)("p",null,"BlockHeaderHash"),(0,l.kt)("p",null,"BootstrapWitness"),(0,l.kt)("p",null,"BootstrapWitnesses"),(0,l.kt)("p",null,"DataHash"),(0,l.kt)("p",null,"Ed25519KeyHash"),(0,l.kt)("p",null,"Ed25519Signature"),(0,l.kt)("p",null,"GenesisDelegateHash"),(0,l.kt)("p",null,"GenesisHash"),(0,l.kt)("p",null,"KESSignature"),(0,l.kt)("p",null,"KESVKey"),(0,l.kt)("p",null,"LegacyDaedalusPrivateKey"),(0,l.kt)("p",null,"Nonce"),(0,l.kt)("p",null,"PoolMetadataHash"),(0,l.kt)("p",null,"PrivateKey"),(0,l.kt)("p",null,"PublicKey\tED25519 key used as public key"),(0,l.kt)("p",null,"PublicKeys"),(0,l.kt)("p",null,"ScriptDataHash"),(0,l.kt)("p",null,"ScriptHash"),(0,l.kt)("p",null,"TransactionHash"),(0,l.kt)("p",null,"VRFCert"),(0,l.kt)("p",null,"VRFKeyHash"),(0,l.kt)("p",null,"VRFVKey"),(0,l.kt)("p",null,"Vkey"),(0,l.kt)("p",null,"Vkeys"),(0,l.kt)("p",null,"Vkeywitness"),(0,l.kt)("p",null,"Vkeywitnesses"))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.c5ac8e5b.js b/assets/js/935f2afb.c5ac8e5b.js new file mode 100644 index 00000000..08a7147e --- /dev/null +++ b/assets/js/935f2afb.c5ac8e5b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).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":"Introduction","href":"/","docId":"index"},{"type":"link","label":"Installation & Getting Started","href":"/getting_started","docId":"getting_started"},{"type":"link","label":"Crate Architecture","href":"/crate_architecture","docId":"crate_architecture"},{"type":"category","label":"Modules","collapsible":true,"collapsed":false,"items":[{"type":"category","label":"Core","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Core","href":"/modules/core/","docId":"modules/core/index"}],"href":"/category/core"},{"type":"category","label":"Chain","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Chain","href":"/modules/chain/","docId":"modules/chain/index"}],"href":"/category/chain"},{"type":"category","label":"Crypto","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Generating Keys and Addresses","href":"/modules/crypto/generating_keys","docId":"modules/crypto/generating_keys"},{"type":"link","label":"crypto","href":"/modules/crypto/","docId":"modules/crypto/index"}],"href":"/category/crypto"},{"type":"category","label":"Builders","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"TransactionBuilder","href":"/modules/builders/generating_transactions","docId":"modules/builders/generating_transactions"}],"href":"/category/builders"},{"type":"link","label":"CIP25","href":"/modules/CIP25","docId":"modules/CIP25"},{"type":"link","label":"CIP36","href":"/modules/cip36","docId":"modules/cip36"},{"type":"link","label":"Metadata","href":"/modules/metadata","docId":"modules/metadata"}],"href":"/category/modules"}]},"docs":{"crate_architecture":{"id":"crate_architecture","title":"Crate Architecture","description":"- Core - Core types common throughout all CML crates.","sidebar":"tutorialSidebar"},"getting_started":{"id":"getting_started","title":"Installation & Getting Started","description":"Install","sidebar":"tutorialSidebar"},"index":{"id":"index","title":"Cardano Multiplatform Lib","description":"This is a library, written in Rust, that can be deployed to multiple platforms (Rust crate, JS, Typescript, WASM, etc). It handles:","sidebar":"tutorialSidebar"},"modules/builders/generating_transactions":{"id":"modules/builders/generating_transactions","title":"TransactionBuilder","description":"In order to simplify transaction creation, we provide a TransactionBuilder struct that manages witnesses, fee calculation, change addresses and such. Assume we have instantiated an instance under the variable builder for this explanation. The TransactionBuilder requires several protocol parameters governing Cardano to be created which is shown in the following section. These are specified initially in the genesis file for Cardano nodes.","sidebar":"tutorialSidebar"},"modules/chain/index":{"id":"modules/chain/index","title":"Chain","description":"This crate contains all of the on-chain types used in the current Cardano era. All of these types can be serialized and deserialized from their on-chain CBOR encodings. Also included are some utility funtionality for working with them, as well as builders for creating them.","sidebar":"tutorialSidebar"},"modules/CIP25":{"id":"modules/CIP25","title":"CIP25","description":"Context","sidebar":"tutorialSidebar"},"modules/cip36":{"id":"modules/cip36","title":"CIP36","description":"","sidebar":"tutorialSidebar"},"modules/core/index":{"id":"modules/core/index","title":"Core","description":"This crate is for core features and traits common to all CML crates. Most users likely won\'t need to directly use this module except for possibly pulling in traits used with other cml crates. If you are using CML from WASM/typescript this module will not be needed as any used types will be re-exported in the crates (e.g. cml-chain-wasm, cml-cip25-wasm, etc) that use it.","sidebar":"tutorialSidebar"},"modules/crypto/generating_keys":{"id":"modules/crypto/generating_keys","title":"Generating Keys and Addresses","description":"BIP32 Keys","sidebar":"tutorialSidebar"},"modules/crypto/index":{"id":"modules/crypto/index","title":"crypto","description":"AuxiliaryDataHash","sidebar":"tutorialSidebar"},"modules/metadata":{"id":"modules/metadata","title":"Metadata","description":"Transaction Metadata format","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/972.232169c5.js b/assets/js/972.232169c5.js new file mode 100644 index 00000000..0e355a4c --- /dev/null +++ b/assets/js/972.232169c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[972],{4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(7294),o=n(5999),l=n(1944),r=n(179);function c(){return a.createElement(a.Fragment,null,a.createElement(l.d,{title:(0,o.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"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/assets/js/9a1b722f.0b3d2c7f.js b/assets/js/9a1b722f.0b3d2c7f.js new file mode 100644 index 00000000..c56634c1 --- /dev/null +++ b/assets/js/9a1b722f.0b3d2c7f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[569],{7997:e=>{e.exports=JSON.parse('{"title":"Builders","slug":"/category/builders","permalink":"/category/builders","navigation":{"previous":{"title":"crypto","permalink":"/modules/crypto/"},"next":{"title":"TransactionBuilder","permalink":"/modules/builders/generating_transactions"}}}')}}]); \ No newline at end of file diff --git a/assets/js/a6c5da82.dfa8a7f6.js b/assets/js/a6c5da82.dfa8a7f6.js new file mode 100644 index 00000000..09bf1b8b --- /dev/null +++ b/assets/js/a6c5da82.dfa8a7f6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[932],{3905:(e,a,t)=>{t.d(a,{Zo:()=>p,kt:()=>f});var n=t(7294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function s(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function l(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=n.createContext({}),d=function(e){var a=n.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):s(s({},a),e)),t},p=function(e){var a=d(e.components);return n.createElement(o.Provider,{value:a},e.children)},m="mdxType",c={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},u=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),m=d(t),u=r,f=m["".concat(o,".").concat(u)]||m[u]||c[u]||i;return t?n.createElement(f,s(s({ref:a},p),{},{components:t})):n.createElement(f,s({ref:a},p))}));function f(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,s=new Array(i);s[0]=u;var l={};for(var o in a)hasOwnProperty.call(a,o)&&(l[o]=a[o]);l.originalType=e,l[m]="string"==typeof e?e:r,s[1]=l;for(var d=2;d<i;d++)s[d]=t[d];return n.createElement.apply(null,s)}return n.createElement.apply(null,t)}u.displayName="MDXCreateElement"},6787:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>s,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var n=t(7462),r=(t(7294),t(3905));const i={sidebar_position:5},s="CIP25",l={unversionedId:"modules/CIP25",id:"modules/CIP25",title:"CIP25",description:"Context",source:"@site/docs/modules/CIP25.mdx",sourceDirName:"modules",slug:"/modules/CIP25",permalink:"/modules/CIP25",draft:!1,tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"TransactionBuilder",permalink:"/modules/builders/generating_transactions"},next:{title:"CIP36",permalink:"/modules/cip36"}},o={},d=[{value:"Context",id:"context",level:2},{value:"Code Definitions",id:"code-definitions",level:2},{value:"Examples",id:"examples",level:2},{value:"Create",id:"create",level:3},{value:"Parse CIP25Metadata",id:"parse-cip25metadata",level:3},{value:"Parse Metadata Details",id:"parse-metadata-details",level:3},{value:"Loose Parse Metadata details",id:"loose-parse-metadata-details",level:3},{value:"Just name",id:"just-name",level:4},{value:"Upercase name",id:"upercase-name",level:4},{value:"id no name",id:"id-no-name",level:4},{value:"Image",id:"image",level:4}],p={toc:d},m="wrapper";function c(e){let{components:a,...t}=e;return(0,r.kt)(m,(0,n.Z)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"cip25"},"CIP25"),(0,r.kt)("h2",{id:"context"},"Context"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://cips.cardano.org/cips/cip25/"},"CIP25")," defines an NFT Metadata Standard for Native Tokens."),(0,r.kt)("p",null,"Since tokens on Cardano are a part of the UTxO ledger, the metadata isn't directly attached to a token, but instead stored in the transaction data."),(0,r.kt)("p",null,"When data is transmitted or stored in Cardano, it is often encoded as CBOR bytes to optimize space and facilitate fast processing. CBOR provides a standardized way to encode complex data structures, making it easier for different components of the Cardano ecosystem to interact and interpret the data."),(0,r.kt)("p",null,"Below is the entire metadata schema for CIP-25, which can be parsed by passing in the CBOR bytes of the entire transaction metadata\nor by passing in an existing Metadata struct."),(0,r.kt)("p",null,"Parsing from CBOR bytes should be marginally faster."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'{\n "721": {\n "<policy_id>": {\n "<asset_name>": {\n "name": <string>,\n \n "image": <uri | array>,\n "mediaType": image/<mime_sub_type>,\n \n "description": <string | array>,\n \n "files": [{\n "name": <string>,\n "mediaType": <mime_type>,\n "src": <uri | array>,\n <other_properties>\n }],\n \n <other properties>\n }\n },\n "version": <version_id>\n }\n }\n')),(0,r.kt)("h2",{id:"code-definitions"},"Code Definitions"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("inlineCode",{parentName:"p"},"CIP25Metadata")," struct is the top-level struct for CIP-25 metadata, and contains a ",(0,r.kt)("inlineCode",{parentName:"p"},"key_721")," field of type ",(0,r.kt)("inlineCode",{parentName:"p"},"LabelMetadata"),". The key_721 field will contain either a LabelMetadataV1 or LabelMetadataV2 instance.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("inlineCode",{parentName:"p"},"LabelMetadata")," defines an enum type that can contain either a ",(0,r.kt)("inlineCode",{parentName:"p"},"LabelMetadataV1")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"LabelMetadataV2")," instance. It also provides functions for creating instances of each type.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("inlineCode",{parentName:"p"},"MetadataDetails")," defines a struct that represents metadata details for a specific asset. It contains fields for the asset name, an image associated with the asset, a media type, a description, and details about any associated files. The ",(0,r.kt)("inlineCode",{parentName:"p"},"new()")," method creates a new instance with the specified name and image, and sets the other fields to None."))),(0,r.kt)("h2",{id:"examples"},"Examples"),(0,r.kt)("h3",{id:"create"},"Create"),(0,r.kt)("p",null,"The following example shows how to create and populate the CIP25 metadata schema with the available structs."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-rust"},' let mut details = MetadataDetails::new(\n String64::try_from("Metadata Name").unwrap(),\n ChunkableString::from("htts://some.website.com/image.png"),\n ); \n details.description = Some(ChunkableString::from("description of this NFT"));\n details.media_type = Some(String64::try_from("image/*").unwrap());\n details.files = Some(vec![\n FilesDetails::new(\n String64::new_str("filename1").unwrap(),\n String64::new_str("filetype1").unwrap(),\n ChunkableString::from("src1"),\n ),\n FilesDetails::new(\n String64::new_str("filename2").unwrap(),\n String64::new_str("filetype2").unwrap(),\n ChunkableString::from("src2"),\n ),\n ]);\n let mut v2 = Data::new();\n let mut v2_inner = BTreeMap::new();\n v2_inner.insert(AssetNameV2::from(vec![0xCA, 0xFE, 0xD0, 0x0D]), details);\n v2.insert(PolicyIdV2::from(vec![0xBA, 0xAD, 0xF0, 0x0D]), v2_inner);\n\n let metadata = CIP25Metadata::new(LabelMetadata::new_label_metadata_v2(\n LabelMetadataV2::new(v2),\n\n ));\n println!("{metadata:?}");\n\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"output:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'CIP25Metadata {\n key_721: LabelMetadataV2(LabelMetadataV2 { \n data: {\n PolicyIdV2([186, 173, 240, 13]): {\n AssetNameV2([202, 254, 208, 13]): MetadataDetails { \n name: String64("Metadata Name"), \n image: Single(String64("htts://some.website.com/image.png")), \n media_type: Some(String64("image/*")), \n description: Some(Single(String64("description of this NFT"))), \n files: Some([\n FilesDetails { \n name: String64("filename1"), \n media_type: String64("filetype1"), \n src: Single(String64("src1")) \n }, \n FilesDetails { \n name: String64("filename2"), \n media_type: String64("filetype2"), \n src: Single(String64("src2")) \n }\n ]) \n }\n }\n } \n }) \n}\n')),(0,r.kt)("h3",{id:"parse-cip25metadata"},"Parse CIP25Metadata"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-rust"},'let bytes = "bf1902d1a36464617461a244baadf00da344cafed00da6646e616d656d4d65746164617461204e616d656566696c657382a4637372636473726331646e616d656966696c656e616d6531696d65646961547970656966696c657479706531816864736b6a66616b7381a1403864a3637372636473726332646e616d656966696c656e616d6532696d65646961547970656966696c65747970653265696d6167657821687474733a2f2f736f6d652e776562736974652e636f6d2f696d6167652e706e67696d656469615479706567696d6167652f2a6b6465736372697074696f6e776465736372697074696f6e206f662074686973204e4654a14038641832a1403864a140386481a1403864816864736b6a66616b73a1403864a14038646776657273696f6e02a1403864a14038641905398144baadf00dff";\nlet data = CIP25Metadata::from_bytes(hex::decode(bytes).unwrap()).unwrap();\nprintln!("{data:?}");\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"output:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'CIP25Metadata { \n key_721: LabelMetadataV2(\n LabelMetadataV2 { \n data: {\n PolicyIdV2([186, 173, 240, 13]): {\n AssetNameV2([202, 254, 208, 13]): MetadataDetails { \n name: String64("Metadata Name"), \n image: Single(String64("htts://some.website.com/image.png")), \n media_type: Some(String64("image/*")), \n description: Some(Single(String64("description of this NFT"))), \n files: Some([\n FilesDetails { \n name: String64("filename1"), \n media_type: String64("filetype1"), \n src: Single(String64("src1")) \n }, \n FilesDetails { \n name: String64("filename2"), \n media_type: String64("filetype2"), \n src: Single(String64("src2")) \n }\n ]) \n }\n }\n } \n }) \n }\n\n')),(0,r.kt)("h3",{id:"parse-metadata-details"},"Parse Metadata Details"),(0,r.kt)("p",null,"Fields can be extracted from the ",(0,r.kt)("inlineCode",{parentName:"p"},"MetadataDetails")," struct."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-rust"},'// {\n// "arweaveId": "6srpXZOTfK_62KUrJKh4VdCFG0YS271pq20OMRpE5Ts",\n// "image": "ipfs://QmUWP6xGHucgBUv514gwgbt4yijg36aUQunEP61z5D8RKS",\n// "name": "SpaceBud #1507",\n// "traits": ["Star Suit", "Chestplate", "Belt", "Flag", "Pistol"],\n// "type": "Alien",\n// }\n\nlet bytes = "a569617277656176654964782b36737270585a4f54664b5f36324b55724a4b68345664434647305953323731707132304f4d52704535547365696d6167657835697066733a2f2f516d5557503678474875636742557635313467776762743479696a673336615551756e455036317a354438524b53646e616d656e53706163654275642023313530376674726169747385695374617220537569746a4368657374706c6174656442656c7464466c616766506973746f6c647479706565416c69656e";\n\nlet output = MetadataDetails::from_bytes(hex::decode(bytes).unwrap()).unwrap();\nprintln!("{output:?}") \n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"output:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'MetadataDetails { \n name: String64("SpaceBud #1507"), \n image: Single(String64("ipfs://QmUWP6xGHucgBUv514gwgbt4yijg36aUQunEP61z5D8RKS")), \n media_type: None, \n description: None, \n files: None\n}\n')),(0,r.kt)("h3",{id:"loose-parse-metadata-details"},"Loose Parse Metadata details"),(0,r.kt)("p",null,"The ",(0,r.kt)("inlineCode",{parentName:"p"},"loose_parse()")," function allows parsing of certain data that is technically non-compliant with CIP25 due to minor mistakes by their creators. "),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"This function should only to be used to parse non conformant metadata, since it will return a different struct (MiniMetadataDetails) which will just (possibly)return the name/image. "),(0,r.kt)("p",{parentName:"admonition"},"It's best to only use it as a fallback when the regular parsing fails.")),(0,r.kt)("h4",{id:"just-name"},"Just name"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-rust"},'// {"name":"Metaverse"}\nlet details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode("a1646e616d65694d6574617665727365").unwrap()).unwrap()).unwrap();\nprintln!("{details:?}")\n')),(0,r.kt)("p",null,"ouput:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'MiniMetadataDetails { \n name: Some(String64("Metaverse")), \n image: None \n}\n')),(0,r.kt)("h4",{id:"upercase-name"},"Upercase name"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-rust"},'// {\n// "Date":"9 May 2021",\n// "Description":"Happy Mother\'s Day to all the Cardano Moms!",\n// "Image":"ipfs.io/ipfs/Qmah6QPKUKvp6K9XQB2SA42Q3yrffCbYBbk8EoRrB7FN2g",\n// "Name":"Mother\'s Day 2021",\n// "Ticker":"MOM21",\n// "URL":"ipfs.io/ipfs/Qmah6QPKUKvp6K9XQB2SA42Q3yrffCbYBbk8EoRrB7FN2g"\n// }\nlet details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode("a664446174656a39204d617920323032316b4465736372697074696f6e782b4861707079204d6f7468657227732044617920746f20616c6c207468652043617264616e6f204d6f6d732165496d616765783b697066732e696f2f697066732f516d61683651504b554b7670364b39585142325341343251337972666643625942626b38456f52724237464e3267644e616d65714d6f746865722773204461792032303231665469636b6572654d4f4d32316355524c783b697066732e696f2f697066732f516d61683651504b554b7670364b39585142325341343251337972666643625942626b38456f52724237464e3267").unwrap()).unwrap()).unwrap();\nlet name = details.name.unwrap().0;\nprintln!("{name:?}")\n')),(0,r.kt)("p",null,"output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'"Mother\'s Day 2021"\n')),(0,r.kt)("h4",{id:"id-no-name"},"id no name"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-rust"},'// {\n// "id":"00",\n// "image":"ipfs://QmSfYTF8B4ua6hFdr6URdRDZBZ9FjCQNUdDcLr2f7P8xn3"\n// }\nlet details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode("a262696462303065696d6167657835697066733a2f2f516d5366595446384234756136684664723655526452445a425a39466a43514e556444634c723266375038786e33").unwrap()).unwrap()).unwrap();\nlet name = details.name.unwrap().0;\nprintln!("{name:?}")\n')),(0,r.kt)("p",null,"output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'"00"\n')),(0,r.kt)("h4",{id:"image"},"Image"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-rust"},'// {\n// "image":"ipfs://QmSfYTF8B4ua6hFdr6URdRDZBZ9FjCQNUdDcLr2f7P8xn3"\n// }\nlet details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode("a165696d6167657835697066733a2f2f516d5366595446384234756136684664723655526452445a425a39466a43514e556444634c723266375038786e33").unwrap()).unwrap()).unwrap();\nlet image = String::from(&details.image.unwrap());\nprintln!("{image:?}");\n')),(0,r.kt)("p",null,"output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'"ipfs://QmSfYTF8B4ua6hFdr6URdRDZBZ9FjCQNUdDcLr2f7P8xn3"\n')))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b5ddca27.e27767d1.js b/assets/js/b5ddca27.e27767d1.js new file mode 100644 index 00000000..eb2374fc --- /dev/null +++ b/assets/js/b5ddca27.e27767d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[258],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>m});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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 s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(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}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var d=r.createContext({}),p=function(e){var t=r.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},l=function(e){var t=p(e.components);return r.createElement(d.Provider,{value:t},e.children)},c="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,d=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),c=p(n),u=a,m=c["".concat(d,".").concat(u)]||c[u]||y[u]||o;return n?r.createElement(m,s(s({ref:t},l),{},{components:n})):r.createElement(m,s({ref:t},l))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,s=new Array(o);s[0]=u;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i[c]="string"==typeof e?e:a,s[1]=i;for(var p=2;p<o;p++)s[p]=n[p];return r.createElement.apply(null,s)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},9488:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>y,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var r=n(7462),a=(n(7294),n(3905));const o={sidebar_position:3},s="Generating Keys and Addresses",i={unversionedId:"modules/crypto/generating_keys",id:"modules/crypto/generating_keys",title:"Generating Keys and Addresses",description:"BIP32 Keys",source:"@site/docs/modules/crypto/generating_keys.mdx",sourceDirName:"modules/crypto",slug:"/modules/crypto/generating_keys",permalink:"/modules/crypto/generating_keys",draft:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Crypto",permalink:"/category/crypto"},next:{title:"crypto",permalink:"/modules/crypto/"}},d={},p=[{value:"BIP32 Keys",id:"bip32-keys",level:2},{value:"BIP39 Entropy",id:"bip39-entropy",level:2},{value:"Use in Addresses",id:"use-in-addresses",level:2},{value:"Other Key Types",id:"other-key-types",level:2}],l={toc:p},c="wrapper";function y(e){let{components:t,...n}=e;return(0,a.kt)(c,(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"generating-keys-and-addresses"},"Generating Keys and Addresses"),(0,a.kt)("h2",{id:"bip32-keys"},"BIP32 Keys"),(0,a.kt)("p",null,"There are two main categories of keys in this library. There are the raw ",(0,a.kt)("inlineCode",{parentName:"p"},"PublicKey")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"PrivateKey")," which are used for cryptographically signing/verifying, and ",(0,a.kt)("inlineCode",{parentName:"p"},"BIP32PrivateKey"),"/",(0,a.kt)("inlineCode",{parentName:"p"},"BIP32PublicKey")," which in addition to this have the ability to derive additional keys from them following the ",(0,a.kt)("a",{parentName:"p",href:"https://en.bitcoin.it/wiki/BIP_0032"},"BIP32 derivation scheme")," variant called BIP32-Ed25519, which will be referred to as BIP32 for brevity. We use the ",(0,a.kt)("a",{parentName:"p",href:"https://en.bitcoin.it/wiki/BIP_0044"},"BIP44 spec")," variant for Ed25519 as well for the derivation paths using 1852 or 44 as the purpose consant and 1815 for the coin type depending on address type. See ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/input-output-hk/implementation-decisions/pull/18"},"this doc")," for more details."),(0,a.kt)("p",null,"This is demonstrated with the below code"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-javascript"},'function harden(num: number): number {\n return 0x80000000 + num;\n}\n\n\nconst rootKey = CardanoWasm.BIP32PrivateKey.from_bech32("xprv17qx9vxm6060qjn5fgazfue9nwyf448w7upk60c3epln82vumg9r9kxzsud9uv5rfscxp382j2aku254zj3qfx9fx39t6hjwtmwq85uunsd8x0st3j66lzf5yn30hwq5n75zeuplepx8vxc502txx09ygjgx06n0p");\nconst accountKey = rootKey\n .derive(harden(1852)) // purpose\n .derive(harden(1815)) // coin type\n .derive(harden(0)); // account #0\n\nconst utxoPubKey = accountKey\n .derive(0) // external\n .derive(0)\n .to_public();\n\nconst stakeKey = accountKey\n .derive(2) // chimeric\n .derive(0)\n .to_public();\n')),(0,a.kt)("h2",{id:"bip39-entropy"},"BIP39 Entropy"),(0,a.kt)("p",null,"To generate a ",(0,a.kt)("inlineCode",{parentName:"p"},"BIP32PrivateKey")," from a BIP39 recovery phrase it must be first converted to entropy following the BIP39 protocol(). This library does not directly handle that, but once entropy is created it is possible to use ",(0,a.kt)("inlineCode",{parentName:"p"},"Bip32PrivateKey.from_bip39_entropy(entropy, password)"),". For more information see the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/cardano-foundation/CIPs/pull/3"},"CIP3")," Cardano improvement proposal. The code below uses the ",(0,a.kt)("inlineCode",{parentName:"p"},"bip39")," npm package to generate a root ",(0,a.kt)("inlineCode",{parentName:"p"},"BIP32PrivateKey")," from a BIP39 mnemonic."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-javascript"},'import { mnemonicToEntropy } from \'bip39\';\n\nconst entropy = mnemonicToEntropy(\n [ "test", "walk", "nut", "penalty", "hip", "pave", "soap", "entry", "language", "right", "filter", "choice" ].join(\' \')\n);\n\nconst rootKey = CardanoWasm.Bip32PrivateKey.from_bip39_entropy(\n Buffer.from(entropy, \'hex\'),\n Buffer.from(\'\'),\n);\n')),(0,a.kt)("h2",{id:"use-in-addresses"},"Use in Addresses"),(0,a.kt)("p",null,"Once we have reached the desired derivation path, we must convert the ",(0,a.kt)("inlineCode",{parentName:"p"},"BIP32PrivateKey")," or ",(0,a.kt)("inlineCode",{parentName:"p"},"BIP32PublicKey")," to a ",(0,a.kt)("inlineCode",{parentName:"p"},"PrivateKey")," or ",(0,a.kt)("inlineCode",{parentName:"p"},"PublicKey")," by calling ",(0,a.kt)("inlineCode",{parentName:"p"},".to_raw_key()")," on them with the exception of Byron addresses.\nFor example, to create an address using the ",(0,a.kt)("inlineCode",{parentName:"p"},"utxoPubKey")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"stakeKey")," in the first example, we can do:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-javascript"},"// base address with staking key\nconst baseAddr = CardanoWasm.BaseAddress.new(\n CardanoWasm.NetworkInfo.mainnet().network_id(),\n CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()),\n CardanoWasm.StakeCredential.from_keyhash(stakeKey.to_raw_key().hash()),\n);\n\n// enterprise address without staking ability, for use by exchanges/etc\nconst enterpriseAddr = CardanoWasm.EnterpriseAddress.new(\n CardanoWasm.NetworkInfo.mainnet().network_id(),\n CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash())\n);\n\n// pointer address - similar to Base address but can be shorter, see formal spec for explanation\nconst ptrAddr = CardanoWasm.PointerAddress.new(\n CardanoWasm.NetworkInfo.mainnet().network_id(),\n CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()),\n CardanoWasm.Pointer.new(\n 100, // slot\n 2, // tx index in slot\n 0 // cert indiex in tx\n )\n);\n\n// reward address - used for withdrawing accumulated staking rewards\nconst rewardAddr = CardanoWasm.RewardAddress.new(\n CardanoWasm.NetworkInfo.mainnet().network_id(),\n CardanoWasm.StakeCredential.from_keyhash(stakeKey.to_raw_key().hash())\n);\n\n// bootstrap address - byron-era addresses with no staking rights\nconst byronAddr = CardanoWasm.ByronAddress.icarus_from_key(\n utxoPubKey, // Ae2* style icarus address\n CardanoWasm.NetworkInfo.mainnet().protocol_magic()\n);\n")),(0,a.kt)("p",null,"Note that the byron-era address can only be created in this library from icarus-style addresses that start in ",(0,a.kt)("inlineCode",{parentName:"p"},"Ae2")," and that Daedalus-style addresses starting in ",(0,a.kt)("inlineCode",{parentName:"p"},"Dd")," are not directly supported."),(0,a.kt)("p",null,"These are all address variant types with information specific to its address type. There is also an ",(0,a.kt)("inlineCode",{parentName:"p"},"Address")," type which represents any of those variants, which is the type use in most parts of the library. For example to create a ",(0,a.kt)("inlineCode",{parentName:"p"},"TransactionOutput")," manually we would have to first convert from one of the address variants by doing:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-javascript"},'const address = baseAddress.to_address();\n\nconst output = CardanoWasm.TransactionOutput(address, BigNum.from_str("365"));\n')),(0,a.kt)("p",null,"If the address is already a Shelley address in raw bytes or a bech32 string we can create it directly via:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-javascript"},'const addr = CardanoWasm.Address.from_bech32("addr1vyt3w9chzut3w9chzut3w9chzut3w9chzut3w9chzut3w9cj43ltf");\n\n')),(0,a.kt)("h2",{id:"other-key-types"},"Other Key Types"),(0,a.kt)("p",null,"Conversion between ",(0,a.kt)("inlineCode",{parentName:"p"},"cardano-cli")," 128-byte ",(0,a.kt)("inlineCode",{parentName:"p"},"XPrv")," keys and ",(0,a.kt)("inlineCode",{parentName:"p"},"BIP32PrivateKey")," is also supported:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-javascript"},"const bip32PrivateKey = CardanoWasm.BIP32PrivateKey.from_128_xprv(xprvBytes);\nassert(xprvBytes == CardanoWasm.BIP32PrivateKey.to_128_xprv());\n")),(0,a.kt)("p",null,"96-byte ",(0,a.kt)("inlineCode",{parentName:"p"},"XPrv")," keys are identical to ",(0,a.kt)("inlineCode",{parentName:"p"},"BIP32PrivateKey"),"s byte-wise and no conversion is needed.\nFor more details see ",(0,a.kt)("a",{parentName:"p",href:"https://docs.cardano.org/projects/cardano-node/en/latest/stake-pool-operations/keys_and_addresses.html"},"this document")," regarding legacy keys."),(0,a.kt)("p",null,"There is also ",(0,a.kt)("inlineCode",{parentName:"p"},"LegacyDaedalusPrivateKey")," which is used for creating witnesses for legacy Daedalus ",(0,a.kt)("inlineCode",{parentName:"p"},"Dd"),"-type addresses."))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bbe6d832.3ce4eede.js b/assets/js/bbe6d832.3ce4eede.js new file mode 100644 index 00000000..4a447400 --- /dev/null +++ b/assets/js/bbe6d832.3ce4eede.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[461],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=p(r),f=o,m=s["".concat(l,".").concat(f)]||s[f]||d[f]||a;return r?n.createElement(m,i(i({ref:t},u),{},{components:r})):n.createElement(m,i({ref:t},u))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:o,i[1]=c;for(var p=2;p<a;p++)i[p]=r[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},8968:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>p});var n=r(7462),o=(r(7294),r(3905));const a={sidebar_position:5},i="CIP36",c={unversionedId:"modules/cip36",id:"modules/cip36",title:"CIP36",description:"",source:"@site/docs/modules/cip36.mdx",sourceDirName:"modules",slug:"/modules/cip36",permalink:"/modules/cip36",draft:!1,tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"CIP25",permalink:"/modules/CIP25"},next:{title:"Metadata",permalink:"/modules/metadata"}},l={},p=[],u={toc:p},s="wrapper";function d(e){let{components:t,...r}=e;return(0,o.kt)(s,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"cip36"},"CIP36"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c377a04b.557d9214.js b/assets/js/c377a04b.557d9214.js new file mode 100644 index 00000000..00fba62d --- /dev/null +++ b/assets/js/c377a04b.557d9214.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[971],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var a=n(7294);function r(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(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(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){r(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){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=c(n),m=r,f=u["".concat(s,".").concat(m)]||u[m]||d[m]||i;return n?a.createElement(f,o(o({ref:t},p),{},{components:n})):a.createElement(f,o({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[u]="string"==typeof e?e:r,o[1]=l;for(var c=2;c<i;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},1269:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var a=n(7462),r=(n(7294),n(3905));const i={sidebar_label:"Introduction",sidebar_position:1},o="Cardano Multiplatform Lib",l={unversionedId:"index",id:"index",title:"Cardano Multiplatform Lib",description:"This is a library, written in Rust, that can be deployed to multiple platforms (Rust crate, JS, Typescript, WASM, etc). It handles:",source:"@site/docs/index.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_label:"Introduction",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Installation & Getting Started",permalink:"/getting_started"}},s={},c=[{value:"NPM packages",id:"npm-packages",level:5},{value:"Rust crates",id:"rust-crates",level:5},{value:"Mobile bindings",id:"mobile-bindings",level:5},{value:"Pre-requisite knowledge",id:"pre-requisite-knowledge",level:2},{value:"Benefits of using this library",id:"benefits-of-using-this-library",level:2},{value:"A note on code examples",id:"a-note-on-code-examples",level:2},{value:"Documentation",id:"documentation",level:2}],p={toc:c},u="wrapper";function d(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"cardano-multiplatform-lib"},"Cardano Multiplatform Lib"),(0,r.kt)("p",null,"This is a library, written in Rust, that can be deployed to multiple platforms (Rust crate, JS, Typescript, WASM, etc). It handles:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Serialization & deserialization of core data structures"),(0,r.kt)("li",{parentName:"ul"},"Builders to streamline and verify the construction of transactions and related components"),(0,r.kt)("li",{parentName:"ul"},"Useful utility functions for dApps & wallets")),(0,r.kt)("h5",{id:"npm-packages"},"NPM packages"),(0,r.kt)("p",null,"TODO: update these once we publish new versions:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"browser: ",(0,r.kt)("a",{parentName:"li",href:"https://www.npmjs.com/package/@dcspark/cardano-multiplatform-lib-browser"},"link")),(0,r.kt)("li",{parentName:"ul"},"nodejs: ",(0,r.kt)("a",{parentName:"li",href:"https://www.npmjs.com/package/@dcspark/cardano-multiplatform-lib-nodejs"},"link")),(0,r.kt)("li",{parentName:"ul"},"asm.js (strongly discouraged): ",(0,r.kt)("a",{parentName:"li",href:"https://www.npmjs.com/package/@dcspark/cardano-multiplatform-lib-asmjs"},"link"))),(0,r.kt)("p",null,"Note: If you are using WebPack, you must use version 5 or later for CML to work."),(0,r.kt)("h5",{id:"rust-crates"},"Rust crates"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"crates: ",(0,r.kt)("a",{parentName:"li",href:"https://crates.io/crates/cardano-multiplatform-lib"},"link"))),(0,r.kt)("h5",{id:"mobile-bindings"},"Mobile bindings"),(0,r.kt)("p",null,"We recommend using Ionic + Capacitor or an equivalent setup to have the WASM bindings working in mobile"),(0,r.kt)("h2",{id:"pre-requisite-knowledge"},"Pre-requisite knowledge"),(0,r.kt)("p",null,"This library assumes a certain amount of knowledge about how Cardano works (to avoid re-documenting the wheel)."),(0,r.kt)("p",null,"You can find the specifications of Cardano's ledger ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/input-output-hk/cardano-ledger-specs"},"here")," which we suggest consulting as you use this library. Notably, the ",(0,r.kt)("inlineCode",{parentName:"p"},"Shelley ledger formal specification")," covers the core concepts. Make sure to check the specs for later eras as well when needed."),(0,r.kt)("h2",{id:"benefits-of-using-this-library"},"Benefits of using this library"),(0,r.kt)("p",null,"Serialization/deserialization code is automatically generated from\nCardano\u2019s official specification, which guarantees it can easily stay up\nto date! We do this using a tool managed by EMURGO & dcSpark called ",(0,r.kt)("inlineCode",{parentName:"p"},"cddl-codegen"),"\nwhich can be re-used for other tasks such as automatically generate a\nRust library for Cardano metadata specifications!"),(0,r.kt)("p",null,"The most important feature of this is that CML has been generated to allow all CBOR details to be preserved.\nWith CBOR many CBOR structures can have multiple ways to serialize to bytes from the same equivalent structure.\nThis causes issues especially when computing hashes and is a frequent problem with working across tools e.g. cardano-node-cli and cardano-serialization-lib encoding plutus datums differently. This makes CML much more compatible with all other libraries as it will remember all these specific CBOR encoding details. This is particularly important for use with dApps and wallets connecting to dApps."),(0,r.kt)("p",null,"It is also very easy to create scripts in Rust or WASM to share with\nstake pools, or even embed inside an online tool! No more crazy\ncardano-cli bash scripts!"),(0,r.kt)("p",null,"Powerful and flexible enough to be used to power wallets and exchanges!\n(Yes, it\u2019s used in production!)"),(0,r.kt)("h2",{id:"a-note-on-code-examples"},"A note on code examples"),(0,r.kt)("p",null,"All code examples are using the WASM (typescript/javascript) API. If you are using CML from rust you will need to change the code to rust syntax e.g. ",(0,r.kt)("inlineCode",{parentName:"p"},"Foo.bar()")," to ",(0,r.kt)("inlineCode",{parentName:"p"},"Foo::new()")," etc. We've tried to keep the API as consistent as possible between the different bindings but some exceptions exist. The array/map wrappers (e.g. ",(0,r.kt)("inlineCode",{parentName:"p"},"FooList")," / ",(0,r.kt)("inlineCode",{parentName:"p"},"MapFooToBar"),") in WASM are simply ",(0,r.kt)("inlineCode",{parentName:"p"},"Vec<Foo>")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"OrderedHashMap<Foo, Bar>")," respectively. There will be some changes relating to reference params/moving/etc as well."),(0,r.kt)("p",null,"You can find complete examples in the ",(0,r.kt)("inlineCode",{parentName:"p"},"/examples/")," directory."),(0,r.kt)("h2",{id:"documentation"},"Documentation"),(0,r.kt)("p",null,"This library generates ",(0,r.kt)("inlineCode",{parentName:"p"},"Typescript")," type definitions, so it\u2019s often easiest to see what is possible by just looking at the types! These are found in the ",(0,r.kt)("inlineCode",{parentName:"p"},".ts")," file in the npm package roots.\nIf you are using rust the full API will be shown in the respective crates.io pages."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d544c820.6d157f4e.js b/assets/js/d544c820.6d157f4e.js new file mode 100644 index 00000000..21d64849 --- /dev/null +++ b/assets/js/d544c820.6d157f4e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[793],{7557:e=>{e.exports=JSON.parse('{"title":"Chain","slug":"/category/chain","permalink":"/category/chain","navigation":{"previous":{"title":"Core","permalink":"/modules/core/"},"next":{"title":"Chain","permalink":"/modules/chain/"}}}')}}]); \ No newline at end of file diff --git a/assets/js/dd8d23a4.025ed18b.js b/assets/js/dd8d23a4.025ed18b.js new file mode 100644 index 00000000..49cf8422 --- /dev/null +++ b/assets/js/dd8d23a4.025ed18b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[953],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var a=n(7294);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,s=function(e,t){if(null==e)return{};var n,a,s={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}var d=a.createContext({}),l=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=l(e.components);return a.createElement(d.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,s=e.mdxType,r=e.originalType,d=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),u=l(n),h=s,m=u["".concat(d,".").concat(h)]||u[h]||p[h]||r;return n?a.createElement(m,i(i({ref:t},c),{},{components:n})):a.createElement(m,i({ref:t},c))}));function m(e,t){var n=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var r=n.length,i=new Array(r);i[0]=h;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[u]="string"==typeof e?e:s,i[1]=o;for(var l=2;l<r;l++)i[l]=n[l];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}h.displayName="MDXCreateElement"},9242:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var a=n(7462),s=(n(7294),n(3905));const r={sidebar_position:4},i="TransactionBuilder",o={unversionedId:"modules/builders/generating_transactions",id:"modules/builders/generating_transactions",title:"TransactionBuilder",description:"In order to simplify transaction creation, we provide a TransactionBuilder struct that manages witnesses, fee calculation, change addresses and such. Assume we have instantiated an instance under the variable builder for this explanation. The TransactionBuilder requires several protocol parameters governing Cardano to be created which is shown in the following section. These are specified initially in the genesis file for Cardano nodes.",source:"@site/docs/modules/builders/generating_transactions.mdx",sourceDirName:"modules/builders",slug:"/modules/builders/generating_transactions",permalink:"/modules/builders/generating_transactions",draft:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Builders",permalink:"/category/builders"},next:{title:"CIP25",permalink:"/modules/CIP25"}},d={},l=[{value:"Example code",id:"example-code",level:2},{value:"A note on fees",id:"a-note-on-fees",level:2}],c={toc:l},u="wrapper";function p(e){let{components:t,...n}=e;return(0,s.kt)(u,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("h1",{id:"transactionbuilder"},"TransactionBuilder"),(0,s.kt)("p",null,"In order to simplify transaction creation, we provide a ",(0,s.kt)("inlineCode",{parentName:"p"},"TransactionBuilder")," struct that manages witnesses, fee calculation, change addresses and such. Assume we have instantiated an instance under the variable ",(0,s.kt)("inlineCode",{parentName:"p"},"builder")," for this explanation. The ",(0,s.kt)("inlineCode",{parentName:"p"},"TransactionBuilder")," requires several protocol parameters governing Cardano to be created which is shown in the following section. These are specified initially in the genesis file for Cardano nodes."),(0,s.kt)("p",null,"The minimum required for a valid transaction is to add inputs, outputs, time-to-live and either set the fee explicitly with ",(0,s.kt)("inlineCode",{parentName:"p"},"builder.set_fee(fee)"),", or calculate it implicitly using ",(0,s.kt)("inlineCode",{parentName:"p"},"builder.add_change_if_needed(address)"),".\nOptionally a transaction can also have certificates, reward withdrawals, and metadata added to it.\nAny change made to the builder can impact the size and thus the fee so the fee should be the last thing set.\nIf implicitly setting the fee any extra ADA (",(0,s.kt)("inlineCode",{parentName:"p"},"inputs + withdrawals - outputs + refund - deposit - min fee"),") is sent to the provided change address.\nFees must be sufficient, i.e. ",(0,s.kt)("inlineCode",{parentName:"p"},"inputs + withdrawals + refund >= outputs + deposit + fee")," which must be manually ensured if you explicitly set the fee. Any extra fee is not necessary and the extra ADA beyond that will be burned.\nOnce the transaction is ready, ",(0,s.kt)("inlineCode",{parentName:"p"},"const body = builder.build()")," can be called to return a ready ",(0,s.kt)("inlineCode",{parentName:"p"},"TransactionBody"),"."),(0,s.kt)("p",null,"Withdrawals are ADA withdrawn as part of the rewards generated by staking and deposits are refundable ADA locked while resources such as stake certificates or pool registrations exist on the blockchain. They are returned as refunds when these resources are deregistered/retired."),(0,s.kt)("p",null,"To get to a transaction ready to post on the blockchain, we must create a ",(0,s.kt)("inlineCode",{parentName:"p"},"Transaction")," from that, which consists of the ",(0,s.kt)("inlineCode",{parentName:"p"},"TransactionBody"),", a matching ",(0,s.kt)("inlineCode",{parentName:"p"},"TransactionWitnessSet")," and optionally a ",(0,s.kt)("inlineCode",{parentName:"p"},"TransactionMetadata"),".\nThe witnesses and optional metadata must match those provided to the builder. The witnesses must sign the hash of the transaction body returned by ",(0,s.kt)("inlineCode",{parentName:"p"},"hash_transaction(body)"),". In addition to the witnesses for inputs, withdrawals and some certificates require witnesses as well. For example, staking address registration does not require a witness while stake address de-registration requires one. For any questions or doubts about the rules governing fees, deposits, rewards, certificates or which witness types are required refer to the ",(0,s.kt)("a",{parentName:"p",href:"https://github.com/input-output-hk/cardano-ledger-specs#cardano-ledger"},"shelley specs"),", specifically the Shelley design specification for general design. The formal specification could be useful for specific details as well. The design spec contains details about which certificates require which type of witnesses in the Certificates and Registrations section."),(0,s.kt)("h2",{id:"example-code"},"Example code"),(0,s.kt)("p",null,"The example below builds a transaction with all 2 of the 3 input types: key and bootstrap.\nMultisig (script) inputs are essentially identical to key inputs, but using the scripthash instead of the keyhash, however they are not supported for implicit fee calculation yet.\nFees are automatically calculated and sent to a change address in the example."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-javascript"},"// instantiate the tx builder with the Cardano protocol parameters - these may change later on\nconst linearFee = CardanoWasm.LinearFee.new(\n CardanoWasm.BigNum.from_str('44'),\n CardanoWasm.BigNum.from_str('155381')\n);\nconst txBuilderCfg = CardanoWasm.TransactionBuilderConfigBuilder.new()\n .fee_algo(linearFee)\n .pool_deposit(CardanoWasm.BigNum.from_str('500000000'))\n .key_deposit(CardanoWasm.BigNum.from_str('2000000'))\n .max_value_size(4000)\n .max_tx_size(8000)\n .coins_per_utxo_word(CardanoWasm.BigNum.from_str('34482'))\n .build();\nconst txBuilder = CardanoWasm.TransactionBuilder.new(txBuilderCfg);\n\n// add a keyhash input - for ADA held in a Shelley-era normal address (Base, Enterprise, Pointer)\nconst prvKey = CardanoWasm.PrivateKey.from_bech32(\"ed25519e_sk16rl5fqqf4mg27syjzjrq8h3vq44jnnv52mvyzdttldszjj7a64xtmjwgjtfy25lu0xmv40306lj9pcqpa6slry9eh3mtlqvfjz93vuq0grl80\");\ntxBuilder.add_key_input(\n prvKey.to_public().hash(),\n CardanoWasm.TransactionInput.new(\n CardanoWasm.TransactionHash.from_bytes(\n Buffer.from(\"8561258e210352fba2ac0488afed67b3427a27ccf1d41ec030c98a8199bc22ec\", \"hex\")\n ), // tx hash\n 0, // index\n ),\n CardanoWasm.Value.new(CardanoWasm.BigNum.from_str('3000000'))\n);\n\n// add a bootstrap input - for ADA held in a Byron-era address\nconst byronAddress = CardanoWasm.ByronAddress.from_base58(\"Ae2tdPwUPEZLs4HtbuNey7tK4hTKrwNwYtGqp7bDfCy2WdR3P6735W5Yfpe\");\ntxBuilder.add_bootstrap_input(\n byronAddress,\n CardanoWasm.TransactionInput.new(\n CardanoWasm.TransactionHash.from_bytes(\n Buffer.from(\"488afed67b342d41ec08561258e210352fba2ac030c98a8199bc22ec7a27ccf1\", \"hex\"),\n ), // tx hash\n 0, // index\n ),\n CardanoWasm.Value.new(CardanoWasm.BigNum.from_str('3000000'))\n);\n\n// base address\nconst shelleyOutputAddress = CardanoWasm.Address.from_bech32(\"addr_test1qpu5vlrf4xkxv2qpwngf6cjhtw542ayty80v8dyr49rf5ewvxwdrt70qlcpeeagscasafhffqsxy36t90ldv06wqrk2qum8x5w\");\n// pointer address\nconst shelleyChangeAddress = CardanoWasm.Address.from_bech32(\"addr_test1gz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzerspqgpsqe70et\");\n\n// add output to the tx\ntxBuilder.add_output(\n CardanoWasm.TransactionOutput.new(\n shelleyOutputAddress,\n CardanoWasm.Value.new(CardanoWasm.BigNum.from_str('1000000')) \n ),\n);\n\n// set the time to live - the absolute slot value before the tx becomes invalid\ntxBuilder.set_ttl(410021);\n\n// calculate the min fee required and send any change to an address\ntxBuilder.add_change_if_needed(shelleyChangeAddress);\n\n// once the transaction is ready, we build it to get the tx body without witnesses\nconst txBody = txBuilder.build();\nconst txHash = CardanoWasm.hash_transaction(txBody);\nconst witnesses = CardanoWasm.TransactionWitnessSet.new();\n\n// add keyhash witnesses\nconst vkeyWitnesses = CardanoWasm.Vkeywitnesses.new();\nconst vkeyWitness = CardanoWasm.make_vkey_witness(txHash, prvKey);\nvkeyWitnesses.add(vkeyWitness);\nwitnesses.set_vkeys(vkeyWitnesses);\n\n// add bootstrap (Byron-era) witnesses\nconst cip1852Account = CardanoWasm.Bip32PrivateKey.from_bech32('xprv1hretan5mml3tq2p0twkhq4tz4jvka7m2l94kfr6yghkyfar6m9wppc7h9unw6p65y23kakzct3695rs32z7vaw3r2lg9scmfj8ec5du3ufydu5yuquxcz24jlkjhsc9vsa4ufzge9s00fn398svhacse5su2awrw');\nconst bootstrapWitnesses = CardanoWasm.BootstrapWitnesses.new();\nconst bootstrapWitness = CardanoWasm.make_icarus_bootstrap_witness(\n txHash,\n byronAddress,\n cip1852Account,\n);\nbootstrapWitnesses.add(bootstrapWitness);\nwitnesses.set_bootstraps(bootstrapWitnesses);\n\n// create the finalized transaction with witnesses\nconst transaction = CardanoWasm.Transaction.new(\n txBody,\n witnesses,\n undefined, // transaction metadata\n);\n")),(0,s.kt)("h2",{id:"a-note-on-fees"},"A note on fees"),(0,s.kt)("p",null,"Fees is Cardano Shelley are based directly on the size of the final encoded transaction. It is important to note that a transaction created by this library potentially can vary in size compared to one built with other tools. This is because transactions, as well as other Cardano Shelley structures, are encoded using ",(0,s.kt)("a",{parentName:"p",href:"https://cbor.io/"},"CBOR")," a binary JSON-like encoding. Due to arrays and maps allowing both definite or indefinite length encoding in the encoded transaction created by the library, the size can vary. This is because definite encoding consists of a tag containing the size of the array/map which can be 1 or more bytes long depending on the number of elements the size of the encoded structure, while indefinite length encoding consists of a 1 byte starting tag and after all elements are listed, a 1 byte ending tag. These variances should should only be a couple bytes and cardano-multiplatform-lib uses definite encoding which is the same length or smaller for any reasonable sized transaction."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e7958d21.0ee150db.js b/assets/js/e7958d21.0ee150db.js new file mode 100644 index 00000000..1add938d --- /dev/null +++ b/assets/js/e7958d21.0ee150db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[659],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=p(r),y=a,f=s["".concat(l,".").concat(y)]||s[y]||m[y]||o;return r?n.createElement(f,i(i({ref:t},u),{},{components:r})):n.createElement(f,i({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=y;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:a,i[1]=c;for(var p=2;p<o;p++)i[p]=r[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},566:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var n=r(7462),a=(r(7294),r(3905));const o={sidebar_position:3},i="Crate Architecture",c={unversionedId:"crate_architecture",id:"crate_architecture",title:"Crate Architecture",description:"- Core - Core types common throughout all CML crates.",source:"@site/docs/crate_architecture.mdx",sourceDirName:".",slug:"/crate_architecture",permalink:"/crate_architecture",draft:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Installation & Getting Started",permalink:"/getting_started"},next:{title:"Modules",permalink:"/category/modules"}},l={},p=[],u={toc:p},s="wrapper";function m(e){let{components:t,...r}=e;return(0,a.kt)(s,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"crate-architecture"},"Crate Architecture"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Core")," - Core types common throughout all CML crates.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Chain")," - Current era on-chain types, plus utility functionality and builders for creating these types. This is likely the crate most users will want to use.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Crypto")," - Crypto primitives used throughout CML. Keys, signatures, etc.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"CIP25")," - Library for working with CIP25 NFT metadata.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"CIP36")," - Library for working with CIP36 (catalyst) registration types.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Multi-Era")," - On-chain types for previous eras (Byron, Shelley, Alonzo, Babbage, etc) plus era-agnostic wrappers around this for parsing historical blockchain data."))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f41b0af6.1cb6b44d.js b/assets/js/f41b0af6.1cb6b44d.js new file mode 100644 index 00000000..cc49b5a6 --- /dev/null +++ b/assets/js/f41b0af6.1cb6b44d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[650],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>h});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),l=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},u=function(e){var t=l(e.components);return n.createElement(d.Provider,{value:t},e.children)},m="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),m=l(a),p=r,h=m["".concat(d,".").concat(p)]||m[p]||c[p]||i;return a?n.createElement(h,s(s({ref:t},u),{},{components:a})):n.createElement(h,s({ref:t},u))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,s=new Array(i);s[0]=p;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[m]="string"==typeof e?e:r,s[1]=o;for(var l=2;l<i;l++)s[l]=a[l];return n.createElement.apply(null,s)}return n.createElement.apply(null,a)}p.displayName="MDXCreateElement"},2388:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=a(7462),r=(a(7294),a(3905));const i={sidebar_position:6},s="Metadata",o={unversionedId:"modules/metadata",id:"modules/metadata",title:"Metadata",description:"Transaction Metadata format",source:"@site/docs/modules/metadata.mdx",sourceDirName:"modules",slug:"/modules/metadata",permalink:"/modules/metadata",draft:!1,tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"CIP36",permalink:"/modules/cip36"}},d={},l=[{value:"Transaction Metadata format",id:"transaction-metadata-format",level:2},{value:"Metadata limitations",id:"metadata-limitations",level:2},{value:"Direct use",id:"direct-use",level:2},{value:"JSON conversion",id:"json-conversion",level:2},{value:"Using a CDDL Subset",id:"using-a-cddl-subset",level:2},{value:"Raw Bytes Encoding",id:"raw-bytes-encoding",level:2}],u={toc:l},m="wrapper";function c(e){let{components:t,...a}=e;return(0,r.kt)(m,(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"metadata"},"Metadata"),(0,r.kt)("h2",{id:"transaction-metadata-format"},"Transaction Metadata format"),(0,r.kt)("p",null,"Transaction after the Shelley hardfork can contain arbitrary transaction meta (",(0,r.kt)("strong",{parentName:"p"},"note:")," this is NOT the same as pool metadata)"),(0,r.kt)("p",null,"Transaction metadata takes the form of a map of metadatums, which are recursive JSON-like structures."),(0,r.kt)("p",null,"It is defined in ",(0,r.kt)("a",{parentName:"p",href:"https://tools.ietf.org/html/rfc8610"},"CDDL"),", a schema grammar for representing ",(0,r.kt)("a",{parentName:"p",href:"https://tools.ietf.org/html/rfc7049"},"CBOR")," binary encoding as:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"transaction_metadatum =\n { * transaction_metadatum => transaction_metadatum }\n / [ * transaction_metadatum ]\n / int\n / bytes .size (0..64)\n / text .size (0..64)\n\ntransaction_metadatum_label = uint\n\ntransaction_metadata =\n { * transaction_metadatum_label => transaction_metadatum }\n")),(0,r.kt)("p",null,"For each use we use a metadatum label specific to our use into the ",(0,r.kt)("inlineCode",{parentName:"p"},"TransactionMetadatum")," map. If we had a JSON object such as"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n "receiver_id": "SJKdj34k3jjKFDKfjFUDfdjkfd",\n "sender_id": "jkfdsufjdk34h3Sdfjdhfduf873",\n "comment": "happy birthday",\n "tags": [0, 264, -1024, 32]\n}\n')),(0,r.kt)("p",null,"There are 4 ways we can achieve this with different trade-offs:"),(0,r.kt)("p",null,"1) Directly use: using the Metadata-related structures used in the library\n2) JSON conversion: conversion to/from JSON using our utility functions\n3) CDDL subset: writing a CDDL spec of this structure that is representable by that recursive metadatum CDDL\n4) Raw bytes: encoding raw-bytes using our utility functions."),(0,r.kt)("p",null,"Each section will give examples of how to encode a similar structure. Understanding CDDL is only necessary for the last 2 options, but it is fairly simple to understand."),(0,r.kt)("p",null,"If your metadata schema is fixed and will be used frequently you should consider the CDDL spec option.\nIf your schema is not often used or used from many languages, the JSON option can be good as it is low set-up and fairly tech agnostic.\nIf your schema is very dynamic or non-existent, the direct use or JSON options are likely best.\nThe raw bytes option is only recommended if your data does not conform to the metadata format."),(0,r.kt)("h2",{id:"metadata-limitations"},"Metadata limitations"),(0,r.kt)("p",null,"These limitations are mentioned in the CDDL definition, but are worth also mentioning in prose:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Strings must be at most 64 bytes when UTF-8 encoded."),(0,r.kt)("li",{parentName:"ul"},"Bytestrings are hex-encoded, with a maximum length of 64 bytes.")),(0,r.kt)("h2",{id:"direct-use"},"Direct use"),(0,r.kt)("p",null,"Upsides:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Flexible"),(0,r.kt)("li",{parentName:"ul"},"Readable by other methods")),(0,r.kt)("p",null,"Downsides:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Can be quite tedious to write"),(0,r.kt)("li",{parentName:"ul"},"Structural validation must be done by hand (partially)")),(0,r.kt)("p",null,"As the metadatum structure is fairly expressive, we can directly use it using the structs in the metadata module of this library. These directly represent the types given in the CDDL. Namely:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"TransactionMetadatum - Can represent one of those 5 variant types."),(0,r.kt)("li",{parentName:"ul"},"MetadataMap - The map variant that maps from metadatums to other metadatums. This is unordered and indexed by metadatums. This is like an object in JSON."),(0,r.kt)("li",{parentName:"ul"},"MetadataList - An ordered list indexed starting at 0. This is like an array in JSON.")),(0,r.kt)("p",null,"The variants for numbers, bytes and text are not specific to metadata and are directly used with the general ",(0,r.kt)("inlineCode",{parentName:"p"},"Int")," type representing a signed or unsigned number, byte arrays accepting byte arrays/",(0,r.kt)("inlineCode",{parentName:"p"},"Buffer"),", and strings being JS strings."),(0,r.kt)("p",null,"We could construct the JSON example above with the following code:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},'const map = CardanoWasm.MetadataMap.new();\nmap.insert(\n CardanoWasm.TransactionMetadatum.new_text("receiver_id"),\n CardanoWasm.TransactionMetadatum.new_text("SJKdj34k3jjKFDKfjFUDfdjkfd"),\n);\nmap.insert(\n CardanoWasm.TransactionMetadatum.new_text("sender_id"),\n CardanoWasm.TransactionMetadatum.new_text("jkfdsufjdk34h3Sdfjdhfduf873"),\n);\nmap.insert(\n CardanoWasm.TransactionMetadatum.new_text("comment"),\n CardanoWasm.TransactionMetadatum.new_text("happy birthday"),\n);\nconst tags = CardanoWasm.MetadataList.new();\ntags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new(CardanoWasm.BigNum.from_str("0"))));\ntags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new(CardanoWasm.BigNum.from_str("264"))));\ntags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new_negative(CardanoWasm.BigNum.from_str("1024"))));\ntags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new(CardanoWasm.BigNum.from_str("32"))));\nmap.insert(\n CardanoWasm.TransactionMetadatum.new_text("tags"),\n CardanoWasm.TransactionMetadatum.new_list(tags),\n);\nconst metadatum = CardanoWasm.TransactionMetadatum.new_map(map);\n')),(0,r.kt)("p",null,"We could then parse the information back as such:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},'try {\n const map = metadatum.as_map();\n const receiver = map.get(CardanoWasm.TransactionMetadatum.new_text("receiver_id"));\n const sender = map.get(CardanoWasm.TransactionMetadatum.new_text("sender_id"));\n const comment = map.get(CardanoWasm.TransactionMetadatum.new_text("comment"));\n const tags = map.get(CardanoWasm.TransactionMetadatum.new_text("tags"));\n} catch (e) {\n // structure did not match\n}\n')),(0,r.kt)("p",null,"For decoding in a more exploratory manner we can check the types first as such:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},"function parseMetadata(metadata) {\n // we must check the type first to know how to handle it\n switch (metadata.kind()) {\n case CardanoWasm.TransactionMetadatumKind.MetadataMap:\n const mapRet = new Map();\n const map = metadata.as_map();\n const keys = maps.keys();\n for (var i = 0; i < keys.len(); i += 1) {\n const key = keys.get(i);\n const value = parseMetadata(map.get(key);\n mapRet.set(key, value);\n }\n return mapRet;\n case CardanoWasm.TransactionMetadatumKind.MetadataList:\n let arrRet = [];\n const arr = metadata.as_list();\n for (var i = 0; i < arr.len(); i += 1) {\n const elem = parseMetadata(arr.get(i));\n arrRet.push(elem);\n }\n return arrRet;\n case CardanoWasm.TransactionMetadatumKind.Int:\n const x = metadata.as_int();\n // If the integer is too big as_i32() returns undefined\n // to handle larger numbers we need to use x.as_positive() / x.as_negative() and\n // convert from BigNums after checking x.is_positive() first\n return x.as_i32();\n case CardanoWasm.TransactionMetadatumKind.Bytes:\n return Buffer.from(metadata.as_bytes());\n case CardanoWasm.TransactionMetadatumKind.Text:\n return metadata.as_text();\n }\n}\n")),(0,r.kt)("p",null,"which recursively parses the ",(0,r.kt)("inlineCode",{parentName:"p"},"TransactionMetadatum")," struct and transforms it into a JS ",(0,r.kt)("inlineCode",{parentName:"p"},"Map")," / JS ",(0,r.kt)("inlineCode",{parentName:"p"},"object")," structure by manually checking the types."),(0,r.kt)("h2",{id:"json-conversion"},"JSON conversion"),(0,r.kt)("p",null,"Upsides:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Flexible"),(0,r.kt)("li",{parentName:"ul"},"Readable by other methods"),(0,r.kt)("li",{parentName:"ul"},"Lowest set-up work involved")),(0,r.kt)("p",null,"Downsides:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Does not support negative integers between ",(0,r.kt)("inlineCode",{parentName:"li"},"-2^64 + 1")," and ",(0,r.kt)("inlineCode",{parentName:"li"},"-2^63")," (serde_json library restriction)"),(0,r.kt)("li",{parentName:"ul"},"Structural validation must be done by hand"),(0,r.kt)("li",{parentName:"ul"},"Can use more space as string keyed maps are likely to be used more than arrays would be in the CDDL solutions")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},'const obj = {\n receiver_id: "SJKdj34k3jjKFDKfjFUDfdjkfd",\n sender_id: "jkfdsufjdk34h3Sdfjdhfduf873",\n comment: "happy birthday",\n tags: [0, 264, -1024, 32]\n};\nconst metadata = CardanoWasm.encode_json_str_to_metadatum(JSON.stringify(obj), CardanoWasm.MetadataJsonSchema.NoConversions);\nconst metadataString = CardanoWasm.decode_metadatum_to_json_str(metadata, CardanoWasm.MetadataJsonSchema.NoConversions);\n')),(0,r.kt)("p",null,"To support an extended set of metadata we also support 3 additional modes for JSON conversion following IOHK's ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/input-output-hk/cardano-node/blob/master/cardano-api/src/Cardano/Api/TxMetadata.hs"},"cardano-node JSON schemas"),"."),(0,r.kt)("p",null,"The three modes are:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"NoConversions")," - Faithfully converts between the minimal shared feature set between JSON and Metadata"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"BasicConversions")," - Adds additional support for byte(as hex strings)/integers (as strings) keys / byte (as hex strings) values."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"DetailedSchema")," - Can convert almost all metadata into a specific JSON schema but is very verbose on the JSON side.")),(0,r.kt)("p",null,"Details on the formats can be found in our library's metadata module or in the ",(0,r.kt)("inlineCode",{parentName:"p"},"cardano-node")," file linked above. ",(0,r.kt)("inlineCode",{parentName:"p"},"DetailedSchema")," is likely most useful if you need to parse any possible kind of metadata into JSON specifically, possibly to display or for debugging.\nFor most reasonable schemas ",(0,r.kt)("inlineCode",{parentName:"p"},"NoConversions")," should suffice, or ",(0,r.kt)("inlineCode",{parentName:"p"},"BasicConversions")," if byte/string keys and byte values are needed.\nIf you are in charge of your own schema and you do not need arbitrary keys, it is recommended not to use ",(0,r.kt)("inlineCode",{parentName:"p"},"DetailedSchema")," as it is significantly more complicated to use."),(0,r.kt)("p",null,"The additions of ",(0,r.kt)("inlineCode",{parentName:"p"},"BasicConversions")," are demonstrated below"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n "0x8badf00d": "0xdeadbeef",\n "9": 5,\n "obj": {\n "a":[\n {\n "5": 2\n },\n {\n }\n ]\n }\n}\n')),(0,r.kt)("p",null,"which creates a map with 3 elements:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"4 byte bytestring (0x8badf00d) => 4 byte bytestring (0xdeadbeef)"),(0,r.kt)("li",{parentName:"ul"},"int (9) => int (5)"),(0,r.kt)("li",{parentName:"ul"},'string ("obj") => object (string ("a") => list ',"[ object (int (5) => int (2)), object (empty) ]",")")),(0,r.kt)("p",null,'All bytestrings must be prefixed with "0x" or they will be treated as regular strings.\nAll strings that parse as an integer such as "125" will be treated as a metadata integer.'),(0,r.kt)("p",null,"The ",(0,r.kt)("inlineCode",{parentName:"p"},"DetailedSchema")," is here:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{"map":[\n {\n "k":{"bytes":"8badf00d"},\n "v":{"bytes":"deadbeef"}\n },\n {\n "k":{"int":9},\n "v":{"int":5}\n },\n {\n "k":{"string":"obj"},\n "v":{"map":[\n {\n "k":{"string":"a"},\n "v":{"list":[\n {"map":[\n {\n "k":{"int":5},\n "v":{"int":2}\n }\n ]},\n {"map":[\n ]}\n ]}\n }\n ]}\n }\n]}\n')),(0,r.kt)("p",null,"All values are represented as an object with 1 field with the key tagging the type and the value being the value itself.\nThis is the exact same metadata as the ",(0,r.kt)("inlineCode",{parentName:"p"},"BasicConversions"),' example which should illustrate that it is much more verbose to use this format,\nbut it can represent every kind of metadata possible, including non-string/byte/int keys.\nDo note that byte strings do not start with "0x", unlike with ',(0,r.kt)("inlineCode",{parentName:"p"},"BasicConversions"),"."),(0,r.kt)("p",null,"This additional freedom in keys can be seen here:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{"map":[\n {\n "k":{"list":[\n {"map": [\n {\n "k": {"int": 5},\n "v": {"int": 7}\n },\n {\n "k": {"string": "hello"},\n "v": {"string": "world"}\n }\n ]},\n {"bytes": "ff00ff00"}\n ]},\n "v":{"int":5}\n }\n]}\n')),(0,r.kt)("p",null,"has a 1-element map with a value of just 5, but with a very complicated key consisting of a list with 2 elements:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'a 2-element map (5 => 7, "hello" => "world")'),(0,r.kt)("li",{parentName:"ul"},"a bytestring (0xFF00FF00)")),(0,r.kt)("p",null,"Most reasonable metadata formats, however, likely do not use map/key/compound keys and thus this is more of a fringe use or when all possible metadata must be examined from JSON (almost) without exception.\nDue to library implementation details it can still fail to decode if there is a very negative number between ",(0,r.kt)("inlineCode",{parentName:"p"},"-2^64 + 1")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"-2^63"),"."),(0,r.kt)("h2",{id:"using-a-cddl-subset"},"Using a CDDL Subset"),(0,r.kt)("p",null,"Upsides:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Automatic structural typing in deserialization"),(0,r.kt)("li",{parentName:"ul"},"Readable by other methods"),(0,r.kt)("li",{parentName:"ul"},"Possible reduced space due to array structs not serializing keys")),(0,r.kt)("p",null,"Downsides:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Requires additional set-up")),(0,r.kt)("p",null,"For static or relatively static types this is probably the best choice, especially if you care about structural validation or need the binary types or more complex keys."),(0,r.kt)("p",null,"As we saw in the other examples, most reasonable structures can be encoded using the standard metadata CDDL as it is almost a superset of JSON outside of true/false/null. Not only this, but if we represent a struct using an array in CDDL such as:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"foo = [\n receiver_id: text,\n sender_id: text,\n comment: text,\n tags: [*int]\n]\n")),(0,r.kt)("p",null,"there is space savings as the keys are not stored as it is represented as an ordered array of 4 elements instead of a direct map encoding of:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'foo = {\n receiver_id: text,\n sender_id: text,\n comment: text,\n tags": [*int]\n}\n')),(0,r.kt)("p",null,"which would serialize the keys as strings inside the resulting CBOR. Using these CDDL definitions for the example JSON structure we had results in sizes of 89 bytes for the array definition and 124 bytes for the map one. Using the JSON encoding would also result in a metadata size of 124 bytes. Maps however do have the advantage of easy optional fields and a more readable metadata for external users who don't have access to the CDDL as the field names will be stored directly."),(0,r.kt)("p",null,"After you have created your CDDL definition, if you need to check that your CDDL conforms to the metadata CDDL we have a tool located in the ",(0,r.kt)("inlineCode",{parentName:"p"},"/tools/metadata-cddl-checker/")," directory. Move to this directory and put your CDDL in a file called ",(0,r.kt)("inlineCode",{parentName:"p"},"input.cddl")," there first, then run"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"cargo build\ncargo run\n")),(0,r.kt)("p",null,"Once we have the CDDL file and it has passed metadata format validation we can use the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/Emurgo/cddl-codegen"},"cddl-codegen")," tool that we used to initially generate the serialization/deserialization/structural code for the core Shelley structures from the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/input-output-hk/cardano-ledger-specs/blob/master/shelley/chain-and-ledger/shelley-spec-ledger-test/cddl-files/shelley.cddl"},"shelley cddl spec"),"."),(0,r.kt)("p",null,"Assuming we are in the ",(0,r.kt)("inlineCode",{parentName:"p"},"cddl-codegen")," root directory and have created a ",(0,r.kt)("inlineCode",{parentName:"p"},"input.cddl")," file in that directory containing the CDDL we wish to generate we can build and code-generate with"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"cargo build\ncargo run\n")),(0,r.kt)("p",null,"which should generate a wasm-convertible rust library for parsing our CDDL definition in the ",(0,r.kt)("inlineCode",{parentName:"p"},"/export/")," directory.\nAfter this we need to generate a wasm package from the rust code by running the following (you can do ",(0,r.kt)("inlineCode",{parentName:"p"},"--target=browser")," too)"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"cd export\nwasm-pack build --target=nodejs\nwasm-pack pack\n")),(0,r.kt)("p",null,"which should give you the library as a package in the ",(0,r.kt)("inlineCode",{parentName:"p"},"/pkg/")," directory."),(0,r.kt)("p",null,"Once we have imported the library we can then use it as such:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},'const tags = OurMetadataLib.Ints.new();\n// if we have smaller (32-bit signed) numbers we can construct easier\ntags.add(OurMetadataLib.Int.new_i32(0));\n// but for bigger (>= 2^32) numbers we must use BigNum and specify the sign ourselves\ntags.add(OurMetadataLib.Int.new(CardanoWasm.Int.from_str("264")));\n// and for negative large (< -2^32) numbers (here we construct -1024)\ntags.add(OurMetadataLib.Int.new_negative(CardanoWasm.Int.from_str("1024")));\ntags.add(OurMetadataLib.Int.new_i32(32));\nconst map = OurMetadataLib.Foo.new("SJKdj34k3jjKFDKfjFUDfdjkfd", "jkfdsufjdk34h3Sdfjdhfduf873", "happy birthday", tags)\nlet metadata;\ntry {\n metadata = CardanoWasm.TransactionMetadata.from_bytes(map.to_bytes());\n} catch (e) {\n // this should never happen if OurMetadataLib was generated from compatible CDDL with the metadata definition\n}\n')),(0,r.kt)("p",null,"likewise you can parse the metadata back very simply with:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},"let cddlMetadata;\ntry {\n cddlMetadata = OurMetadataLib.Foo.from_bytes(metadata.to_bytes());\n} catch (e) {\n // this should never happen if OurMetadataLib was generated from compatible CDDL with the metadata definition\n}\n// we can now directly access the fields with cddlMetadata.receiver_id(), etc\n")),(0,r.kt)("p",null,"If we take advantage of the additional primitives not defined in CDDL but defined for ",(0,r.kt)("inlineCode",{parentName:"p"},"cddl-codegen"),", then we can specify precisions of ",(0,r.kt)("inlineCode",{parentName:"p"},"u32"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"u64"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"i64"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"i32")," for specifying 32 or 64 bits instead of just a general purpose ",(0,r.kt)("inlineCode",{parentName:"p"},"uint"),"/",(0,r.kt)("inlineCode",{parentName:"p"},"nint"),"/",(0,r.kt)("inlineCode",{parentName:"p"},"int"),".\nIf you know your metadata will always be within one of these ranges it can be much more convenient to work with, and if you have signed data this will also make it easier to work with instead of the ",(0,r.kt)("inlineCode",{parentName:"p"},"Int")," class that CDDL ",(0,r.kt)("inlineCode",{parentName:"p"},"int")," might generate, since that is either an up to 64-bit positive or an up to 64 negative numbers.\nThis is particularly useful here as lists of CDDL primitives can be exposed directly as ",(0,r.kt)("inlineCode",{parentName:"p"},"Vec<T>")," to wasm from rust, but when we have ",(0,r.kt)("inlineCode",{parentName:"p"},"int")," (converts to ",(0,r.kt)("inlineCode",{parentName:"p"},"Int")," struct) or ",(0,r.kt)("inlineCode",{parentName:"p"},"uint")," (converts to ",(0,r.kt)("inlineCode",{parentName:"p"},"BigNum")," struct) a separate structure like that ",(0,r.kt)("inlineCode",{parentName:"p"},"Ints")," one used above is used. Using the 32-bit versions allows direct js ",(0,r.kt)("inlineCode",{parentName:"p"},"number")," conversions to/from wasm."),(0,r.kt)("p",null,"If we simply change the ",(0,r.kt)("inlineCode",{parentName:"p"},"tags")," field to ",(0,r.kt)("inlineCode",{parentName:"p"},"tags: [+i32]")," our code becomes:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},'// notice how we can directly work with js numbers here now!\n// but remember they must fit into a 32-bit number now - no 64-bit numbers like are allowed in the metadata\nconst tags = [0, 264, -1024, 32];\nconst map = OurMetadataLib.Foo.new("SJKdj34k3jjKFDKfjFUDfdjkfd", "jkfdsufjdk34h3Sdfjdhfduf873", "happy birthday", tags)\n')),(0,r.kt)("p",null,"and deserializaing likewise is much simpler as ",(0,r.kt)("inlineCode",{parentName:"p"},"metadata.tags()")," will return a JS array or numbers rather than a rust-wasm struct that must be accessed via the wasm boundary."),(0,r.kt)("h2",{id:"raw-bytes-encoding"},"Raw Bytes Encoding"),(0,r.kt)("p",null,"Upsides:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Can store arbitrary data"),(0,r.kt)("li",{parentName:"ul"},"Potential space-savings if the data is compressed")),(0,r.kt)("p",null,"Downsides:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Not readable by other methods - must be decoded using this method"),(0,r.kt)("li",{parentName:"ul"},"Requires additional set-up")),(0,r.kt)("p",null,"While most data would likely conform to the metadata CDDL subset (or JSON), if your data does not fit there then this encoding style will be necessary."),(0,r.kt)("p",null,"If you still want to take advantage of CDDL type-checking it is possible to create a library just as in the CDDL subset section but without running the checker tool. This could be useful if you are using CDDL outside of the metadata CDDL structure. Otherwise, you can store whatever bytes you want."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Note"),": To conform with the 64-byte limitation on metadata binary values, this method will split the bytes into 64-byte chunks"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},"const bytes = /* whatever method you want - you can use the CDDL solution in the 3rd option here */\nconst metadata = CardanoWasm.encode_arbitrary_bytes_as_metadatum(bytes);\nconst decoded_bytes = CardanoWasm.decode_arbitrary_bytes_from_metadatum(metadata);\nassertEquals(bytes, decoded_bytes);\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f438ab24.413653ef.js b/assets/js/f438ab24.413653ef.js new file mode 100644 index 00000000..81c152bc --- /dev/null +++ b/assets/js/f438ab24.413653ef.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[698],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/main.d760f3bd.js b/assets/js/main.d760f3bd.js new file mode 100644 index 00000000..80de4b95 --- /dev/null +++ b/assets/js/main.d760f3bd.js @@ -0,0 +1,2 @@ +/*! For license information please see main.d760f3bd.js.LICENSE.txt */ +(self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(7462),o=n(8356),i=n.n(o),l=n(6887);const s={"0109cddc":[()=>n.e(54).then(n.t.bind(n,2776,19)),"/home/sebdev20/Documents/git/cardano-multiplatform-lib/docs/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json",2776],"14eb3368":[()=>Promise.all([n.e(532),n.e(817)]).then(n.bind(n,4228)),"@theme/DocCategoryGeneratedIndexPage",4228],"1655029a":[()=>n.e(67).then(n.t.bind(n,198,19)),"~docs/default/category-tutorialsidebar-category-crypto-669.json",198],17896441:[()=>Promise.all([n.e(532),n.e(918)]).then(n.bind(n,620)),"@theme/DocItem",620],"187dbc21":[()=>n.e(455).then(n.bind(n,9325)),"@site/docs/modules/core/index.md",9325],"1a4e3797":[()=>Promise.all([n.e(532),n.e(920)]).then(n.bind(n,2027)),"@theme/SearchPage",2027],"1be78505":[()=>Promise.all([n.e(532),n.e(514)]).then(n.bind(n,9963)),"@theme/DocPage",9963],"37328f8a":[()=>n.e(731).then(n.t.bind(n,9235,19)),"~docs/default/category-tutorialsidebar-category-modules-cdf.json",9235],"42a4384b":[()=>n.e(810).then(n.bind(n,8791)),"@site/docs/modules/chain/index.md",8791],"456dc1ab":[()=>n.e(533).then(n.bind(n,1276)),"@site/docs/getting_started.mdx",1276],"4f8b6be9":[()=>n.e(617).then(n.t.bind(n,7516,19)),"~docs/default/category-tutorialsidebar-category-core-5b3.json",7516],"8019ae33":[()=>n.e(11).then(n.bind(n,8097)),"@site/docs/modules/crypto/index.mdx",8097],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9a1b722f":[()=>n.e(569).then(n.t.bind(n,7997,19)),"~docs/default/category-tutorialsidebar-category-builders-464.json",7997],a6c5da82:[()=>n.e(932).then(n.bind(n,6787)),"@site/docs/modules/CIP25.mdx",6787],b5ddca27:[()=>n.e(258).then(n.bind(n,9488)),"@site/docs/modules/crypto/generating_keys.mdx",9488],bbe6d832:[()=>n.e(461).then(n.bind(n,8968)),"@site/docs/modules/cip36.mdx",8968],c377a04b:[()=>n.e(971).then(n.bind(n,1269)),"@site/docs/index.md",1269],d544c820:[()=>n.e(793).then(n.t.bind(n,7557,19)),"~docs/default/category-tutorialsidebar-category-chain-d45.json",7557],dd8d23a4:[()=>n.e(953).then(n.bind(n,9242)),"@site/docs/modules/builders/generating_transactions.mdx",9242],e7958d21:[()=>n.e(659).then(n.bind(n,566)),"@site/docs/crate_architecture.mdx",566],f41b0af6:[()=>n.e(650).then(n.bind(n,2388)),"@site/docs/modules/metadata.mdx",2388],f438ab24:[()=>n.e(698).then(n.t.bind(n,3769,19)),"/home/sebdev20/Documents/git/cardano-multiplatform-lib/docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769]};function u(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("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%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("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"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var c=n(9670),d=n(226);function f(e,t){if("*"===e)return i()({loading:u,loader:()=>n.e(972).then(n.bind(n,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=l[`${e}-${t}`],f={},p=[],h=[],m=(0,c.Z)(o);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=s[n];r&&(f[t]=r[0],p.push(r[1]),h.push(r[2]))})),i().Map({loading:u,loader:f,modules:p,webpack:()=>h,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)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 a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const l=n.split(".");l.slice(0,-1).forEach((e=>{o=o[e]})),o[l[l.length-1]]=a}));const l=i.__comp;delete i.__comp;const s=i.__context;return delete i.__context,r.createElement(d.z,{value:s},r.createElement(l,(0,a.Z)({},i,n)))}})}const p=[{path:"/search",component:f("/search","85e"),exact:!0},{path:"/",component:f("/","505"),routes:[{path:"/",component:f("/","98e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/builders",component:f("/category/builders","a18"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/chain",component:f("/category/chain","acc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/core",component:f("/category/core","634"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/crypto",component:f("/category/crypto","f41"),exact:!0,sidebar:"tutorialSidebar"},{path:"/category/modules",component:f("/category/modules","046"),exact:!0,sidebar:"tutorialSidebar"},{path:"/crate_architecture",component:f("/crate_architecture","7f5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting_started",component:f("/getting_started","67e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/modules/builders/generating_transactions",component:f("/modules/builders/generating_transactions","f8a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/modules/chain/",component:f("/modules/chain/","423"),exact:!0,sidebar:"tutorialSidebar"},{path:"/modules/CIP25",component:f("/modules/CIP25","7ab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/modules/cip36",component:f("/modules/cip36","838"),exact:!0,sidebar:"tutorialSidebar"},{path:"/modules/core/",component:f("/modules/core/","f14"),exact:!0,sidebar:"tutorialSidebar"},{path:"/modules/crypto/",component:f("/modules/crypto/","ae7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/modules/crypto/generating_keys",component:f("/modules/crypto/generating_keys","433"),exact:!0,sidebar:"tutorialSidebar"},{path:"/modules/metadata",component:f("/modules/metadata","80e"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"*",component:f("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(7294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},9383:(e,t,n)=>{"use strict";var r=n(7294),a=n(3935),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);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(7462),h=n(5742),m=n(2263),g=n(4996),y=n(6668),v=n(1944),b=n(4711),w=n(9727),E=n(3320),k=n(197);function S(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,m.Z)(),n=(0,b.l)();return r.createElement(h.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function x(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.Z)(),a=function(){const{siteConfig:{url:e}}=(0,m.Z)(),{pathname:t}=(0,c.TH)();return e+(0,g.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(h.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function _(){const{i18n:{currentLocale:e}}=(0,m.Z)(),{metadata:t,image:n}=(0,y.L)();return r.createElement(r.Fragment,null,r.createElement(h.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(x,null),r.createElement(S,null),r.createElement(k.Z,{tag:E.HX,locale:e}),r.createElement(h.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const C=new Map;function T(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}var L=n(8934),O=n(8940);function P(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 N=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==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:a}),P("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function A(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 I extends r.Component{constructor(e){super(e),this.previousLocation=void 0,this.routeUpdateCleanupCb=void 0,this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?P("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=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),A(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 r.createElement(N,{previousLocation:this.previousLocation,location:t},r.createElement(c.AW,{location:t,render:()=>e}))}}const R=I,D="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",F="__docusaurus-base-url-issue-banner-suggestion-container",B="__DOCUSAURUS_INSERT_BASEURL_BANNER";function $(e){return`\nwindow['${B}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${B}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${D}');\n if (!bannerContainer) {\n return;\n }\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="${F}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n var suggestionContainer = document.getElementById('${F}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function z(){const{siteConfig:{baseUrl:e}}=(0,m.Z)();return(0,r.useLayoutEffect)((()=>{window[B]=!1}),[]),r.createElement(r.Fragment,null,!l.Z.canUseDOM&&r.createElement(h.Z,null,r.createElement("script",null,$(e))),r.createElement("div",{id:D}))}function j(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,m.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?r.createElement(z,null):null}function U(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,m.Z)(),i=(0,g.Z)(e),{htmlLang:l,direction:s}=o[a];return r.createElement(h.Z,null,r.createElement("html",{lang:l,dir:s}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var H=n(4763);function Z(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return r.createElement(H.Z,null,r.createElement(O.M,null,r.createElement(L.t,null,r.createElement(f,null,r.createElement(U,null),r.createElement(_,null),r.createElement(j,null),r.createElement(R,{location:T(t)},e)))))}var Q=n(6887);const V=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 W=n(9670);const G=new Set,q=new Set,Y=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,K={prefetch(e){if(!(e=>!Y()&&!q.has(e)&&!G.has(e))(e))return!1;G.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,W.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?V(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!Y()&&!q.has(e))(e)&&(q.add(e),A(e))},X=Object.freeze(K);if(l.Z.canUseDOM){window.docusaurus=X;const e=a.hydrate;A(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(Z,null))),document.getElementById("__docusaurus"))}))}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>c,M:()=>d});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"index","docs":[{"id":"crate_architecture","path":"/crate_architecture","sidebar":"tutorialSidebar"},{"id":"getting_started","path":"/getting_started","sidebar":"tutorialSidebar"},{"id":"index","path":"/","sidebar":"tutorialSidebar"},{"id":"modules/builders/generating_transactions","path":"/modules/builders/generating_transactions","sidebar":"tutorialSidebar"},{"id":"modules/chain/index","path":"/modules/chain/","sidebar":"tutorialSidebar"},{"id":"modules/CIP25","path":"/modules/CIP25","sidebar":"tutorialSidebar"},{"id":"modules/cip36","path":"/modules/cip36","sidebar":"tutorialSidebar"},{"id":"modules/core/index","path":"/modules/core/","sidebar":"tutorialSidebar"},{"id":"modules/crypto/generating_keys","path":"/modules/crypto/generating_keys","sidebar":"tutorialSidebar"},{"id":"modules/crypto/index","path":"/modules/crypto/","sidebar":"tutorialSidebar"},{"id":"modules/metadata","path":"/modules/metadata","sidebar":"tutorialSidebar"},{"id":"/category/modules","path":"/category/modules","sidebar":"tutorialSidebar"},{"id":"/category/core","path":"/category/core","sidebar":"tutorialSidebar"},{"id":"/category/chain","path":"/category/chain","sidebar":"tutorialSidebar"},{"id":"/category/crypto","path":"/category/crypto","sidebar":"tutorialSidebar"},{"id":"/category/builders","path":"/category/builders","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/","label":"Introduction"}}}}],"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":"2.4.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.1"},"docusaurus-tailwindcss":{"type":"local"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.32.1"}}}'),u={siteConfig:a.Z,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},c=r.createContext(u);function d(e){let{children:t}=e;return r.createElement(c.Provider,{value:u},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(179);function s(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(u,{error:t}))}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function c(e){let{error:t,tryAgain:n}=e;return r.createElement(f,{fallback:()=>r.createElement(s,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(l.Z,null,r.createElement(s,{error:t,tryAgain:n})))}const d=e=>r.createElement(c,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??d)(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});var r=n(7294),a=n(405);function o(e){return r.createElement(a.ql,e)}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>m});var r=n(7462),a=n(7294),o=n(3727),i=n(8780),l=n(2263),s=n(3919),u=n(412);const c=a.createContext({collectLink:()=>{}}),d=()=>(0,a.useContext)(c);var f=n(4996);const p=e=>e.startsWith("/");function h(e,t){let{isNavLink:n,to:c,href:h,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":y,autoAddBaseUrl:v=!0,...b}=e;const{siteConfig:{trailingSlash:w,baseUrl:E}}=(0,l.Z)(),{withBaseUrl:k}=(0,f.C)(),S=d(),x=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>x.current));const _=c||h;const C=(0,s.Z)(_),T=_?.replace("pathname://","");let L=void 0!==T?(O=T,v&&p(O)?k(O):O):void 0;var O;L&&C&&(L=(0,i.applyTrailingSlash)(L,{trailingSlash:w,baseUrl:E}));const P=(0,a.useRef)(!1),N=n?o.OL:o.rU,A=u.Z.canUseIntersectionObserver,I=(0,a.useRef)(),R=()=>{P.current||null==L||(window.docusaurus.preload(L),P.current=!0)};(0,a.useEffect)((()=>(!A&&C&&null!=L&&window.docusaurus.prefetch(L),()=>{A&&I.current&&I.current.disconnect()})),[I,L,A,C]);const D=L?.startsWith("#")??!1,M=!L||!C||D;return M||y||S.collectLink(L),M?a.createElement("a",(0,r.Z)({ref:x,href:L},_&&!C&&{target:"_blank",rel:"noopener noreferrer"},b)):a.createElement(N,(0,r.Z)({},b,{onMouseEnter:R,onTouchStart:R,innerRef:e=>{x.current=e,A&&e&&C&&(I.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=L&&window.docusaurus.prefetch(L))}))})),I.current.observe(e))},to:L},n&&{isActive:g,activeClassName:m}))}const m=a.forwardRef(h)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s,I:()=>l});var r=n(7294);function a(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 o=n(7529);function i(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 o[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function s(e){let{children:t,id:n,values:o}=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 l=i({message:t,id:n});return r.createElement(r.Fragment,null,a(l,o))}},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._)}},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=".",n={};return function e(a,o){Object.entries(a).forEach((a=>{let[i,l]=a;const s=o?`${o}${t}${i}`:i;r(l)?e(l,s):n[s]=l}))}(e),n}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(7294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(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:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>m,gA:()=>f,_r:()=>c,Jo:()=>g,zh:()=>d,yW:()=>h,gB:()=>p});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 f(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 p(e){return d(e).versions}function h(e){const t=d(e);return l(t)}function m(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(7410),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.Z,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(4294)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const a={iconExternalLink:"iconExternalLink_nPIU"};function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("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"}))}},179:(e,t,n)=>{"use strict";n.d(t,{Z:()=>It});var r=n(7294),a=n(6010),o=n(4763),i=n(1944),l=n(7462),s=n(6550),u=n(5999),c=n(5936);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const h=(0,u.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 m(e){const t=e.children??h,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":h},r.createElement("a",(0,l.Z)({},e,{href:`#${d}`,onClick:a}),t))}var g=n(5281),y=n(9727);const v={skipToContent:"skipToContent_fXgn"};function b(){return r.createElement(m,{className:v.skipToContent})}var w=n(6668),E=n(9689);function k(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...s}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 15 15",width:t,height:n},s),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S={closeButton:"closeButton_CVFx"};function x(e){return r.createElement("button",(0,l.Z)({type:"button","aria-label":(0,u.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)}),r.createElement(k,{width:14,height:14,strokeWidth:3.1}))}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,l.Z)({},e,{className:(0,a.Z)(_.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,E.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:T.announcementBar,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:T.announcementBarPlaceholder}),r.createElement(C,{className:T.announcementBarContent}),i&&r.createElement(x,{onClick:n,className:T.announcementBarClose}))}var O=n(2961),P=n(2466);var N=n(902),A=n(3102);const I=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,O.e)(),t=(0,A.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,N.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 r.createElement(I.Provider,{value:n},t)}function D(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function M(){const e=(0,r.useContext)(I);if(!e)throw new N.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,A.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=M();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var B=n(2949),$=n(2389);function z(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("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 j(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("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 U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function H(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const l=(0,$.Z)(),s=(0,u.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"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(U.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",U.toggleButton,!l&&U.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!l,title:s,"aria-label":s,"aria-live":"polite"},r.createElement(z,{className:(0,a.Z)(U.toggleIcon,U.lightToggleIcon)}),r.createElement(j,{className:(0,a.Z)(U.toggleIcon,U.darkToggleIcon)})))}const Z=r.memo(H),Q={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,B.I)();return a?null:r.createElement(Z,{className:t,buttonClassName:"dark"===n?Q.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var W=n(1327);function G(){return r.createElement(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function q(){const e=(0,O.e)();return r.createElement("button",{type:"button","aria-label":(0,u.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()},r.createElement(k,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(G,null),r.createElement(V,{className:"margin-right--md"}),r.createElement(q,null))}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:a,href:o,label:i,html:s,isDropdownLink:u,prependBaseUrlToHref:c,...d}=e;const f=(0,X.Z)(a),p=(0,X.Z)(t),h=(0,X.Z)(o,{forcePrependBaseUrl:!0}),m=i&&o&&!(0,J.Z)(o),g=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,i,m&&r.createElement(te.Z,u&&{width:12,height:12}))};return o?r.createElement(K.Z,(0,l.Z)({href:c?h:o},d,g)):r.createElement(K.Z,(0,l.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},d,g))}function re(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(ne,(0,l.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function ae(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ne,(0,l.Z)({className:(0,a.Z)("menu__link",t)},o)))}function oe(e){let{mobile:t=!1,position:n,...a}=e;const o=t?ae:re;return r.createElement(o,(0,l.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ie=n(6043),le=n(8596),se=n(2263);function ue(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 ce(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const u=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{u.current&&!u.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)}}),[u]),r.createElement("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(ne,(0,l.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},s,{onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))}}),s.children??s.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(Ve,(0,l.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function de(e){let{items:t,className:n,position:o,onClick:i,...u}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:h}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&h(!d)}),[c,d,h]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(ne,(0,l.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},u,{onClick:e=>{e.preventDefault(),p()}}),u.children??u.label),r.createElement(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(Ve,(0,l.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function fe(e){let{mobile:t=!1,...n}=e;const a=t?de:ce;return r.createElement(a,n)}var pe=n(4711);function he(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("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 me={iconLanguage:"iconLanguage_nlXk"};var ge=n(1029),ye=n(412),ve=n(373),be=n(143),we=n(22),Ee=n(8202),ke=n(3926),Se=n(1073),xe=n(2539),_e=n(726);const Ce='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linejoin="round"></path></svg>',Te='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg>',Le='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M17 5H3h14zm0 5H3h14zm0 5H3h14z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linejoin="round"></path></svg>',Oe='<svg width="20" height="20" viewBox="0 0 20 20"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M18 3v4c0 2-2 4-4 4H2"></path><path d="M8 17l-6-6 6-6"></path></g></svg>',Pe='<svg width="40" height="40" viewBox="0 0 20 20" fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"></path></svg>',Ne='<svg viewBox="0 0 24 54"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M8 6v42M20 27H8.3"></path></g></svg>',Ae='<svg viewBox="0 0 24 54"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M8 6v21M20 27H8.3"></path></g></svg>',Ie={searchBar:"searchBar_RVTs",dropdownMenu:"dropdownMenu_qbY6",searchBarLeft:"searchBarLeft_MXDe",suggestion:"suggestion_fB_2",cursor:"cursor_eG29",hitTree:"hitTree_kk6K",hitIcon:"hitIcon_a7Zy",hitPath:"hitPath_ieM4",noResultsIcon:"noResultsIcon_EBY5",hitFooter:"hitFooter_E9YW",hitWrapper:"hitWrapper_sAK8",hitTitle:"hitTitle_vyVt",hitAction:"hitAction_NqkB",hideAction:"hideAction_vcyE",noResults:"noResults_l6Q3",searchBarContainer:"searchBarContainer_NW3z",searchBarLoadingRing:"searchBarLoadingRing_YnHq",searchClearButton:"searchClearButton_qk4g",searchIndexLoading:"searchIndexLoading_EJ1f",searchHintContainer:"searchHintContainer_Pkmr",searchHint:"searchHint_iIMx",focused:"focused_OWtg",input:"input_FOTf",hint:"hint_URu1",suggestions:"suggestions_X8XU",dataset:"dataset_QiCy",empty:"empty_eITn"};function Re(e){let{document:t,type:n,page:r,metadata:a,tokens:o,isInterOfTree:i,isLastOfTree:l}=e;const s=0===n,u=1===n,c=[];i?c.push(Ne):l&&c.push(Ae);const d=c.map((e=>`<span class="${Ie.hitTree}">${e}</span>`)),f=`<span class="${Ie.hitIcon}">${s?Ce:u?Te:Le}</span>`,p=[`<span class="${Ie.hitTitle}">${(0,_e.o)(t.t,(0,Se.m)(a,"t"),o)}</span>`];if(!i&&!l&&ge.H6){const e=r?(r.b??[]).concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;p.push(`<span class="${Ie.hitPath}">${(0,ke.e)(e??[])}</span>`)}else s||p.push(`<span class="${Ie.hitPath}">${(0,xe.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),o)}</span>`);const h=`<span class="${Ie.hitAction}">${Oe}</span>`;return[...d,f,`<span class="${Ie.hitWrapper}">`,...p,"</span>",h].join("")}function De(){return`<span class="${Ie.noResults}"><span class="${Ie.noResultsIcon}">${Pe}</span><span>${(0,u.I)({id:"theme.SearchBar.noResultsText",message:"No results"})}</span></span>`}var Me=n(311);async function Fe(){const e=await Promise.all([n.e(443),n.e(525)]).then(n.t.bind(n,8443,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const Be="_highlight";const $e=function(e){let{handleSearchBarToggle:t}=e;const{siteConfig:{baseUrl:n}}=(0,se.Z)(),o=(0,be.gA)();let i=n;try{const{preferredVersion:e}=(0,ve.J)(o?.pluginId??ge.gQ);e&&!e.isLast&&(i=e.path+"/")}catch(P){if(ge.l9&&!(P instanceof N.i6))throw P}const l=(0,s.k6)(),c=(0,s.TH)(),d=(0,r.useRef)(null),f=(0,r.useRef)("empty"),p=(0,r.useRef)(!1),[h,m]=(0,r.useState)(!1),[g,y]=(0,r.useState)(!1),[v,b]=(0,r.useState)(""),w=(0,r.useRef)(null),E=(0,r.useCallback)((async()=>{if("empty"!==f.current)return;f.current="loading",m(!0);const[{wrappedIndexes:e,zhDictionary:t},r]=await Promise.all([(0,we.w)(i),Fe()]);if(w.current=r(d.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,a.Z)(Ie.searchBar,{[Ie.searchBarLeft]:"left"===ge.pu}),noPrefix:!0,dropdownMenu:Ie.dropdownMenu,input:Ie.input,hint:Ie.hint,suggestions:Ie.suggestions,suggestion:Ie.suggestion,cursor:Ie.cursor,dataset:Ie.dataset,empty:Ie.empty}},[{source:(0,Ee.v)(e,t,ge.qo),templates:{suggestion:Re,empty:De,footer:e=>{let{query:t,isEmpty:r}=e;if(r)return;const a=document.createElement("a"),o=`${n}search?q=${encodeURIComponent(t)}`;a.href=o,a.textContent=(0,u.I)({id:"theme.SearchBar.seeAll",message:"See all results"}),a.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),w.current.autocomplete.close(),l.push(o))}));const i=document.createElement("div");return i.className=Ie.hitFooter,i.appendChild(a),i}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:a}=t;d.current?.blur();let o=n;if(ge.vc&&a.length>0){const e=new URLSearchParams;for(const t of a)e.append(Be,t);o+=`?${e.toString()}`}r&&(o+=r),l.push(o)})).on("autocomplete:closed",(()=>{d.current?.blur()})),f.current="done",m(!1),p.current){const e=d.current;e.value&&w.current.autocomplete.open(),e.focus()}}),[n,i,l]);(0,r.useEffect)((()=>{if(!ge.vc)return;const e=ye.Z.canUseDOM?new URLSearchParams(c.search).getAll(Be):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new ge.vc(t);n.unmark(),0!==e.length&&n.mark(e),b(e.join(" ")),w.current?.autocomplete.setVal(e.join(" "))}))}),[c.search,c.pathname]);const[k,S]=(0,r.useState)(!1),x=(0,r.useCallback)((()=>{p.current=!0,E(),S(!0),t?.(!0)}),[t,E]),_=(0,r.useCallback)((()=>{S(!1),t?.(!1)}),[t]),C=(0,r.useCallback)((()=>{E()}),[E]),T=(0,r.useCallback)((e=>{b(e.target.value),e.target.value&&y(!0)}),[]),L=!!ye.Z.canUseDOM&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{if(!ge.AY)return;const e=e=>{(L?e.metaKey:e.ctrlKey)&&"KeyK"===e.code&&(e.preventDefault(),d.current?.focus(),x())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[L,x]);const O=(0,r.useCallback)((()=>{const e=new URLSearchParams(c.search);e.delete(Be);const t=e.toString(),n=c.pathname+(""!=t?`?${t}`:"")+c.hash;n!=c.pathname+c.search+c.hash&&l.push(n),b(""),w.current?.autocomplete.setVal("")}),[c.pathname,c.search,c.hash,l]);return r.createElement("div",{className:(0,a.Z)("navbar__search",Ie.searchBarContainer,{[Ie.searchIndexLoading]:h&&g,[Ie.focused]:k})},r.createElement("input",{placeholder:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:C,onFocus:x,onBlur:_,onChange:T,ref:d,value:v}),r.createElement(Me.Z,{className:Ie.searchBarLoadingRing}),ge.AY&&ge.t_&&(""!==v?r.createElement("button",{className:Ie.searchClearButton,onClick:O},"\u2715"):r.createElement("div",{className:Ie.searchHintContainer},r.createElement("kbd",{className:Ie.searchHint},L?"\u2318":"ctrl"),r.createElement("kbd",{className:Ie.searchHint},"K"))))},ze={searchBox:"searchBox_ZlJk"};function je(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,ze.searchBox)},t)}var Ue=n(2802);const He=e=>e.docs.find((t=>t.id===e.mainDocId));const Ze=e=>e.docs.find((t=>t.id===e.mainDocId));const Qe={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,se.Z)(),f=(0,pe.l)(),{search:p,hash:h}=(0,s.TH)(),m=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${h}`;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":""}})),...a],g=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(fe,(0,l.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(he,{className:me.iconLanguage}),g),items:m}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(je,{className:n},r.createElement($e,null))},dropdown:fe,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const l=i?"li":"div";return r.createElement(l,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,be.Iw)(a),s=(0,Ue.vY)(t,a);return null===s?null:r.createElement(oe,(0,l.Z)({exact:!0},o,{isActive:()=>i?.path===s.path||!!i?.sidebar&&i.sidebar===s.sidebar,label:n??s.id,to:s.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,be.Iw)(a),s=(0,Ue.oz)(t,a).link;if(!s)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(oe,(0,l.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??s.label,to:s.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,Ue.lO)(a)[0],s=t??i.label,u=n??He(i).path;return r.createElement(oe,(0,l.Z)({},o,{label:s,to:u}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...c}=e;const{search:d,hash:f}=(0,s.TH)(),p=(0,be.Iw)(n),h=(0,be.gB)(n),{savePreferredVersionName:m}=(0,ve.J)(n),g=[...o,...h.map((e=>{const t=p.alternateDocVersions[e.name]??Ze(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...i],y=(0,Ue.lO)(n)[0],v=t&&g.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):y.label,b=t&&g.length>1?void 0:Ze(y).path;return g.length<=1?r.createElement(oe,(0,l.Z)({},c,{mobile:t,label:v,to:b,isActive:a?()=>!1:void 0})):r.createElement(fe,(0,l.Z)({},c,{mobile:t,label:v,to:b,items:g,isActive:a?()=>!1:void 0}))}};function Ve(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Qe[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function We(){const e=(0,O.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ve,(0,l.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Ge(e){return r.createElement("button",(0,l.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.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)"},"\u2190 Back to main menu"))}function qe(){const e=0===(0,w.L)().navbar.items.length,t=M();return r.createElement(r.Fragment,null,!e&&r.createElement(Ge,{onClick:()=>t.hide()}),t.content)}function Ye(){const e=(0,O.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?r.createElement(F,{header:r.createElement(Y,null),primaryMenu:r.createElement(We,null),secondaryMenu:r.createElement(qe,null)}):null}const Ke={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Xe(e){return r.createElement("div",(0,l.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Je(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,O.e)(),{navbarRef:l,isNavbarVisible:s}=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,P.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,c.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 r.createElement("nav",{ref:l,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Ke.navbarHideable,!s&&Ke.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Xe,{onClick:i.toggle}),r.createElement(Ye,null))}var et=n(8780);const tt={errorBoundaryError:"errorBoundaryError_a6uf"};function nt(e){return r.createElement("button",(0,l.Z)({type:"button"},e),r.createElement(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function rt(e){let{error:t}=e;const n=(0,et.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:tt.errorBoundaryError},n)}class at extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const ot="right";function it(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,l.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function lt(){const{toggle:e,shown:t}=(0,O.e)();return r.createElement("button",{onClick:e,"aria-label":(0,u.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"},r.createElement(it,null))}const st={colorModeToggle:"colorModeToggle_DEke"};function ut(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(at,{key:t,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})},r.createElement(Ve,e)))))}function ct(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function dt(){const e=(0,O.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??ot)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(ct,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(lt,null),r.createElement(G,null),r.createElement(ut,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(ut,{items:a}),r.createElement(V,{className:st.colorModeToggle}),!o&&r.createElement(je,null,r.createElement($e,null)))})}function ft(){return r.createElement(Je,null,r.createElement(dt,null))}function pt(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...s}=t,u=(0,X.Z)(n),c=(0,X.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(K.Z,(0,l.Z)({className:"footer__link-item"},a?{href:i?c:a}:{to:u},s),o,a&&!(0,J.Z)(a)&&r.createElement(te.Z,null))}function ht(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(pt,{item:t}))}function mt(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(ht,{key:t,item:e})))))}function gt(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(mt,{key:t,column:e}))))}function yt(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function vt(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(pt,{item:t})}function bt(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(vt,{item:e}),t.length!==n+1&&r.createElement(yt,null))))))}function wt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(gt,{columns:t}):r.createElement(bt,{links:t})}var Et=n(941);const kt={footerLogoLink:"footerLogoLink_BH7S"};function St(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(Et.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function xt(e){let{logo:t}=e;return t.href?r.createElement(K.Z,{href:t.href,className:kt.footerLogoLink,target:t.target},r.createElement(St,{logo:t})):r.createElement(St,{logo:t})}function _t(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Ct(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function Tt(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(Ct,{style:o,links:n&&n.length>0&&r.createElement(wt,{links:n}),logo:a&&r.createElement(xt,{logo:a}),copyright:t&&r.createElement(_t,{copyright:t})})}const Lt=r.memo(Tt),Ot=(0,N.Qc)([B.S,E.pl,P.OC,ve.L5,i.VC,function(e){let{children:t}=e;return r.createElement(A.n2,null,r.createElement(O.M,null,r.createElement(R,null,t)))}]);function Pt(e){let{children:t}=e;return r.createElement(Ot,null,t)}function Nt(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(nt,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(rt,{error:t})))))}const At={mainWrapper:"mainWrapper_z2l0"};function It(e){const{children:t,noFooter:n,wrapperClassName:l,title:s,description:u}=e;return(0,y.t)(),r.createElement(Pt,null,r.createElement(i.d,{title:s,description:u}),r.createElement(b,null),r.createElement(L,null),r.createElement(ft,null),r.createElement("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,At.mainWrapper,l)},r.createElement(o.Z,{fallback:e=>r.createElement(Nt,e)},t)),!n&&r.createElement(Lt,null))}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(7462),a=n(7294),o=n(9960),i=n(4996),l=n(2263),s=n(6668),u=n(941);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},l=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},l):l}function d(e){const{siteConfig:{title:t}}=(0,l.Z)(),{navbar:{title:n,logo:u}}=(0,s.L)(),{imageClassName:d,titleClassName:f,...p}=e,h=(0,i.Z)(u?.href||"/"),m=n?"":t,g=u?.alt??m;return a.createElement(o.Z,(0,r.Z)({to:h},p,u?.target&&{target:u.target}),u&&a.createElement(c,{logo:u,alt:g,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(5742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7462),a=n(7294),o=n(6010),i=n(2389),l=n(2949);const s={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function u(e){const t=(0,i.Z)(),{colorMode:n}=(0,l.I)(),{sources:u,className:c,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:u[e],alt:d,className:(0,o.Z)(s.themedImage,s[`themedImage--${e}`],c)},f)))))}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>s,z:()=>g});var r=n(7462),a=n(7294),o=n(412),i=n(1442);const l="ease-in-out";function s(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},c={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?u:c;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=r?.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 ${r?.easing??l}`,height:`${t}px`}}function s(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return d(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function p(e){if(!o.Z.canUseDOM)return e?u:c}function h(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:s}=e;const u=(0,a.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),a.createElement(t,{ref:u,style:s?void 0:p(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(u.current,n),i?.(n))},className:l},r)}function m(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[l,s]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&s(t)}),[o,t]),o?a.createElement(h,(0,r.Z)({},n,{collapsed:l})):null}function g(e){let{lazy:t,...n}=e;const r=t?m:h;return a.createElement(r,n)}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>h,pl:()=>p});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668);const s=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),c=()=>"true"===s.get(),d=e=>s.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&c()));(0,r.useEffect)((()=>{o(c())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&c()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},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:()=>g,S:()=>m});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668);const s=r.createContext(void 0),u="theme",c=(0,i.WA)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,p=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{c.set(f(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(p(e));(0,r.useEffect)((()=>{t&&c.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?d.dark:d.light:e),c.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!==u)return;const t=c.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===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[a,i])}();return r.createElement(s.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(s);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:()=>g});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(2802),s=n(902),u=n(12);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,u.WA)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(c(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=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=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.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){d.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=h();return r.createElement(p.Provider,{value:n},t)}function g(e){let{children:t}=e;return l.cE?r.createElement(m,null,t):r.createElement(r.Fragment,null,t)}function y(){const e=(0,r.useContext)(p);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]=y(),{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:()=>s,b:()=>l});var r=n(7294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function l(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function s(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t,version:n}=e;return r.createElement(o.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(o);if(null===e)throw new a.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),l=(n(1688),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);const c=r.createContext(void 0);function d(){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=d();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>s,n2:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function s(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=i,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:()=>u});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(){return a.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const s=!1;function u(){const[e,t]=(0,r.useState)((()=>s?"ssr":l()));return(0,r.useEffect)((()=>{function e(){t(l())}const n=s?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),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",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,{MN:()=>_,Wl:()=>h,_F:()=>v,cE:()=>f,jA:()=>m,xz:()=>p,hI:()=>x,lO:()=>E,vY:()=>S,oz:()=>k,s1:()=>w});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 f=!!i._r;function p(e){const t=(0,s.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function h(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=h(t);if(e)return e}}}function m(){const{pathname:e}=(0,a.TH)(),t=(0,u.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=b({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),y=(e,t)=>e.some((e=>v(e,t)));function v(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||y(e.items,t))}function b(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?b({sidebarItems:e.items,pathname:t}):null}function E(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 k(e,t){const n=E(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=E(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 x(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,l=i.find((e=>(0,a.LX)(r.pathname,e)));if(!l)return null;const s=l.sidebar,u=s?n.docsSidebars[s]:void 0;return{docElement:(0,o.H)(i),sidebarName:s,sidebarItems:u}}function _(e){return e.filter((e=>"category"!==e.type||!!h(e)))}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n(7294),a=n(6010),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);function c(e){let{title:t,description:n,keywords:a,image:i,children:l}=e;const c=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)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),l)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),l=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:l},r.createElement(o.Z,null,r.createElement("html",{className:l})),n)}function p(e){let{children:t}=e;const n=l(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>u,Ql:()=>s,i6:()=>l,zX:()=>o});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class l 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 s(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,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:()=>s,RF:()=>d});var r=n(7294),a=n(412),o=n(2389),i=n(902);const l=r.createContext(void 0);function s(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 r.createElement(l.Provider,{value:n},t)}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=c();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),n(1688);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:()=>o});var r=n(2263),a=n(6550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),l=o===n?e:e.replace(`/${o}/`,"/"),s=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${l}`:`${l}${e}/`}(r)}${s}`}}}},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}})},311:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294),a=n(6010);const o={loadingRing:"loadingRing_RJI3","loading-ring":"loading-ring_FB5o"};function i(e){let{className:t}=e;return r.createElement("div",{className:(0,a.Z)(o.loadingRing,t)},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null),r.createElement("div",null))}},22:(e,t,n)=>{"use strict";n.d(t,{w:()=>i});var r=n(1336),a=n.n(r),o=n(1029);async function i(e){{const t=await(await fetch(`${e}${o.J}`)).json(),n=t.map(((e,t)=>{let{documents:n,index:r}=e;return{type:t,documents:n,index:a().Index.load(r)}})),r=t.reduce(((e,t)=>{for(const n of t.index.invertedIndex)/\p{Unified_Ideograph}/u.test(n[0][0])&&e.add(n[0]);return e}),new Set);return{wrappedIndexes:n,zhDictionary:Array.from(r)}}}},8202:(e,t,n)=>{"use strict";n.d(t,{v:()=>s});var r=n(1336),a=n.n(r);var o=n(1029);function i(e){return l(e).concat(l(e.filter((e=>{const t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function l(e,t){return e.map((e=>({tokens:e.map((e=>e.value)),term:e.map((e=>({value:e.value,presence:a().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?a().Query.wildcard.TRAILING:a().Query.wildcard.NONE})))})))}function s(e,t,n){return function(r,l){const s=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return a()[t[0]].tokenizer(e).map((e=>e.toString()));let n=/[^-\s]+/g;return t.includes("zh")&&(n=/\w+|\p{Unified_Ideograph}+/gu),e.toLowerCase().match(n)||[]}(r,o.dK);if(0===s.length)return void l([]);const u=function(e,t){const n=function(e,t){const n=[];return function e(r,a){if(0===r.length)return void n.push(a);const o=r[0];if(/\p{Unified_Ideograph}/u.test(o)){const n=function(e,t){const n=[];return function e(r,a){let o=0,i=!1;for(const l of t)if(r.substr(0,l.length)===l){const t={missed:a.missed,term:a.term.concat({value:l})};r.length>l.length?e(r.substr(l.length),t):n.push(t),i=!0}else for(let t=l.length-1;t>o;t-=1){const s=l.substr(0,t);if(r.substr(0,t)===s){o=t;const l={missed:a.missed,term:a.term.concat({value:s,trailing:!0})};r.length>t?e(r.substr(t),l):n.push(l),i=!0;break}}i||(r.length>0?e(r.substr(1),{missed:a.missed+1,term:a.term}):a.term.length>0&&n.push(a))}(e,{missed:0,term:[]}),n.sort(((e,t)=>{const n=e.missed>0?1:0,r=t.missed>0?1:0;return n!==r?n-r:e.term.length-t.term.length})).map((e=>e.term))}(o,t);for(const t of n){const n=a.concat(...t);e(r.slice(1),n)}}else{const t=a.concat({value:o});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:a().Query.presence.REQUIRED,wildcard:a().Query.wildcard.LEADING|a().Query.wildcard.TRAILING})))}];for(const a of n)a[a.length-1].maybeTyping=!0;const r=[];for(const i of o.dK)if("en"===i)o._k||r.unshift(a().stopWordFilter);else{const e=a()[i];e.stopWordFilter&&r.unshift(e.stopWordFilter)}let l;if(r.length>0){const e=e=>r.reduce(((e,t)=>e.filter((e=>t(e.value)))),e);l=[];const t=[];for(const r of n){const n=e(r);l.push(n),n.length<r.length&&n.length>0&&t.push(n)}n.push(...t)}else l=n.slice();const s=[];for(const a of l)if(a.length>2)for(let e=a.length-1;e>=0;e-=1)s.push(a.slice(0,e).concat(a.slice(e+1)));return i(n).concat(i(s))}(s,t),c=[];e:for(const{term:t,tokens:a}of u)for(const{documents:r,index:o,type:i}of e)if(c.push(...o.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!c.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-c.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:0!==i&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:a,score:t.score}}))),c.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type>0&&t.page?e.findIndex((e=>e.document===t.page)):t.index,a=n.type>0&&n.page?e.findIndex((e=>e.document===n.page)):n.index;return-1===r&&(r=t.index),-1===a&&(a=n.index),r===a?0===t.type?-1:0===n.type?1:t.index-n.index:r-a}))}(c),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.some((e=>e.document===t.page))&&(n<e.length-1&&e[n+1].page===t.page?t.isInterOfTree=!0:t.isLastOfTree=!0)}))}(c),l(c)}}},3926:(e,t,n)=>{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{e:()=>r})},1690:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{X:()=>r})},1073:(e,t,n)=>{"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{m:()=>r})},2539:(e,t,n)=>{"use strict";n.d(t,{C:()=>a});var r=n(1690);function a(e,t,n){const o=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&o.push(a(e.substr(0,n),t)),o.push(`<mark>${(0,r.X)(e.substr(n,i.length))}</mark>`);const l=n+i.length;l<e.length&&o.push(a(e.substr(l),t));break}}return 0===o.length?n?`<mark>${(0,r.X)(e)}</mark>`:(0,r.X)(e):o.join("")}},726:(e,t,n)=>{"use strict";n.d(t,{o:()=>s});var r=n(1690),a=n(2539);const o=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const a=r.match(o);if(!a){t.push(r);break}a.index>0&&t.push(r.substring(0,a.index)),t.push(a[0]),n+=a.index+a[0].length,r=e.substring(n)}return t}var l=n(1029);function s(e,t,n,o){void 0===o&&(o=l.Hk);const{chunkIndex:s,chunks:u}=function(e,t,n){const o=[];let l=0,s=0,u=-1;for(;l<t.length;){const[c,d]=t[l];if(l+=1,!(c<s)){if(c>s){const t=i(e.substring(s,c)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}-1===u&&(u=o.length),s=c+d,o.push({html:(0,a.C)(e.substring(c,s),n,!0),textLength:d})}}if(s<e.length){const t=i(e.substring(s)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}return{chunkIndex:u,chunks:o}}(e,t,n),c=u.slice(0,s),d=u[s],f=[d.html],p=u.slice(s+1);let h=d.textLength,m=0,g=0,y=!1,v=!1;for(;h<o;)if((m<=g||0===p.length)&&c.length>0){const e=c.pop();h+e.textLength<=o?(f.unshift(e.html),m+=e.textLength,h+=e.textLength):(y=!0,c.length=0)}else{if(!(p.length>0))break;{const e=p.shift();h+e.textLength<=o?(f.push(e.html),g+=e.textLength,h+=e.textLength):(v=!0,p.length=0)}}return(y||c.length>0)&&f.unshift("\u2026"),(v||p.length>0)&&f.push("\u2026"),f.join("")}},1029:(e,t,n)=>{"use strict";n.d(t,{vc:()=>o,gQ:()=>p,H6:()=>u,l9:()=>h,dK:()=>r,_k:()=>a,pu:()=>f,AY:()=>c,t_:()=>d,J:()=>i,Hk:()=>s,qo:()=>l});n(1336);const r=["en"],a=!1,o=null,i="search-index.json?_=e9133563",l=8,s=50,u=!1,c=!0,d=!0,f="right",p=void 0,h=!0},6010:(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}},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>p,PP:()=>L,Ep:()=>f});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,f=i.length;f>=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};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 f(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 p(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 h(){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 m=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var y="popstate",v="hashchange";function b(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),m||(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,E=i.getUserConfirmation,k=void 0===E?g:E,S=i.keyLength,x=void 0===S?6:S,_=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 _&&(o=c(o,_)),p(o,r,n)}function T(){return Math.random().toString(36).substr(2,x)}var L=h();function O(e){(0,r.Z)(j,e),j.length=n.length,L.notifyListeners(j.location,j.action)}function P(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||I(C(e.state))}function N(){I(C(b()))}var A=!1;function I(e){if(A)A=!1,O();else{L.confirmTransitionTo(e,"POP",k,(function(t){t?O({action:"POP",location:e}):function(e){var t=j.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&&(A=!0,F(a))}(e)}))}}var R=C(b()),D=[R.key];function M(e){return _+f(e)}function F(e){n.go(e)}var B=0;function $(e){1===(B+=e)&&1===e?(window.addEventListener(y,P),o&&window.addEventListener(v,N)):0===B&&(window.removeEventListener(y,P),o&&window.removeEventListener(v,N))}var z=!1;var j={length:n.length,action:"POP",location:R,createHref:M,push:function(e,t){var r="PUSH",o=p(e,t,T(),j.location);L.confirmTransitionTo(o,r,k,(function(e){if(e){var t=M(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(j.location.key),u=D.slice(0,s+1);u.push(o.key),D=u,O({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,T(),j.location);L.confirmTransitionTo(o,r,k,(function(e){if(e){var t=M(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(j.location.key);-1!==s&&(D[s]=o.key),O({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 z||($(1),z=!0),function(){return z&&(z=!1,$(-1)),t()}},listen:function(e){var t=L.appendListener(e);return $(1),function(){$(-1),t()}}};return j}var E="hashchange",k={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 x(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function _(e){window.location.replace(S(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),m||(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)):"",v=k[u],b=v.encodePath,w=v.decodePath;function C(){var e=w(x());return y&&(e=c(e,y)),p(e)}var T=h();function L(e){(0,r.Z)(z,e),z.length=t.length,T.notifyListeners(z.location,z.action)}var O=!1,P=null;function N(){var e,t,n=x(),r=b(n);if(n!==r)_(r);else{var a=C(),i=z.location;if(!O&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(P===f(a))return;P=null,function(e){if(O)O=!1,L();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?L({action:t,location:e}):function(e){var t=z.location,n=D.lastIndexOf(f(t));-1===n&&(n=0);var r=D.lastIndexOf(f(e));-1===r&&(r=0);var a=n-r;a&&(O=!0,M(a))}(e)}))}}(a)}}var A=x(),I=b(A);A!==I&&_(I);var R=C(),D=[f(R)];function M(e){t.go(e)}var F=0;function B(e){1===(F+=e)&&1===e?window.addEventListener(E,N):0===F&&window.removeEventListener(E,N)}var $=!1;var z={length:t.length,action:"POP",location:R,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+b(y+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,z.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=f(r),a=b(y+t);if(x()!==a){P=t,function(e){window.location.hash=e}(a);var o=D.lastIndexOf(f(z.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=p(e,void 0,void 0,z.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=f(r),a=b(y+t);x()!==a&&(P=t,_(a));var o=D.indexOf(f(z.location));-1!==o&&(D[o]=t),L({action:n,location:r})}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return $||(B(1),$=!0),function(){return $&&($=!1,B(-1)),t()}},listen:function(e){var t=T.appendListener(e);return B(1),function(){B(-1),t()}}};return z}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=h();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,c.notifyListeners(w.location,w.action)}function m(){return Math.random().toString(36).substr(2,u)}var g=T(l,0,o.length-1),y=o.map((function(e){return p(e,void 0,"string"==typeof e?m():e.key||m())})),v=f;function b(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:v,push:function(e,t){var r="PUSH",a=p(e,t,m(),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=p(e,t,m(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(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,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var a=p(n);a&&a!==h&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),m=s(n),g=0;g<i.length;++g){var y=i[g];if(!(o[y]||r&&r[y]||m&&m[y]||l&&l[y])){var v=f(n,y);try{u(t,y,v)}catch(b){}}}}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)}},1336:(e,t,n)=>{var r,a;!function(){var o,i,l,s,u,c,d,f,p,h,m,g,y,v,b,w,E,k,S,x,_,C,T,L,O,P,N,A,I,R,D=function(e){var t=new D.Builder;return t.pipeline.add(D.trimmer,D.stopWordFilter,D.stemmer),t.searchPipeline.add(D.stemmer),e.call(t,t),t.build()};D.version="2.3.9",D.utils={},D.utils.warn=(o=this,function(e){o.console&&console.warn&&console.warn(e)}),D.utils.asString=function(e){return null==e?"":e.toString()},D.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r<n.length;r++){var a=n[r],o=e[a];if(Array.isArray(o))t[a]=o.slice();else{if("string"!=typeof o&&"number"!=typeof o&&"boolean"!=typeof o)throw new TypeError("clone is not deep and does not support nested objects");t[a]=o}}return t},D.FieldRef=function(e,t,n){this.docRef=e,this.fieldName=t,this._stringValue=n},D.FieldRef.joiner="/",D.FieldRef.fromString=function(e){var t=e.indexOf(D.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var n=e.slice(0,t),r=e.slice(t+1);return new D.FieldRef(r,n,e)},D.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+D.FieldRef.joiner+this.docRef),this._stringValue},D.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},D.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},D.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},D.Set.prototype.contains=function(e){return!!this.elements[e]},D.Set.prototype.intersect=function(e){var t,n,r,a=[];if(e===D.Set.complete)return this;if(e===D.Set.empty)return e;this.length<e.length?(t=this,n=e):(t=e,n=this),r=Object.keys(t.elements);for(var o=0;o<r.length;o++){var i=r[o];i in n.elements&&a.push(i)}return new D.Set(a)},D.Set.prototype.union=function(e){return e===D.Set.complete?D.Set.complete:e===D.Set.empty?this:new D.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},D.idf=function(e,t){var n=0;for(var r in e)"_index"!=r&&(n+=Object.keys(e[r]).length);var a=(t-n+.5)/(n+.5);return Math.log(1+Math.abs(a))},D.Token=function(e,t){this.str=e||"",this.metadata=t||{}},D.Token.prototype.toString=function(){return this.str},D.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},D.Token.prototype.clone=function(e){return e=e||function(e){return e},new D.Token(e(this.str,this.metadata),this.metadata)},D.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new D.Token(D.utils.asString(e).toLowerCase(),D.utils.clone(t))}));for(var n=e.toString().toLowerCase(),r=n.length,a=[],o=0,i=0;o<=r;o++){var l=o-i;if(n.charAt(o).match(D.tokenizer.separator)||o==r){if(l>0){var s=D.utils.clone(t)||{};s.position=[i,l],s.index=a.length,a.push(new D.Token(n.slice(i,o),s))}i=o+1}}return a},D.tokenizer.separator=/[\s\-]+/,D.Pipeline=function(){this._stack=[]},D.Pipeline.registeredFunctions=Object.create(null),D.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&D.utils.warn("Overwriting existing registered function: "+t),e.label=t,D.Pipeline.registeredFunctions[e.label]=e},D.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||D.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},D.Pipeline.load=function(e){var t=new D.Pipeline;return e.forEach((function(e){var n=D.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},D.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){D.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},D.Pipeline.prototype.after=function(e,t){D.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},D.Pipeline.prototype.before=function(e,t){D.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},D.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},D.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n<t;n++){for(var r=this._stack[n],a=[],o=0;o<e.length;o++){var i=r(e[o],o,e);if(null!=i&&""!==i)if(Array.isArray(i))for(var l=0;l<i.length;l++)a.push(i[l]);else a.push(i)}e=a}return e},D.Pipeline.prototype.runString=function(e,t){var n=new D.Token(e,t);return this.run([n]).map((function(e){return e.toString()}))},D.Pipeline.prototype.reset=function(){this._stack=[]},D.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return D.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},D.Vector=function(e){this._magnitude=0,this.elements=e||[]},D.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,n=this.elements.length/2,r=n-t,a=Math.floor(r/2),o=this.elements[2*a];r>1&&(o<e&&(t=a),o>e&&(n=a),o!=e);)r=n-t,a=t+Math.floor(r/2),o=this.elements[2*a];return o==e||o>e?2*a:o<e?2*(a+1):void 0},D.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},D.Vector.prototype.upsert=function(e,t,n){this._magnitude=0;var r=this.positionForIndex(e);this.elements[r]==e?this.elements[r+1]=n(this.elements[r+1],t):this.elements.splice(r,0,e,t)},D.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,n=1;n<t;n+=2){var r=this.elements[n];e+=r*r}return this._magnitude=Math.sqrt(e)},D.Vector.prototype.dot=function(e){for(var t=0,n=this.elements,r=e.elements,a=n.length,o=r.length,i=0,l=0,s=0,u=0;s<a&&u<o;)(i=n[s])<(l=r[u])?s+=2:i>l?u+=2:i==l&&(t+=n[s+1]*r[u+1],s+=2,u+=2);return t},D.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},D.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t<this.elements.length;t+=2,n++)e[n]=this.elements[t];return e},D.Vector.prototype.toJSON=function(){return this.elements},D.stemmer=(i={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},l={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},d="^("+(u="[^aeiou][^aeiouy]*")+")?"+(c=(s="[aeiouy]")+"[aeiou]*")+u+"("+c+")?$",f="^("+u+")?"+c+u+c+u,p="^("+u+")?"+s,h=new RegExp("^("+u+")?"+c+u),m=new RegExp(f),g=new RegExp(d),y=new RegExp(p),v=/^(.+?)(ss|i)es$/,b=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,E=/^(.+?)(ed|ing)$/,k=/.$/,S=/(at|bl|iz)$/,x=new RegExp("([^aeiouylsz])\\1$"),_=new RegExp("^"+u+s+"[^aeiouwxy]$"),C=/^(.+?[^aeiou])y$/,T=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,L=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,O=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,P=/^(.+?)(s|t)(ion)$/,N=/^(.+?)e$/,A=/ll$/,I=new RegExp("^"+u+s+"[^aeiouwxy]$"),R=function(e){var t,n,r,a,o,s,u;if(e.length<3)return e;if("y"==(r=e.substr(0,1))&&(e=r.toUpperCase()+e.substr(1)),o=b,(a=v).test(e)?e=e.replace(a,"$1$2"):o.test(e)&&(e=e.replace(o,"$1$2")),o=E,(a=w).test(e)){var c=a.exec(e);(a=h).test(c[1])&&(a=k,e=e.replace(a,""))}else o.test(e)&&(t=(c=o.exec(e))[1],(o=y).test(t)&&(s=x,u=_,(o=S).test(e=t)?e+="e":s.test(e)?(a=k,e=e.replace(a,"")):u.test(e)&&(e+="e")));return(a=C).test(e)&&(e=(t=(c=a.exec(e))[1])+"i"),(a=T).test(e)&&(t=(c=a.exec(e))[1],n=c[2],(a=h).test(t)&&(e=t+i[n])),(a=L).test(e)&&(t=(c=a.exec(e))[1],n=c[2],(a=h).test(t)&&(e=t+l[n])),o=P,(a=O).test(e)?(t=(c=a.exec(e))[1],(a=m).test(t)&&(e=t)):o.test(e)&&(t=(c=o.exec(e))[1]+c[2],(o=m).test(t)&&(e=t)),(a=N).test(e)&&(t=(c=a.exec(e))[1],o=g,s=I,((a=m).test(t)||o.test(t)&&!s.test(t))&&(e=t)),o=m,(a=A).test(e)&&o.test(e)&&(a=k,e=e.replace(a,"")),"y"==r&&(e=r.toLowerCase()+e.substr(1)),e},function(e){return e.update(R)}),D.Pipeline.registerFunction(D.stemmer,"stemmer"),D.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},D.stopWordFilter=D.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),D.Pipeline.registerFunction(D.stopWordFilter,"stopWordFilter"),D.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},D.Pipeline.registerFunction(D.trimmer,"trimmer"),D.TokenSet=function(){this.final=!1,this.edges={},this.id=D.TokenSet._nextId,D.TokenSet._nextId+=1},D.TokenSet._nextId=1,D.TokenSet.fromArray=function(e){for(var t=new D.TokenSet.Builder,n=0,r=e.length;n<r;n++)t.insert(e[n]);return t.finish(),t.root},D.TokenSet.fromClause=function(e){return"editDistance"in e?D.TokenSet.fromFuzzyString(e.term,e.editDistance):D.TokenSet.fromString(e.term)},D.TokenSet.fromFuzzyString=function(e,t){for(var n=new D.TokenSet,r=[{node:n,editsRemaining:t,str:e}];r.length;){var a=r.pop();if(a.str.length>0){var o,i=a.str.charAt(0);i in a.node.edges?o=a.node.edges[i]:(o=new D.TokenSet,a.node.edges[i]=o),1==a.str.length&&(o.final=!0),r.push({node:o,editsRemaining:a.editsRemaining,str:a.str.slice(1)})}if(0!=a.editsRemaining){if("*"in a.node.edges)var l=a.node.edges["*"];else{l=new D.TokenSet;a.node.edges["*"]=l}if(0==a.str.length&&(l.final=!0),r.push({node:l,editsRemaining:a.editsRemaining-1,str:a.str}),a.str.length>1&&r.push({node:a.node,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)}),1==a.str.length&&(a.node.final=!0),a.str.length>=1){if("*"in a.node.edges)var s=a.node.edges["*"];else{s=new D.TokenSet;a.node.edges["*"]=s}1==a.str.length&&(s.final=!0),r.push({node:s,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)})}if(a.str.length>1){var u,c=a.str.charAt(0),d=a.str.charAt(1);d in a.node.edges?u=a.node.edges[d]:(u=new D.TokenSet,a.node.edges[d]=u),1==a.str.length&&(u.final=!0),r.push({node:u,editsRemaining:a.editsRemaining-1,str:c+a.str.slice(2)})}}}return n},D.TokenSet.fromString=function(e){for(var t=new D.TokenSet,n=t,r=0,a=e.length;r<a;r++){var o=e[r],i=r==a-1;if("*"==o)t.edges[o]=t,t.final=i;else{var l=new D.TokenSet;l.final=i,t.edges[o]=l,t=l}}return n},D.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var n=t.pop(),r=Object.keys(n.node.edges),a=r.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<a;o++){var i=r[o];t.push({prefix:n.prefix.concat(i),node:n.node.edges[i]})}}return e},D.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),n=t.length,r=0;r<n;r++){var a=t[r];e=e+a+this.edges[a].id}return e},D.TokenSet.prototype.intersect=function(e){for(var t=new D.TokenSet,n=void 0,r=[{qNode:e,output:t,node:this}];r.length;){n=r.pop();for(var a=Object.keys(n.qNode.edges),o=a.length,i=Object.keys(n.node.edges),l=i.length,s=0;s<o;s++)for(var u=a[s],c=0;c<l;c++){var d=i[c];if(d==u||"*"==u){var f=n.node.edges[d],p=n.qNode.edges[u],h=f.final&&p.final,m=void 0;d in n.output.edges?(m=n.output.edges[d]).final=m.final||h:((m=new D.TokenSet).final=h,n.output.edges[d]=m),r.push({qNode:p,output:m,node:f})}}}return t},D.TokenSet.Builder=function(){this.previousWord="",this.root=new D.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},D.TokenSet.Builder.prototype.insert=function(e){var t,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var r=0;r<e.length&&r<this.previousWord.length&&e[r]==this.previousWord[r];r++)n++;this.minimize(n),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(r=n;r<e.length;r++){var a=new D.TokenSet,o=e[r];t.edges[o]=a,this.uncheckedNodes.push({parent:t,char:o,child:a}),t=a}t.final=!0,this.previousWord=e},D.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},D.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},D.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},D.Index.prototype.search=function(e){return this.query((function(t){new D.QueryParser(e,t).parse()}))},D.Index.prototype.query=function(e){for(var t=new D.Query(this.fields),n=Object.create(null),r=Object.create(null),a=Object.create(null),o=Object.create(null),i=Object.create(null),l=0;l<this.fields.length;l++)r[this.fields[l]]=new D.Vector;e.call(t,t);for(l=0;l<t.clauses.length;l++){var s=t.clauses[l],u=null,c=D.Set.empty;u=s.usePipeline?this.pipeline.runString(s.term,{fields:s.fields}):[s.term];for(var d=0;d<u.length;d++){var f=u[d];s.term=f;var p=D.TokenSet.fromClause(s),h=this.tokenSet.intersect(p).toArray();if(0===h.length&&s.presence===D.Query.presence.REQUIRED){for(var m=0;m<s.fields.length;m++){o[N=s.fields[m]]=D.Set.empty}break}for(var g=0;g<h.length;g++){var y=h[g],v=this.invertedIndex[y],b=v._index;for(m=0;m<s.fields.length;m++){var w=v[N=s.fields[m]],E=Object.keys(w),k=y+"/"+N,S=new D.Set(E);if(s.presence==D.Query.presence.REQUIRED&&(c=c.union(S),void 0===o[N]&&(o[N]=D.Set.complete)),s.presence!=D.Query.presence.PROHIBITED){if(r[N].upsert(b,s.boost,(function(e,t){return e+t})),!a[k]){for(var x=0;x<E.length;x++){var _,C=E[x],T=new D.FieldRef(C,N),L=w[C];void 0===(_=n[T])?n[T]=new D.MatchData(y,N,L):_.add(y,N,L)}a[k]=!0}}else void 0===i[N]&&(i[N]=D.Set.empty),i[N]=i[N].union(S)}}}if(s.presence===D.Query.presence.REQUIRED)for(m=0;m<s.fields.length;m++){o[N=s.fields[m]]=o[N].intersect(c)}}var O=D.Set.complete,P=D.Set.empty;for(l=0;l<this.fields.length;l++){var N;o[N=this.fields[l]]&&(O=O.intersect(o[N])),i[N]&&(P=P.union(i[N]))}var A=Object.keys(n),I=[],R=Object.create(null);if(t.isNegated()){A=Object.keys(this.fieldVectors);for(l=0;l<A.length;l++){T=A[l];var M=D.FieldRef.fromString(T);n[T]=new D.MatchData}}for(l=0;l<A.length;l++){var F=(M=D.FieldRef.fromString(A[l])).docRef;if(O.contains(F)&&!P.contains(F)){var B,$=this.fieldVectors[M],z=r[M.fieldName].similarity($);if(void 0!==(B=R[F]))B.score+=z,B.matchData.combine(n[M]);else{var j={ref:F,score:z,matchData:n[M]};R[F]=j,I.push(j)}}}return I.sort((function(e,t){return t.score-e.score}))},D.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:D.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},D.Index.load=function(e){var t={},n={},r=e.fieldVectors,a=Object.create(null),o=e.invertedIndex,i=new D.TokenSet.Builder,l=D.Pipeline.load(e.pipeline);e.version!=D.version&&D.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+D.version+"' does not match serialized index '"+e.version+"'");for(var s=0;s<r.length;s++){var u=(d=r[s])[0],c=d[1];n[u]=new D.Vector(c)}for(s=0;s<o.length;s++){var d,f=(d=o[s])[0],p=d[1];i.insert(f),a[f]=p}return i.finish(),t.fields=e.fields,t.fieldVectors=n,t.invertedIndex=a,t.tokenSet=i.root,t.pipeline=l,new D.Index(t)},D.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=D.tokenizer,this.pipeline=new D.Pipeline,this.searchPipeline=new D.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},D.Builder.prototype.ref=function(e){this._ref=e},D.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},D.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},D.Builder.prototype.k1=function(e){this._k1=e},D.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var a=0;a<r.length;a++){var o=r[a],i=this._fields[o].extractor,l=i?i(e):e[o],s=this.tokenizer(l,{fields:[o]}),u=this.pipeline.run(s),c=new D.FieldRef(n,o),d=Object.create(null);this.fieldTermFrequencies[c]=d,this.fieldLengths[c]=0,this.fieldLengths[c]+=u.length;for(var f=0;f<u.length;f++){var p=u[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var h=Object.create(null);h._index=this.termIndex,this.termIndex+=1;for(var m=0;m<r.length;m++)h[r[m]]=Object.create(null);this.invertedIndex[p]=h}null==this.invertedIndex[p][o][n]&&(this.invertedIndex[p][o][n]=Object.create(null));for(var g=0;g<this.metadataWhitelist.length;g++){var y=this.metadataWhitelist[g],v=p.metadata[y];null==this.invertedIndex[p][o][n][y]&&(this.invertedIndex[p][o][n][y]=[]),this.invertedIndex[p][o][n][y].push(v)}}}},D.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,n={},r={},a=0;a<t;a++){var o=D.FieldRef.fromString(e[a]),i=o.fieldName;r[i]||(r[i]=0),r[i]+=1,n[i]||(n[i]=0),n[i]+=this.fieldLengths[o]}var l=Object.keys(this._fields);for(a=0;a<l.length;a++){var s=l[a];n[s]=n[s]/r[s]}this.averageFieldLength=n},D.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),n=t.length,r=Object.create(null),a=0;a<n;a++){for(var o=D.FieldRef.fromString(t[a]),i=o.fieldName,l=this.fieldLengths[o],s=new D.Vector,u=this.fieldTermFrequencies[o],c=Object.keys(u),d=c.length,f=this._fields[i].boost||1,p=this._documents[o.docRef].boost||1,h=0;h<d;h++){var m,g,y,v=c[h],b=u[v],w=this.invertedIndex[v]._index;void 0===r[v]?(m=D.idf(this.invertedIndex[v],this.documentCount),r[v]=m):m=r[v],g=m*((this._k1+1)*b)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[i]))+b),g*=f,g*=p,y=Math.round(1e3*g)/1e3,s.insert(w,y)}e[o]=s}this.fieldVectors=e},D.Builder.prototype.createTokenSet=function(){this.tokenSet=D.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},D.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new D.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},D.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},D.MatchData=function(e,t,n){for(var r=Object.create(null),a=Object.keys(n||{}),o=0;o<a.length;o++){var i=a[o];r[i]=n[i].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=r)},D.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),n=0;n<t.length;n++){var r=t[n],a=Object.keys(e.metadata[r]);null==this.metadata[r]&&(this.metadata[r]=Object.create(null));for(var o=0;o<a.length;o++){var i=a[o],l=Object.keys(e.metadata[r][i]);null==this.metadata[r][i]&&(this.metadata[r][i]=Object.create(null));for(var s=0;s<l.length;s++){var u=l[s];null==this.metadata[r][i][u]?this.metadata[r][i][u]=e.metadata[r][i][u]:this.metadata[r][i][u]=this.metadata[r][i][u].concat(e.metadata[r][i][u])}}}},D.MatchData.prototype.add=function(e,t,n){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=n);if(t in this.metadata[e])for(var r=Object.keys(n),a=0;a<r.length;a++){var o=r[a];o in this.metadata[e][t]?this.metadata[e][t][o]=this.metadata[e][t][o].concat(n[o]):this.metadata[e][t][o]=n[o]}else this.metadata[e][t]=n},D.Query=function(e){this.clauses=[],this.allFields=e},D.Query.wildcard=new String("*"),D.Query.wildcard.NONE=0,D.Query.wildcard.LEADING=1,D.Query.wildcard.TRAILING=2,D.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},D.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=D.Query.wildcard.NONE),e.wildcard&D.Query.wildcard.LEADING&&e.term.charAt(0)!=D.Query.wildcard&&(e.term="*"+e.term),e.wildcard&D.Query.wildcard.TRAILING&&e.term.slice(-1)!=D.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=D.Query.presence.OPTIONAL),this.clauses.push(e),this},D.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=D.Query.presence.PROHIBITED)return!1;return!0},D.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,D.utils.clone(t))}),this),this;var n=t||{};return n.term=e.toString(),this.clause(n),this},D.QueryParseError=function(e,t,n){this.name="QueryParseError",this.message=e,this.start=t,this.end=n},D.QueryParseError.prototype=new Error,D.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},D.QueryLexer.prototype.run=function(){for(var e=D.QueryLexer.lexText;e;)e=e(this)},D.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,n=this.pos,r=0;r<this.escapeCharPositions.length;r++)n=this.escapeCharPositions[r],e.push(this.str.slice(t,n)),t=n+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},D.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},D.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},D.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return D.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},D.QueryLexer.prototype.width=function(){return this.pos-this.start},D.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},D.QueryLexer.prototype.backup=function(){this.pos-=1},D.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=D.QueryLexer.EOS&&this.backup()},D.QueryLexer.prototype.more=function(){return this.pos<this.length},D.QueryLexer.EOS="EOS",D.QueryLexer.FIELD="FIELD",D.QueryLexer.TERM="TERM",D.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",D.QueryLexer.BOOST="BOOST",D.QueryLexer.PRESENCE="PRESENCE",D.QueryLexer.lexField=function(e){return e.backup(),e.emit(D.QueryLexer.FIELD),e.ignore(),D.QueryLexer.lexText},D.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(D.QueryLexer.TERM)),e.ignore(),e.more())return D.QueryLexer.lexText},D.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(D.QueryLexer.EDIT_DISTANCE),D.QueryLexer.lexText},D.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(D.QueryLexer.BOOST),D.QueryLexer.lexText},D.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(D.QueryLexer.TERM)},D.QueryLexer.termSeparator=D.tokenizer.separator,D.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==D.QueryLexer.EOS)return D.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return D.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(D.QueryLexer.TERM),D.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(D.QueryLexer.TERM),D.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(D.QueryLexer.PRESENCE),D.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(D.QueryLexer.PRESENCE),D.QueryLexer.lexText;if(t.match(D.QueryLexer.termSeparator))return D.QueryLexer.lexTerm}else e.escapeCharacter()}},D.QueryParser=function(e,t){this.lexer=new D.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},D.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=D.QueryParser.parseClause;e;)e=e(this);return this.query},D.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},D.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},D.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},D.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case D.QueryLexer.PRESENCE:return D.QueryParser.parsePresence;case D.QueryLexer.FIELD:return D.QueryParser.parseField;case D.QueryLexer.TERM:return D.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new D.QueryParseError(n,t.start,t.end)}},D.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=D.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=D.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new D.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new D.QueryParseError(n,t.start,t.end)}switch(r.type){case D.QueryLexer.FIELD:return D.QueryParser.parseField;case D.QueryLexer.TERM:return D.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new D.QueryParseError(n,r.start,r.end)}}},D.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new D.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var a=e.peekLexeme();if(null==a){r="expecting term, found nothing";throw new D.QueryParseError(r,t.start,t.end)}if(a.type===D.QueryLexer.TERM)return D.QueryParser.parseTerm;r="expecting term, found '"+a.type+"'";throw new D.QueryParseError(r,a.start,a.end)}},D.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case D.QueryLexer.TERM:return e.nextClause(),D.QueryParser.parseTerm;case D.QueryLexer.FIELD:return e.nextClause(),D.QueryParser.parseField;case D.QueryLexer.EDIT_DISTANCE:return D.QueryParser.parseEditDistance;case D.QueryLexer.BOOST:return D.QueryParser.parseBoost;case D.QueryLexer.PRESENCE:return e.nextClause(),D.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new D.QueryParseError(r,n.start,n.end)}else e.nextClause()}},D.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new D.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case D.QueryLexer.TERM:return e.nextClause(),D.QueryParser.parseTerm;case D.QueryLexer.FIELD:return e.nextClause(),D.QueryParser.parseField;case D.QueryLexer.EDIT_DISTANCE:return D.QueryParser.parseEditDistance;case D.QueryLexer.BOOST:return D.QueryParser.parseBoost;case D.QueryLexer.PRESENCE:return e.nextClause(),D.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new D.QueryParseError(r,a.start,a.end)}else e.nextClause()}},D.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new D.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case D.QueryLexer.TERM:return e.nextClause(),D.QueryParser.parseTerm;case D.QueryLexer.FIELD:return e.nextClause(),D.QueryParser.parseField;case D.QueryLexer.EDIT_DISTANCE:return D.QueryParser.parseEditDistance;case D.QueryLexer.BOOST:return D.QueryParser.parseBoost;case D.QueryLexer.PRESENCE:return e.nextClause(),D.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new D.QueryParseError(r,a.start,a.end)}else e.nextClause()}},void 0===(a="function"==typeof(r=function(){return D})?r.call(t,n,t,e):r)||(e.exports=a)}()},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))&&p(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&&p(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:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(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)},7418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var o,i,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),s=1;s<arguments.length;s++){for(var u in o=Object(arguments[s]))n.call(o,u)&&(l[u]=o[u]);if(t){i=t(o);for(var c=0;c<i.length;c++)r.call(o,i[c])&&(l[i[c]]=o[i[c]])}}return l}},7410:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=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};return r.hooks.run("before-tokenize",o),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){var t=[],n=e.head.next;for(;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 f in n)if(n.hasOwnProperty(f)&&n[f]){var p=n[f];p=Array.isArray(p)?p:[p];for(var h=0;h<p.length;++h){if(d&&d.cause==f+","+h)return;var m=p[h],g=m.inside,y=!!m.lookbehind,v=!!m.greedy,b=m.alias;if(v&&!m.pattern.global){var w=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,w+"g")}for(var E=m.pattern||m,k=l.next,S=c;k!==t.tail&&!(d&&S>=d.reach);S+=k.value.length,k=k.next){var x=k.value;if(t.length>e.length)return;if(!(x instanceof a)){var _,C=1;if(v){if(!(_=o(E,S,e,y))||_.index>=e.length)break;var T=_.index,L=_.index+_[0].length,O=S;for(O+=k.value.length;T>=O;)O+=(k=k.next).value.length;if(S=O-=k.value.length,k.value instanceof a)continue;for(var P=k;P!==t.tail&&(O<L||"string"==typeof P.value);P=P.next)C++,O+=P.value.length;C--,x=e.slice(S,O),_.index-=S}else if(!(_=o(E,0,x,y)))continue;T=_.index;var N=_[0],A=x.slice(0,T),I=x.slice(T+N.length),R=S+x.length;d&&R>d.reach&&(d.reach=R);var D=k.prev;if(A&&(D=s(t,D,A),S+=A.length),u(t,D,C),k=s(t,D,new a(f,g?r.tokenize(N,g):N,b,N)),I&&s(t,k,I),C>1){var M={cause:f+","+h,reach:R};i(e,t,n,k.prev,S,M),d&&M.reach>d.reach&&(d.reach=M.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}(),a=r;r.default=r,a.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"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var r={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.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:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i<a.length;i++)o[a[i]]=e.languages.bash[a[i]];e.languages.shell=e.languages.bash}(a),a.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:/[{}[\];(),.:]/},a.languages.c=a.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|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.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},a.languages.c.string],char:a.languages.c.char,comment:a.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:a.languages.c}}}}),a.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 a.languages.c.boolean,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"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,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;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;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("\\[(?:[^[\\]\"']|"+n.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":[n,{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}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={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|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:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.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}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.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:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.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:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.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:a.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"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.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")),a.languages.js=a.languages.javascript,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}(a),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}(a),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;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=t[n];if("code"===a.type){var o=a.content[1],i=a.content[3];if(o&&i&&"code-language"===o.type&&"code-block"===i.type&&"string"==typeof o.content){var l=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),s="language-"+(l=(/[a-z][\w-]*/i.exec(l)||[""])[0].toLowerCase());i.alias?"string"==typeof i.alias?i.alias=[i.alias,s]:i.alias.push(s):i.alias=[s]}}else e(a.content)}}(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],u=/language-(.+)/.exec(o);if(u){n=u[1];break}}var c,d=e.languages[n];if(d)t.content=e.highlight((c=t.content,c.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;if("#"===(t=t.toLowerCase())[0])return n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),s(n);var r=l[t];return r||e}))),d,n);else if(n&&"none"!==n&&e.plugins.autoloader){var f="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=f,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(f);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))}))}}}));var i=RegExp(e.languages.markup.tag.pattern.source,"gi"),l={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.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:a.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+/},a.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=f(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=c(0);"variable"===i.type&&(p(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===c(0).content&&(n++,p(c(0),"property-mutation"),a.length>0)){var l=f(/^\{$/,/^\}$/);if(-1===l)continue;for(var s=n;s<l;s++){var u=t[s];"variable"===u.type&&a.indexOf(u.content)>=0&&p(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!1}return!0}function f(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 p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),a.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(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function s(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function u(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,s(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=s(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=l(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);return i=0,function e(t){for(var n=0;n<t.length;n++){if(i>=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,l=o.indexOf(a);if(-1!==l){++i;var s=o.substring(0,l),d=u(c[a]),p=o.substring(l+a.length),h=[];if(s&&h.push(s),h.push(d),p){var m=[p];e(m),h.push.apply(h,m)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(h)),n+=h.length-1):r.content=h}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,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 d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r<a;r++){var o=n[r];if("string"!=typeof o){var i=o.content;if(Array.isArray(i))if("template-string"===o.type){var l=i[1];if(3===i.length&&"string"!=typeof l&&"embedded-code"===l.type){var s=f(l),u=l.alias,d=Array.isArray(u)?u[0]:u,p=e.languages[d];if(!p)continue;i[1]=c(s,p,d)}}else t(i);else"string"!=typeof i&&t([i])}}}(t.tokens)}))}(a),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}(a),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];"RegExp"===e.util.type(o)&&(o=e.languages.javascript[a]={pattern:o});var i=o.inside||{};o.inside=i,i["maybe-class-name"]=/^[A-Z][\s\S]*/}}(a),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)}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 i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},l=function(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;if("string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?n.length>0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var s=i(a);r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(s+=i(t[r+1]),t.splice(r+1,1)),r>0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(s=i(t[r-1])+s,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",s,null,s)}a.content&&"string"!=typeof a.content&&l(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||l(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.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/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],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],f="string"==typeof u?u:u.content,p=t(r,c),h=f.indexOf(p);if(h>-1){++a;var m=f.substring(0,h),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(h+p.length),v=[];m&&v.push.apply(v,i([m])),v.push(g),y&&v.push.apply(v,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.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 a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.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:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.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/}),a.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 a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?: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|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)\b/i,{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,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},767:()=>{!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}(Prism)},4294:(e,t,n)=>{var r={"./prism-rust":767};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=4294},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(7418),o=n(3840);function i(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."}if(!r)throw Error(i(227));var l=new Set,s={};function u(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)l.add(t[e])}var d=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),f=/^[: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]*$/,p=Object.prototype.hasOwnProperty,h={},m={};function g(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 y={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){y[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];y[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){y[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){y[e]=new g(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){y[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){y[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){y[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){y[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){y[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var v=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function w(e,t,n,r){var a=y.hasOwnProperty(t)?y[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!!p.call(m,e)||!p.call(h,e)&&(f.test(e)?m[e]=!0:(h[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(v,b);y[t]=new g(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(v,b);y[t]=new g(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(v,b);y[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){y[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),y.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){y[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var E=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=60103,S=60106,x=60107,_=60108,C=60114,T=60109,L=60110,O=60112,P=60113,N=60120,A=60115,I=60116,R=60121,D=60128,M=60129,F=60130,B=60131;if("function"==typeof Symbol&&Symbol.for){var $=Symbol.for;k=$("react.element"),S=$("react.portal"),x=$("react.fragment"),_=$("react.strict_mode"),C=$("react.profiler"),T=$("react.provider"),L=$("react.context"),O=$("react.forward_ref"),P=$("react.suspense"),N=$("react.suspense_list"),A=$("react.memo"),I=$("react.lazy"),R=$("react.block"),$("react.scope"),D=$("react.opaque.id"),M=$("react.debug_trace_mode"),F=$("react.offscreen"),B=$("react.legacy_hidden")}var z,j="function"==typeof Symbol&&Symbol.iterator;function U(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=j&&e[j]||e["@@iterator"])?e:null}function H(e){if(void 0===z)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);z=t&&t[1]||""}return"\n"+z+e}var Z=!1;function Q(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(s){var r=s}Reflect.construct(e,[],t)}else{try{t.call()}catch(s){r=s}e.call(t.prototype)}else{try{throw Error()}catch(s){r=s}e()}}catch(s){if(s&&r&&"string"==typeof s.stack){for(var a=s.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])return"\n"+a[i].replace(" at new "," at ")}while(1<=i&&0<=l);break}}}finally{Z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?H(e):""}function V(e){switch(e.tag){case 5:return H(e.type);case 16:return H("Lazy");case 13:return H("Suspense");case 19:return H("SuspenseList");case 0:case 2:case 15:return e=Q(e.type,!1);case 11:return e=Q(e.type.render,!1);case 22:return e=Q(e.type._render,!1);case 1:return e=Q(e.type,!0);default:return""}}function W(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 x:return"Fragment";case S:return"Portal";case C:return"Profiler";case _:return"StrictMode";case P:return"Suspense";case N:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case L:return(e.displayName||"Context")+".Consumer";case T:return(e._context.displayName||"Context")+".Provider";case O:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case A:return W(e.type);case R:return W(e._render);case I:t=e._payload,e=e._init;try{return W(e(t))}catch(n){}}return null}function G(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function q(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=q(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 K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=q(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function X(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 J(e,t){var n=t.checked;return a({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=G(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 te(e,t){null!=(t=t.checked)&&w(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=G(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")?ae(e,t.type,n):t.hasOwnProperty("defaultValue")&&ae(e,t.type,G(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(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 ae(e,t,n){"number"===t&&X(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function oe(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ie(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=""+G(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 le(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function se(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:G(n)}}function ue(e,t){var n=G(t.value),r=G(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 ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var de={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function fe(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 pe(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?fe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var he,me,ge=(me=function(e,t){if(e.namespaceURI!==de.svg||"innerHTML"in e)e.innerHTML=t;else{for((he=he||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=he.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 me(e,t)}))}:me);function ye(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 ve={animationIterationCount:!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},be=["Webkit","ms","Moz","O"];function we(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ve.hasOwnProperty(e)&&ve[e]?(""+t).trim():t+"px"}function Ee(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=we(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(ve).forEach((function(e){be.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ve[t]=ve[e]}))}));var ke=a({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 Se(e,t){if(t){if(ke[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62))}}function xe(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}}function _e(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ce=null,Te=null,Le=null;function Oe(e){if(e=na(e)){if("function"!=typeof Ce)throw Error(i(280));var t=e.stateNode;t&&(t=aa(t),Ce(e.stateNode,e.type,t))}}function Pe(e){Te?Le?Le.push(e):Le=[e]:Te=e}function Ne(){if(Te){var e=Te,t=Le;if(Le=Te=null,Oe(e),t)for(e=0;e<t.length;e++)Oe(t[e])}}function Ae(e,t){return e(t)}function Ie(e,t,n,r,a){return e(t,n,r,a)}function Re(){}var De=Ae,Me=!1,Fe=!1;function Be(){null===Te&&null===Le||(Re(),Ne())}function $e(e,t){var n=e.stateNode;if(null===n)return null;var r=aa(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(i(231,t,typeof n));return n}var ze=!1;if(d)try{var je={};Object.defineProperty(je,"passive",{get:function(){ze=!0}}),window.addEventListener("test",je,je),window.removeEventListener("test",je,je)}catch(me){ze=!1}function Ue(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 He=!1,Ze=null,Qe=!1,Ve=null,We={onError:function(e){He=!0,Ze=e}};function Ge(e,t,n,r,a,o,i,l,s){He=!1,Ze=null,Ue.apply(We,arguments)}function qe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ye(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 Ke(e){if(qe(e)!==e)throw Error(i(188))}function Xe(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=qe(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return Ke(a),e;if(o===r)return Ke(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var l=!1,s=a.child;s;){if(s===n){l=!0,n=a,r=o;break}if(s===r){l=!0,r=a,n=o;break}s=s.sibling}if(!l){for(s=o.child;s;){if(s===n){l=!0,n=o,r=a;break}if(s===r){l=!0,r=o,n=a;break}s=s.sibling}if(!l)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function Je(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var et,tt,nt,rt,at=!1,ot=[],it=null,lt=null,st=null,ut=new Map,ct=new Map,dt=[],ft="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 pt(e,t,n,r,a){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:a,targetContainers:[r]}}function ht(e,t){switch(e){case"focusin":case"focusout":it=null;break;case"dragenter":case"dragleave":lt=null;break;case"mouseover":case"mouseout":st=null;break;case"pointerover":case"pointerout":ut.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ct.delete(t.pointerId)}}function mt(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e=pt(t,n,r,a,o),null!==t&&(null!==(t=na(t))&&tt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function gt(e){var t=ta(e.target);if(null!==t){var n=qe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ye(n)))return e.blockedOn=t,void rt(e.lanePriority,(function(){o.unstable_runWithPriority(e.priority,(function(){nt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function yt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Xt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=na(n))&&tt(t),e.blockedOn=n,!1;t.shift()}return!0}function vt(e,t,n){yt(e)&&n.delete(t)}function bt(){for(at=!1;0<ot.length;){var e=ot[0];if(null!==e.blockedOn){null!==(e=na(e.blockedOn))&&et(e);break}for(var t=e.targetContainers;0<t.length;){var n=Xt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&ot.shift()}null!==it&&yt(it)&&(it=null),null!==lt&&yt(lt)&&(lt=null),null!==st&&yt(st)&&(st=null),ut.forEach(vt),ct.forEach(vt)}function wt(e,t){e.blockedOn===t&&(e.blockedOn=null,at||(at=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,bt)))}function Et(e){function t(t){return wt(t,e)}if(0<ot.length){wt(ot[0],e);for(var n=1;n<ot.length;n++){var r=ot[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==it&&wt(it,e),null!==lt&&wt(lt,e),null!==st&&wt(st,e),ut.forEach(t),ct.forEach(t),n=0;n<dt.length;n++)(r=dt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<dt.length&&null===(n=dt[0]).blockedOn;)gt(n),null===n.blockedOn&&dt.shift()}function kt(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var St={animationend:kt("Animation","AnimationEnd"),animationiteration:kt("Animation","AnimationIteration"),animationstart:kt("Animation","AnimationStart"),transitionend:kt("Transition","TransitionEnd")},xt={},_t={};function Ct(e){if(xt[e])return xt[e];if(!St[e])return e;var t,n=St[e];for(t in n)if(n.hasOwnProperty(t)&&t in _t)return xt[e]=n[t];return e}d&&(_t=document.createElement("div").style,"AnimationEvent"in window||(delete St.animationend.animation,delete St.animationiteration.animation,delete St.animationstart.animation),"TransitionEvent"in window||delete St.transitionend.transition);var Tt=Ct("animationend"),Lt=Ct("animationiteration"),Ot=Ct("animationstart"),Pt=Ct("transitionend"),Nt=new Map,At=new Map,It=["abort","abort",Tt,"animationEnd",Lt,"animationIteration",Ot,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Pt,"transitionEnd","waiting","waiting"];function Rt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],a=e[n+1];a="on"+(a[0].toUpperCase()+a.slice(1)),At.set(r,t),Nt.set(r,a),u(a,[r])}}(0,o.unstable_now)();var Dt=8;function Mt(e){if(0!=(1&e))return Dt=15,1;if(0!=(2&e))return Dt=14,2;if(0!=(4&e))return Dt=13,4;var t=24&e;return 0!==t?(Dt=12,t):0!=(32&e)?(Dt=11,32):0!==(t=192&e)?(Dt=10,t):0!=(256&e)?(Dt=9,256):0!==(t=3584&e)?(Dt=8,t):0!=(4096&e)?(Dt=7,4096):0!==(t=4186112&e)?(Dt=6,t):0!==(t=62914560&e)?(Dt=5,t):67108864&e?(Dt=4,67108864):0!=(134217728&e)?(Dt=3,134217728):0!==(t=805306368&e)?(Dt=2,t):0!=(1073741824&e)?(Dt=1,1073741824):(Dt=8,e)}function Ft(e,t){var n=e.pendingLanes;if(0===n)return Dt=0;var r=0,a=0,o=e.expiredLanes,i=e.suspendedLanes,l=e.pingedLanes;if(0!==o)r=o,a=Dt=15;else if(0!==(o=134217727&n)){var s=o&~i;0!==s?(r=Mt(s),a=Dt):0!==(l&=o)&&(r=Mt(l),a=Dt)}else 0!==(o=n&~i)?(r=Mt(o),a=Dt):0!==l&&(r=Mt(l),a=Dt);if(0===r)return 0;if(r=n&((0>(r=31-Ht(r))?0:1<<r)<<1)-1,0!==t&&t!==r&&0==(t&i)){if(Mt(t),a<=Dt)return t;Dt=a}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-Ht(t)),r|=e[n],t&=~a;return r}function Bt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function $t(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=zt(24&~t))?$t(10,t):e;case 10:return 0===(e=zt(192&~t))?$t(8,t):e;case 8:return 0===(e=zt(3584&~t))&&(0===(e=zt(4186112&~t))&&(e=512)),e;case 2:return 0===(t=zt(805306368&~t))&&(t=268435456),t}throw Error(i(358,e))}function zt(e){return e&-e}function jt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ut(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-Ht(t)]=n}var Ht=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Zt(e)/Qt|0)|0},Zt=Math.log,Qt=Math.LN2;var Vt=o.unstable_UserBlockingPriority,Wt=o.unstable_runWithPriority,Gt=!0;function qt(e,t,n,r){Me||Re();var a=Kt,o=Me;Me=!0;try{Ie(a,e,t,n,r)}finally{(Me=o)||Be()}}function Yt(e,t,n,r){Wt(Vt,Kt.bind(null,e,t,n,r))}function Kt(e,t,n,r){var a;if(Gt)if((a=0==(4&t))&&0<ot.length&&-1<ft.indexOf(e))e=pt(null,e,t,n,r),ot.push(e);else{var o=Xt(e,t,n,r);if(null===o)a&&ht(e,r);else{if(a){if(-1<ft.indexOf(e))return e=pt(o,e,t,n,r),void ot.push(e);if(function(e,t,n,r,a){switch(t){case"focusin":return it=mt(it,e,t,n,r,a),!0;case"dragenter":return lt=mt(lt,e,t,n,r,a),!0;case"mouseover":return st=mt(st,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return ut.set(o,mt(ut.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,ct.set(o,mt(ct.get(o)||null,e,t,n,r,a)),!0}return!1}(o,e,t,n,r))return;ht(e,r)}Rr(e,t,r,null,n)}}}function Xt(e,t,n,r){var a=_e(r);if(null!==(a=ta(a))){var o=qe(a);if(null===o)a=null;else{var i=o.tag;if(13===i){if(null!==(a=Ye(o)))return a;a=null}else if(3===i){if(o.stateNode.hydrate)return 3===o.tag?o.stateNode.containerInfo:null;a=null}else o!==a&&(a=null)}}return Rr(e,t,r,a,n),null}var Jt=null,en=null,tn=null;function nn(){if(tn)return tn;var e,t,n=en,r=n.length,a="value"in Jt?Jt.value:Jt.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 tn=a.slice(e,1<t?1-t:void 0)}function rn(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 an(){return!0}function on(){return!1}function ln(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)?an:on,this.isPropagationStopped=on,this}return a(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=an)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=an)},persist:function(){},isPersistent:an}),t}var sn,un,cn,dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fn=ln(dn),pn=a({},dn,{view:0,detail:0}),hn=ln(pn),mn=a({},pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Tn,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!==cn&&(cn&&"mousemove"===e.type?(sn=e.screenX-cn.screenX,un=e.screenY-cn.screenY):un=sn=0,cn=e),sn)},movementY:function(e){return"movementY"in e?e.movementY:un}}),gn=ln(mn),yn=ln(a({},mn,{dataTransfer:0})),vn=ln(a({},pn,{relatedTarget:0})),bn=ln(a({},dn,{animationName:0,elapsedTime:0,pseudoElement:0})),wn=a({},dn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),En=ln(wn),kn=ln(a({},dn,{data:0})),Sn={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"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Cn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function Tn(){return Cn}var Ln=a({},pn,{key:function(e){if(e.key){var t=Sn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=rn(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:Tn,charCode:function(e){return"keypress"===e.type?rn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?rn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),On=ln(Ln),Pn=ln(a({},mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Nn=ln(a({},pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Tn})),An=ln(a({},dn,{propertyName:0,elapsedTime:0,pseudoElement:0})),In=a({},mn,{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}),Rn=ln(In),Dn=[9,13,27,32],Mn=d&&"CompositionEvent"in window,Fn=null;d&&"documentMode"in document&&(Fn=document.documentMode);var Bn=d&&"TextEvent"in window&&!Fn,$n=d&&(!Mn||Fn&&8<Fn&&11>=Fn),zn=String.fromCharCode(32),jn=!1;function Un(e,t){switch(e){case"keyup":return-1!==Dn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Zn=!1;var Qn={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 Vn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Qn[e.type]:"textarea"===t}function Wn(e,t,n,r){Pe(r),0<(t=Mr(t,"onChange")).length&&(n=new fn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Gn=null,qn=null;function Yn(e){Lr(e,0)}function Kn(e){if(K(ra(e)))return e}function Xn(e,t){if("change"===e)return t}var Jn=!1;if(d){var er;if(d){var tr="oninput"in document;if(!tr){var nr=document.createElement("div");nr.setAttribute("oninput","return;"),tr="function"==typeof nr.oninput}er=tr}else er=!1;Jn=er&&(!document.documentMode||9<document.documentMode)}function rr(){Gn&&(Gn.detachEvent("onpropertychange",ar),qn=Gn=null)}function ar(e){if("value"===e.propertyName&&Kn(qn)){var t=[];if(Wn(t,qn,e,_e(e)),e=Yn,Me)e(t);else{Me=!0;try{Ae(e,t)}finally{Me=!1,Be()}}}}function or(e,t,n){"focusin"===e?(rr(),qn=n,(Gn=t).attachEvent("onpropertychange",ar)):"focusout"===e&&rr()}function ir(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Kn(qn)}function lr(e,t){if("click"===e)return Kn(t)}function sr(e,t){if("input"===e||"change"===e)return Kn(t)}var ur="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},cr=Object.prototype.hasOwnProperty;function dr(e,t){if(ur(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++)if(!cr.call(t,n[r])||!ur(e[n[r]],t[n[r]]))return!1;return!0}function fr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pr(e,t){var n,r=fr(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=fr(r)}}function hr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?hr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function mr(){for(var e=window,t=X();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=X((e=t.contentWindow).document)}return t}function gr(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)}var yr=d&&"documentMode"in document&&11>=document.documentMode,vr=null,br=null,wr=null,Er=!1;function kr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;Er||null==vr||vr!==X(r)||("selectionStart"in(r=vr)&&gr(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},wr&&dr(wr,r)||(wr=r,0<(r=Mr(br,"onSelect")).length&&(t=new fn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vr)))}Rt("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Rt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Rt(It,2);for(var Sr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),xr=0;xr<Sr.length;xr++)At.set(Sr[xr],0);c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),u("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),u("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),u("onBeforeInput",["compositionend","keypress","textInput","paste"]),u("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _r="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Cr=new Set("cancel close invalid load scroll toggle".split(" ").concat(_r));function Tr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,l,s,u){if(Ge.apply(this,arguments),He){if(!He)throw Error(i(198));var c=Ze;He=!1,Ze=null,Qe||(Qe=!0,Ve=c)}}(r,t,void 0,e),e.currentTarget=null}function Lr(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;Tr(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;Tr(a,l,u),o=s}}}if(Qe)throw e=Ve,Qe=!1,Ve=null,e}function Or(e,t){var n=oa(t),r=e+"__bubble";n.has(r)||(Ir(t,e,2,!1),n.add(r))}var Pr="_reactListening"+Math.random().toString(36).slice(2);function Nr(e){e[Pr]||(e[Pr]=!0,l.forEach((function(t){Cr.has(t)||Ar(t,!1,e,null),Ar(t,!0,e,null)})))}function Ar(e,t,n,r){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,o=n;if("selectionchange"===e&&9!==n.nodeType&&(o=n.ownerDocument),null!==r&&!t&&Cr.has(e)){if("scroll"!==e)return;a|=2,o=r}var i=oa(o),l=e+"__"+(t?"capture":"bubble");i.has(l)||(t&&(a|=4),Ir(o,e,a,t),i.add(l))}function Ir(e,t,n,r){var a=At.get(t);switch(void 0===a?2:a){case 0:a=qt;break;case 1:a=Yt;break;default:a=Kt}n=a.bind(null,t,n,e),a=void 0,!ze||"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 Rr(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=ta(l)))return;if(5===(s=i.tag)||6===s){r=o=i;continue e}l=l.parentNode}}r=r.return}!function(e,t,n){if(Fe)return e(t,n);Fe=!0;try{return De(e,t,n)}finally{Fe=!1,Be()}}((function(){var r=o,a=_e(n),i=[];e:{var l=Nt.get(e);if(void 0!==l){var s=fn,u=e;switch(e){case"keypress":if(0===rn(n))break e;case"keydown":case"keyup":s=On;break;case"focusin":u="focus",s=vn;break;case"focusout":u="blur",s=vn;break;case"beforeblur":case"afterblur":s=vn;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=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=yn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=Nn;break;case Tt:case Lt:case Ot:s=bn;break;case Pt:s=An;break;case"scroll":s=hn;break;case"wheel":s=Rn;break;case"copy":case"cut":case"paste":s=En;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=Pn}var c=0!=(4&t),d=!c&&"scroll"===e,f=c?null!==l?l+"Capture":null:l;c=[];for(var p,h=r;null!==h;){var m=(p=h).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==f&&(null!=(m=$e(h,f))&&c.push(Dr(h,m,p)))),d)break;h=h.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)||0!=(16&t)||!(u=n.relatedTarget||n.fromElement)||!ta(u)&&!u[Jr])&&(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)?ta(u):null)&&(u!==(d=qe(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(s=null,u=r),s!==u)){if(c=gn,m="onMouseLeave",f="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(c=Pn,m="onPointerLeave",f="onPointerEnter",h="pointer"),d=null==s?l:ra(s),p=null==u?l:ra(u),(l=new c(m,h+"leave",s,n,a)).target=d,l.relatedTarget=p,m=null,ta(a)===r&&((c=new c(f,h+"enter",u,n,a)).target=p,c.relatedTarget=d,m=c),d=m,s&&u)e:{for(f=u,h=0,p=c=s;p;p=Fr(p))h++;for(p=0,m=f;m;m=Fr(m))p++;for(;0<h-p;)c=Fr(c),h--;for(;0<p-h;)f=Fr(f),p--;for(;h--;){if(c===f||null!==f&&c===f.alternate)break e;c=Fr(c),f=Fr(f)}c=null}else c=null;null!==s&&Br(i,l,s,c,!1),null!==u&&null!==d&&Br(i,d,u,c,!0)}if("select"===(s=(l=r?ra(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var g=Xn;else if(Vn(l))if(Jn)g=sr;else{g=ir;var y=or}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(g=lr);switch(g&&(g=g(e,r))?Wn(i,g,n,a):(y&&y(e,l,r),"focusout"===e&&(y=l._wrapperState)&&y.controlled&&"number"===l.type&&ae(l,"number",l.value)),y=r?ra(r):window,e){case"focusin":(Vn(y)||"true"===y.contentEditable)&&(vr=y,br=r,wr=null);break;case"focusout":wr=br=vr=null;break;case"mousedown":Er=!0;break;case"contextmenu":case"mouseup":case"dragend":Er=!1,kr(i,n,a);break;case"selectionchange":if(yr)break;case"keydown":case"keyup":kr(i,n,a)}var v;if(Mn)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else Zn?Un(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&($n&&"ko"!==n.locale&&(Zn||"onCompositionStart"!==b?"onCompositionEnd"===b&&Zn&&(v=nn()):(en="value"in(Jt=a)?Jt.value:Jt.textContent,Zn=!0)),0<(y=Mr(r,b)).length&&(b=new kn(b,e,null,n,a),i.push({event:b,listeners:y}),v?b.data=v:null!==(v=Hn(n))&&(b.data=v))),(v=Bn?function(e,t){switch(e){case"compositionend":return Hn(t);case"keypress":return 32!==t.which?null:(jn=!0,zn);case"textInput":return(e=t.data)===zn&&jn?null:e;default:return null}}(e,n):function(e,t){if(Zn)return"compositionend"===e||!Mn&&Un(e,t)?(e=nn(),tn=en=Jt=null,Zn=!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 $n&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Mr(r,"onBeforeInput")).length&&(a=new kn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=v))}Lr(i,t)}))}function Dr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Mr(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=$e(e,n))&&r.unshift(Dr(e,o,a)),null!=(o=$e(e,t))&&r.push(Dr(e,o,a))),e=e.return}return r}function Fr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Br(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=$e(n,o))&&i.unshift(Dr(n,s,l)):a||null!=(s=$e(n,o))&&i.push(Dr(n,s,l))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}function $r(){}var zr=null,jr=null;function Ur(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Hr(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Zr="function"==typeof setTimeout?setTimeout:void 0,Qr="function"==typeof clearTimeout?clearTimeout:void 0;function Vr(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function Wr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Gr(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 qr=0;var Yr=Math.random().toString(36).slice(2),Kr="__reactFiber$"+Yr,Xr="__reactProps$"+Yr,Jr="__reactContainer$"+Yr,ea="__reactEvents$"+Yr;function ta(e){var t=e[Kr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jr]||n[Kr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Gr(e);null!==e;){if(n=e[Kr])return n;e=Gr(e)}return t}n=(e=n).parentNode}return null}function na(e){return!(e=e[Kr]||e[Jr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ra(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function aa(e){return e[Xr]||null}function oa(e){var t=e[ea];return void 0===t&&(t=e[ea]=new Set),t}var ia=[],la=-1;function sa(e){return{current:e}}function ua(e){0>la||(e.current=ia[la],ia[la]=null,la--)}function ca(e,t){la++,ia[la]=e.current,e.current=t}var da={},fa=sa(da),pa=sa(!1),ha=da;function ma(e,t){var n=e.type.contextTypes;if(!n)return da;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 ga(e){return null!=(e=e.childContextTypes)}function ya(){ua(pa),ua(fa)}function va(e,t,n){if(fa.current!==da)throw Error(i(168));ca(fa,t),ca(pa,n)}function ba(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(i(108,W(t)||"Unknown",o));return a({},n,r)}function wa(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||da,ha=fa.current,ca(fa,e),ca(pa,pa.current),!0}function Ea(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=ba(e,t,ha),r.__reactInternalMemoizedMergedChildContext=e,ua(pa),ua(fa),ca(fa,e)):ua(pa),ca(pa,n)}var ka=null,Sa=null,xa=o.unstable_runWithPriority,_a=o.unstable_scheduleCallback,Ca=o.unstable_cancelCallback,Ta=o.unstable_shouldYield,La=o.unstable_requestPaint,Oa=o.unstable_now,Pa=o.unstable_getCurrentPriorityLevel,Na=o.unstable_ImmediatePriority,Aa=o.unstable_UserBlockingPriority,Ia=o.unstable_NormalPriority,Ra=o.unstable_LowPriority,Da=o.unstable_IdlePriority,Ma={},Fa=void 0!==La?La:function(){},Ba=null,$a=null,za=!1,ja=Oa(),Ua=1e4>ja?Oa:function(){return Oa()-ja};function Ha(){switch(Pa()){case Na:return 99;case Aa:return 98;case Ia:return 97;case Ra:return 96;case Da:return 95;default:throw Error(i(332))}}function Za(e){switch(e){case 99:return Na;case 98:return Aa;case 97:return Ia;case 96:return Ra;case 95:return Da;default:throw Error(i(332))}}function Qa(e,t){return e=Za(e),xa(e,t)}function Va(e,t,n){return e=Za(e),_a(e,t,n)}function Wa(){if(null!==$a){var e=$a;$a=null,Ca(e)}Ga()}function Ga(){if(!za&&null!==Ba){za=!0;var e=0;try{var t=Ba;Qa(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Ba=null}catch(n){throw null!==Ba&&(Ba=Ba.slice(e+1)),_a(Na,Wa),n}finally{za=!1}}}var qa=E.ReactCurrentBatchConfig;function Ya(e,t){if(e&&e.defaultProps){for(var n in t=a({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Ka=sa(null),Xa=null,Ja=null,eo=null;function to(){eo=Ja=Xa=null}function no(e){var t=Ka.current;ua(Ka),e.type._context._currentValue=t}function ro(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function ao(e,t){Xa=e,eo=Ja=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(Mi=!0),e.firstContext=null)}function oo(e,t){if(eo!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(eo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Ja){if(null===Xa)throw Error(i(308));Ja=t,Xa.dependencies={lanes:0,firstContext:t,responders:null}}else Ja=Ja.next=t;return e._currentValue}var io=!1;function lo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function so(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 uo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function co(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}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 po(e,t,n,r){var o=e.updateQueue;io=!1;var i=o.firstBaseUpdate,l=o.lastBaseUpdate,s=o.shared.pending;if(null!==s){o.shared.pending=null;var u=s,c=u.next;u.next=null,null===l?i=c:l.next=c,l=u;var d=e.alternate;if(null!==d){var f=(d=d.updateQueue).lastBaseUpdate;f!==l&&(null===f?d.firstBaseUpdate=c:f.next=c,d.lastBaseUpdate=u)}}if(null!==i){for(f=o.baseState,l=0,d=c=u=null;;){s=i.lane;var p=i.eventTime;if((r&s)===s){null!==d&&(d=d.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var h=e,m=i;switch(s=t,p=n,m.tag){case 1:if("function"==typeof(h=m.payload)){f=h.call(p,f,s);break e}f=h;break e;case 3:h.flags=-4097&h.flags|64;case 0:if(null==(s="function"==typeof(h=m.payload)?h.call(p,f,s):h))break e;f=a({},f,s);break e;case 2:io=!0}}null!==i.callback&&(e.flags|=32,null===(s=o.effects)?o.effects=[i]:s.push(i))}else p={eventTime:p,lane:s,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===d?(c=d=p,u=f):d=d.next=p,l|=s;if(null===(i=i.next)){if(null===(s=o.shared.pending))break;i=s.next,s.next=null,o.lastBaseUpdate=s,o.shared.pending=null}}null===d&&(u=f),o.baseState=u,o.firstBaseUpdate=c,o.lastBaseUpdate=d,jl|=l,e.lanes=l,e.memoizedState=f}}function ho(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(i(191,a));a.call(r)}}}var mo=(new r.Component).refs;function go(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:a({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var yo={isMounted:function(e){return!!(e=e._reactInternals)&&qe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=fs(),a=ps(e),o=uo(r,a);o.payload=t,null!=n&&(o.callback=n),co(e,o),hs(e,a,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=fs(),a=ps(e),o=uo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),co(e,o),hs(e,a,r)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=fs(),r=ps(e),a=uo(n,r);a.tag=2,null!=t&&(a.callback=t),co(e,a),hs(e,r,n)}};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||(!dr(n,r)||!dr(a,o))}function bo(e,t,n){var r=!1,a=da,o=t.contextType;return"object"==typeof o&&null!==o?o=oo(o):(a=ga(t)?ha:fa.current,o=(r=null!=(r=t.contextTypes))?ma(e,a):da),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=yo,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function wo(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&&yo.enqueueReplaceState(t,t.state,null)}function Eo(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=mo,lo(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=oo(o):(o=ga(t)?ha:fa.current,a.context=ma(e,o)),po(e,n,a,r),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(go(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&&yo.enqueueReplaceState(a,a.state,null),po(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4)}var ko=Array.isArray;function So(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(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=r.refs;t===mo&&(t=r.refs={}),null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!=typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function xo(e,t){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function _o(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}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=Vs(e,t)).index=0,e.sibling=null,e}function o(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):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=Ys(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function u(e,t,n,r){return null!==t&&t.elementType===n.type?((r=a(t,n.props)).ref=So(e,t,n),r.return=e,r):((r=Ws(n.type,n.key,n.props,null,e.mode,r)).ref=So(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=Ks(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=Gs(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Ys(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Ws(t.type,t.key,t.props,null,e.mode,n)).ref=So(e,null,t),n.return=e,n;case S:return(t=Ks(t,e.mode,n)).return=e,t}if(ko(t)||U(t))return(t=Gs(t,e.mode,n,null)).return=e,t;xo(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof 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?n.type===x?d(e,t,n.props.children,r,a):u(e,t,n,r):null;case S:return n.key===a?c(e,t,n,r):null}if(ko(n)||U(n))return null!==a?null:d(e,t,n,r,null);xo(e,n)}return null}function h(e,t,n,r,a){if("string"==typeof 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 e=e.get(null===r.key?n:r.key)||null,r.type===x?d(t,e,r.props.children,a,r.key):u(t,e,r,a);case S:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a)}if(ko(r)||U(r))return d(t,e=e.get(n)||null,r,a,null);xo(t,r)}return null}function m(a,i,l,s){for(var u=null,c=null,d=i,m=i=0,g=null;null!==d&&m<l.length;m++){d.index>m?(g=d,d=null):g=d.sibling;var y=p(a,d,l[m],s);if(null===y){null===d&&(d=g);break}e&&d&&null===y.alternate&&t(a,d),i=o(y,i,m),null===c?u=y:c.sibling=y,c=y,d=g}if(m===l.length)return n(a,d),u;if(null===d){for(;m<l.length;m++)null!==(d=f(a,l[m],s))&&(i=o(d,i,m),null===c?u=d:c.sibling=d,c=d);return u}for(d=r(a,d);m<l.length;m++)null!==(g=h(d,a,m,l[m],s))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),i=o(g,i,m),null===c?u=g:c.sibling=g,c=g);return e&&d.forEach((function(e){return t(a,e)})),u}function g(a,l,s,u){var c=U(s);if("function"!=typeof c)throw Error(i(150));if(null==(s=c.call(s)))throw Error(i(151));for(var d=c=null,m=l,g=l=0,y=null,v=s.next();null!==m&&!v.done;g++,v=s.next()){m.index>g?(y=m,m=null):y=m.sibling;var b=p(a,m,v.value,u);if(null===b){null===m&&(m=y);break}e&&m&&null===b.alternate&&t(a,m),l=o(b,l,g),null===d?c=b:d.sibling=b,d=b,m=y}if(v.done)return n(a,m),c;if(null===m){for(;!v.done;g++,v=s.next())null!==(v=f(a,v.value,u))&&(l=o(v,l,g),null===d?c=v:d.sibling=v,d=v);return c}for(m=r(a,m);!v.done;g++,v=s.next())null!==(v=h(m,a,g,v.value,u))&&(e&&null!==v.alternate&&m.delete(null===v.key?g:v.key),l=o(v,l,g),null===d?c=v:d.sibling=v,d=v);return e&&m.forEach((function(e){return t(a,e)})),c}return function(e,r,o,s){var u="object"==typeof o&&null!==o&&o.type===x&&null===o.key;u&&(o=o.props.children);var c="object"==typeof o&&null!==o;if(c)switch(o.$$typeof){case k:e:{for(c=o.key,u=r;null!==u;){if(u.key===c){if(7===u.tag){if(o.type===x){n(e,u.sibling),(r=a(u,o.props.children)).return=e,e=r;break e}}else if(u.elementType===o.type){n(e,u.sibling),(r=a(u,o.props)).ref=So(e,u,o),r.return=e,e=r;break e}n(e,u);break}t(e,u),u=u.sibling}o.type===x?((r=Gs(o.props.children,e.mode,s,o.key)).return=e,e=r):((s=Ws(o.type,o.key,o.props,null,e.mode,s)).ref=So(e,r,o),s.return=e,e=s)}return l(e);case S:e:{for(u=o.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=a(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Ks(o,e.mode,s)).return=e,e=r}return l(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=a(r,o)).return=e,e=r):(n(e,r),(r=Ys(o,e.mode,s)).return=e,e=r),l(e);if(ko(o))return m(e,r,o,s);if(U(o))return g(e,r,o,s);if(c&&xo(e,o),void 0===o&&!u)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(i(152,W(e.type)||"Component"))}return n(e,r)}}var Co=_o(!0),To=_o(!1),Lo={},Oo=sa(Lo),Po=sa(Lo),No=sa(Lo);function Ao(e){if(e===Lo)throw Error(i(174));return e}function Io(e,t){switch(ca(No,t),ca(Po,e),ca(Oo,Lo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:pe(null,"");break;default:t=pe(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ua(Oo),ca(Oo,t)}function Ro(){ua(Oo),ua(Po),ua(No)}function Do(e){Ao(No.current);var t=Ao(Oo.current),n=pe(t,e.type);t!==n&&(ca(Po,e),ca(Oo,n))}function Mo(e){Po.current===e&&(ua(Oo),ua(Po))}var Fo=sa(0);function Bo(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!=(64&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 $o=null,zo=null,jo=!1;function Uo(e,t){var n=Zs(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Ho(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,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Zo(e){if(jo){var t=zo;if(t){var n=t;if(!Ho(e,t)){if(!(t=Wr(n.nextSibling))||!Ho(e,t))return e.flags=-1025&e.flags|2,jo=!1,void($o=e);Uo($o,n)}$o=e,zo=Wr(t.firstChild)}else e.flags=-1025&e.flags|2,jo=!1,$o=e}}function Qo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;$o=e}function Vo(e){if(e!==$o)return!1;if(!jo)return Qo(e),jo=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Hr(t,e.memoizedProps))for(t=zo;t;)Uo(e,t),t=Wr(t.nextSibling);if(Qo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){zo=Wr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}zo=null}}else zo=$o?Wr(e.stateNode.nextSibling):null;return!0}function Wo(){zo=$o=null,jo=!1}var Go=[];function qo(){for(var e=0;e<Go.length;e++)Go[e]._workInProgressVersionPrimary=null;Go.length=0}var Yo=E.ReactCurrentDispatcher,Ko=E.ReactCurrentBatchConfig,Xo=0,Jo=null,ei=null,ti=null,ni=!1,ri=!1;function ai(){throw Error(i(321))}function oi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ur(e[n],t[n]))return!1;return!0}function ii(e,t,n,r,a,o){if(Xo=o,Jo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Yo.current=null===e||null===e.memoizedState?Ai:Ii,e=n(r,a),ri){o=0;do{if(ri=!1,!(25>o))throw Error(i(301));o+=1,ti=ei=null,t.updateQueue=null,Yo.current=Ri,e=n(r,a)}while(ri)}if(Yo.current=Ni,t=null!==ei&&null!==ei.next,Xo=0,ti=ei=Jo=null,ni=!1,t)throw Error(i(300));return e}function li(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ti?Jo.memoizedState=ti=e:ti=ti.next=e,ti}function si(){if(null===ei){var e=Jo.alternate;e=null!==e?e.memoizedState:null}else e=ei.next;var t=null===ti?Jo.memoizedState:ti.next;if(null!==t)ti=t,ei=e;else{if(null===e)throw Error(i(310));e={memoizedState:(ei=e).memoizedState,baseState:ei.baseState,baseQueue:ei.baseQueue,queue:ei.queue,next:null},null===ti?Jo.memoizedState=ti=e:ti=ti.next=e}return ti}function ui(e,t){return"function"==typeof t?t(e):t}function ci(e){var t=si(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=ei,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var l=a.next;a.next=o.next,o.next=l}r.baseQueue=a=o,n.pending=null}if(null!==a){a=a.next,r=r.baseState;var s=l=o=null,u=a;do{var c=u.lane;if((Xo&c)===c)null!==s&&(s=s.next={lane:0,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null}),r=u.eagerReducer===e?u.eagerState:e(r,u.action);else{var d={lane:c,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null};null===s?(l=s=d,o=r):s=s.next=d,Jo.lanes|=c,jl|=c}u=u.next}while(null!==u&&u!==a);null===s?o=r:s.next=l,ur(r,t.memoizedState)||(Mi=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=s,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function di(e){var t=si(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var l=a=a.next;do{o=e(o,l.action),l=l.next}while(l!==a);ur(o,t.memoizedState)||(Mi=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function fi(e,t,n){var r=t._getVersion;r=r(t._source);var a=t._workInProgressVersionPrimary;if(null!==a?e=a===r:(e=e.mutableReadLanes,(e=(Xo&e)===e)&&(t._workInProgressVersionPrimary=r,Go.push(t))),e)return n(t._source);throw Go.push(t),Error(i(350))}function pi(e,t,n,r){var a=Il;if(null===a)throw Error(i(349));var o=t._getVersion,l=o(t._source),s=Yo.current,u=s.useState((function(){return fi(a,t,n)})),c=u[1],d=u[0];u=ti;var f=e.memoizedState,p=f.refs,h=p.getSnapshot,m=f.source;f=f.subscribe;var g=Jo;return e.memoizedState={refs:p,source:t,subscribe:r},s.useEffect((function(){p.getSnapshot=n,p.setSnapshot=c;var e=o(t._source);if(!ur(l,e)){e=n(t._source),ur(d,e)||(c(e),e=ps(g),a.mutableReadLanes|=e&a.pendingLanes),e=a.mutableReadLanes,a.entangledLanes|=e;for(var r=a.entanglements,i=e;0<i;){var s=31-Ht(i),u=1<<s;r[s]|=e,i&=~u}}}),[n,t,r]),s.useEffect((function(){return r(t._source,(function(){var e=p.getSnapshot,n=p.setSnapshot;try{n(e(t._source));var r=ps(g);a.mutableReadLanes|=r&a.pendingLanes}catch(o){n((function(){throw o}))}}))}),[t,r]),ur(h,n)&&ur(m,t)&&ur(f,r)||((e={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:d}).dispatch=c=Pi.bind(null,Jo,e),u.queue=e,u.baseQueue=null,d=fi(a,t,n),u.memoizedState=u.baseState=d),d}function hi(e,t,n){return pi(si(),e,t,n)}function mi(e){var t=li();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:e}).dispatch=Pi.bind(null,Jo,e),[t.memoizedState,e]}function gi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Jo.updateQueue)?(t={lastEffect:null},Jo.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 yi(e){return e={current:e},li().memoizedState=e}function vi(){return si().memoizedState}function bi(e,t,n,r){var a=li();Jo.flags|=e,a.memoizedState=gi(1|t,n,void 0,void 0===r?null:r)}function wi(e,t,n,r){var a=si();r=void 0===r?null:r;var o=void 0;if(null!==ei){var i=ei.memoizedState;if(o=i.destroy,null!==r&&oi(r,i.deps))return void gi(t,n,o,r)}Jo.flags|=e,a.memoizedState=gi(1|t,n,o,r)}function Ei(e,t){return bi(516,4,e,t)}function ki(e,t){return wi(516,4,e,t)}function Si(e,t){return wi(4,2,e,t)}function xi(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 _i(e,t,n){return n=null!=n?n.concat([e]):null,wi(4,2,xi.bind(null,t,e),n)}function Ci(){}function Ti(e,t){var n=si();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&oi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Li(e,t){var n=si();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&oi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Oi(e,t){var n=Ha();Qa(98>n?98:n,(function(){e(!0)})),Qa(97<n?97:n,(function(){var n=Ko.transition;Ko.transition=1;try{e(!1),t()}finally{Ko.transition=n}}))}function Pi(e,t,n){var r=fs(),a=ps(e),o={lane:a,action:n,eagerReducer:null,eagerState:null,next:null},i=t.pending;if(null===i?o.next=o:(o.next=i.next,i.next=o),t.pending=o,i=e.alternate,e===Jo||null!==i&&i===Jo)ri=ni=!0;else{if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var l=t.lastRenderedState,s=i(l,n);if(o.eagerReducer=i,o.eagerState=s,ur(s,l))return}catch(u){}hs(e,a,r)}}var Ni={readContext:oo,useCallback:ai,useContext:ai,useEffect:ai,useImperativeHandle:ai,useLayoutEffect:ai,useMemo:ai,useReducer:ai,useRef:ai,useState:ai,useDebugValue:ai,useDeferredValue:ai,useTransition:ai,useMutableSource:ai,useOpaqueIdentifier:ai,unstable_isNewReconciler:!1},Ai={readContext:oo,useCallback:function(e,t){return li().memoizedState=[e,void 0===t?null:t],e},useContext:oo,useEffect:Ei,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,bi(4,2,xi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return bi(4,2,e,t)},useMemo:function(e,t){var n=li();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=li();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Pi.bind(null,Jo,e),[r.memoizedState,e]},useRef:yi,useState:mi,useDebugValue:Ci,useDeferredValue:function(e){var t=mi(e),n=t[0],r=t[1];return Ei((function(){var t=Ko.transition;Ko.transition=1;try{r(e)}finally{Ko.transition=t}}),[e]),n},useTransition:function(){var e=mi(!1),t=e[0];return yi(e=Oi.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var r=li();return r.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},pi(r,e,t,n)},useOpaqueIdentifier:function(){if(jo){var e=!1,t=function(e){return{$$typeof:D,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(qr++).toString(36))),Error(i(355))})),n=mi(t)[1];return 0==(2&Jo.mode)&&(Jo.flags|=516,gi(5,(function(){n("r:"+(qr++).toString(36))}),void 0,null)),t}return mi(t="r:"+(qr++).toString(36)),t},unstable_isNewReconciler:!1},Ii={readContext:oo,useCallback:Ti,useContext:oo,useEffect:ki,useImperativeHandle:_i,useLayoutEffect:Si,useMemo:Li,useReducer:ci,useRef:vi,useState:function(){return ci(ui)},useDebugValue:Ci,useDeferredValue:function(e){var t=ci(ui),n=t[0],r=t[1];return ki((function(){var t=Ko.transition;Ko.transition=1;try{r(e)}finally{Ko.transition=t}}),[e]),n},useTransition:function(){var e=ci(ui)[0];return[vi().current,e]},useMutableSource:hi,useOpaqueIdentifier:function(){return ci(ui)[0]},unstable_isNewReconciler:!1},Ri={readContext:oo,useCallback:Ti,useContext:oo,useEffect:ki,useImperativeHandle:_i,useLayoutEffect:Si,useMemo:Li,useReducer:di,useRef:vi,useState:function(){return di(ui)},useDebugValue:Ci,useDeferredValue:function(e){var t=di(ui),n=t[0],r=t[1];return ki((function(){var t=Ko.transition;Ko.transition=1;try{r(e)}finally{Ko.transition=t}}),[e]),n},useTransition:function(){var e=di(ui)[0];return[vi().current,e]},useMutableSource:hi,useOpaqueIdentifier:function(){return di(ui)[0]},unstable_isNewReconciler:!1},Di=E.ReactCurrentOwner,Mi=!1;function Fi(e,t,n,r){t.child=null===e?To(t,null,n,r):Co(t,e.child,n,r)}function Bi(e,t,n,r,a){n=n.render;var o=t.ref;return ao(t,a),r=ii(e,t,n,r,o,a),null===e||Mi?(t.flags|=1,Fi(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,ol(e,t,a))}function $i(e,t,n,r,a,o){if(null===e){var i=n.type;return"function"!=typeof i||Qs(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Ws(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,zi(e,t,i,r,a,o))}return i=e.child,0==(a&o)&&(a=i.memoizedProps,(n=null!==(n=n.compare)?n:dr)(a,r)&&e.ref===t.ref)?ol(e,t,o):(t.flags|=1,(e=Vs(i,r)).ref=t.ref,e.return=t,t.child=e)}function zi(e,t,n,r,a,o){if(null!==e&&dr(e.memoizedProps,r)&&e.ref===t.ref){if(Mi=!1,0==(o&a))return t.lanes=e.lanes,ol(e,t,o);0!=(16384&e.flags)&&(Mi=!0)}return Hi(e,t,n,r,o)}function ji(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode||"unstable-defer-without-hiding"===r.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},ks(t,n);else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},ks(t,e),null;t.memoizedState={baseLanes:0},ks(t,null!==o?o.baseLanes:n)}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,ks(t,r);return Fi(e,t,a,n),t.child}function Ui(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Hi(e,t,n,r,a){var o=ga(n)?ha:fa.current;return o=ma(t,o),ao(t,a),n=ii(e,t,n,r,o,a),null===e||Mi?(t.flags|=1,Fi(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,ol(e,t,a))}function Zi(e,t,n,r,a){if(ga(n)){var o=!0;wa(t)}else o=!1;if(ao(t,a),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),bo(t,n,r),Eo(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=oo(u):u=ma(t,u=ga(n)?ha:fa.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)&&wo(t,i,r,u),io=!1;var f=t.memoizedState;i.state=f,po(t,r,i,a),s=t.memoizedState,l!==r||f!==s||pa.current||io?("function"==typeof c&&(go(t,n,c,r),s=t.memoizedState),(l=io||vo(t,n,l,r,f,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|=4)):("function"==typeof i.componentDidMount&&(t.flags|=4),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=u,r=l):("function"==typeof i.componentDidMount&&(t.flags|=4),r=!1)}else{i=t.stateNode,so(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:Ya(t.type,l),i.props=u,d=t.pendingProps,f=i.context,"object"==typeof(s=n.contextType)&&null!==s?s=oo(s):s=ma(t,s=ga(n)?ha:fa.current);var p=n.getDerivedStateFromProps;(c="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==d||f!==s)&&wo(t,i,r,s),io=!1,f=t.memoizedState,i.state=f,po(t,r,i,a);var h=t.memoizedState;l!==d||f!==h||pa.current||io?("function"==typeof p&&(go(t,n,p,r),h=t.memoizedState),(u=io||vo(t,n,u,r,f,h,s))?(c||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,h,s),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,h,s)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=256),t.memoizedProps=r,t.memoizedState=h),i.props=r,i.state=h,i.context=s,r=u):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=256),r=!1)}return Qi(e,t,n,r,o,a)}function Qi(e,t,n,r,a,o){Ui(e,t);var i=0!=(64&t.flags);if(!r&&!i)return a&&Ea(t,n,!1),ol(e,t,o);r=t.stateNode,Di.current=t;var l=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Co(t,e.child,null,o),t.child=Co(t,null,l,o)):Fi(e,t,l,o),t.memoizedState=r.state,a&&Ea(t,n,!0),t.child}function Vi(e){var t=e.stateNode;t.pendingContext?va(0,t.pendingContext,t.pendingContext!==t.context):t.context&&va(0,t.context,!1),Io(e,t.containerInfo)}var Wi,Gi,qi,Yi,Ki={dehydrated:null,retryLane:0};function Xi(e,t,n){var r,a=t.pendingProps,o=Fo.current,i=!1;return(r=0!=(64&t.flags))||(r=(null===e||null!==e.memoizedState)&&0!=(2&o)),r?(i=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===a.fallback||!0===a.unstable_avoidThisFallback||(o|=1),ca(Fo,1&o),null===e?(void 0!==a.fallback&&Zo(t),e=a.children,o=a.fallback,i?(e=Ji(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ki,e):"number"==typeof a.unstable_expectedLoadTime?(e=Ji(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ki,t.lanes=33554432,e):((n=qs({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,i?(a=tl(e,t,a.children,a.fallback,n),i=t.child,o=e.child.memoizedState,i.memoizedState=null===o?{baseLanes:n}:{baseLanes:o.baseLanes|n},i.childLanes=e.childLanes&~n,t.memoizedState=Ki,a):(n=el(e,t,a.children,n),t.memoizedState=null,n))}function Ji(e,t,n,r){var a=e.mode,o=e.child;return t={mode:"hidden",children:t},0==(2&a)&&null!==o?(o.childLanes=0,o.pendingProps=t):o=qs(t,a,0,null),n=Gs(n,a,r,null),o.return=e,n.return=e,o.sibling=n,e.child=o,n}function el(e,t,n,r){var a=e.child;return e=a.sibling,n=Vs(a,{mode:"visible",children:n}),0==(2&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}function tl(e,t,n,r,a){var o=t.mode,i=e.child;e=i.sibling;var l={mode:"hidden",children:n};return 0==(2&o)&&t.child!==i?((n=t.child).childLanes=0,n.pendingProps=l,null!==(i=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=i,i.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Vs(i,l),null!==e?r=Vs(e,r):(r=Gs(r,o,a,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function nl(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ro(e.return,t)}function rl(e,t,n,r,a,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a,lastEffect:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a,i.lastEffect=o)}function al(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(Fi(e,t,r.children,n),0!=(2&(r=Fo.current)))r=1&r|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&nl(e,n);else if(19===e.tag)nl(e,n);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(Fo,r),0==(2&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===Bo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),rl(t,!1,a,n,o,t.lastEffect);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Bo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}rl(t,!0,n,null,o,t.lastEffect);break;case"together":rl(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function ol(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),jl|=t.lanes,0!=(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Vs(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Vs(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function il(e,t){if(!jo)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 ll(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return ga(t.type)&&ya(),null;case 3:return Ro(),ua(pa),ua(fa),qo(),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Vo(t)?t.flags|=4:r.hydrate||(t.flags|=256)),Gi(t),null;case 5:Mo(t);var o=Ao(No.current);if(n=t.type,null!==e&&null!=t.stateNode)qi(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=128);else{if(!r){if(null===t.stateNode)throw Error(i(166));return null}if(e=Ao(Oo.current),Vo(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[Kr]=t,r[Xr]=l,n){case"dialog":Or("cancel",r),Or("close",r);break;case"iframe":case"object":case"embed":Or("load",r);break;case"video":case"audio":for(e=0;e<_r.length;e++)Or(_r[e],r);break;case"source":Or("error",r);break;case"img":case"image":case"link":Or("error",r),Or("load",r);break;case"details":Or("toggle",r);break;case"input":ee(r,l),Or("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!l.multiple},Or("invalid",r);break;case"textarea":se(r,l),Or("invalid",r)}for(var u in Se(n,l),e=null,l)l.hasOwnProperty(u)&&(o=l[u],"children"===u?"string"==typeof o?r.textContent!==o&&(e=["children",o]):"number"==typeof o&&r.textContent!==""+o&&(e=["children",""+o]):s.hasOwnProperty(u)&&null!=o&&"onScroll"===u&&Or("scroll",r));switch(n){case"input":Y(r),re(r,l,!0);break;case"textarea":Y(r),ce(r);break;case"select":case"option":break;default:"function"==typeof l.onClick&&(r.onclick=$r)}r=e,t.updateQueue=r,null!==r&&(t.flags|=4)}else{switch(u=9===o.nodeType?o:o.ownerDocument,e===de.html&&(e=fe(n)),e===de.html?"script"===n?((e=u.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),"select"===n&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[Kr]=t,e[Xr]=r,Wi(e,t,!1,!1),t.stateNode=e,u=xe(n,r),n){case"dialog":Or("cancel",e),Or("close",e),o=r;break;case"iframe":case"object":case"embed":Or("load",e),o=r;break;case"video":case"audio":for(o=0;o<_r.length;o++)Or(_r[o],e);o=r;break;case"source":Or("error",e),o=r;break;case"img":case"image":case"link":Or("error",e),Or("load",e),o=r;break;case"details":Or("toggle",e),o=r;break;case"input":ee(e,r),o=J(e,r),Or("invalid",e);break;case"option":o=oe(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=a({},r,{value:void 0}),Or("invalid",e);break;case"textarea":se(e,r),o=le(e,r),Or("invalid",e);break;default:o=r}Se(n,o);var c=o;for(l in c)if(c.hasOwnProperty(l)){var d=c[l];"style"===l?Ee(e,d):"dangerouslySetInnerHTML"===l?null!=(d=d?d.__html:void 0)&&ge(e,d):"children"===l?"string"==typeof d?("textarea"!==n||""!==d)&&ye(e,d):"number"==typeof d&&ye(e,""+d):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(s.hasOwnProperty(l)?null!=d&&"onScroll"===l&&Or("scroll",e):null!=d&&w(e,l,d,u))}switch(n){case"input":Y(e),re(e,r,!1);break;case"textarea":Y(e),ce(e);break;case"option":null!=r.value&&e.setAttribute("value",""+G(r.value));break;case"select":e.multiple=!!r.multiple,null!=(l=r.value)?ie(e,!!r.multiple,l,!1):null!=r.defaultValue&&ie(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=$r)}Ur(n,r)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Yi(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));n=Ao(No.current),Ao(Oo.current),Vo(t)?(r=t.stateNode,n=t.memoizedProps,r[Kr]=t,r.nodeValue!==n&&(t.flags|=4)):((r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Kr]=t,t.stateNode=r)}return null;case 13:return ua(Fo),r=t.memoizedState,0!=(64&t.flags)?(t.lanes=n,t):(r=null!==r,n=!1,null===e?void 0!==t.memoizedProps.fallback&&Vo(t):n=null!==e.memoizedState,r&&!n&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Fo.current)?0===Bl&&(Bl=3):(0!==Bl&&3!==Bl||(Bl=4),null===Il||0==(134217727&jl)&&0==(134217727&Ul)||vs(Il,Dl))),(r||n)&&(t.flags|=4),null);case 4:return Ro(),Gi(t),null===e&&Nr(t.stateNode.containerInfo),null;case 10:return no(t),null;case 19:if(ua(Fo),null===(r=t.memoizedState))return null;if(l=0!=(64&t.flags),null===(u=r.rendering))if(l)il(r,!1);else{if(0!==Bl||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(u=Bo(e))){for(t.flags|=64,il(r,!1),null!==(l=u.updateQueue)&&(t.updateQueue=l,t.flags|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=n,n=t.child;null!==n;)e=r,(l=n).flags&=2,l.nextEffect=null,l.firstEffect=null,l.lastEffect=null,null===(u=l.alternate)?(l.childLanes=0,l.lanes=e,l.child=null,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=u.childLanes,l.lanes=u.lanes,l.child=u.child,l.memoizedProps=u.memoizedProps,l.memoizedState=u.memoizedState,l.updateQueue=u.updateQueue,l.type=u.type,e=u.dependencies,l.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ca(Fo,1&Fo.current|2),t.child}e=e.sibling}null!==r.tail&&Ua()>Vl&&(t.flags|=64,l=!0,il(r,!1),t.lanes=33554432)}else{if(!l)if(null!==(e=Bo(u))){if(t.flags|=64,l=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),il(r,!0),null===r.tail&&"hidden"===r.tailMode&&!u.alternate&&!jo)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Ua()-r.renderingStartTime>Vl&&1073741824!==n&&(t.flags|=64,l=!0,il(r,!1),t.lanes=33554432);r.isBackwards?(u.sibling=t.child,t.child=u):(null!==(n=r.last)?n.sibling=u:t.child=u,r.last=u)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Ua(),n.sibling=null,t=Fo.current,ca(Fo,l?1&t|2:1&t),n):null;case 23:case 24:return Ss(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(i(156,t.tag))}function sl(e){switch(e.tag){case 1:ga(e.type)&&ya();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Ro(),ua(pa),ua(fa),qo(),0!=(64&(t=e.flags)))throw Error(i(285));return e.flags=-4097&t|64,e;case 5:return Mo(e),null;case 13:return ua(Fo),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ua(Fo),null;case 4:return Ro(),null;case 10:return no(e),null;case 23:case 24:return Ss(),null;default:return null}}function ul(e,t){try{var n="",r=t;do{n+=V(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}}function cl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}Wi=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}},Gi=function(){},qi=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Ao(Oo.current);var i,l=null;switch(n){case"input":o=J(e,o),r=J(e,r),l=[];break;case"option":o=oe(e,o),r=oe(e,r),l=[];break;case"select":o=a({},o,{value:void 0}),r=a({},r,{value:void 0}),l=[];break;case"textarea":o=le(e,o),r=le(e,r),l=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=$r)}for(d in Se(n,r),n=null,o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&null!=o[d])if("style"===d){var u=o[d];for(i in u)u.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(s.hasOwnProperty(d)?l||(l=[]):(l=l||[]).push(d,null));for(d in r){var c=r[d];if(u=null!=o?o[d]:void 0,r.hasOwnProperty(d)&&c!==u&&(null!=c||null!=u))if("style"===d)if(u){for(i in u)!u.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&u[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(l||(l=[]),l.push(d,n)),n=c;else"dangerouslySetInnerHTML"===d?(c=c?c.__html:void 0,u=u?u.__html:void 0,null!=c&&u!==c&&(l=l||[]).push(d,c)):"children"===d?"string"!=typeof c&&"number"!=typeof c||(l=l||[]).push(d,""+c):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(s.hasOwnProperty(d)?(null!=c&&"onScroll"===d&&Or("scroll",e),l||u===c||(l=[])):"object"==typeof c&&null!==c&&c.$$typeof===D?c.toString():(l=l||[]).push(d,c))}n&&(l=l||[]).push("style",n);var d=l;(t.updateQueue=d)&&(t.flags|=4)}},Yi=function(e,t,n,r){n!==r&&(t.flags|=4)};var dl="function"==typeof WeakMap?WeakMap:Map;function fl(e,t,n){(n=uo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Yl||(Yl=!0,Kl=r),cl(0,t)},n}function pl(e,t,n){(n=uo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return cl(0,t),r(a)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Xl?Xl=new Set([this]):Xl.add(this),cl(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var hl="function"==typeof WeakSet?WeakSet:Set;function ml(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(n){zs(e,n)}else t.current=null}function gl(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Ya(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Vr(t.stateNode.containerInfo))}throw Error(i(163))}function yl(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var a=e;r=a.next,0!=(4&(a=a.tag))&&0!=(1&a)&&(Fs(n,e),Ms(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:Ya(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&ho(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:case 1:e=n.child.stateNode}ho(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&Ur(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Et(n)))))}throw Error(i(163))}function vl(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"==typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var a=n.memoizedProps.style;a=null!=a&&a.hasOwnProperty("display")?a.display:null,r.style.display=we("display",a)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function bl(e,t){if(Sa&&"function"==typeof Sa.onCommitFiberUnmount)try{Sa.onCommitFiberUnmount(ka,t)}catch(o){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,a=r.destroy;if(r=r.tag,void 0!==a)if(0!=(4&r))Fs(t,n);else{r=t;try{a()}catch(o){zs(r,o)}}n=n.next}while(n!==e)}break;case 1:if(ml(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(o){zs(t,o)}break;case 5:ml(t);break;case 4:_l(e,t)}}function wl(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function El(e){return 5===e.tag||3===e.tag||4===e.tag}function kl(e){e:{for(var t=e.return;null!==t;){if(El(t))break e;t=t.return}throw Error(i(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(i(161))}16&n.flags&&(ye(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||El(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?Sl(e,n,t):xl(e,n,t)}function Sl(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,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=$r));else if(4!==r&&null!==(e=e.child))for(Sl(e,t,n),e=e.sibling;null!==e;)Sl(e,t,n),e=e.sibling}function xl(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(xl(e,t,n),e=e.sibling;null!==e;)xl(e,t,n),e=e.sibling}function _l(e,t){for(var n,r,a=t,o=!1;;){if(!o){o=a.return;e:for(;;){if(null===o)throw Error(i(160));switch(n=o.stateNode,o.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}o=o.return}o=!0}if(5===a.tag||6===a.tag){e:for(var l=e,s=a,u=s;;)if(bl(l,u),null!==u.child&&4!==u.tag)u.child.return=u,u=u.child;else{if(u===s)break e;for(;null===u.sibling;){if(null===u.return||u.return===s)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}r?(l=n,s=a.stateNode,8===l.nodeType?l.parentNode.removeChild(s):l.removeChild(s)):n.removeChild(a.stateNode)}else if(4===a.tag){if(null!==a.child){n=a.stateNode.containerInfo,r=!0,a.child.return=a,a=a.child;continue}}else if(bl(e,a),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(o=!1)}a.sibling.return=a.return,a=a.sibling}}function Cl(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{3==(3&r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:case 12:case 17:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var a=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[Xr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),xe(e,a),t=xe(e,r),a=0;a<o.length;a+=2){var l=o[a],s=o[a+1];"style"===l?Ee(n,s):"dangerouslySetInnerHTML"===l?ge(n,s):"children"===l?ye(n,s):w(n,l,s,t)}switch(e){case"input":ne(n,r);break;case"textarea":ue(n,r);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(o=r.value)?ie(n,!!r.multiple,o,!1):e!==!!r.multiple&&(null!=r.defaultValue?ie(n,!!r.multiple,r.defaultValue,!0):ie(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(i(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,Et(n.containerInfo)));case 13:return null!==t.memoizedState&&(Ql=Ua(),vl(t.child,!0)),void Tl(t);case 19:return void Tl(t);case 23:case 24:return void vl(t,null!==t.memoizedState)}throw Error(i(163))}function Tl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new hl),t.forEach((function(t){var r=Us.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function Ll(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Ol=Math.ceil,Pl=E.ReactCurrentDispatcher,Nl=E.ReactCurrentOwner,Al=0,Il=null,Rl=null,Dl=0,Ml=0,Fl=sa(0),Bl=0,$l=null,zl=0,jl=0,Ul=0,Hl=0,Zl=null,Ql=0,Vl=1/0;function Wl(){Vl=Ua()+500}var Gl,ql=null,Yl=!1,Kl=null,Xl=null,Jl=!1,es=null,ts=90,ns=[],rs=[],as=null,os=0,is=null,ls=-1,ss=0,us=0,cs=null,ds=!1;function fs(){return 0!=(48&Al)?Ua():-1!==ls?ls:ls=Ua()}function ps(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Ha()?1:2;if(0===ss&&(ss=zl),0!==qa.transition){0!==us&&(us=null!==Zl?Zl.pendingLanes:0),e=ss;var t=4186112&~us;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Ha(),0!=(4&Al)&&98===e?e=$t(12,ss):e=$t(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),ss),e}function hs(e,t,n){if(50<os)throw os=0,is=null,Error(i(185));if(null===(e=ms(e,t)))return null;Ut(e,t,n),e===Il&&(Ul|=t,4===Bl&&vs(e,Dl));var r=Ha();1===t?0!=(8&Al)&&0==(48&Al)?bs(e):(gs(e,n),0===Al&&(Wl(),Wa())):(0==(4&Al)||98!==r&&99!==r||(null===as?as=new Set([e]):as.add(e)),gs(e,n)),Zl=e}function ms(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}function gs(e,t){for(var n=e.callbackNode,r=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,l=e.pendingLanes;0<l;){var s=31-Ht(l),u=1<<s,c=o[s];if(-1===c){if(0==(u&r)||0!=(u&a)){c=t,Mt(u);var d=Dt;o[s]=10<=d?c+250:6<=d?c+5e3:-1}}else c<=t&&(e.expiredLanes|=u);l&=~u}if(r=Ft(e,e===Il?Dl:0),t=Dt,0===r)null!==n&&(n!==Ma&&Ca(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==Ma&&Ca(n)}15===t?(n=bs.bind(null,e),null===Ba?(Ba=[n],$a=_a(Na,Ga)):Ba.push(n),n=Ma):14===t?n=Va(99,bs.bind(null,e)):(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(i(358,e))}}(t),n=Va(n,ys.bind(null,e))),e.callbackPriority=t,e.callbackNode=n}}function ys(e){if(ls=-1,us=ss=0,0!=(48&Al))throw Error(i(327));var t=e.callbackNode;if(Ds()&&e.callbackNode!==t)return null;var n=Ft(e,e===Il?Dl:0);if(0===n)return null;var r=n,a=Al;Al|=16;var o=Cs();for(Il===e&&Dl===r||(Wl(),xs(e,r));;)try{Os();break}catch(s){_s(e,s)}if(to(),Pl.current=o,Al=a,null!==Rl?r=0:(Il=null,Dl=0,r=Bl),0!=(zl&Ul))xs(e,0);else if(0!==r){if(2===r&&(Al|=64,e.hydrate&&(e.hydrate=!1,Vr(e.containerInfo)),0!==(n=Bt(e))&&(r=Ts(e,n))),1===r)throw t=$l,xs(e,0),vs(e,n),gs(e,Ua()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,r){case 0:case 1:throw Error(i(345));case 2:case 5:As(e);break;case 3:if(vs(e,n),(62914560&n)===n&&10<(r=Ql+500-Ua())){if(0!==Ft(e,0))break;if(((a=e.suspendedLanes)&n)!==n){fs(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Zr(As.bind(null,e),r);break}As(e);break;case 4:if(vs(e,n),(4186112&n)===n)break;for(r=e.eventTimes,a=-1;0<n;){var l=31-Ht(n);o=1<<l,(l=r[l])>a&&(a=l),n&=~o}if(n=a,10<(n=(120>(n=Ua()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Ol(n/1960))-n)){e.timeoutHandle=Zr(As.bind(null,e),n);break}As(e);break;default:throw Error(i(329))}}return gs(e,Ua()),e.callbackNode===t?ys.bind(null,e):null}function vs(e,t){for(t&=~Hl,t&=~Ul,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ht(t),r=1<<n;e[n]=-1,t&=~r}}function bs(e){if(0!=(48&Al))throw Error(i(327));if(Ds(),e===Il&&0!=(e.expiredLanes&Dl)){var t=Dl,n=Ts(e,t);0!=(zl&Ul)&&(n=Ts(e,t=Ft(e,t)))}else n=Ts(e,t=Ft(e,0));if(0!==e.tag&&2===n&&(Al|=64,e.hydrate&&(e.hydrate=!1,Vr(e.containerInfo)),0!==(t=Bt(e))&&(n=Ts(e,t))),1===n)throw n=$l,xs(e,0),vs(e,t),gs(e,Ua()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,As(e),gs(e,Ua()),null}function ws(e,t){var n=Al;Al|=1;try{return e(t)}finally{0===(Al=n)&&(Wl(),Wa())}}function Es(e,t){var n=Al;Al&=-2,Al|=8;try{return e(t)}finally{0===(Al=n)&&(Wl(),Wa())}}function ks(e,t){ca(Fl,Ml),Ml|=t,zl|=t}function Ss(){Ml=Fl.current,ua(Fl)}function xs(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Qr(n)),null!==Rl)for(n=Rl.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&ya();break;case 3:Ro(),ua(pa),ua(fa),qo();break;case 5:Mo(r);break;case 4:Ro();break;case 13:case 19:ua(Fo);break;case 10:no(r);break;case 23:case 24:Ss()}n=n.return}Il=e,Rl=Vs(e.current,null),Dl=Ml=zl=t,Bl=0,$l=null,Hl=Ul=jl=0}function _s(e,t){for(;;){var n=Rl;try{if(to(),Yo.current=Ni,ni){for(var r=Jo.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}ni=!1}if(Xo=0,ti=ei=Jo=null,ri=!1,Nl.current=null,null===n||null===n.return){Bl=1,$l=t,Rl=null;break}e:{var o=e,i=n.return,l=n,s=t;if(t=Dl,l.flags|=2048,l.firstEffect=l.lastEffect=null,null!==s&&"object"==typeof s&&"function"==typeof s.then){var u=s;if(0==(2&l.mode)){var c=l.alternate;c?(l.updateQueue=c.updateQueue,l.memoizedState=c.memoizedState,l.lanes=c.lanes):(l.updateQueue=null,l.memoizedState=null)}var d=0!=(1&Fo.current),f=i;do{var p;if(p=13===f.tag){var h=f.memoizedState;if(null!==h)p=null!==h.dehydrated;else{var m=f.memoizedProps;p=void 0!==m.fallback&&(!0!==m.unstable_avoidThisFallback||!d)}}if(p){var g=f.updateQueue;if(null===g){var y=new Set;y.add(u),f.updateQueue=y}else g.add(u);if(0==(2&f.mode)){if(f.flags|=64,l.flags|=16384,l.flags&=-2981,1===l.tag)if(null===l.alternate)l.tag=17;else{var v=uo(-1,1);v.tag=2,co(l,v)}l.lanes|=1;break e}s=void 0,l=t;var b=o.pingCache;if(null===b?(b=o.pingCache=new dl,s=new Set,b.set(u,s)):void 0===(s=b.get(u))&&(s=new Set,b.set(u,s)),!s.has(l)){s.add(l);var w=js.bind(null,o,u,l);u.then(w,w)}f.flags|=4096,f.lanes=t;break e}f=f.return}while(null!==f);s=Error((W(l.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Bl&&(Bl=2),s=ul(s,l),f=i;do{switch(f.tag){case 3:o=s,f.flags|=4096,t&=-t,f.lanes|=t,fo(f,fl(0,o,t));break e;case 1:o=s;var E=f.type,k=f.stateNode;if(0==(64&f.flags)&&("function"==typeof E.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===Xl||!Xl.has(k)))){f.flags|=4096,t&=-t,f.lanes|=t,fo(f,pl(f,o,t));break e}}f=f.return}while(null!==f)}Ns(n)}catch(S){t=S,Rl===n&&null!==n&&(Rl=n=n.return);continue}break}}function Cs(){var e=Pl.current;return Pl.current=Ni,null===e?Ni:e}function Ts(e,t){var n=Al;Al|=16;var r=Cs();for(Il===e&&Dl===t||xs(e,t);;)try{Ls();break}catch(a){_s(e,a)}if(to(),Al=n,Pl.current=r,null!==Rl)throw Error(i(261));return Il=null,Dl=0,Bl}function Ls(){for(;null!==Rl;)Ps(Rl)}function Os(){for(;null!==Rl&&!Ta();)Ps(Rl)}function Ps(e){var t=Gl(e.alternate,e,Ml);e.memoizedProps=e.pendingProps,null===t?Ns(e):Rl=t,Nl.current=null}function Ns(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=ll(n,t,Ml)))return void(Rl=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&Ml)||0==(4&n.mode)){for(var r=0,a=n.child;null!==a;)r|=a.lanes|a.childLanes,a=a.sibling;n.childLanes=r}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=sl(t)))return n.flags&=2047,void(Rl=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Rl=t);Rl=t=e}while(null!==t);0===Bl&&(Bl=5)}function As(e){var t=Ha();return Qa(99,Is.bind(null,e,t)),null}function Is(e,t){do{Ds()}while(null!==es);if(0!=(48&Al))throw Error(i(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null;var r=n.lanes|n.childLanes,a=r,o=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;for(var l=e.eventTimes,s=e.expirationTimes;0<o;){var u=31-Ht(o),c=1<<u;a[u]=0,l[u]=-1,s[u]=-1,o&=~c}if(null!==as&&0==(24&r)&&as.has(e)&&as.delete(e),e===Il&&(Rl=Il=null,Dl=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){if(a=Al,Al|=32,Nl.current=null,zr=Gt,gr(l=mr())){if("selectionStart"in l)s={start:l.selectionStart,end:l.selectionEnd};else e:if(s=(s=l.ownerDocument)&&s.defaultView||window,(c=s.getSelection&&s.getSelection())&&0!==c.rangeCount){s=c.anchorNode,o=c.anchorOffset,u=c.focusNode,c=c.focusOffset;try{s.nodeType,u.nodeType}catch(C){s=null;break e}var d=0,f=-1,p=-1,h=0,m=0,g=l,y=null;t:for(;;){for(var v;g!==s||0!==o&&3!==g.nodeType||(f=d+o),g!==u||0!==c&&3!==g.nodeType||(p=d+c),3===g.nodeType&&(d+=g.nodeValue.length),null!==(v=g.firstChild);)y=g,g=v;for(;;){if(g===l)break t;if(y===s&&++h===o&&(f=d),y===u&&++m===c&&(p=d),null!==(v=g.nextSibling))break;y=(g=y).parentNode}g=v}s=-1===f||-1===p?null:{start:f,end:p}}else s=null;s=s||{start:0,end:0}}else s=null;jr={focusedElem:l,selectionRange:s},Gt=!1,cs=null,ds=!1,ql=r;do{try{Rs()}catch(C){if(null===ql)throw Error(i(330));zs(ql,C),ql=ql.nextEffect}}while(null!==ql);cs=null,ql=r;do{try{for(l=e;null!==ql;){var b=ql.flags;if(16&b&&ye(ql.stateNode,""),128&b){var w=ql.alternate;if(null!==w){var E=w.ref;null!==E&&("function"==typeof E?E(null):E.current=null)}}switch(1038&b){case 2:kl(ql),ql.flags&=-3;break;case 6:kl(ql),ql.flags&=-3,Cl(ql.alternate,ql);break;case 1024:ql.flags&=-1025;break;case 1028:ql.flags&=-1025,Cl(ql.alternate,ql);break;case 4:Cl(ql.alternate,ql);break;case 8:_l(l,s=ql);var k=s.alternate;wl(s),null!==k&&wl(k)}ql=ql.nextEffect}}catch(C){if(null===ql)throw Error(i(330));zs(ql,C),ql=ql.nextEffect}}while(null!==ql);if(E=jr,w=mr(),b=E.focusedElem,l=E.selectionRange,w!==b&&b&&b.ownerDocument&&hr(b.ownerDocument.documentElement,b)){null!==l&&gr(b)&&(w=l.start,void 0===(E=l.end)&&(E=w),"selectionStart"in b?(b.selectionStart=w,b.selectionEnd=Math.min(E,b.value.length)):(E=(w=b.ownerDocument||document)&&w.defaultView||window).getSelection&&(E=E.getSelection(),s=b.textContent.length,k=Math.min(l.start,s),l=void 0===l.end?k:Math.min(l.end,s),!E.extend&&k>l&&(s=l,l=k,k=s),s=pr(b,k),o=pr(b,l),s&&o&&(1!==E.rangeCount||E.anchorNode!==s.node||E.anchorOffset!==s.offset||E.focusNode!==o.node||E.focusOffset!==o.offset)&&((w=w.createRange()).setStart(s.node,s.offset),E.removeAllRanges(),k>l?(E.addRange(w),E.extend(o.node,o.offset)):(w.setEnd(o.node,o.offset),E.addRange(w))))),w=[];for(E=b;E=E.parentNode;)1===E.nodeType&&w.push({element:E,left:E.scrollLeft,top:E.scrollTop});for("function"==typeof b.focus&&b.focus(),b=0;b<w.length;b++)(E=w[b]).element.scrollLeft=E.left,E.element.scrollTop=E.top}Gt=!!zr,jr=zr=null,e.current=n,ql=r;do{try{for(b=e;null!==ql;){var S=ql.flags;if(36&S&&yl(b,ql.alternate,ql),128&S){w=void 0;var x=ql.ref;if(null!==x){var _=ql.stateNode;ql.tag,w=_,"function"==typeof x?x(w):x.current=w}}ql=ql.nextEffect}}catch(C){if(null===ql)throw Error(i(330));zs(ql,C),ql=ql.nextEffect}}while(null!==ql);ql=null,Fa(),Al=a}else e.current=n;if(Jl)Jl=!1,es=e,ts=t;else for(ql=r;null!==ql;)t=ql.nextEffect,ql.nextEffect=null,8&ql.flags&&((S=ql).sibling=null,S.stateNode=null),ql=t;if(0===(r=e.pendingLanes)&&(Xl=null),1===r?e===is?os++:(os=0,is=e):os=0,n=n.stateNode,Sa&&"function"==typeof Sa.onCommitFiberRoot)try{Sa.onCommitFiberRoot(ka,n,void 0,64==(64&n.current.flags))}catch(C){}if(gs(e,Ua()),Yl)throw Yl=!1,e=Kl,Kl=null,e;return 0!=(8&Al)||Wa(),null}function Rs(){for(;null!==ql;){var e=ql.alternate;ds||null===cs||(0!=(8&ql.flags)?Je(ql,cs)&&(ds=!0):13===ql.tag&&Ll(e,ql)&&Je(ql,cs)&&(ds=!0));var t=ql.flags;0!=(256&t)&&gl(e,ql),0==(512&t)||Jl||(Jl=!0,Va(97,(function(){return Ds(),null}))),ql=ql.nextEffect}}function Ds(){if(90!==ts){var e=97<ts?97:ts;return ts=90,Qa(e,Bs)}return!1}function Ms(e,t){ns.push(t,e),Jl||(Jl=!0,Va(97,(function(){return Ds(),null})))}function Fs(e,t){rs.push(t,e),Jl||(Jl=!0,Va(97,(function(){return Ds(),null})))}function Bs(){if(null===es)return!1;var e=es;if(es=null,0!=(48&Al))throw Error(i(331));var t=Al;Al|=32;var n=rs;rs=[];for(var r=0;r<n.length;r+=2){var a=n[r],o=n[r+1],l=a.destroy;if(a.destroy=void 0,"function"==typeof l)try{l()}catch(u){if(null===o)throw Error(i(330));zs(o,u)}}for(n=ns,ns=[],r=0;r<n.length;r+=2){a=n[r],o=n[r+1];try{var s=a.create;a.destroy=s()}catch(u){if(null===o)throw Error(i(330));zs(o,u)}}for(s=e.current.firstEffect;null!==s;)e=s.nextEffect,s.nextEffect=null,8&s.flags&&(s.sibling=null,s.stateNode=null),s=e;return Al=t,Wa(),!0}function $s(e,t,n){co(e,t=fl(0,t=ul(n,t),1)),t=fs(),null!==(e=ms(e,1))&&(Ut(e,1,t),gs(e,t))}function zs(e,t){if(3===e.tag)$s(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){$s(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Xl||!Xl.has(r))){var a=pl(n,e=ul(t,e),1);if(co(n,a),a=fs(),null!==(n=ms(n,1)))Ut(n,1,a),gs(n,a);else if("function"==typeof r.componentDidCatch&&(null===Xl||!Xl.has(r)))try{r.componentDidCatch(t,e)}catch(o){}break}}n=n.return}}function js(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=fs(),e.pingedLanes|=e.suspendedLanes&n,Il===e&&(Dl&n)===n&&(4===Bl||3===Bl&&(62914560&Dl)===Dl&&500>Ua()-Ql?xs(e,0):Hl|=n),gs(e,t)}function Us(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Ha()?1:2:(0===ss&&(ss=zl),0===(t=zt(62914560&~ss))&&(t=4194304))),n=fs(),null!==(e=ms(e,t))&&(Ut(e,t,n),gs(e,n))}function Hs(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.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Zs(e,t,n,r){return new Hs(e,t,n,r)}function Qs(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Vs(e,t){var n=e.alternate;return null===n?((n=Zs(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.nextEffect=null,n.firstEffect=null,n.lastEffect=null),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 Ws(e,t,n,r,a,o){var l=2;if(r=e,"function"==typeof e)Qs(e)&&(l=1);else if("string"==typeof e)l=5;else e:switch(e){case x:return Gs(n.children,a,o,t);case M:l=8,a|=16;break;case _:l=8,a|=1;break;case C:return(e=Zs(12,n,t,8|a)).elementType=C,e.type=C,e.lanes=o,e;case P:return(e=Zs(13,n,t,a)).type=P,e.elementType=P,e.lanes=o,e;case N:return(e=Zs(19,n,t,a)).elementType=N,e.lanes=o,e;case F:return qs(n,a,o,t);case B:return(e=Zs(24,n,t,a)).elementType=B,e.lanes=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case T:l=10;break e;case L:l=9;break e;case O:l=11;break e;case A:l=14;break e;case I:l=16,r=null;break e;case R:l=22;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Zs(l,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function Gs(e,t,n,r){return(e=Zs(7,e,r,t)).lanes=n,e}function qs(e,t,n,r){return(e=Zs(23,e,r,t)).elementType=F,e.lanes=n,e}function Ys(e,t,n){return(e=Zs(6,e,null,t)).lanes=n,e}function Ks(e,t,n){return(t=Zs(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xs(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=jt(0),this.expirationTimes=jt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=jt(0),this.mutableSourceEagerHydrationData=null}function Js(e,t,n,r){var a=t.current,o=fs(),l=ps(a);e:if(n){t:{if(qe(n=n._reactInternals)!==n||1!==n.tag)throw Error(i(170));var s=n;do{switch(s.tag){case 3:s=s.stateNode.context;break t;case 1:if(ga(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break t}}s=s.return}while(null!==s);throw Error(i(171))}if(1===n.tag){var u=n.type;if(ga(u)){n=ba(n,u,s);break e}}n=s}else n=da;return null===t.context?t.context=n:t.pendingContext=n,(t=uo(o,l)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),co(a,t),hs(a,l,o),l}function eu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function tu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function nu(e,t){tu(e,t),(e=e.alternate)&&tu(e,t)}function ru(e,t,n){var r=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Xs(e,t,null!=n&&!0===n.hydrate),t=Zs(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,lo(t),e[Jr]=n.current,Nr(8===e.nodeType?e.parentNode:e),r)for(e=0;e<r.length;e++){var a=(t=r[e])._getVersion;a=a(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,a]:n.mutableSourceEagerHydrationData.push(t,a)}this._internalRoot=n}function au(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function ou(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o._internalRoot;if("function"==typeof a){var l=a;a=function(){var e=eu(i);l.call(e)}}Js(t,i,e,a)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ru(e,0,t?{hydrate:!0}:void 0)}(n,r),i=o._internalRoot,"function"==typeof a){var s=a;a=function(){var e=eu(i);s.call(e)}}Es((function(){Js(t,i,e,a)}))}return eu(i)}function iu(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!au(t))throw Error(i(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}Gl=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||pa.current)Mi=!0;else{if(0==(n&r)){switch(Mi=!1,t.tag){case 3:Vi(t),Wo();break;case 5:Do(t);break;case 1:ga(t.type)&&wa(t);break;case 4:Io(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var a=t.type._context;ca(Ka,a._currentValue),a._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!=(n&t.child.childLanes)?Xi(e,t,n):(ca(Fo,1&Fo.current),null!==(t=ol(e,t,n))?t.sibling:null);ca(Fo,1&Fo.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(64&e.flags)){if(r)return al(e,t,n);t.flags|=64}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),ca(Fo,Fo.current),r)break;return null;case 23:case 24:return t.lanes=0,ji(e,t,n)}return ol(e,t,n)}Mi=0!=(16384&e.flags)}else Mi=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=ma(t,fa.current),ao(t,n),a=ii(null,t,r,e,a,n),t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,ga(r)){var o=!0;wa(t)}else o=!1;t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,lo(t);var l=r.getDerivedStateFromProps;"function"==typeof l&&go(t,r,l,e),a.updater=yo,t.stateNode=a,a._reactInternals=t,Eo(t,r,e,n),t=Qi(null,t,r,!0,o,n)}else t.tag=0,Fi(null,t,a,n),t=t.child;return t;case 16:a=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=(o=a._init)(a._payload),t.type=a,o=t.tag=function(e){if("function"==typeof e)return Qs(e)?1:0;if(null!=e){if((e=e.$$typeof)===O)return 11;if(e===A)return 14}return 2}(a),e=Ya(a,e),o){case 0:t=Hi(null,t,a,e,n);break e;case 1:t=Zi(null,t,a,e,n);break e;case 11:t=Bi(null,t,a,e,n);break e;case 14:t=$i(null,t,a,Ya(a.type,e),r,n);break e}throw Error(i(306,a,""))}return t;case 0:return r=t.type,a=t.pendingProps,Hi(e,t,r,a=t.elementType===r?a:Ya(r,a),n);case 1:return r=t.type,a=t.pendingProps,Zi(e,t,r,a=t.elementType===r?a:Ya(r,a),n);case 3:if(Vi(t),r=t.updateQueue,null===e||null===r)throw Error(i(282));if(r=t.pendingProps,a=null!==(a=t.memoizedState)?a.element:null,so(e,t),po(t,r,null,n),(r=t.memoizedState.element)===a)Wo(),t=ol(e,t,n);else{if((o=(a=t.stateNode).hydrate)&&(zo=Wr(t.stateNode.containerInfo.firstChild),$o=t,o=jo=!0),o){if(null!=(e=a.mutableSourceEagerHydrationData))for(a=0;a<e.length;a+=2)(o=e[a])._workInProgressVersionPrimary=e[a+1],Go.push(o);for(n=To(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Fi(e,t,r,n),Wo();t=t.child}return t;case 5:return Do(t),null===e&&Zo(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,l=a.children,Hr(r,a)?l=null:null!==o&&Hr(r,o)&&(t.flags|=16),Ui(e,t),Fi(e,t,l,n),t.child;case 6:return null===e&&Zo(t),null;case 13:return Xi(e,t,n);case 4:return Io(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Co(t,null,r,n):Fi(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Bi(e,t,r,a=t.elementType===r?a:Ya(r,a),n);case 7:return Fi(e,t,t.pendingProps,n),t.child;case 8:case 12:return Fi(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,a=t.pendingProps,l=t.memoizedProps,o=a.value;var s=t.type._context;if(ca(Ka,s._currentValue),s._currentValue=o,null!==l)if(s=l.value,0===(o=ur(s,o)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(s,o):1073741823))){if(l.children===a.children&&!pa.current){t=ol(e,t,n);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var u=s.dependencies;if(null!==u){l=s.child;for(var c=u.firstContext;null!==c;){if(c.context===r&&0!=(c.observedBits&o)){1===s.tag&&((c=uo(-1,n&-n)).tag=2,co(s,c)),s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),ro(s.return,n),u.lanes|=n;break}c=c.next}}else l=10===s.tag&&s.type===t.type?null:s.child;if(null!==l)l.return=s;else for(l=s;null!==l;){if(l===t){l=null;break}if(null!==(s=l.sibling)){s.return=l.return,l=s;break}l=l.return}s=l}Fi(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=(o=t.pendingProps).children,ao(t,n),r=r(a=oo(a,o.unstable_observedBits)),t.flags|=1,Fi(e,t,r,n),t.child;case 14:return o=Ya(a=t.type,t.pendingProps),$i(e,t,a,o=Ya(a.type,o),r,n);case 15:return zi(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Ya(r,a),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ga(r)?(e=!0,wa(t)):e=!1,ao(t,n),bo(t,r,a),Eo(t,r,a,n),Qi(null,t,r,!0,e,n);case 19:return al(e,t,n);case 23:case 24:return ji(e,t,n)}throw Error(i(156,t.tag))},ru.prototype.render=function(e){Js(e,this._internalRoot,null,null)},ru.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Js(null,e,null,(function(){t[Jr]=null}))},et=function(e){13===e.tag&&(hs(e,4,fs()),nu(e,4))},tt=function(e){13===e.tag&&(hs(e,67108864,fs()),nu(e,67108864))},nt=function(e){if(13===e.tag){var t=fs(),n=ps(e);hs(e,n,t),nu(e,n)}},rt=function(e,t){return t()},Ce=function(e,t,n){switch(t){case"input":if(ne(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=aa(r);if(!a)throw Error(i(90));K(r),ne(r,a)}}}break;case"textarea":ue(e,n);break;case"select":null!=(t=n.value)&&ie(e,!!n.multiple,t,!1)}},Ae=ws,Ie=function(e,t,n,r,a){var o=Al;Al|=4;try{return Qa(98,e.bind(null,t,n,r,a))}finally{0===(Al=o)&&(Wl(),Wa())}},Re=function(){0==(49&Al)&&(function(){if(null!==as){var e=as;as=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,gs(e,Ua())}))}Wa()}(),Ds())},De=function(e,t){var n=Al;Al|=2;try{return e(t)}finally{0===(Al=n)&&(Wl(),Wa())}};var lu={Events:[na,ra,aa,Pe,Ne,Ds,{current:!1}]},su={findFiberByHostInstance:ta,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},uu={bundleType:su.bundleType,version:su.version,rendererPackageName:su.rendererPackageName,rendererConfig:su.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:E.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Xe(e))?null:e.stateNode},findFiberByHostInstance:su.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var cu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!cu.isDisabled&&cu.supportsFiber)try{ka=cu.inject(uu),Sa=cu}catch(me){}}t.hydrate=function(e,t,n){if(!au(t))throw Error(i(200));return ou(null,e,t,!0,n)}},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)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.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:()=>Q,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 f(){return f=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},f.apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,h(e,t)}function h(e,t){return h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},h(e,t)}function m(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"]},v={type:["application/ld+json"]},b={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]})),E={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},k=Object.keys(E).reduce((function(e,t){return e[E[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},x=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},_=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 f({},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=f({},r[l],a[l]);r[l]=s}return e}),[]).reverse()},O=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},P=function(e){return Array.isArray(e)?e.join(""):e},N=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}},A=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},I=[g.NOSCRIPT,g.SCRIPT,g.STYLE],R=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}),"")},M=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[E[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=E[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},B=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=M(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=P(t);return a?"<"+e+' data-rh="true" '+a+">"+R(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+R(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return M(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+'="'+R(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===I.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},$=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,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var h=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=N(e.metaTags,b),o=N(t,y),i=N(n,v);return{priorityMethods:{toComponent:function(){return[].concat(F(g.META,a.priority),F(g.LINK,o.priority),F(g.SCRIPT,i.priority))},toString:function(){return B(g.META,a.priority,r)+" "+B(g.LINK,o.priority,r)+" "+B(g.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);p=h.priorityMethods,c=h.linkTags,d=h.metaTags,f=h.scriptTags}return{priority:p,base:B(g.BASE,t,r),bodyAttributes:B("bodyAttributes",n,r),htmlAttributes:B("htmlAttributes",a,r),link:B(g.LINK,c,r),meta:B(g.META,d,r),noscript:B(g.NOSCRIPT,o,r),script:B(g.SCRIPT,f,r),style:B(g.STYLE,i,r),title:B(g.TITLE,{title:s,titleAttributes:u},r)}},z=[],j=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?z:n.instances},add:function(e){(n.canUseDOM?z:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?z:n.instances).indexOf(e);(n.canUseDOM?z:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=$({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),H=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),Z="undefined"!=typeof document,Q=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new j(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);Q.canUseDOM=Z,Q.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},Q.defaultProps={context:{}},Q.displayName="HelmetProvider";var V=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}},W=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(","))}},G=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;W(g.BODY,e.bodyAttributes),W(g.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=P(e)),W(g.TITLE,t)}(c,d);var f={baseTag:V(g.BASE,n),linkTags:V(g.LINK,a),metaTags:V(g.META,o),noscriptTags:V(g.NOSCRIPT,i),scriptTags:V(g.SCRIPT,s),styleTags:V(g.STYLE,u)},p={},h={};Object.keys(f).forEach((function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(h[e]=f[e].oldTags)})),t&&t(),l(e,p,h)},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}p(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=f({},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),scriptTags:L(g.SCRIPT,["src","innerHTML"],e),styleTags:L(g.STYLE,["cssText"],e),title:x(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:O(e,"prioritizeSeoTags")});Q.canUseDOM?(t=o,q&&cancelAnimationFrame(q),t.defer?q=requestAnimationFrame((function(){G(t,(function(){q=null}))})):(G(t),q=null)):$&&(a=$(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:H.isRequired},Y.displayName="HelmetDispatcher";var K=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!l()(A(this.props,"helmetData"),A(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 f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},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 f({},a,((t={})[r.type]=i,t.titleAttributes=f({},o),t));case g.BODY:return f({},a,{bodyAttributes:f({},o)});case g.HTML:return f({},a,{htmlAttributes:f({},o)});default:return f({},a,((n={})[r.type]=f({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach((function(t){var r;n=f({},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=m(r,K),l=Object.keys(i).reduce((function(e,t){return e[k[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=m(e,X),a=f({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof j||(o=new j(o.context,o.instances)),o?r.createElement(Y,f({},a,{context:o.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,f({},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,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,b=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function E(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 p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case g:case m:case s:return e;default:return t}}case a:return t}}}function k(e){return E(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=s,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=g,t.Memo=m,t.Portal=a,t.Profiler=l,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return k(e)||E(e)===c},t.isConcurrentMode=k,t.isContextConsumer=function(e){return E(e)===u},t.isContextProvider=function(e){return E(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return E(e)===f},t.isFragment=function(e){return E(e)===o},t.isLazy=function(e){return E(e)===g},t.isMemo=function(e){return E(e)===m},t.isPortal=function(e){return E(e)===a},t.isProfiler=function(e){return E(e)===l},t.isStrictMode=function(e){return E(e)===i},t.isSuspense=function(e){return E(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===l||e===i||e===p||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===m||e.$$typeof===s||e.$$typeof===u||e.$$typeof===f||e.$$typeof===v||e.$$typeof===b||e.$$typeof===w||e.$$typeof===y)},t.typeOf=E},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 f(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 p(e,t){return l.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function h(e,t){var d,f;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var h=i({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),m=null;function g(){return m||(m=e(h.loader)),m.promise}return u.push(g),"function"==typeof h.webpack&&c.push((function(){if((0,h.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return g()})),f=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}),m=e(h.loader),r._loadModule()})),g(),r.state={error:m.error,pastDelay:!1,timedOut:!1,loading:m.loading,loaded:m.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(h.modules)&&h.modules.forEach((function(t){e.context.loadable.report(t)})),m.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof h.delay&&(0===h.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),h.delay)),"number"==typeof h.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),h.timeout));var n=function(){t({error:m.error,loaded:m.loaded,loading:m.loading}),e._clearTimeouts()};m.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(h.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?h.render(this.state.loaded,this.props):null},n}(l.Component),o(d,"contextTypes",{loadable:s.shape({report:s.func.isRequired})}),f}function m(e){return h(d,e)}m.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return h(f,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}),m.Capture=g,m.preloadAll=function(){return new Promise((function(e,t){y(u).then(e,t)}))},m.preloadReady=function(){return new Promise((function(e,t){y(c).then(e,e)}))},e.exports=m},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:()=>b,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},f=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},p=function(e){return e},h=o.forwardRef;void 0===h&&(h=p);var m=h((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=p!==h&&t||n,o.createElement("a",c)}));var g=h((function(e,t){var n=e.component,a=void 0===n?m:n,c=e.replace,g=e.to,y=e.innerRef,v=(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=f(d(g,e.location),e.location),s=r?n.createHref(r):"",m=(0,l.Z)({},v,{href:s,navigate:function(){var t=d(g,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(f(t));(c||r?n.replace:n.push)(t)}});return p!==h?m.ref=t||y:m.innerRef=y,o.createElement(a,m)}))})),y=function(e){return e},v=o.forwardRef;void 0===v&&(v=y);var b=v((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,c=void 0===i?"active":i,p=e.activeStyle,h=e.className,m=e.exact,b=e.isActive,w=e.location,E=e.sensitive,k=e.strict,S=e.style,x=e.to,_=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=f(d(x,n),n),s=i.pathname,T=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),L=T?(0,r.LX)(n.pathname,{path:T,exact:m,sensitive:E,strict:k}):null,O=!!(b?b(L,n):L),P="function"==typeof h?h(O):h,N="function"==typeof S?S(O):S;O&&(P=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(" ")}(P,c),N=(0,l.Z)({},N,p));var A=(0,l.Z)({"aria-current":O&&a||null,className:P,style:N,to:i},C);return y!==v?A.ref=t||_:A.innerRef=_,o.createElement(g,A)}))}))},6550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>x,F0:()=>b,LX:()=>S,TH:()=>I,k6:()=>A,rs:()=>P,s6:()=>v});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(9658),d=n.n(c),f=(n(9864),n(3366)),p=(n(8679),1073741823),h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var m=a.createContext||function(e,t){var n,o,l="__create-react-context-"+function(){var e="__global_unique_id__";return h[e]=(h[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):p,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?p:t},a.componentDidMount=function(){this.context[l]&&this.context[l].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?p: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=m();return t.displayName=e,t},y=g("Router-History"),v=g("Router"),b=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(v.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={},E=1e4,k=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 k<E&&(r[e]=o,k++),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],f=s.slice(1),p=e===c;return o&&!p?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:p,params:i.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var x=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(v.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(v.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){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=_(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 O(){}a.Component;var P=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(v.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 N=a.useContext;function A(){return N(y)}function I(){return N(v).location}},9658:(e,t,n)=>{var r=n(5826);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=f;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],f=n[1],p=n.index;if(l+=e.slice(i,p),i=p+d.length,f)l+=f[1];else{var h=e[i],m=n[2],g=n[3],y=n[4],v=n[5],b=n[6],w=n[7];l&&(r.push(l),l="");var E=null!=m&&null!=h&&h!==m,k="+"===b||"*"===b,S="?"===b||"*"===b,x=n[2]||c,_=y||v;r.push({name:g||o++,prefix:m||"",delimiter:x,optional:S,repeat:k,partial:E,asterisk:!!w,pattern:_?u(_):w?".*":"[^"+s(x)+"]+?"})}}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,f=l[c.name];if(null==f){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(r(f)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(d=s(f[p]),!n[u].test(d))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===p?c.prefix:c.delimiter)+d}}else{if(d=c.asterisk?encodeURI(f).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):s(f),!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 f(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 f=s(u.prefix),p="(?:"+u.pattern+")";t.push(u),u.repeat&&(p+="(?:"+f+p+")*"),i+=p=u.optional?u.partial?f+"("+p+")?":"(?:"+f+"("+p+"))?":f+"("+p+")"}}var h=s(n.delimiter||"/"),m=i.slice(-h.length)===h;return a||(i=(m?i.slice(0,-h.length):i)+"(?:"+h+"(?=$))?"),i+=o?"$":a&&m?"":"(?="+h+"|$)",c(new RegExp("^"+i,d(n)),t)}function p(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(p(e[a],t,n).source);return c(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return f(o(e,n),t,n)}(e,t,n)}},2408:(e,t,n)=>{"use strict";var r=n(7418),a=60103,o=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,l=60110,s=60112;t.Suspense=60113;var u=60115,c=60116;if("function"==typeof Symbol&&Symbol.for){var d=Symbol.for;a=d("react.element"),o=d("react.portal"),t.Fragment=d("react.fragment"),t.StrictMode=d("react.strict_mode"),t.Profiler=d("react.profiler"),i=d("react.provider"),l=d("react.context"),s=d("react.forward_ref"),t.Suspense=d("react.suspense"),u=d("react.memo"),c=d("react.lazy")}var f="function"==typeof Symbol&&Symbol.iterator;function p(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 h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m={};function g(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=g.prototype;var b=v.prototype=new y;b.constructor=v,r(b,g.prototype),b.isPureReactComponent=!0;var w={current:null},E=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n){var r,o={},i=null,l=null;if(null!=t)for(r in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)E.call(t,r)&&!k.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(1===s)o.children=n;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(r in s=e.defaultProps)void 0===o[r]&&(o[r]=s[r]);return{$$typeof:a,type:e,key:i,ref:l,props:o,_owner:w.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var _=/\/+/g;function C(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 T(e,t,n,r,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 a:case o:s=!0}}if(s)return i=i(s=e),e=""===r?"."+C(s,0):r,Array.isArray(i)?(n="",null!=e&&(n=e.replace(_,"$&/")+"/"),T(i,t,n,"",(function(e){return e}))):null!=i&&(x(i)&&(i=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,n+(!i.key||s&&s.key===i.key?"":(""+i.key).replace(_,"$&/")+"/")+e)),t.push(i)),1;if(s=0,r=""===r?".":r+":",Array.isArray(e))for(var u=0;u<e.length;u++){var c=r+C(l=e[u],u);s+=T(l,t,n,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+=T(l=l.value,t,n,c=r+C(l,u++),i);else if("object"===l)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return s}function L(e,t,n){if(null==e)return e;var r=[],a=0;return T(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function O(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var P={current:null};function N(){var e=P.current;if(null===e)throw Error(p(321));return e}var A={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:w,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:L,forEach:function(e,t,n){L(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return L(e,(function(){t++})),t},toArray:function(e){return L(e,(function(e){return e}))||[]},only:function(e){if(!x(e))throw Error(p(143));return e}},t.Component=g,t.PureComponent=v,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=A,t.cloneElement=function(e,t,n){if(null==e)throw Error(p(267,e));var o=r({},e.props),i=e.key,l=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(l=t.ref,s=w.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(c in t)E.call(t,c)&&!k.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==u?u[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){u=Array(c);for(var d=0;d<c;d++)u[d]=arguments[d+2];o.children=u}return{$$typeof:a,type:e.type,key:i,ref:l,props:o,_owner:s}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:l,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:s,render:e}},t.isValidElement=x,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:O}},t.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return N().useCallback(e,t)},t.useContext=function(e,t){return N().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return N().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return N().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return N().useLayoutEffect(e,t)},t.useMemo=function(e,t){return N().useMemo(e,t)},t.useReducer=function(e,t,n){return N().useReducer(e,t,n)},t.useRef=function(e){return N().useRef(e)},t.useState=function(e){return N().useState(e)},t.version="17.0.2"},7294:(e,t,n)=>{"use strict";e.exports=n(2408)},53:(e,t)=>{"use strict";var n,r,a,o;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}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,c=null,d=function(){if(null!==u)try{var e=t.unstable_now();u(!0,e),u=null}catch(n){throw setTimeout(d,0),n}};n=function(e){null!==u?setTimeout(n,0,e):(u=e,setTimeout(d,0))},r=function(e,t){c=setTimeout(e,t)},a=function(){clearTimeout(c)},t.unstable_shouldYield=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var f=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var h=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof h&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var m=!1,g=null,y=-1,v=5,b=0;t.unstable_shouldYield=function(){return t.unstable_now()>=b},o=function(){},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"):v=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,E=w.port2;w.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();b=e+v;try{g(!0,e)?E.postMessage(null):(m=!1,g=null)}catch(n){throw E.postMessage(null),n}}else m=!1},n=function(e){g=e,m||(m=!0,E.postMessage(null))},r=function(e,n){y=f((function(){e(t.unstable_now())}),n)},a=function(){p(y),y=-1}}function k(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,a=e[r];if(!(void 0!==a&&0<_(a,t)))break e;e[r]=t,e[n]=a,n=r}}function S(e){return void 0===(e=e[0])?null:e}function x(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length;r<a;){var o=2*(r+1)-1,i=e[o],l=o+1,s=e[l];if(void 0!==i&&0>_(i,n))void 0!==s&&0>_(s,i)?(e[r]=s,e[l]=n,r=l):(e[r]=i,e[o]=n,r=o);else{if(!(void 0!==s&&0>_(s,n)))break e;e[r]=s,e[l]=n,r=l}}}return t}return null}function _(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var C=[],T=[],L=1,O=null,P=3,N=!1,A=!1,I=!1;function R(e){for(var t=S(T);null!==t;){if(null===t.callback)x(T);else{if(!(t.startTime<=e))break;x(T),t.sortIndex=t.expirationTime,k(C,t)}t=S(T)}}function D(e){if(I=!1,R(e),!A)if(null!==S(C))A=!0,n(M);else{var t=S(T);null!==t&&r(D,t.startTime-e)}}function M(e,n){A=!1,I&&(I=!1,a()),N=!0;var o=P;try{for(R(n),O=S(C);null!==O&&(!(O.expirationTime>n)||e&&!t.unstable_shouldYield());){var i=O.callback;if("function"==typeof i){O.callback=null,P=O.priorityLevel;var l=i(O.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?O.callback=l:O===S(C)&&x(C),R(n)}else x(C);O=S(C)}if(null!==O)var s=!0;else{var u=S(T);null!==u&&r(D,u.startTime-n),s=!1}return s}finally{O=null,P=o,N=!1}}var F=o;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(){A||N||(A=!0,n(M))},t.unstable_getCurrentPriorityLevel=function(){return P},t.unstable_getFirstCallbackNode=function(){return S(C)},t.unstable_next=function(e){switch(P){case 1:case 2:case 3:var t=3;break;default:t=P}var n=P;P=t;try{return e()}finally{P=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=F,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=P;P=e;try{return t()}finally{P=n}},t.unstable_scheduleCallback=function(e,o,i){var l=t.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0<i?l+i:l:i=l,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:L++,callback:o,priorityLevel:e,startTime:i,expirationTime:s=i+s,sortIndex:-1},i>l?(e.sortIndex=i,k(T,e),null===S(C)&&e===S(T)&&(I?a():I=!0,r(D,i-l))):(e.sortIndex=s,k(C,e),A||N||(A=!0,n(M))),e},t.unstable_wrapCallback=function(e){var t=P;return function(){var n=P;P=t;try{return e.apply(this,arguments)}finally{P=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}},3250:(e,t,n)=>{"use strict";var r=n(7294);var a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,i=r.useEffect,l=r.useLayoutEffect,s=r.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!a(e,n)}catch(r){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),a=r[0].inst,c=r[1];return l((function(){a.value=n,a.getSnapshot=t,u(a)&&c({inst:a})}),[e,n,t]),i((function(){return u(a)&&c({inst:a}),e((function(){u(a)&&c({inst:a})}))}),[e]),s(n),n};void 0!==r.useSyncExternalStore&&r.useSyncExternalStore},1688:(e,t,n)=>{"use strict";n(3250)},6809:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r={title:"CML",tagline:"Getting started",url:"https://dcspark.github.io",baseUrl:"/",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",favicon:"img/favicon.svg",organizationName:"dcSpark",projectName:"cardano-multiplatform-lib",themes:[["/home/sebdev20/Documents/git/cardano-multiplatform-lib/docs/node_modules/@easyops-cn/docusaurus-search-local/dist/server/server/index.js",{docsRouteBasePath:"/",hashed:!0}]],presets:[["classic",{docs:{sidebarPath:"/home/sebdev20/Documents/git/cardano-multiplatform-lib/docs/sidebars.js",routeBasePath:"/"},blog:!1,theme:{customCss:"/home/sebdev20/Documents/git/cardano-multiplatform-lib/docs/src/css/custom.css"}}]],plugins:[null],themeConfig:{navbar:{title:"Cardano Multiplatform Lib Docs",logo:{alt:"dcSpark logo",src:"img/favicon.svg"},items:[{type:"localeDropdown",position:"right",dropdownItemsBefore:[],dropdownItemsAfter:[]}],hideOnScroll:!1},footer:{style:"dark",copyright:"Copyright \xa9 2023 dcSpark. Built with Docusaurus.",links:[]},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:["rust"],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,i18n:{defaultLocale:"en",path:"i18n",locales:["en"],localeConfigs:{}},onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{mermaid:!1}}},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})},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('{"/search-85e":{"__comp":"1a4e3797","__context":{"plugin":"0109cddc"}},"/-505":{"__comp":"1be78505","__context":{"plugin":"f438ab24"},"versionMetadata":"935f2afb"},"/-98e":{"__comp":"17896441","content":"c377a04b"},"/category/builders-a18":{"__comp":"14eb3368","categoryGeneratedIndex":"9a1b722f"},"/category/chain-acc":{"__comp":"14eb3368","categoryGeneratedIndex":"d544c820"},"/category/core-634":{"__comp":"14eb3368","categoryGeneratedIndex":"4f8b6be9"},"/category/crypto-f41":{"__comp":"14eb3368","categoryGeneratedIndex":"1655029a"},"/category/modules-046":{"__comp":"14eb3368","categoryGeneratedIndex":"37328f8a"},"/crate_architecture-7f5":{"__comp":"17896441","content":"e7958d21"},"/getting_started-67e":{"__comp":"17896441","content":"456dc1ab"},"/modules/builders/generating_transactions-f8a":{"__comp":"17896441","content":"dd8d23a4"},"/modules/chain/-423":{"__comp":"17896441","content":"42a4384b"},"/modules/CIP25-7ab":{"__comp":"17896441","content":"a6c5da82"},"/modules/cip36-838":{"__comp":"17896441","content":"bbe6d832"},"/modules/core/-f14":{"__comp":"17896441","content":"187dbc21"},"/modules/crypto/-ae7":{"__comp":"17896441","content":"8019ae33"},"/modules/crypto/generating_keys-433":{"__comp":"17896441","content":"b5ddca27"},"/modules/metadata-80e":{"__comp":"17896441","content":"f41b0af6"}}')}},e=>{e.O(0,[532],(()=>{return t=9383,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.d760f3bd.js.LICENSE.txt b/assets/js/main.d760f3bd.js.LICENSE.txt new file mode 100644 index 00000000..2c826395 --- /dev/null +++ b/assets/js/main.d760f3bd.js.LICENSE.txt @@ -0,0 +1,125 @@ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ + +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * @license React + * use-sync-external-store-shim.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. + */ + +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT <https://opensource.org/licenses/MIT> + * @author Lea Verou <https://lea.verou.me> + * @namespace + * @public + */ + +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ + +/** @license React v0.20.2 + * 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. + */ + +/** @license React v17.0.2 + * 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 v17.0.2 + * 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. + */ diff --git a/assets/js/runtime~main.abe48510.js b/assets/js/runtime~main.abe48510.js new file mode 100644 index 00000000..9c2d8354 --- /dev/null +++ b/assets/js/runtime~main.abe48510.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,t,r,a,o,n={},d={};function f(e){var t=d[e];if(void 0!==t)return t.exports;var r=d[e]={exports:{}};return n[e].call(r.exports,r,r.exports,f),r.exports}f.m=n,e=[],f.O=(t,r,a,o)=>{if(!r){var n=1/0;for(b=0;b<e.length;b++){r=e[b][0],a=e[b][1],o=e[b][2];for(var d=!0,c=0;c<r.length;c++)(!1&o||n>=o)&&Object.keys(f.O).every((e=>f.O[e](r[c])))?r.splice(c--,1):(d=!1,o<n&&(n=o));if(d){e.splice(b--,1);var i=a();void 0!==i&&(t=i)}}return t}o=o||0;for(var b=e.length;b>0&&e[b-1][2]>o;b--)e[b]=e[b-1];e[b]=[r,a,o]},f.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return f.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);f.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var d=2&a&&e;"object"==typeof d&&!~t.indexOf(d);d=r(d))Object.getOwnPropertyNames(d).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,f.d(o,n),o},f.d=(e,t)=>{for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((t,r)=>(f.f[r](e,t),t)),[])),f.u=e=>"assets/js/"+({11:"8019ae33",53:"935f2afb",54:"0109cddc",67:"1655029a",258:"b5ddca27",455:"187dbc21",461:"bbe6d832",514:"1be78505",533:"456dc1ab",569:"9a1b722f",617:"4f8b6be9",650:"f41b0af6",659:"e7958d21",698:"f438ab24",731:"37328f8a",793:"d544c820",810:"42a4384b",817:"14eb3368",918:"17896441",920:"1a4e3797",932:"a6c5da82",953:"dd8d23a4",971:"c377a04b"}[e]||e)+"."+{11:"90d90aac",53:"c5ac8e5b",54:"748be62a",67:"0de60d52",258:"e27767d1",443:"3d74dd3a",455:"f4beb3df",461:"3ce4eede",514:"f54ff2b5",525:"2fbd60c6",533:"cccfea33",569:"0b3d2c7f",617:"0c2d8f63",650:"1cb6b44d",659:"0ee150db",698:"413653ef",731:"1b460169",793:"6d157f4e",810:"b14a884c",817:"5dfcfa66",918:"e85cca84",920:"f2a2eb9d",932:"dfa8a7f6",953:"025ed18b",971:"557d9214",972:"232169c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},o="cddl-codegen-documentation:",f.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var d,c;if(void 0!==r)for(var i=document.getElementsByTagName("script"),b=0;b<i.length;b++){var u=i[b];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==o+r){d=u;break}}d||(c=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,f.nc&&d.setAttribute("nonce",f.nc),d.setAttribute("data-webpack",o+r),d.src=e),a[e]=[t];var l=(t,r)=>{d.onerror=d.onload=null,clearTimeout(s);var o=a[e];if(delete a[e],d.parentNode&&d.parentNode.removeChild(d),o&&o.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),c&&document.head.appendChild(d)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/",f.gca=function(e){return e={17896441:"918","8019ae33":"11","935f2afb":"53","0109cddc":"54","1655029a":"67",b5ddca27:"258","187dbc21":"455",bbe6d832:"461","1be78505":"514","456dc1ab":"533","9a1b722f":"569","4f8b6be9":"617",f41b0af6:"650",e7958d21:"659",f438ab24:"698","37328f8a":"731",d544c820:"793","42a4384b":"810","14eb3368":"817","1a4e3797":"920",a6c5da82:"932",dd8d23a4:"953",c377a04b:"971"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(t,r)=>{var a=f.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=f.p+f.u(t),d=new Error;f.l(n,(r=>{if(f.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;d.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",d.name="ChunkLoadError",d.type=o,d.request=n,a[1](d)}}),"chunk-"+t,t)}},f.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],d=r[1],c=r[2],i=0;if(n.some((t=>0!==e[t]))){for(a in d)f.o(d,a)&&(f.m[a]=d[a]);if(c)var b=c(f)}for(t&&t(r);i<n.length;i++)o=n[i],f.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return f.O(b)},r=self.webpackChunkcddl_codegen_documentation=self.webpackChunkcddl_codegen_documentation||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})()})(); \ No newline at end of file diff --git a/category/builders/index.html b/category/builders/index.html new file mode 100644 index 00000000..ade5b1ed --- /dev/null +++ b/category/builders/index.html @@ -0,0 +1,16 @@ +<!doctype html> +<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default"> +<head> +<meta charset="UTF-8"> +<meta name="generator" content="Docusaurus v2.4.1"> +<title data-rh="true">Builders | CML + + + + + + + + + \ No newline at end of file diff --git a/category/chain/index.html b/category/chain/index.html new file mode 100644 index 00000000..3599ac91 --- /dev/null +++ b/category/chain/index.html @@ -0,0 +1,16 @@ + + + + + +Chain | CML + + + + + + + + + \ No newline at end of file diff --git a/category/core/index.html b/category/core/index.html new file mode 100644 index 00000000..d300a627 --- /dev/null +++ b/category/core/index.html @@ -0,0 +1,16 @@ + + + + + +Core | CML + + + + + + + + + \ No newline at end of file diff --git a/category/crypto/index.html b/category/crypto/index.html new file mode 100644 index 00000000..9a5db5fa --- /dev/null +++ b/category/crypto/index.html @@ -0,0 +1,16 @@ + + + + + +Crypto | CML + + + + + + + + + \ No newline at end of file diff --git a/category/modules/index.html b/category/modules/index.html new file mode 100644 index 00000000..aee3c31f --- /dev/null +++ b/category/modules/index.html @@ -0,0 +1,16 @@ + + + + + +Modules | CML + + + + + + + + + \ No newline at end of file diff --git a/crate_architecture/index.html b/crate_architecture/index.html new file mode 100644 index 00000000..1058b53c --- /dev/null +++ b/crate_architecture/index.html @@ -0,0 +1,16 @@ + + + + + +Crate Architecture | CML + + + + +
+

Crate Architecture

  • Core - Core types common throughout all CML crates.

  • Chain - Current era on-chain types, plus utility functionality and builders for creating these types. This is likely the crate most users will want to use.

  • Crypto - Crypto primitives used throughout CML. Keys, signatures, etc.

  • CIP25 - Library for working with CIP25 NFT metadata.

  • CIP36 - Library for working with CIP36 (catalyst) registration types.

  • Multi-Era - On-chain types for previous eras (Byron, Shelley, Alonzo, Babbage, etc) plus era-agnostic wrappers around this for parsing historical blockchain data.

+ + + + \ No newline at end of file diff --git a/getting_started/index.html b/getting_started/index.html new file mode 100644 index 00000000..93d5778b --- /dev/null +++ b/getting_started/index.html @@ -0,0 +1,16 @@ + + + + + +Installation & Getting Started | CML + + + + +
+

Installation & Getting Started

Install


Run Example


Build


Test

nvm i && npm i && npm run rust:test
+ + + + \ No newline at end of file diff --git a/icons/danger-icon.svg b/icons/danger-icon.svg new file mode 100644 index 00000000..c8d879dc --- /dev/null +++ b/icons/danger-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/info-icon.svg b/icons/info-icon.svg new file mode 100644 index 00000000..42b09ff3 --- /dev/null +++ b/icons/info-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/favicon.svg b/img/favicon.svg new file mode 100644 index 00000000..24432265 --- /dev/null +++ b/img/favicon.svg @@ -0,0 +1,4973 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + 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 +mk+0PFtXW5p5StJjM+e6vJ+bnz5aPFla1kybElnz9ruf5rc0z9ahytPTuot0efLOIFraRo111917 +Id5d6WmVbn97Z/dea3ff+zNdJTROrDJ95R4r70h31faUK/OkV5frMjreddZF1COSy/RZtT8vvdc+ +o63renOP6pkkUjU92fYYraYuYurRPaOIZHd5uvmju4M3iXuXrpl+kNDsHp28wSvarr1nPfp7yjZK +uZlbNjpaiGz+fqVl2riENlaS7r58yoh2mJg23KPZ5prv40Ik6+kV7p50zZ6HjIZPWxdWZvq5ZfSj +RtzU55pxzVfStTGt0HqWsGxZurfrc4RndHe6pUVHf4u6V2jHv831S43wLDcL7Woxc7XMZwvpLpfu +9KQhvuiUhIjfMksfmq3y8qAh/mS5e//48Ia6u4q7eXgqEXPxufpr4pqiLh7xN0tKI2ad0aITfVdF +3MvvIcVU6+HiTwcVN1+4hkWnFikpcY2r54lGqVdcm+pUYt5ycY+oiEleJy4m2XkioqIm7t1+MrG+ +69wl68nDVbtbXEy8SlzLpPNENOIqbl7zVOLZ6dwj79FDH1VtuZV7iHvq0BbTKtdXe+4wg5N5KTdJ +fwjxuUdHRUQwk05xCfHOJZqp2RF9+axcROOxw8MyZW7u2iHDs0VdPDda5iLVKaN1M0/nhJa+Szpl +VL2LdO1MjxnznotYetJoPiTrou0OGe+oag8SIhGqjxLiVZ2XcK9OGtGKnLk2rCt15eoXDx5eVX2Y +Rl3cJfM5Ytnm60cPkzLJ8A7Jzz2jWuGPBwsRj2S5tEqnDreWKLecewy9xr1TxF+mcdHWR3dfSoWL +i3dJuFlVx0e0RNIyMsRSdFU+0al4dC3c29JTa11DXP/ulOalT7i3v0rjqs+OLpIRrm3iqeMenhZu +Jf3UYioSmqy/raOfO+7hwTrcO2jGKA/1tnZv8YfO7Ob+t87aY8c0iZlZSL/v0Bmsk0eb0TX63Zbe +jx00SpOZeqgM1iGT+nhuf2dOc1l4FI1v6VuHnEaN7JAae17+dq0+eLSbpHXtLVGa09pZNZmVe7vk +Oj8a9R07U3U7vGNfvUZz0W8rtTuTuWn2KTNYZ5EOnTmT+Tfu+pgZK7KurV7eWcPzWTO5N/Rp5Skz +V0ZFt3mIp+xlLtdeW0zaQ7d1e7bM5q7PtixNd4+WSU1Ssr08H9I0i3esjO3m7h1VquND63r3YJlr +Lm0trp5avXYrf1BT86wZtNaS7WYaK6daiWxL07xcZ82U2TnN0pNm7P9ure4Ll06dyTzS15bZt/Xo +mbUZ2pZQ92Qa0o+e+a3Wkab57BnLoz1eD52pxfPKPO0xmtvt1q35flxpsvLklW/vdmcLy87P3FXv +Zvo8RmPFutoWKR5fGszzWTQ+PHaHdyqNGY9qpy4N+k6hsbzm2i4unrU0ds9TaG5pV2dVZ3Scxvuj +u6UtO+/PoUnVW9/uHZ2sNEZb55hrOk9L+qE1ZkW3tmib55bGahTv3Lmq52swcc98zr5b/dJRp1r9 +kKbt7GnfVqoZ05eFtrotvM9Vmj3qyTRptrrbdBqr2mNriqxMb8lq5yiR6kyv5zpINnVTxFs7za92 +6gYPOo1W6sk1q4lVt4p15yrpdmxNomLeVs96ztJYKZ1dg77Rt4lnR/VG1T+7JTU8t36t9GST6UOV +RvPs3E1t0dVt6u2xSpOXeujGXJVpe2R68nx7Nk1R3Wp3aZynx9b4molGmHhzrHziYZpv+qysY2Rj +3rWjpbn9HrtxodLZXnlP/qAa4+2irRHm+SX9ztHYJzVbTPP7x84gKqZttdZOZhpc+1kzt6WmZZtr +54ZPg6p3fKaMi7XWtPNNoy49eEapTm1m4nGarVVNY0en1NyI8LXr+jlNc+o9XpPWvxYT6ZjerGfX +rDfJbHWvhzKN6d1JNZpXtq3rdzbT3BUdS2N0rZod7o/RvC69x2n295ZtefU40/yZ55oBxiytHCpI +eGB4qOAAChhAgGAcBwQmgoMECw8VDMBEYOYAgrqfPstqf3Z6bk/XDJ30f382pEOleg70jgrR2I5J +Z99n9a5GPjznqSS1TKSj+q6Leo5YdjTxUu3sHMuUFu0QS9MIzRQN7am7B1FLtc5Olj6U9k2zc5l6 +arTEvNMRLdFeq3oOt2zPFLFszexUpMfS9rTUOrNbFh7LOjyY3z17fe3QdrP9IUWzvW56rEW3pSLb +0y7N0vY12levJ3ERxF81U7spFaaa7UR3p86/q/PZdm6vS1/eZuqvWZ6qWR5iWeI5U135c2Ll4a4i +HimqN9Gc1/Ul4inlEX2kVFt8qeq59FmRGp5CgHBOO9MhrRZdZplN10ybnU9/tsgyzfCQfG42xDtp +ZZhomGv2Vl7SeanOl/f5dtmlz5dJls9zOm902etE65XZ0Ie+l51uUSp67a40JuYRnQ== + + + flb6ThMhHk8uH0of5Uk0pqrJ5/XxjSB5vR4j6kFMLD2bpRSOdlSR1KsHz6u1Wnb0vHauyvtMwYeo +3Wp/8up2X+XXiO6HaEetXIes7H5VSGZ3p6ofHroogMe6vV6YdmNlsM8qhK6OqvRKTzu/yvXl7nHW +1Vnd2o1VvjpdkWIdr/SUKwPktEgBCBSAQLfHl4F9Dn0SsVO6dHbsUKuOrXzsKx6lrHM7PKe0SEal +ZHuv9s7dfu9g4hLiOc3TH1U6l+s7p5V1rFr7PJm27bks+3EetUN4V+Q7iaZVv+MlH/p5zdTUyP7X +rnXwh0XH7ryV9GjjV5+/nWTpOlTeyzMkqzGX0GXk3LxyXm/toC35u2mVT1rSHyUeNJKiWRbealfd +YdYmln/KJ5XLVHp6Ip+Unq/KtFnd08ekaeuzz+DS7BzZNqoVqTpd6u/VlwfTiXeq7mBqkl6PpanV +OaadylPK88z6/ex1bTqW6VW+05ts+yM81qvdwauZqo7SaW2q1m/t7u6l+Vcd0vkK6VWl+XKtbh6X +9mDZ9NTyi3iX99lWP3jOp/mUzvLOiZiW99TFq7fyh9bTn/cMk5DKjFLR183cZ65XMdO2l8fSt6pX ++T1/j5w/XcVzvtBm0lrf7r6VioqVqWk6JCfpnVPZh8b7pjX6jAxxfbfeT5W3qvRZnUvNdyvVPWZl +m1T3qrLzqrS7VWXR6343nayy0V7dzb8lUx9ZGdYdrbIv7e5UdbLeqRLRdGr4WheqU03pINSuE5Xw +7tXFIrwRHWWdHZLRP76zUNVKu4k/3Tykzq0ju/06S9vppp7uiSc1FhEdvtb4tY9nxKtaq5IUr5s/ +T9/QlFd0HRrWmW46dQnxqr7dK7zPdrReQ1Ub3u9U9+419xiVvU7prsK1k553ch1a964nOkZFdJh3 +cuWx6+46Ge2V2qvozl4Zs/TUVd0yK/deq62qOt2L56q6Qr114c1cdF7lEyYeumiVSi9X736VeNal +VZaEvtvqqu5LtYtG4VV1w9saX89jtnlJt2ZaNwcG6UqN8LTICJ/3rSLVHlzXfQ+/6v3rDr8+lb0s +sdS+VxFParfoq1/i8apOqc/K1o623dBoaUdKb9KtZt17B9NbeKZF5zzp6ik0Fdkd7vk5rarp1EtN +vNVrLkS8bdJJtV3P3hRss2+qvWeVq1Cv8nd+H54M73hNdFCdeCW0SyferPCY+vofrlqN15uobHXq +nQpJ30mqrGfpfdW30rxS+VfOtC+6nFROc6HzjPfcSqrv3e+qLhXxji4spNu9qvLuLK2y2qq8l7dO +UunTcu9GVVg2NPMS3v3Sw9/vPZl+prKpD/de+jxGZduV3pdKdW/xXGXfqZpVbTx0qWh3u7aHSXiF +qUZnZXROLUvVu9dlrNex9M4VsYyz0udblEpLh3dXOzBJ+zppWWgiS720XS/m1YFx2uFmfUuthA5M +7qZW5e909/o6Vsil95qnNCzfGppl2eWzU5btec9uNDqL9bxb2rGqjD47ZdlhbRlmaeUhLUu8z165 +dyjrV2S0J5ZRSe1XiHX3W/Hs1WLh1drR66NXPlvXnf51de5KbdF0t1Krfa/+VN/oynu0KrVDuqNV +/Xi7rNC0VvfVpbNVGNyC8cCChgeGhgsaHPDgAgKQ0y8uHRO+9GdJR8n27ntOX9J70/KsL1veHvO/ +aP1S3ilj+nzOdaZapEab9Ova08O91eO5aRru1S7VCm/xVm1cO/l8MdW5mmfUNS7R4snFpfydXSU7 +0SISrpPyTkh1hKt2MssbPQ+Z93dHg0SqWfbLIz2/enjKjMj2KO333Sf9WHlv9S9Ls/Sem5LzrHZv +0WjU0Ih+jPVyJp6OZb9MKf08qZLz/Bedsltn3ir5jp0u3CQ8VDxzWVetPiKlXdprz9mBMRF9s/B3 +9tHaSkQkPQ7MrRnW3nQj3XOJatCWvofI1IEx41R67hEdmE37VdU2yWfLgSkHP2SL6MDYj78hY5ZW +iDE1sk+TUCvVbInUkujH8L6/yqi3atGJZtNptlimalfNO3llJN+uRjqmM8W9NOkXtbR8h69M3LLh +0URTtFu3sz1FVDRnr7Q6dmXumxpulrEoferKWBKt78fT3y2qGdHaWWGi9XxQke6MRr5T+Y5ZmbPD +NFxcMrM79P3yZr3VuJr5k3vvfW51X7/uhHj06gm/qGqnFOmpaJR339ldb/dYlVEypeIebh5LNOnX +kW3VR/lDRwF3iS63qCAQgCUjMiRMNXa4v9SiPX+pg8pLu2PmCGwzcEA4p3b8m+vc1UmmTyKyU5PR +Qjy/7g8+j1Wntyw6RQbTaqb30h2kvXGtV6s7tplV6en8czI3LCu9/vCcEBfT+vv6lE3ZWdZjxrMp +6e24B72oVdYffo8ZwpEhIhV9EfF0bbei4V7RcFfxbPEQFY30DBdTUbdwkW6nFk9bVLiUpwcXbdG2 +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 +dfHXnd52JcN1+MWdBnOZDXIhUzy565Z9/5Tif5aiNf3RkqSeH5TMRe8GO/vjPOSoiyLLaR717FPU +LkdZDNlNg7sNF0EPWobUsxY70VrC5BbGk5/stYpvx4j4kbu2ww4fvR8VSex3RWh36W0SnfZXEw65 +nkVvU9xNsQ69UYuy5tYkv1Gvq4ti3HF0+PWmiIdeq3F+VAzBZ9KKklTzN8fZ6/IQBJ2kqkX/UTyx +J0puh8wy6215UhzFLqqe5Y/bzZDUmqxXhc3ti35L78qjput9pqahm2aHnutdS2qJatGUm7Lol3XT +pLf1VbUWQ98se3PUS5EOvTrsdDIUsampXVcx7J/l7Hn8OIbOEtWmJrT8RdBTkj+KflTUk572GNKh +15skAFYpOunL5JAxkfhekzV5kzxN0i1SSJrUadIlxm2ZJlkAMABYCklKjaiYcbFDhWkGwABSKSRN +tiwABnBDRQ4cMiN+Tefyjbt0ft93EsftW8bxGiOytu3e3nc553O+7u+cx3ebl2+e7/E+x/k9rvta +l2kcv3FbhgzP8zvO1/y9g+d13qVC2mSO7zuJ1/u+0/u+k7tO1/m+xyDtHsdvm993mpZ7fN9JWwfA +AGhSTO49XoHj+Yyd7/tO9nQtE0PPb3rfydvm+QHwIHOZzutcpkm81/vdpne8pvmct/Ma3+967287 +52s9528dt0kAMAAXLtP5vsu8ze/xAF4kTvIgX5A1ySJrAAxglKLfMk3WvEyTdE7uvZ7j9t3fOs3f +fG6PzADAAFw77qr5vbZ5Gdf3ndxrModMCEkz4wTDr0YpAAZgstu8zdu8zfO7ruuyzsv83t+7fsv4 +7tJ3W69l1Ljd1zme33eu1zYv37me17l+5/Yt3zmu7z3P830v7ziO5zheu+r7pnEdx/GdxuU7x2v8 +xuu7xvVbr+Vbv3PbtvX61m9bvvVb1+vdzuU7r+X87ve+3/Ec13MZx28bv20Zdt3fOH7v947nsn3f +9l2i79zW69u+a3q/893Ob73ueRyXdxuvb3nHdT7v+f6ucbqXdT3XZei6idvbfM3f9i7zd5/L/H3n +d53zNy73933rcp7X+I7n+S7Xem73963LNr/rtZ7r/G73uozjPK/nPM/vOi/rO8/n923LuszzOq/v +fM7ztczzdH73d8zrPM/zei73PN/zNp7Xcs/vcs/nPa/ntUzTfc/Ted7ffL7vOL/Xd5/L9q7rd6/3 +uI73/Z3zPN7fcY73uu6ydVyv+5m9r+W91/mc72tb52ta3nv85mu9z/m+v3sZ3/v+zvOc7/ubl/mc +7+W+7++473FdxnsZx3t8l/P+5mk8lnM673HbpnV+1+k773M8x+m81+kap/Gezum6rne+72+9l/OS +LtM07sr7vL7zmsd3G7/vXL7xO7/zvK5del7T+G7v+F3X9m3be3/btU7jfI3X+s7zcr3zPY3XNF7f +NY3bNd/3NB7f9t7Te93TNB7LPE3jsb3fO57jNM7nuKzTt07TeJ3fvG7ndG3LOE3jsW2XcN6maXzG +7nsar/sd7/u+7vuel/m+pmWb7/m+7vFbrnm+1ut+t0t6Lu893tu13vd3LNt9f8f2jct1r8t3L9N9 +Lt/9Hdu93PN6T/e13d+xzd+3vPNyvfM7r/N2zvN2zt8yzvN9fvP8zfd3fPM8b/M2X/O9bPe7zdP8 +bus7Tueyvu/6vud0vtN4jcv4juv7fu94LeO7je/7fdt76d75vb/jet93ud5te8fpXd932aZ7ndbl +nr5lu9ft/uZruddt3ZZt3O5zWrbvvJZ3fZdtXdd1XqZvnJZpnbb5Xs/1XL97W8512w== + + + rvP+jml81225tvs63+tdtnvexvs8z+U913Pelu2cp3VZp+/91nOd13PZ1vMaz2U8r3Faxnud5+3b +tnuZxvs673k8p+u7tus7r3s6r3G5xuv61u3czvVatvPavuv+juVa7mUeL+H2neO4TNe3LtM4jeN3 +fuO2Ldc2Tct1ztM0vt+93Pf9HdP9rdu0XPM3zcv8Te/2ruvyvuc4ztf4vfP4reP6Ttt2TZdoee9t +uub1XdZ1vef3usbputdxOb9vXs7v/M7z/O5t/cZx2dZv23XbdEm2d7yX616/7f2me/red/q+afym +8d5133Sty3dP4/J99zdf9zdO93d81/Tdy3aN0/1d8/ht43Zd4zje37GM471s4zav6ziO4zgt43x/ +x3eO13KO4zgv5zhu8ziu4/u+3/KO572M3/KO93ds5/JO63cu7/iOyzu+4zy+87Yu8ziP4zzO4zze +4zTe33G+yz2u36Wcv2U6x+u8v3G5pnP8rnM9v+U6x+1cr/Nezm19z+3almnb1nM7t/P8lu+8v+X7 +7vM7x3GdxmU8z3cZz208x3M5z3dczvE6p2lZz+U8r3lZz3MZt2t5z/Eel3M9v+U9z20br3N5z3E7 +33U5x/Mcl/Gcz3Varmm9luucp3W5pnsZ1/G61nV7z+vatmvZ1nWbt+Vbp/m6vnV6d+G5fOs1n9/4 +nct4Xd+3vtu7fN95bdMyrvd3nMt5j+t6X/N0ruv6TH73NL3L+t3zMq73dm/3NS/jOH7ruo7T9y3f +N93zvG3Luq7ruqzrOb7r+c3LuN7fcU/LOa/3d5zzep3fMr7X+Z7XuU7TtpzX+97fsaz3umzvtKzj +sm7rey7f907nd47XPC3jOW7TfY/3dxw6TFivXfa4qIwSkSFgvCDVtMoo1EISoXz+kyyf2mZm2gcC +YnY6qradmWaPZU6aJPcFmadPkvs45qUpk+OJydRjxQpSnten+a/pDZUSHlzQiHj0k5AfkmGWJy+C +Bw0eLGZmQlhBzGixQ4uZkI8vk2PKcXAYtp7nWdU6DOuvw0EO/7h9FFEt24ph1OvuZip3HElu4ygJ +mRFzvehZBbsnt83N8m/VEczaIwjDaZLff+k4DUqEI4RFgwLFeBpXyRszKkz4wGOFiQhJp3E1zVNW +Dke442CPo0Vw5LZvx82haGbayOGs3LaXZm+aI5clyXFphpvgQYMDSwxRASJ4YOIGjB0rJDJKWLEf +v1lSJNS3mEap2JUZeVSgQLB7djtOJhUyyW+qaSAIyAcCMo+irpq/m6aAPKd15cFP3jKSg6JDcQIO +R5W+m2h6zbIQvF6iRYwBaGRS6HlUlrXniZwNfp4sJ9VJttdOx+SuJ6GPymhUwvM0WKkaKhRMhk38 +XQkffICRTnmqruza5KOL9Leqln01vU107Gi+C4uAPrd5+mtrl6cMinyqflq3R1W462isqLQoMSnB +cWuOVbQc0uMqpM/qrkdsy5tnLY4hPk+CYdw0ZxBst003T5Hr/qmKdrSSk7GkViilE2hlP2n6QdOP +qspheJNjChfLhYlJv6ohO95iZVKRIrl0uk/LT2rmpfiC3Q8VMjROTET2vUdVdetQbQs3HHLDabUt +/kB8LM1ONm426IZjdx6KXUd03HXbrhxX5fpJ13HAyNAwSWkRa+FQIXEpfVhMoBQ+60jBIoQasKAF +H+DATAzGyusUPotily9J+vNYbls3bQ7Dtutcz4s/jwY91NvCYtj1ujtJphvHr+sKCmWi61DLruq6 +BLutWRaxbCyGaqf9KnrEChoeWMBo7f6oTUdwOEXqMwM7xcBOQMiQmQl5xX5eBQrJqvfopnqHpC6S +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 +ROjAcVIa2ef5v22KVMn0wnUI1iGYctUTPH7F7KpxQhAU4QZFSE1R8txDirjXfVAzptsk/94ChooR +EhvJccuoN0LG5AeJ6yXkedkzqV1NLitqVRSRn4EDINEAI4yokUICASJ4LMFDhgyrNILdeSRNTfNT +E0bsdZplmK6X4JhH13TrxA0n/j78ROEwVO24yslUkuEYVMiHDEoPLWBqqJiwgLl6YBFDhA4aqV5f +4UK1WJlU8wtq1ZCbmmIXJ8c+Re/StMlR7Tqyk9GkSI8h23HptqWZRoOhPo56OXYndHDBkMV7PnPN +cp5oVVP8XgXLK1gmsS1oXVVNi8GPd+EaXUXuS5MqmfR8a55FqpqTIxI3ZlCAAEWUgH4RDIvo2hPT +Irm+y1LdsnTT2O/r1Vb1wHPjUE3r05VH1TkcaXEkOdnaeao7/6ytqm19qr72XQUrFaLnJNfdz7LU +svj7QCo7g2D8eXlJ5qaZkyWaZR5nw4YhbqKwF3Y6nCizzP283SxVM80CArGIQCO3lcGPBubagUZG +hNdpUiIeWEQC9R7b0HcZx/scJgXAADwxZGZIyBgyMFUKAAYgk0PGRDPjlKYCIGFFiKmJqYmpiamJ +qYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmp +iamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJ +qYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmp +iamJqYmpiamJqYmpiamJqYmpiamJqYmpiampqampqampqampqampqampqampqampqampqampqamp +qampqampqampqampqampqampiampqampqampqampqampqampqampqampqampqampqampqampqamp +qampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqamp +qampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqamp +qampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampwbfOyl7jgKUM +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 +aWNvZGV2YWx1aWQpIC9uYW07ICxvZjEwMCV3aHh4eXkybnVtT2N0YXZlc3R1cmJyZXN1bHQwLjA1 +YmFzZUZyZXF1ZW5jbm9TdGl0Y2hzVGlsdHVyYnVsZW5jZTFmZVRTb3VyY2VHcmFwaGljaW4yaW4y +b3BlLDFDb21wb3NpdC9EZWYgOzQ0ZnJhY3RhbE5vaXNCZXZlbFNoYWRvdzE0NC0yeXkyc3RkRGV2 +aWJsdXIxR2F1c3NpYW5CZGR5eHhvZmZzZXRPMXNwZWN1bGFyQ29uc3RhbjIoMTBFeHBvbmVzdXJm +YWNlbGlnaHRpbmctY29sb3I6d2h0eWxzcGVjT3UtenotNXh4MXl5MVBvaW50TDFTaW5nMTJrM2sz +azQxMTEyMmFyaXRobWV0bGl0Mk1lcmdlTm9kMUNvb2xCcmVlejE0LTUyKDEucmFkaXVkaWxhYWlk +TW9ycGhvbG9nYmItYmJubmJBeUNoYW5uZWxTZWxSeHgzczFubjJiM0Rpc3BsYWNlbWVudE1hcDAg +MTRtYXRyaUNvbG9yTW5uNTVsaW5lYWNhbGNNZnJvbTBiZWdyZWFkZGl0aXY1dG90b2Fsd2F5cmVz +dGFyNWRmZmlsbG5vbmNjdW11TjFhbmltLThjY2NjOGNjY2MxY2NjY2NjMTJubmIxRF8yKDE2NkVy +b2RlcjY2XzRfNzIoMTUwIDVSQUlfUGl4ZWxQbGF5MihpbmRlZmlucmVwZWF0RHNwbGkxcmVtb3Yx +IDE7MjAgMTU7MjAwIDIwMDsgMTUgMjA7MSAxIDEyN2RkMTJubmMxMTIyOzIwIDIwO2RpZmZ1c2V5 +ZWxsb3cyNTtncmVlbjtibHVlO2luZGlnbzt2aW9sZXQ7cmVkO29yYW4xOGF6aW11NmVsZXZmZURp +RDE1cmVsMTAxMIORqFK1aGYEAAAAggJCCQIGZ3AWpmnssAABEgBgGARDGBqDIAAAAAAAAAIAIaA4 +AoxBEAARIAgRIoBgjEACBeP0MCiokM8QzhrnDLmLn8ok9NTBUOLYJeMxX2eJ1LbqXisxNi+stEDe +FqSZjA02xiZDADQ4QLWxyTCeQiFf/OlgU/mVVQpuYvkaJWZKoUlTsELRnviaCY0iRZ4hJ2wgEKrG +21Zp2ETWYr8uR97Lxwp9qsgbEgEbHrnfNlWdoM0OkFN3snAjFHetWei+/avxIbipDg== + + + 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 +Nk+KJ8cvr/lSTOeuVL/d1WptOd+4fqVUV13p3JNrvjW1k1I6NfeWT023tdbOe7PF1c5r7a7VXj2v +3XhvjO3FfGarN6VbxjZbm6/F96+dOWfbcHBUbzXPS2/+m//+zZdvvXO2du7LZf16f6WWako5t1xT +W7Hemm69UT451b9pfV9vbbG+m1uNP1O9d54bzpnrfPPU+mIuU60353mjOeO960bxzDrzvO2+9Fq+ +/dtMLa6cVl1rzbzSWqmutmqLq0bt5nlbevPEeFee6eu6f+P8Toof/99L780b3erTbW9L8dW2pxZr +1HLMKc+YblzbG2sVZy1rO/+2szY551nTjzetb96yVq/Vv3Fuqbaz1uqlWWvWbrpWmquumtq3WePW +Zo3aqmWMNc1p3bZijVOLtU0t3tqtV8uZ0mrzrldbu3m9nNPXMCtXzN2rVW2jnFq6bWtfe3u1ie/W +99Z5r0b3lqe+W9+tXUzt8/oWb9ryWTWHrVap1XalfNu24eB0zW/txVabedMNB7e5fYwvrbhereFg +2HiW764z34nzxHXPmxsO2Z7Z0vv37++Z60+Nt622Tq251lVb3XBweu6rZ/1dNdfazFrjbK554te0 +Wf/mWrG93NpN40m51fSumq45582vtq931ffvbzq51fM+xbduf7V59bT3atParK+eU+d7+cavtmX9 +FeuL8ZY3rPXkb+vcGWs6042r3nhiTvVnOvXnm2/OHNeM694bz5y1hoPjFc+dtWkxv/jx/e05vnpP +y+/M9z7+q13MZ85Yb9dqk1INc823XOtv3XDI+Fazfl0bDo6+vY+1fTX6DQenp+Wa1fZqrreNr8ZY +m5dni7WZ86w0X37t9libFWtz84q1SS9vODisTZqxNjfHGq5Zo1m7Oeuatbltw8HpWq/WLt44Y503 +ztrE28Y80+1zprnh4KauG88468xzxg0Hp2e9uW450/x1y5lq+hummuq7661buzdrN2utzYvx1hrX +29V8q1ube9+t7a1NTO+2u/72W5u2cr1fm1Rr87Xd7p06X5u11nbdcNYmvdqWszY117JGLd3c041v +vPPWW96U0lfDzEDmjaB5orTljaAX6H0dy8Q1vRjHSlZ3jR1jK8P3Wot13rayKseU54yzpRrFWz+L +6/z4zrf/9uLM9b2VUmttw8GamF7quPWv4z8Y13vv73qpZqIctVSzlzYcA+5rTTnn/P+faiZbM329 +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 +9qFfHVF0lTJ4164iaePtiCL/IJghUAM= + + + diff --git a/img/output.png b/img/output.png new file mode 100644 index 00000000..33bbb0d1 Binary files /dev/null and b/img/output.png differ diff --git a/img/output2.png b/img/output2.png new file mode 100644 index 00000000..6592b162 Binary files /dev/null and b/img/output2.png differ diff --git a/img/output3.png b/img/output3.png new file mode 100644 index 00000000..3517ef57 Binary files /dev/null and b/img/output3.png differ diff --git a/img/output4.png b/img/output4.png new file mode 100644 index 00000000..fa8f95d8 Binary files /dev/null and b/img/output4.png differ diff --git a/img/output5.png b/img/output5.png new file mode 100644 index 00000000..069f1640 Binary files /dev/null and b/img/output5.png differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..99e04507 --- /dev/null +++ b/index.html @@ -0,0 +1,26 @@ + + + + + +Cardano Multiplatform Lib | CML + + + + +
+

Cardano Multiplatform Lib

This is a library, written in Rust, that can be deployed to multiple platforms (Rust crate, JS, Typescript, WASM, etc). It handles:

  • Serialization & deserialization of core data structures
  • Builders to streamline and verify the construction of transactions and related components
  • Useful utility functions for dApps & wallets
NPM packages

TODO: update these once we publish new versions:

  • browser: link
  • nodejs: link
  • asm.js (strongly discouraged): link

Note: If you are using WebPack, you must use version 5 or later for CML to work.

Rust crates
Mobile bindings

We recommend using Ionic + Capacitor or an equivalent setup to have the WASM bindings working in mobile

Pre-requisite knowledge

This library assumes a certain amount of knowledge about how Cardano works (to avoid re-documenting the wheel).

You can find the specifications of Cardano's ledger here which we suggest consulting as you use this library. Notably, the Shelley ledger formal specification covers the core concepts. Make sure to check the specs for later eras as well when needed.

Benefits of using this library

Serialization/deserialization code is automatically generated from +Cardano’s official specification, which guarantees it can easily stay up +to date! We do this using a tool managed by EMURGO & dcSpark called cddl-codegen +which can be re-used for other tasks such as automatically generate a +Rust library for Cardano metadata specifications!

The most important feature of this is that CML has been generated to allow all CBOR details to be preserved. +With CBOR many CBOR structures can have multiple ways to serialize to bytes from the same equivalent structure. +This causes issues especially when computing hashes and is a frequent problem with working across tools e.g. cardano-node-cli and cardano-serialization-lib encoding plutus datums differently. This makes CML much more compatible with all other libraries as it will remember all these specific CBOR encoding details. This is particularly important for use with dApps and wallets connecting to dApps.

It is also very easy to create scripts in Rust or WASM to share with +stake pools, or even embed inside an online tool! No more crazy +cardano-cli bash scripts!

Powerful and flexible enough to be used to power wallets and exchanges! +(Yes, it’s used in production!)

A note on code examples

All code examples are using the WASM (typescript/javascript) API. If you are using CML from rust you will need to change the code to rust syntax e.g. Foo.bar() to Foo::new() etc. We've tried to keep the API as consistent as possible between the different bindings but some exceptions exist. The array/map wrappers (e.g. FooList / MapFooToBar) in WASM are simply Vec<Foo> and OrderedHashMap<Foo, Bar> respectively. There will be some changes relating to reference params/moving/etc as well.

You can find complete examples in the /examples/ directory.

Documentation

This library generates Typescript type definitions, so it’s often easiest to see what is possible by just looking at the types! These are found in the .ts file in the npm package roots. +If you are using rust the full API will be shown in the respective crates.io pages.

+ + + + \ No newline at end of file diff --git a/modules/CIP25/index.html b/modules/CIP25/index.html new file mode 100644 index 00000000..d022e807 --- /dev/null +++ b/modules/CIP25/index.html @@ -0,0 +1,17 @@ + + + + + +CIP25 | CML + + + + +
+

CIP25

Context

CIP25 defines an NFT Metadata Standard for Native Tokens.

Since tokens on Cardano are a part of the UTxO ledger, the metadata isn't directly attached to a token, but instead stored in the transaction data.

When data is transmitted or stored in Cardano, it is often encoded as CBOR bytes to optimize space and facilitate fast processing. CBOR provides a standardized way to encode complex data structures, making it easier for different components of the Cardano ecosystem to interact and interpret the data.

Below is the entire metadata schema for CIP-25, which can be parsed by passing in the CBOR bytes of the entire transaction metadata +or by passing in an existing Metadata struct.

Parsing from CBOR bytes should be marginally faster.

{
"721": {
"<policy_id>": {
"<asset_name>": {
"name": <string>,

"image": <uri | array>,
"mediaType": image/<mime_sub_type>,

"description": <string | array>,

"files": [{
"name": <string>,
"mediaType": <mime_type>,
"src": <uri | array>,
<other_properties>
}],

<other properties>
}
},
"version": <version_id>
}
}

Code Definitions

  • CIP25Metadata struct is the top-level struct for CIP-25 metadata, and contains a key_721 field of type LabelMetadata. The key_721 field will contain either a LabelMetadataV1 or LabelMetadataV2 instance.

  • LabelMetadata defines an enum type that can contain either a LabelMetadataV1 or LabelMetadataV2 instance. It also provides functions for creating instances of each type.

  • MetadataDetails defines a struct that represents metadata details for a specific asset. It contains fields for the asset name, an image associated with the asset, a media type, a description, and details about any associated files. The new() method creates a new instance with the specified name and image, and sets the other fields to None.

Examples

Create

The following example shows how to create and populate the CIP25 metadata schema with the available structs.

    let mut details = MetadataDetails::new(
String64::try_from("Metadata Name").unwrap(),
ChunkableString::from("htts://some.website.com/image.png"),
);
details.description = Some(ChunkableString::from("description of this NFT"));
details.media_type = Some(String64::try_from("image/*").unwrap());
details.files = Some(vec![
FilesDetails::new(
String64::new_str("filename1").unwrap(),
String64::new_str("filetype1").unwrap(),
ChunkableString::from("src1"),
),
FilesDetails::new(
String64::new_str("filename2").unwrap(),
String64::new_str("filetype2").unwrap(),
ChunkableString::from("src2"),
),
]);
let mut v2 = Data::new();
let mut v2_inner = BTreeMap::new();
v2_inner.insert(AssetNameV2::from(vec![0xCA, 0xFE, 0xD0, 0x0D]), details);
v2.insert(PolicyIdV2::from(vec![0xBA, 0xAD, 0xF0, 0x0D]), v2_inner);

let metadata = CIP25Metadata::new(LabelMetadata::new_label_metadata_v2(
LabelMetadataV2::new(v2),

));
println!("{metadata:?}");

output:

CIP25Metadata {
key_721: LabelMetadataV2(LabelMetadataV2 {
data: {
PolicyIdV2([186, 173, 240, 13]): {
AssetNameV2([202, 254, 208, 13]): MetadataDetails {
name: String64("Metadata Name"),
image: Single(String64("htts://some.website.com/image.png")),
media_type: Some(String64("image/*")),
description: Some(Single(String64("description of this NFT"))),
files: Some([
FilesDetails {
name: String64("filename1"),
media_type: String64("filetype1"),
src: Single(String64("src1"))
},
FilesDetails {
name: String64("filename2"),
media_type: String64("filetype2"),
src: Single(String64("src2"))
}
])
}
}
}
})
}

Parse CIP25Metadata

let bytes = "bf1902d1a36464617461a244baadf00da344cafed00da6646e616d656d4d65746164617461204e616d656566696c657382a4637372636473726331646e616d656966696c656e616d6531696d65646961547970656966696c657479706531816864736b6a66616b7381a1403864a3637372636473726332646e616d656966696c656e616d6532696d65646961547970656966696c65747970653265696d6167657821687474733a2f2f736f6d652e776562736974652e636f6d2f696d6167652e706e67696d656469615479706567696d6167652f2a6b6465736372697074696f6e776465736372697074696f6e206f662074686973204e4654a14038641832a1403864a140386481a1403864816864736b6a66616b73a1403864a14038646776657273696f6e02a1403864a14038641905398144baadf00dff";
let data = CIP25Metadata::from_bytes(hex::decode(bytes).unwrap()).unwrap();
println!("{data:?}");

output:

CIP25Metadata { 
key_721: LabelMetadataV2(
LabelMetadataV2 {
data: {
PolicyIdV2([186, 173, 240, 13]): {
AssetNameV2([202, 254, 208, 13]): MetadataDetails {
name: String64("Metadata Name"),
image: Single(String64("htts://some.website.com/image.png")),
media_type: Some(String64("image/*")),
description: Some(Single(String64("description of this NFT"))),
files: Some([
FilesDetails {
name: String64("filename1"),
media_type: String64("filetype1"),
src: Single(String64("src1"))
},
FilesDetails {
name: String64("filename2"),
media_type: String64("filetype2"),
src: Single(String64("src2"))
}
])
}
}
}
})
}

Parse Metadata Details

Fields can be extracted from the MetadataDetails struct.

// {
// "arweaveId": "6srpXZOTfK_62KUrJKh4VdCFG0YS271pq20OMRpE5Ts",
// "image": "ipfs://QmUWP6xGHucgBUv514gwgbt4yijg36aUQunEP61z5D8RKS",
// "name": "SpaceBud #1507",
// "traits": ["Star Suit", "Chestplate", "Belt", "Flag", "Pistol"],
// "type": "Alien",
// }

let bytes = "a569617277656176654964782b36737270585a4f54664b5f36324b55724a4b68345664434647305953323731707132304f4d52704535547365696d6167657835697066733a2f2f516d5557503678474875636742557635313467776762743479696a673336615551756e455036317a354438524b53646e616d656e53706163654275642023313530376674726169747385695374617220537569746a4368657374706c6174656442656c7464466c616766506973746f6c647479706565416c69656e";

let output = MetadataDetails::from_bytes(hex::decode(bytes).unwrap()).unwrap();
println!("{output:?}")

output:

MetadataDetails { 
name: String64("SpaceBud #1507"),
image: Single(String64("ipfs://QmUWP6xGHucgBUv514gwgbt4yijg36aUQunEP61z5D8RKS")),
media_type: None,
description: None,
files: None
}

Loose Parse Metadata details

The loose_parse() function allows parsing of certain data that is technically non-compliant with CIP25 due to minor mistakes by their creators.

note

This function should only to be used to parse non conformant metadata, since it will return a different struct (MiniMetadataDetails) which will just (possibly)return the name/image.

It's best to only use it as a fallback when the regular parsing fails.

Just name

// {"name":"Metaverse"}
let details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode("a1646e616d65694d6574617665727365").unwrap()).unwrap()).unwrap();
println!("{details:?}")

ouput:

MiniMetadataDetails { 
name: Some(String64("Metaverse")),
image: None
}

Upercase name

// {
// "Date":"9 May 2021",
// "Description":"Happy Mother's Day to all the Cardano Moms!",
// "Image":"ipfs.io/ipfs/Qmah6QPKUKvp6K9XQB2SA42Q3yrffCbYBbk8EoRrB7FN2g",
// "Name":"Mother's Day 2021",
// "Ticker":"MOM21",
// "URL":"ipfs.io/ipfs/Qmah6QPKUKvp6K9XQB2SA42Q3yrffCbYBbk8EoRrB7FN2g"
// }
let details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode("a664446174656a39204d617920323032316b4465736372697074696f6e782b4861707079204d6f7468657227732044617920746f20616c6c207468652043617264616e6f204d6f6d732165496d616765783b697066732e696f2f697066732f516d61683651504b554b7670364b39585142325341343251337972666643625942626b38456f52724237464e3267644e616d65714d6f746865722773204461792032303231665469636b6572654d4f4d32316355524c783b697066732e696f2f697066732f516d61683651504b554b7670364b39585142325341343251337972666643625942626b38456f52724237464e3267").unwrap()).unwrap()).unwrap();
let name = details.name.unwrap().0;
println!("{name:?}")

output:

"Mother's Day 2021"

id no name

// {
// "id":"00",
// "image":"ipfs://QmSfYTF8B4ua6hFdr6URdRDZBZ9FjCQNUdDcLr2f7P8xn3"
// }
let details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode("a262696462303065696d6167657835697066733a2f2f516d5366595446384234756136684664723655526452445a425a39466a43514e556444634c723266375038786e33").unwrap()).unwrap()).unwrap();
let name = details.name.unwrap().0;
println!("{name:?}")

output:

"00"

Image

// {
// "image":"ipfs://QmSfYTF8B4ua6hFdr6URdRDZBZ9FjCQNUdDcLr2f7P8xn3"
// }
let details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode("a165696d6167657835697066733a2f2f516d5366595446384234756136684664723655526452445a425a39466a43514e556444634c723266375038786e33").unwrap()).unwrap()).unwrap();
let image = String::from(&details.image.unwrap());
println!("{image:?}");

output:

"ipfs://QmSfYTF8B4ua6hFdr6URdRDZBZ9FjCQNUdDcLr2f7P8xn3"
+ + + + \ No newline at end of file diff --git a/modules/builders/generating_transactions/index.html b/modules/builders/generating_transactions/index.html new file mode 100644 index 00000000..9bcc3894 --- /dev/null +++ b/modules/builders/generating_transactions/index.html @@ -0,0 +1,24 @@ + + + + + +TransactionBuilder | CML + + + + +
+

TransactionBuilder

In order to simplify transaction creation, we provide a TransactionBuilder struct that manages witnesses, fee calculation, change addresses and such. Assume we have instantiated an instance under the variable builder for this explanation. The TransactionBuilder requires several protocol parameters governing Cardano to be created which is shown in the following section. These are specified initially in the genesis file for Cardano nodes.

The minimum required for a valid transaction is to add inputs, outputs, time-to-live and either set the fee explicitly with builder.set_fee(fee), or calculate it implicitly using builder.add_change_if_needed(address). +Optionally a transaction can also have certificates, reward withdrawals, and metadata added to it. +Any change made to the builder can impact the size and thus the fee so the fee should be the last thing set. +If implicitly setting the fee any extra ADA (inputs + withdrawals - outputs + refund - deposit - min fee) is sent to the provided change address. +Fees must be sufficient, i.e. inputs + withdrawals + refund >= outputs + deposit + fee which must be manually ensured if you explicitly set the fee. Any extra fee is not necessary and the extra ADA beyond that will be burned. +Once the transaction is ready, const body = builder.build() can be called to return a ready TransactionBody.

Withdrawals are ADA withdrawn as part of the rewards generated by staking and deposits are refundable ADA locked while resources such as stake certificates or pool registrations exist on the blockchain. They are returned as refunds when these resources are deregistered/retired.

To get to a transaction ready to post on the blockchain, we must create a Transaction from that, which consists of the TransactionBody, a matching TransactionWitnessSet and optionally a TransactionMetadata. +The witnesses and optional metadata must match those provided to the builder. The witnesses must sign the hash of the transaction body returned by hash_transaction(body). In addition to the witnesses for inputs, withdrawals and some certificates require witnesses as well. For example, staking address registration does not require a witness while stake address de-registration requires one. For any questions or doubts about the rules governing fees, deposits, rewards, certificates or which witness types are required refer to the shelley specs, specifically the Shelley design specification for general design. The formal specification could be useful for specific details as well. The design spec contains details about which certificates require which type of witnesses in the Certificates and Registrations section.

Example code

The example below builds a transaction with all 2 of the 3 input types: key and bootstrap. +Multisig (script) inputs are essentially identical to key inputs, but using the scripthash instead of the keyhash, however they are not supported for implicit fee calculation yet. +Fees are automatically calculated and sent to a change address in the example.

// instantiate the tx builder with the Cardano protocol parameters - these may change later on
const linearFee = CardanoWasm.LinearFee.new(
CardanoWasm.BigNum.from_str('44'),
CardanoWasm.BigNum.from_str('155381')
);
const txBuilderCfg = CardanoWasm.TransactionBuilderConfigBuilder.new()
.fee_algo(linearFee)
.pool_deposit(CardanoWasm.BigNum.from_str('500000000'))
.key_deposit(CardanoWasm.BigNum.from_str('2000000'))
.max_value_size(4000)
.max_tx_size(8000)
.coins_per_utxo_word(CardanoWasm.BigNum.from_str('34482'))
.build();
const txBuilder = CardanoWasm.TransactionBuilder.new(txBuilderCfg);

// add a keyhash input - for ADA held in a Shelley-era normal address (Base, Enterprise, Pointer)
const prvKey = CardanoWasm.PrivateKey.from_bech32("ed25519e_sk16rl5fqqf4mg27syjzjrq8h3vq44jnnv52mvyzdttldszjj7a64xtmjwgjtfy25lu0xmv40306lj9pcqpa6slry9eh3mtlqvfjz93vuq0grl80");
txBuilder.add_key_input(
prvKey.to_public().hash(),
CardanoWasm.TransactionInput.new(
CardanoWasm.TransactionHash.from_bytes(
Buffer.from("8561258e210352fba2ac0488afed67b3427a27ccf1d41ec030c98a8199bc22ec", "hex")
), // tx hash
0, // index
),
CardanoWasm.Value.new(CardanoWasm.BigNum.from_str('3000000'))
);

// add a bootstrap input - for ADA held in a Byron-era address
const byronAddress = CardanoWasm.ByronAddress.from_base58("Ae2tdPwUPEZLs4HtbuNey7tK4hTKrwNwYtGqp7bDfCy2WdR3P6735W5Yfpe");
txBuilder.add_bootstrap_input(
byronAddress,
CardanoWasm.TransactionInput.new(
CardanoWasm.TransactionHash.from_bytes(
Buffer.from("488afed67b342d41ec08561258e210352fba2ac030c98a8199bc22ec7a27ccf1", "hex"),
), // tx hash
0, // index
),
CardanoWasm.Value.new(CardanoWasm.BigNum.from_str('3000000'))
);

// base address
const shelleyOutputAddress = CardanoWasm.Address.from_bech32("addr_test1qpu5vlrf4xkxv2qpwngf6cjhtw542ayty80v8dyr49rf5ewvxwdrt70qlcpeeagscasafhffqsxy36t90ldv06wqrk2qum8x5w");
// pointer address
const shelleyChangeAddress = CardanoWasm.Address.from_bech32("addr_test1gz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzerspqgpsqe70et");

// add output to the tx
txBuilder.add_output(
CardanoWasm.TransactionOutput.new(
shelleyOutputAddress,
CardanoWasm.Value.new(CardanoWasm.BigNum.from_str('1000000'))
),
);

// set the time to live - the absolute slot value before the tx becomes invalid
txBuilder.set_ttl(410021);

// calculate the min fee required and send any change to an address
txBuilder.add_change_if_needed(shelleyChangeAddress);

// once the transaction is ready, we build it to get the tx body without witnesses
const txBody = txBuilder.build();
const txHash = CardanoWasm.hash_transaction(txBody);
const witnesses = CardanoWasm.TransactionWitnessSet.new();

// add keyhash witnesses
const vkeyWitnesses = CardanoWasm.Vkeywitnesses.new();
const vkeyWitness = CardanoWasm.make_vkey_witness(txHash, prvKey);
vkeyWitnesses.add(vkeyWitness);
witnesses.set_vkeys(vkeyWitnesses);

// add bootstrap (Byron-era) witnesses
const cip1852Account = CardanoWasm.Bip32PrivateKey.from_bech32('xprv1hretan5mml3tq2p0twkhq4tz4jvka7m2l94kfr6yghkyfar6m9wppc7h9unw6p65y23kakzct3695rs32z7vaw3r2lg9scmfj8ec5du3ufydu5yuquxcz24jlkjhsc9vsa4ufzge9s00fn398svhacse5su2awrw');
const bootstrapWitnesses = CardanoWasm.BootstrapWitnesses.new();
const bootstrapWitness = CardanoWasm.make_icarus_bootstrap_witness(
txHash,
byronAddress,
cip1852Account,
);
bootstrapWitnesses.add(bootstrapWitness);
witnesses.set_bootstraps(bootstrapWitnesses);

// create the finalized transaction with witnesses
const transaction = CardanoWasm.Transaction.new(
txBody,
witnesses,
undefined, // transaction metadata
);

A note on fees

Fees is Cardano Shelley are based directly on the size of the final encoded transaction. It is important to note that a transaction created by this library potentially can vary in size compared to one built with other tools. This is because transactions, as well as other Cardano Shelley structures, are encoded using CBOR a binary JSON-like encoding. Due to arrays and maps allowing both definite or indefinite length encoding in the encoded transaction created by the library, the size can vary. This is because definite encoding consists of a tag containing the size of the array/map which can be 1 or more bytes long depending on the number of elements the size of the encoded structure, while indefinite length encoding consists of a 1 byte starting tag and after all elements are listed, a 1 byte ending tag. These variances should should only be a couple bytes and cardano-multiplatform-lib uses definite encoding which is the same length or smaller for any reasonable sized transaction.

+ + + + \ No newline at end of file diff --git a/modules/chain/index.html b/modules/chain/index.html new file mode 100644 index 00000000..4d1ebd43 --- /dev/null +++ b/modules/chain/index.html @@ -0,0 +1,16 @@ + + + + + +Chain | CML + + + + +
+

Chain

This crate contains all of the on-chain types used in the current Cardano era. All of these types can be serialized and deserialized from their on-chain CBOR encodings. Also included are some utility funtionality for working with them, as well as builders for creating them.

+ + + + \ No newline at end of file diff --git a/modules/cip36/index.html b/modules/cip36/index.html new file mode 100644 index 00000000..a28040f5 --- /dev/null +++ b/modules/cip36/index.html @@ -0,0 +1,16 @@ + + + + + +CIP36 | CML + + + + + + + + + \ No newline at end of file diff --git a/modules/core/index.html b/modules/core/index.html new file mode 100644 index 00000000..571f5db9 --- /dev/null +++ b/modules/core/index.html @@ -0,0 +1,16 @@ + + + + + +Core | CML + + + + +
+

Core

This crate is for core features and traits common to all CML crates. Most users likely won't need to directly use this module except for possibly pulling in traits used with other cml crates. If you are using CML from WASM/typescript this module will not be needed as any used types will be re-exported in the crates (e.g. cml-chain-wasm, cml-cip25-wasm, etc) that use it.

+ + + + \ No newline at end of file diff --git a/modules/crypto/generating_keys/index.html b/modules/crypto/generating_keys/index.html new file mode 100644 index 00000000..093a071b --- /dev/null +++ b/modules/crypto/generating_keys/index.html @@ -0,0 +1,18 @@ + + + + + +Generating Keys and Addresses | CML + + + + +
+

Generating Keys and Addresses

BIP32 Keys

There are two main categories of keys in this library. There are the raw PublicKey and PrivateKey which are used for cryptographically signing/verifying, and BIP32PrivateKey/BIP32PublicKey which in addition to this have the ability to derive additional keys from them following the BIP32 derivation scheme variant called BIP32-Ed25519, which will be referred to as BIP32 for brevity. We use the BIP44 spec variant for Ed25519 as well for the derivation paths using 1852 or 44 as the purpose consant and 1815 for the coin type depending on address type. See this doc for more details.

This is demonstrated with the below code

function harden(num: number): number {
return 0x80000000 + num;
}


const rootKey = CardanoWasm.BIP32PrivateKey.from_bech32("xprv17qx9vxm6060qjn5fgazfue9nwyf448w7upk60c3epln82vumg9r9kxzsud9uv5rfscxp382j2aku254zj3qfx9fx39t6hjwtmwq85uunsd8x0st3j66lzf5yn30hwq5n75zeuplepx8vxc502txx09ygjgx06n0p");
const accountKey = rootKey
.derive(harden(1852)) // purpose
.derive(harden(1815)) // coin type
.derive(harden(0)); // account #0

const utxoPubKey = accountKey
.derive(0) // external
.derive(0)
.to_public();

const stakeKey = accountKey
.derive(2) // chimeric
.derive(0)
.to_public();

BIP39 Entropy

To generate a BIP32PrivateKey from a BIP39 recovery phrase it must be first converted to entropy following the BIP39 protocol(). This library does not directly handle that, but once entropy is created it is possible to use Bip32PrivateKey.from_bip39_entropy(entropy, password). For more information see the CIP3 Cardano improvement proposal. The code below uses the bip39 npm package to generate a root BIP32PrivateKey from a BIP39 mnemonic.

import { mnemonicToEntropy } from 'bip39';

const entropy = mnemonicToEntropy(
[ "test", "walk", "nut", "penalty", "hip", "pave", "soap", "entry", "language", "right", "filter", "choice" ].join(' ')
);

const rootKey = CardanoWasm.Bip32PrivateKey.from_bip39_entropy(
Buffer.from(entropy, 'hex'),
Buffer.from(''),
);

Use in Addresses

Once we have reached the desired derivation path, we must convert the BIP32PrivateKey or BIP32PublicKey to a PrivateKey or PublicKey by calling .to_raw_key() on them with the exception of Byron addresses. +For example, to create an address using the utxoPubKey and stakeKey in the first example, we can do:

// base address with staking key
const baseAddr = CardanoWasm.BaseAddress.new(
CardanoWasm.NetworkInfo.mainnet().network_id(),
CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()),
CardanoWasm.StakeCredential.from_keyhash(stakeKey.to_raw_key().hash()),
);

// enterprise address without staking ability, for use by exchanges/etc
const enterpriseAddr = CardanoWasm.EnterpriseAddress.new(
CardanoWasm.NetworkInfo.mainnet().network_id(),
CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash())
);

// pointer address - similar to Base address but can be shorter, see formal spec for explanation
const ptrAddr = CardanoWasm.PointerAddress.new(
CardanoWasm.NetworkInfo.mainnet().network_id(),
CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()),
CardanoWasm.Pointer.new(
100, // slot
2, // tx index in slot
0 // cert indiex in tx
)
);

// reward address - used for withdrawing accumulated staking rewards
const rewardAddr = CardanoWasm.RewardAddress.new(
CardanoWasm.NetworkInfo.mainnet().network_id(),
CardanoWasm.StakeCredential.from_keyhash(stakeKey.to_raw_key().hash())
);

// bootstrap address - byron-era addresses with no staking rights
const byronAddr = CardanoWasm.ByronAddress.icarus_from_key(
utxoPubKey, // Ae2* style icarus address
CardanoWasm.NetworkInfo.mainnet().protocol_magic()
);

Note that the byron-era address can only be created in this library from icarus-style addresses that start in Ae2 and that Daedalus-style addresses starting in Dd are not directly supported.

These are all address variant types with information specific to its address type. There is also an Address type which represents any of those variants, which is the type use in most parts of the library. For example to create a TransactionOutput manually we would have to first convert from one of the address variants by doing:

const address = baseAddress.to_address();

const output = CardanoWasm.TransactionOutput(address, BigNum.from_str("365"));

If the address is already a Shelley address in raw bytes or a bech32 string we can create it directly via:

const addr = CardanoWasm.Address.from_bech32("addr1vyt3w9chzut3w9chzut3w9chzut3w9chzut3w9chzut3w9cj43ltf");

Other Key Types

Conversion between cardano-cli 128-byte XPrv keys and BIP32PrivateKey is also supported:

const bip32PrivateKey = CardanoWasm.BIP32PrivateKey.from_128_xprv(xprvBytes);
assert(xprvBytes == CardanoWasm.BIP32PrivateKey.to_128_xprv());

96-byte XPrv keys are identical to BIP32PrivateKeys byte-wise and no conversion is needed. +For more details see this document regarding legacy keys.

There is also LegacyDaedalusPrivateKey which is used for creating witnesses for legacy Daedalus Dd-type addresses.

+ + + + \ No newline at end of file diff --git a/modules/crypto/index.html b/modules/crypto/index.html new file mode 100644 index 00000000..80aa39ca --- /dev/null +++ b/modules/crypto/index.html @@ -0,0 +1,16 @@ + + + + + +crypto | CML + + + + +
+

crypto

AuxiliaryDataHash

Bip32PrivateKey

Bip32PublicKey

BlockBodyHash

BlockHeaderHash

BootstrapWitness

BootstrapWitnesses

DataHash

Ed25519KeyHash

Ed25519Signature

GenesisDelegateHash

GenesisHash

KESSignature

KESVKey

LegacyDaedalusPrivateKey

Nonce

PoolMetadataHash

PrivateKey

PublicKey ED25519 key used as public key

PublicKeys

ScriptDataHash

ScriptHash

TransactionHash

VRFCert

VRFKeyHash

VRFVKey

Vkey

Vkeys

Vkeywitness

Vkeywitnesses

+ + + + \ No newline at end of file diff --git a/modules/metadata/index.html b/modules/metadata/index.html new file mode 100644 index 00000000..b0f13433 --- /dev/null +++ b/modules/metadata/index.html @@ -0,0 +1,32 @@ + + + + + +Metadata | CML + + + + +
+

Metadata

Transaction Metadata format

Transaction after the Shelley hardfork can contain arbitrary transaction meta (note: this is NOT the same as pool metadata)

Transaction metadata takes the form of a map of metadatums, which are recursive JSON-like structures.

It is defined in CDDL, a schema grammar for representing CBOR binary encoding as:

transaction_metadatum =
{ * transaction_metadatum => transaction_metadatum }
/ [ * transaction_metadatum ]
/ int
/ bytes .size (0..64)
/ text .size (0..64)

transaction_metadatum_label = uint

transaction_metadata =
{ * transaction_metadatum_label => transaction_metadatum }

For each use we use a metadatum label specific to our use into the TransactionMetadatum map. If we had a JSON object such as

{
"receiver_id": "SJKdj34k3jjKFDKfjFUDfdjkfd",
"sender_id": "jkfdsufjdk34h3Sdfjdhfduf873",
"comment": "happy birthday",
"tags": [0, 264, -1024, 32]
}

There are 4 ways we can achieve this with different trade-offs:

1) Directly use: using the Metadata-related structures used in the library +2) JSON conversion: conversion to/from JSON using our utility functions +3) CDDL subset: writing a CDDL spec of this structure that is representable by that recursive metadatum CDDL +4) Raw bytes: encoding raw-bytes using our utility functions.

Each section will give examples of how to encode a similar structure. Understanding CDDL is only necessary for the last 2 options, but it is fairly simple to understand.

If your metadata schema is fixed and will be used frequently you should consider the CDDL spec option. +If your schema is not often used or used from many languages, the JSON option can be good as it is low set-up and fairly tech agnostic. +If your schema is very dynamic or non-existent, the direct use or JSON options are likely best. +The raw bytes option is only recommended if your data does not conform to the metadata format.

Metadata limitations

These limitations are mentioned in the CDDL definition, but are worth also mentioning in prose:

  • Strings must be at most 64 bytes when UTF-8 encoded.
  • Bytestrings are hex-encoded, with a maximum length of 64 bytes.

Direct use

Upsides:

  • Flexible
  • Readable by other methods

Downsides:

  • Can be quite tedious to write
  • Structural validation must be done by hand (partially)

As the metadatum structure is fairly expressive, we can directly use it using the structs in the metadata module of this library. These directly represent the types given in the CDDL. Namely:

  • TransactionMetadatum - Can represent one of those 5 variant types.
  • MetadataMap - The map variant that maps from metadatums to other metadatums. This is unordered and indexed by metadatums. This is like an object in JSON.
  • MetadataList - An ordered list indexed starting at 0. This is like an array in JSON.

The variants for numbers, bytes and text are not specific to metadata and are directly used with the general Int type representing a signed or unsigned number, byte arrays accepting byte arrays/Buffer, and strings being JS strings.

We could construct the JSON example above with the following code:

const map = CardanoWasm.MetadataMap.new();
map.insert(
CardanoWasm.TransactionMetadatum.new_text("receiver_id"),
CardanoWasm.TransactionMetadatum.new_text("SJKdj34k3jjKFDKfjFUDfdjkfd"),
);
map.insert(
CardanoWasm.TransactionMetadatum.new_text("sender_id"),
CardanoWasm.TransactionMetadatum.new_text("jkfdsufjdk34h3Sdfjdhfduf873"),
);
map.insert(
CardanoWasm.TransactionMetadatum.new_text("comment"),
CardanoWasm.TransactionMetadatum.new_text("happy birthday"),
);
const tags = CardanoWasm.MetadataList.new();
tags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new(CardanoWasm.BigNum.from_str("0"))));
tags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new(CardanoWasm.BigNum.from_str("264"))));
tags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new_negative(CardanoWasm.BigNum.from_str("1024"))));
tags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new(CardanoWasm.BigNum.from_str("32"))));
map.insert(
CardanoWasm.TransactionMetadatum.new_text("tags"),
CardanoWasm.TransactionMetadatum.new_list(tags),
);
const metadatum = CardanoWasm.TransactionMetadatum.new_map(map);

We could then parse the information back as such:

try {
const map = metadatum.as_map();
const receiver = map.get(CardanoWasm.TransactionMetadatum.new_text("receiver_id"));
const sender = map.get(CardanoWasm.TransactionMetadatum.new_text("sender_id"));
const comment = map.get(CardanoWasm.TransactionMetadatum.new_text("comment"));
const tags = map.get(CardanoWasm.TransactionMetadatum.new_text("tags"));
} catch (e) {
// structure did not match
}

For decoding in a more exploratory manner we can check the types first as such:

function parseMetadata(metadata) {
// we must check the type first to know how to handle it
switch (metadata.kind()) {
case CardanoWasm.TransactionMetadatumKind.MetadataMap:
const mapRet = new Map();
const map = metadata.as_map();
const keys = maps.keys();
for (var i = 0; i < keys.len(); i += 1) {
const key = keys.get(i);
const value = parseMetadata(map.get(key);
mapRet.set(key, value);
}
return mapRet;
case CardanoWasm.TransactionMetadatumKind.MetadataList:
let arrRet = [];
const arr = metadata.as_list();
for (var i = 0; i < arr.len(); i += 1) {
const elem = parseMetadata(arr.get(i));
arrRet.push(elem);
}
return arrRet;
case CardanoWasm.TransactionMetadatumKind.Int:
const x = metadata.as_int();
// If the integer is too big as_i32() returns undefined
// to handle larger numbers we need to use x.as_positive() / x.as_negative() and
// convert from BigNums after checking x.is_positive() first
return x.as_i32();
case CardanoWasm.TransactionMetadatumKind.Bytes:
return Buffer.from(metadata.as_bytes());
case CardanoWasm.TransactionMetadatumKind.Text:
return metadata.as_text();
}
}

which recursively parses the TransactionMetadatum struct and transforms it into a JS Map / JS object structure by manually checking the types.

JSON conversion

Upsides:

  • Flexible
  • Readable by other methods
  • Lowest set-up work involved

Downsides:

  • Does not support negative integers between -2^64 + 1 and -2^63 (serde_json library restriction)
  • Structural validation must be done by hand
  • Can use more space as string keyed maps are likely to be used more than arrays would be in the CDDL solutions
const obj = {
receiver_id: "SJKdj34k3jjKFDKfjFUDfdjkfd",
sender_id: "jkfdsufjdk34h3Sdfjdhfduf873",
comment: "happy birthday",
tags: [0, 264, -1024, 32]
};
const metadata = CardanoWasm.encode_json_str_to_metadatum(JSON.stringify(obj), CardanoWasm.MetadataJsonSchema.NoConversions);
const metadataString = CardanoWasm.decode_metadatum_to_json_str(metadata, CardanoWasm.MetadataJsonSchema.NoConversions);

To support an extended set of metadata we also support 3 additional modes for JSON conversion following IOHK's cardano-node JSON schemas.

The three modes are:

  • NoConversions - Faithfully converts between the minimal shared feature set between JSON and Metadata
  • BasicConversions - Adds additional support for byte(as hex strings)/integers (as strings) keys / byte (as hex strings) values.
  • DetailedSchema - Can convert almost all metadata into a specific JSON schema but is very verbose on the JSON side.

Details on the formats can be found in our library's metadata module or in the cardano-node file linked above. DetailedSchema is likely most useful if you need to parse any possible kind of metadata into JSON specifically, possibly to display or for debugging. +For most reasonable schemas NoConversions should suffice, or BasicConversions if byte/string keys and byte values are needed. +If you are in charge of your own schema and you do not need arbitrary keys, it is recommended not to use DetailedSchema as it is significantly more complicated to use.

The additions of BasicConversions are demonstrated below

{
"0x8badf00d": "0xdeadbeef",
"9": 5,
"obj": {
"a":[
{
"5": 2
},
{
}
]
}
}

which creates a map with 3 elements:

  • 4 byte bytestring (0x8badf00d) => 4 byte bytestring (0xdeadbeef)
  • int (9) => int (5)
  • string ("obj") => object (string ("a") => list [ object (int (5) => int (2)), object (empty) ])

All bytestrings must be prefixed with "0x" or they will be treated as regular strings. +All strings that parse as an integer such as "125" will be treated as a metadata integer.

The DetailedSchema is here:

{"map":[
{
"k":{"bytes":"8badf00d"},
"v":{"bytes":"deadbeef"}
},
{
"k":{"int":9},
"v":{"int":5}
},
{
"k":{"string":"obj"},
"v":{"map":[
{
"k":{"string":"a"},
"v":{"list":[
{"map":[
{
"k":{"int":5},
"v":{"int":2}
}
]},
{"map":[
]}
]}
}
]}
}
]}

All values are represented as an object with 1 field with the key tagging the type and the value being the value itself. +This is the exact same metadata as the BasicConversions example which should illustrate that it is much more verbose to use this format, +but it can represent every kind of metadata possible, including non-string/byte/int keys. +Do note that byte strings do not start with "0x", unlike with BasicConversions.

This additional freedom in keys can be seen here:

{"map":[
{
"k":{"list":[
{"map": [
{
"k": {"int": 5},
"v": {"int": 7}
},
{
"k": {"string": "hello"},
"v": {"string": "world"}
}
]},
{"bytes": "ff00ff00"}
]},
"v":{"int":5}
}
]}

has a 1-element map with a value of just 5, but with a very complicated key consisting of a list with 2 elements:

  • a 2-element map (5 => 7, "hello" => "world")
  • a bytestring (0xFF00FF00)

Most reasonable metadata formats, however, likely do not use map/key/compound keys and thus this is more of a fringe use or when all possible metadata must be examined from JSON (almost) without exception. +Due to library implementation details it can still fail to decode if there is a very negative number between -2^64 + 1 and -2^63.

Using a CDDL Subset

Upsides:

  • Automatic structural typing in deserialization
  • Readable by other methods
  • Possible reduced space due to array structs not serializing keys

Downsides:

  • Requires additional set-up

For static or relatively static types this is probably the best choice, especially if you care about structural validation or need the binary types or more complex keys.

As we saw in the other examples, most reasonable structures can be encoded using the standard metadata CDDL as it is almost a superset of JSON outside of true/false/null. Not only this, but if we represent a struct using an array in CDDL such as:

foo = [
receiver_id: text,
sender_id: text,
comment: text,
tags: [*int]
]

there is space savings as the keys are not stored as it is represented as an ordered array of 4 elements instead of a direct map encoding of:

foo = {
receiver_id: text,
sender_id: text,
comment: text,
tags": [*int]
}

which would serialize the keys as strings inside the resulting CBOR. Using these CDDL definitions for the example JSON structure we had results in sizes of 89 bytes for the array definition and 124 bytes for the map one. Using the JSON encoding would also result in a metadata size of 124 bytes. Maps however do have the advantage of easy optional fields and a more readable metadata for external users who don't have access to the CDDL as the field names will be stored directly.

After you have created your CDDL definition, if you need to check that your CDDL conforms to the metadata CDDL we have a tool located in the /tools/metadata-cddl-checker/ directory. Move to this directory and put your CDDL in a file called input.cddl there first, then run

cargo build
cargo run

Once we have the CDDL file and it has passed metadata format validation we can use the cddl-codegen tool that we used to initially generate the serialization/deserialization/structural code for the core Shelley structures from the shelley cddl spec.

Assuming we are in the cddl-codegen root directory and have created a input.cddl file in that directory containing the CDDL we wish to generate we can build and code-generate with

cargo build
cargo run

which should generate a wasm-convertible rust library for parsing our CDDL definition in the /export/ directory. +After this we need to generate a wasm package from the rust code by running the following (you can do --target=browser too)

cd export
wasm-pack build --target=nodejs
wasm-pack pack

which should give you the library as a package in the /pkg/ directory.

Once we have imported the library we can then use it as such:

const tags = OurMetadataLib.Ints.new();
// if we have smaller (32-bit signed) numbers we can construct easier
tags.add(OurMetadataLib.Int.new_i32(0));
// but for bigger (>= 2^32) numbers we must use BigNum and specify the sign ourselves
tags.add(OurMetadataLib.Int.new(CardanoWasm.Int.from_str("264")));
// and for negative large (< -2^32) numbers (here we construct -1024)
tags.add(OurMetadataLib.Int.new_negative(CardanoWasm.Int.from_str("1024")));
tags.add(OurMetadataLib.Int.new_i32(32));
const map = OurMetadataLib.Foo.new("SJKdj34k3jjKFDKfjFUDfdjkfd", "jkfdsufjdk34h3Sdfjdhfduf873", "happy birthday", tags)
let metadata;
try {
metadata = CardanoWasm.TransactionMetadata.from_bytes(map.to_bytes());
} catch (e) {
// this should never happen if OurMetadataLib was generated from compatible CDDL with the metadata definition
}

likewise you can parse the metadata back very simply with:

let cddlMetadata;
try {
cddlMetadata = OurMetadataLib.Foo.from_bytes(metadata.to_bytes());
} catch (e) {
// this should never happen if OurMetadataLib was generated from compatible CDDL with the metadata definition
}
// we can now directly access the fields with cddlMetadata.receiver_id(), etc

If we take advantage of the additional primitives not defined in CDDL but defined for cddl-codegen, then we can specify precisions of u32, u64, i64, i32 for specifying 32 or 64 bits instead of just a general purpose uint/nint/int. +If you know your metadata will always be within one of these ranges it can be much more convenient to work with, and if you have signed data this will also make it easier to work with instead of the Int class that CDDL int might generate, since that is either an up to 64-bit positive or an up to 64 negative numbers. +This is particularly useful here as lists of CDDL primitives can be exposed directly as Vec<T> to wasm from rust, but when we have int (converts to Int struct) or uint (converts to BigNum struct) a separate structure like that Ints one used above is used. Using the 32-bit versions allows direct js number conversions to/from wasm.

If we simply change the tags field to tags: [+i32] our code becomes:

// notice how we can directly work with js numbers here now!
// but remember they must fit into a 32-bit number now - no 64-bit numbers like are allowed in the metadata
const tags = [0, 264, -1024, 32];
const map = OurMetadataLib.Foo.new("SJKdj34k3jjKFDKfjFUDfdjkfd", "jkfdsufjdk34h3Sdfjdhfduf873", "happy birthday", tags)

and deserializaing likewise is much simpler as metadata.tags() will return a JS array or numbers rather than a rust-wasm struct that must be accessed via the wasm boundary.

Raw Bytes Encoding

Upsides:

  • Can store arbitrary data
  • Potential space-savings if the data is compressed

Downsides:

  • Not readable by other methods - must be decoded using this method
  • Requires additional set-up

While most data would likely conform to the metadata CDDL subset (or JSON), if your data does not fit there then this encoding style will be necessary.

If you still want to take advantage of CDDL type-checking it is possible to create a library just as in the CDDL subset section but without running the checker tool. This could be useful if you are using CDDL outside of the metadata CDDL structure. Otherwise, you can store whatever bytes you want.

Note: To conform with the 64-byte limitation on metadata binary values, this method will split the bytes into 64-byte chunks

const bytes = /* whatever method you want - you can use the CDDL solution in the 3rd option here */
const metadata = CardanoWasm.encode_arbitrary_bytes_as_metadatum(bytes);
const decoded_bytes = CardanoWasm.decode_arbitrary_bytes_from_metadatum(metadata);
assertEquals(bytes, decoded_bytes);
+ + + + \ No newline at end of file diff --git a/search-index.json b/search-index.json new file mode 100644 index 00000000..b22cc5ac --- /dev/null +++ b/search-index.json @@ -0,0 +1 @@ +[{"documents":[{"i":1,"t":"Cardano Multiplatform Lib","u":"/","b":[]},{"i":11,"t":"Crate Architecture","u":"/crate_architecture","b":[]},{"i":13,"t":"Installation & Getting Started","u":"/getting_started","b":[]},{"i":19,"t":"TransactionBuilder","u":"/modules/builders/generating_transactions","b":["Modules","Builders"]},{"i":25,"t":"Chain","u":"/modules/chain/","b":["Modules","Chain"]},{"i":27,"t":"CIP25","u":"/modules/CIP25","b":["Modules"]},{"i":41,"t":"crypto","u":"/modules/crypto/","b":["Modules","Crypto"]},{"i":43,"t":"CIP36","u":"/modules/cip36","b":["Modules"]},{"i":44,"t":"Metadata","u":"/modules/metadata","b":["Modules"]},{"i":57,"t":"Core","u":"/modules/core/","b":["Modules","Core"]},{"i":59,"t":"Generating Keys and Addresses","u":"/modules/crypto/generating_keys","b":["Modules","Crypto"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,1.598,1,1.598,2,1.598]],["t/11",[3,1.953,4,1.953]],["t/13",[5,1.352,6,1.352,7,1.352,8,1.352]],["t/19",[9,2.512]],["t/25",[10,2.512]],["t/27",[11,2.512]],["t/41",[12,2.512]],["t/43",[13,2.512]],["t/44",[14,2.512]],["t/57",[15,2.512]],["t/59",[16,1.598,17,1.598,18,1.598]]],"invertedIndex":[["",{"_index":6,"t":{"13":{"position":[[13,1]]}}}],["address",{"_index":18,"t":{"59":{"position":[[20,9]]}}}],["architectur",{"_index":4,"t":{"11":{"position":[[6,12]]}}}],["cardano",{"_index":0,"t":{"1":{"position":[[0,7]]}}}],["chain",{"_index":10,"t":{"25":{"position":[[0,5]]}}}],["cip25",{"_index":11,"t":{"27":{"position":[[0,5]]}}}],["cip36",{"_index":13,"t":{"43":{"position":[[0,5]]}}}],["core",{"_index":15,"t":{"57":{"position":[[0,4]]}}}],["crate",{"_index":3,"t":{"11":{"position":[[0,5]]}}}],["crypto",{"_index":12,"t":{"41":{"position":[[0,6]]}}}],["gener",{"_index":16,"t":{"59":{"position":[[0,10]]}}}],["get",{"_index":7,"t":{"13":{"position":[[15,7]]}}}],["instal",{"_index":5,"t":{"13":{"position":[[0,12]]}}}],["key",{"_index":17,"t":{"59":{"position":[[11,4]]}}}],["lib",{"_index":2,"t":{"1":{"position":[[22,3]]}}}],["metadata",{"_index":14,"t":{"44":{"position":[[0,8]]}}}],["multiplatform",{"_index":1,"t":{"1":{"position":[[8,13]]}}}],["start",{"_index":8,"t":{"13":{"position":[[23,7]]}}}],["transactionbuild",{"_index":9,"t":{"19":{"position":[[0,18]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"Pre-requisite knowledge","u":"/","h":"#pre-requisite-knowledge","p":1},{"i":5,"t":"Benefits of using this library","u":"/","h":"#benefits-of-using-this-library","p":1},{"i":7,"t":"A note on code examples","u":"/","h":"#a-note-on-code-examples","p":1},{"i":9,"t":"Documentation","u":"/","h":"#documentation","p":1},{"i":14,"t":"Install","u":"/getting_started","h":"#install","p":13},{"i":15,"t":"Run Example","u":"/getting_started","h":"#run-example","p":13},{"i":16,"t":"Build","u":"/getting_started","h":"#build","p":13},{"i":17,"t":"Test","u":"/getting_started","h":"#test","p":13},{"i":21,"t":"Example code","u":"/modules/builders/generating_transactions","h":"#example-code","p":19},{"i":23,"t":"A note on fees","u":"/modules/builders/generating_transactions","h":"#a-note-on-fees","p":19},{"i":28,"t":"Context","u":"/modules/CIP25","h":"#context","p":27},{"i":30,"t":"Code Definitions","u":"/modules/CIP25","h":"#code-definitions","p":27},{"i":32,"t":"Examples","u":"/modules/CIP25","h":"#examples","p":27},{"i":33,"t":"Create","u":"/modules/CIP25","h":"#create","p":27},{"i":35,"t":"Parse CIP25Metadata","u":"/modules/CIP25","h":"#parse-cip25metadata","p":27},{"i":37,"t":"Parse Metadata Details","u":"/modules/CIP25","h":"#parse-metadata-details","p":27},{"i":39,"t":"Loose Parse Metadata details","u":"/modules/CIP25","h":"#loose-parse-metadata-details","p":27},{"i":45,"t":"Transaction Metadata format","u":"/modules/metadata","h":"#transaction-metadata-format","p":44},{"i":47,"t":"Metadata limitations","u":"/modules/metadata","h":"#metadata-limitations","p":44},{"i":49,"t":"Direct use","u":"/modules/metadata","h":"#direct-use","p":44},{"i":51,"t":"JSON conversion","u":"/modules/metadata","h":"#json-conversion","p":44},{"i":53,"t":"Using a CDDL Subset","u":"/modules/metadata","h":"#using-a-cddl-subset","p":44},{"i":55,"t":"Raw Bytes Encoding","u":"/modules/metadata","h":"#raw-bytes-encoding","p":44},{"i":60,"t":"BIP32 Keys","u":"/modules/crypto/generating_keys","h":"#bip32-keys","p":59},{"i":62,"t":"BIP39 Entropy","u":"/modules/crypto/generating_keys","h":"#bip39-entropy","p":59},{"i":64,"t":"Use in Addresses","u":"/modules/crypto/generating_keys","h":"#use-in-addresses","p":59},{"i":66,"t":"Other Key Types","u":"/modules/crypto/generating_keys","h":"#other-key-types","p":59}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,2.475,1,2.475,2,2.475]],["t/5",[3,2.475,4,1.546,5,2.475]],["t/7",[6,2.043,7,1.758,8,1.546]],["t/9",[9,3.713]],["t/14",[10,3.713]],["t/15",[8,1.855,11,2.97]],["t/16",[12,3.713]],["t/17",[13,3.713]],["t/21",[7,2.11,8,1.855]],["t/23",[6,2.452,14,2.97]],["t/28",[15,3.713]],["t/30",[7,2.11,16,2.97]],["t/32",[8,2.32]],["t/33",[17,3.713]],["t/35",[18,2.11,19,2.97]],["t/37",[18,1.758,20,1.546,21,2.043]],["t/39",[18,1.507,20,1.325,21,1.751,22,2.121]],["t/45",[20,1.546,23,2.475,24,2.475]],["t/47",[20,1.855,25,2.97]],["t/49",[4,1.855,26,2.97]],["t/51",[27,2.97,28,2.97]],["t/53",[4,1.546,29,2.475,30,2.475]],["t/55",[31,2.475,32,2.475,33,2.475]],["t/60",[34,2.97,35,2.452]],["t/62",[36,2.97,37,2.97]],["t/64",[4,1.855,38,2.97]],["t/66",[35,2.452,39,2.97]]],"invertedIndex":[["address",{"_index":38,"t":{"64":{"position":[[7,9]]}}}],["benefit",{"_index":3,"t":{"5":{"position":[[0,8]]}}}],["bip32",{"_index":34,"t":{"60":{"position":[[0,5]]}}}],["bip39",{"_index":36,"t":{"62":{"position":[[0,5]]}}}],["build",{"_index":12,"t":{"16":{"position":[[0,5]]}}}],["byte",{"_index":32,"t":{"55":{"position":[[4,5]]}}}],["cddl",{"_index":29,"t":{"53":{"position":[[8,4]]}}}],["cip25metadata",{"_index":19,"t":{"35":{"position":[[6,13]]}}}],["code",{"_index":7,"t":{"7":{"position":[[10,4]]},"21":{"position":[[8,4]]},"30":{"position":[[0,4]]}}}],["context",{"_index":15,"t":{"28":{"position":[[0,7]]}}}],["convers",{"_index":28,"t":{"51":{"position":[[5,10]]}}}],["creat",{"_index":17,"t":{"33":{"position":[[0,6]]}}}],["definit",{"_index":16,"t":{"30":{"position":[[5,11]]}}}],["detail",{"_index":21,"t":{"37":{"position":[[15,7]]},"39":{"position":[[21,7]]}}}],["direct",{"_index":26,"t":{"49":{"position":[[0,6]]}}}],["document",{"_index":9,"t":{"9":{"position":[[0,13]]}}}],["encod",{"_index":33,"t":{"55":{"position":[[10,8]]}}}],["entropi",{"_index":37,"t":{"62":{"position":[[6,7]]}}}],["exampl",{"_index":8,"t":{"7":{"position":[[15,8]]},"15":{"position":[[4,7]]},"21":{"position":[[0,7]]},"32":{"position":[[0,8]]}}}],["fee",{"_index":14,"t":{"23":{"position":[[10,4]]}}}],["format",{"_index":24,"t":{"45":{"position":[[21,6]]}}}],["instal",{"_index":10,"t":{"14":{"position":[[0,7]]}}}],["json",{"_index":27,"t":{"51":{"position":[[0,4]]}}}],["key",{"_index":35,"t":{"60":{"position":[[6,4]]},"66":{"position":[[6,3]]}}}],["knowledg",{"_index":2,"t":{"3":{"position":[[14,9]]}}}],["librari",{"_index":5,"t":{"5":{"position":[[23,7]]}}}],["limit",{"_index":25,"t":{"47":{"position":[[9,11]]}}}],["loos",{"_index":22,"t":{"39":{"position":[[0,5]]}}}],["metadata",{"_index":20,"t":{"37":{"position":[[6,8]]},"39":{"position":[[12,8]]},"45":{"position":[[12,8]]},"47":{"position":[[0,8]]}}}],["note",{"_index":6,"t":{"7":{"position":[[2,4]]},"23":{"position":[[2,4]]}}}],["pars",{"_index":18,"t":{"35":{"position":[[0,5]]},"37":{"position":[[0,5]]},"39":{"position":[[6,5]]}}}],["pre",{"_index":0,"t":{"3":{"position":[[0,3]]}}}],["raw",{"_index":31,"t":{"55":{"position":[[0,3]]}}}],["requisit",{"_index":1,"t":{"3":{"position":[[4,9]]}}}],["run",{"_index":11,"t":{"15":{"position":[[0,3]]}}}],["subset",{"_index":30,"t":{"53":{"position":[[13,6]]}}}],["test",{"_index":13,"t":{"17":{"position":[[0,4]]}}}],["transact",{"_index":23,"t":{"45":{"position":[[0,11]]}}}],["type",{"_index":39,"t":{"66":{"position":[[10,5]]}}}],["us",{"_index":4,"t":{"5":{"position":[[12,5]]},"49":{"position":[[7,3]]},"53":{"position":[[0,5]]},"64":{"position":[[0,3]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"This is a library, written in Rust, that can be deployed to multiple platforms (Rust crate, JS, Typescript, WASM, etc). It handles: Serialization & deserialization of core data structures Builders to streamline and verify the construction of transactions and related components Useful utility functions for dApps & wallets NPM packages​ TODO: update these once we publish new versions: browser: link nodejs: link asm.js (strongly discouraged): link Note: If you are using WebPack, you must use version 5 or later for CML to work. Rust crates​ crates: link Mobile bindings​ We recommend using Ionic + Capacitor or an equivalent setup to have the WASM bindings working in mobile","s":"Cardano Multiplatform Lib","u":"/","h":"","p":1},{"i":4,"t":"This library assumes a certain amount of knowledge about how Cardano works (to avoid re-documenting the wheel). You can find the specifications of Cardano's ledger here which we suggest consulting as you use this library. Notably, the Shelley ledger formal specification covers the core concepts. Make sure to check the specs for later eras as well when needed.","s":"Pre-requisite knowledge","u":"/","h":"#pre-requisite-knowledge","p":1},{"i":6,"t":"Serialization/deserialization code is automatically generated from Cardano’s official specification, which guarantees it can easily stay up to date! We do this using a tool managed by EMURGO & dcSpark called cddl-codegen which can be re-used for other tasks such as automatically generate a Rust library for Cardano metadata specifications! The most important feature of this is that CML has been generated to allow all CBOR details to be preserved. With CBOR many CBOR structures can have multiple ways to serialize to bytes from the same equivalent structure. This causes issues especially when computing hashes and is a frequent problem with working across tools e.g. cardano-node-cli and cardano-serialization-lib encoding plutus datums differently. This makes CML much more compatible with all other libraries as it will remember all these specific CBOR encoding details. This is particularly important for use with dApps and wallets connecting to dApps. It is also very easy to create scripts in Rust or WASM to share with stake pools, or even embed inside an online tool! No more crazy cardano-cli bash scripts! Powerful and flexible enough to be used to power wallets and exchanges! (Yes, it’s used in production!)","s":"Benefits of using this library","u":"/","h":"#benefits-of-using-this-library","p":1},{"i":8,"t":"All code examples are using the WASM (typescript/javascript) API. If you are using CML from rust you will need to change the code to rust syntax e.g. Foo.bar() to Foo::new() etc. We've tried to keep the API as consistent as possible between the different bindings but some exceptions exist. The array/map wrappers (e.g. FooList / MapFooToBar) in WASM are simply Vec and OrderedHashMap respectively. There will be some changes relating to reference params/moving/etc as well. You can find complete examples in the /examples/ directory.","s":"A note on code examples","u":"/","h":"#a-note-on-code-examples","p":1},{"i":10,"t":"This library generates Typescript type definitions, so it’s often easiest to see what is possible by just looking at the types! These are found in the .ts file in the npm package roots. If you are using rust the full API will be shown in the respective crates.io pages.","s":"Documentation","u":"/","h":"#documentation","p":1},{"i":12,"t":"Core - Core types common throughout all CML crates. Chain - Current era on-chain types, plus utility functionality and builders for creating these types. This is likely the crate most users will want to use. Crypto - Crypto primitives used throughout CML. Keys, signatures, etc. CIP25 - Library for working with CIP25 NFT metadata. CIP36 - Library for working with CIP36 (catalyst) registration types. Multi-Era - On-chain types for previous eras (Byron, Shelley, Alonzo, Babbage, etc) plus era-agnostic wrappers around this for parsing historical blockchain data.","s":"Crate Architecture","u":"/crate_architecture","h":"","p":11},{"i":18,"t":"nvm i && npm i && npm run rust:test","s":"Test","u":"/getting_started","h":"#test","p":13},{"i":20,"t":"In order to simplify transaction creation, we provide a TransactionBuilder struct that manages witnesses, fee calculation, change addresses and such. Assume we have instantiated an instance under the variable builder for this explanation. The TransactionBuilder requires several protocol parameters governing Cardano to be created which is shown in the following section. These are specified initially in the genesis file for Cardano nodes. The minimum required for a valid transaction is to add inputs, outputs, time-to-live and either set the fee explicitly with builder.set_fee(fee), or calculate it implicitly using builder.add_change_if_needed(address). Optionally a transaction can also have certificates, reward withdrawals, and metadata added to it. Any change made to the builder can impact the size and thus the fee so the fee should be the last thing set. If implicitly setting the fee any extra ADA (inputs + withdrawals - outputs + refund - deposit - min fee) is sent to the provided change address. Fees must be sufficient, i.e. inputs + withdrawals + refund >= outputs + deposit + fee which must be manually ensured if you explicitly set the fee. Any extra fee is not necessary and the extra ADA beyond that will be burned. Once the transaction is ready, const body = builder.build() can be called to return a ready TransactionBody. Withdrawals are ADA withdrawn as part of the rewards generated by staking and deposits are refundable ADA locked while resources such as stake certificates or pool registrations exist on the blockchain. They are returned as refunds when these resources are deregistered/retired. To get to a transaction ready to post on the blockchain, we must create a Transaction from that, which consists of the TransactionBody, a matching TransactionWitnessSet and optionally a TransactionMetadata. The witnesses and optional metadata must match those provided to the builder. The witnesses must sign the hash of the transaction body returned by hash_transaction(body). In addition to the witnesses for inputs, withdrawals and some certificates require witnesses as well. For example, staking address registration does not require a witness while stake address de-registration requires one. For any questions or doubts about the rules governing fees, deposits, rewards, certificates or which witness types are required refer to the shelley specs, specifically the Shelley design specification for general design. The formal specification could be useful for specific details as well. The design spec contains details about which certificates require which type of witnesses in the Certificates and Registrations section.","s":"TransactionBuilder","u":"/modules/builders/generating_transactions","h":"","p":19},{"i":22,"t":"The example below builds a transaction with all 2 of the 3 input types: key and bootstrap. Multisig (script) inputs are essentially identical to key inputs, but using the scripthash instead of the keyhash, however they are not supported for implicit fee calculation yet. Fees are automatically calculated and sent to a change address in the example. // instantiate the tx builder with the Cardano protocol parameters - these may change later on const linearFee = CardanoWasm.LinearFee.new( CardanoWasm.BigNum.from_str('44'), CardanoWasm.BigNum.from_str('155381') ); const txBuilderCfg = CardanoWasm.TransactionBuilderConfigBuilder.new() .fee_algo(linearFee) .pool_deposit(CardanoWasm.BigNum.from_str('500000000')) .key_deposit(CardanoWasm.BigNum.from_str('2000000')) .max_value_size(4000) .max_tx_size(8000) .coins_per_utxo_word(CardanoWasm.BigNum.from_str('34482')) .build(); const txBuilder = CardanoWasm.TransactionBuilder.new(txBuilderCfg); // add a keyhash input - for ADA held in a Shelley-era normal address (Base, Enterprise, Pointer) const prvKey = CardanoWasm.PrivateKey.from_bech32(\"ed25519e_sk16rl5fqqf4mg27syjzjrq8h3vq44jnnv52mvyzdttldszjj7a64xtmjwgjtfy25lu0xmv40306lj9pcqpa6slry9eh3mtlqvfjz93vuq0grl80\"); txBuilder.add_key_input( prvKey.to_public().hash(), CardanoWasm.TransactionInput.new( CardanoWasm.TransactionHash.from_bytes( Buffer.from(\"8561258e210352fba2ac0488afed67b3427a27ccf1d41ec030c98a8199bc22ec\", \"hex\") ), // tx hash 0, // index ), CardanoWasm.Value.new(CardanoWasm.BigNum.from_str('3000000')) ); // add a bootstrap input - for ADA held in a Byron-era address const byronAddress = CardanoWasm.ByronAddress.from_base58(\"Ae2tdPwUPEZLs4HtbuNey7tK4hTKrwNwYtGqp7bDfCy2WdR3P6735W5Yfpe\"); txBuilder.add_bootstrap_input( byronAddress, CardanoWasm.TransactionInput.new( CardanoWasm.TransactionHash.from_bytes( Buffer.from(\"488afed67b342d41ec08561258e210352fba2ac030c98a8199bc22ec7a27ccf1\", \"hex\"), ), // tx hash 0, // index ), CardanoWasm.Value.new(CardanoWasm.BigNum.from_str('3000000')) ); // base address const shelleyOutputAddress = CardanoWasm.Address.from_bech32(\"addr_test1qpu5vlrf4xkxv2qpwngf6cjhtw542ayty80v8dyr49rf5ewvxwdrt70qlcpeeagscasafhffqsxy36t90ldv06wqrk2qum8x5w\"); // pointer address const shelleyChangeAddress = CardanoWasm.Address.from_bech32(\"addr_test1gz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzerspqgpsqe70et\"); // add output to the tx txBuilder.add_output( CardanoWasm.TransactionOutput.new( shelleyOutputAddress, CardanoWasm.Value.new(CardanoWasm.BigNum.from_str('1000000')) ), ); // set the time to live - the absolute slot value before the tx becomes invalid txBuilder.set_ttl(410021); // calculate the min fee required and send any change to an address txBuilder.add_change_if_needed(shelleyChangeAddress); // once the transaction is ready, we build it to get the tx body without witnesses const txBody = txBuilder.build(); const txHash = CardanoWasm.hash_transaction(txBody); const witnesses = CardanoWasm.TransactionWitnessSet.new(); // add keyhash witnesses const vkeyWitnesses = CardanoWasm.Vkeywitnesses.new(); const vkeyWitness = CardanoWasm.make_vkey_witness(txHash, prvKey); vkeyWitnesses.add(vkeyWitness); witnesses.set_vkeys(vkeyWitnesses); // add bootstrap (Byron-era) witnesses const cip1852Account = CardanoWasm.Bip32PrivateKey.from_bech32('xprv1hretan5mml3tq2p0twkhq4tz4jvka7m2l94kfr6yghkyfar6m9wppc7h9unw6p65y23kakzct3695rs32z7vaw3r2lg9scmfj8ec5du3ufydu5yuquxcz24jlkjhsc9vsa4ufzge9s00fn398svhacse5su2awrw'); const bootstrapWitnesses = CardanoWasm.BootstrapWitnesses.new(); const bootstrapWitness = CardanoWasm.make_icarus_bootstrap_witness( txHash, byronAddress, cip1852Account, ); bootstrapWitnesses.add(bootstrapWitness); witnesses.set_bootstraps(bootstrapWitnesses); // create the finalized transaction with witnesses const transaction = CardanoWasm.Transaction.new( txBody, witnesses, undefined, // transaction metadata );","s":"Example code","u":"/modules/builders/generating_transactions","h":"#example-code","p":19},{"i":24,"t":"Fees is Cardano Shelley are based directly on the size of the final encoded transaction. It is important to note that a transaction created by this library potentially can vary in size compared to one built with other tools. This is because transactions, as well as other Cardano Shelley structures, are encoded using CBOR a binary JSON-like encoding. Due to arrays and maps allowing both definite or indefinite length encoding in the encoded transaction created by the library, the size can vary. This is because definite encoding consists of a tag containing the size of the array/map which can be 1 or more bytes long depending on the number of elements the size of the encoded structure, while indefinite length encoding consists of a 1 byte starting tag and after all elements are listed, a 1 byte ending tag. These variances should should only be a couple bytes and cardano-multiplatform-lib uses definite encoding which is the same length or smaller for any reasonable sized transaction.","s":"A note on fees","u":"/modules/builders/generating_transactions","h":"#a-note-on-fees","p":19},{"i":26,"t":"This crate contains all of the on-chain types used in the current Cardano era. All of these types can be serialized and deserialized from their on-chain CBOR encodings. Also included are some utility funtionality for working with them, as well as builders for creating them.","s":"Chain","u":"/modules/chain/","h":"","p":25},{"i":29,"t":"CIP25 defines an NFT Metadata Standard for Native Tokens. Since tokens on Cardano are a part of the UTxO ledger, the metadata isn't directly attached to a token, but instead stored in the transaction data. When data is transmitted or stored in Cardano, it is often encoded as CBOR bytes to optimize space and facilitate fast processing. CBOR provides a standardized way to encode complex data structures, making it easier for different components of the Cardano ecosystem to interact and interpret the data. Below is the entire metadata schema for CIP-25, which can be parsed by passing in the CBOR bytes of the entire transaction metadata or by passing in an existing Metadata struct. Parsing from CBOR bytes should be marginally faster. { \"721\": { \"\": { \"\": { \"name\": , \"image\": , \"mediaType\": image/, \"description\": , \"files\": [{ \"name\": , \"mediaType\": , \"src\": , }], } }, \"version\": } }","s":"Context","u":"/modules/CIP25","h":"#context","p":27},{"i":31,"t":"CIP25Metadata struct is the top-level struct for CIP-25 metadata, and contains a key_721 field of type LabelMetadata. The key_721 field will contain either a LabelMetadataV1 or LabelMetadataV2 instance. LabelMetadata defines an enum type that can contain either a LabelMetadataV1 or LabelMetadataV2 instance. It also provides functions for creating instances of each type. MetadataDetails defines a struct that represents metadata details for a specific asset. It contains fields for the asset name, an image associated with the asset, a media type, a description, and details about any associated files. The new() method creates a new instance with the specified name and image, and sets the other fields to None.","s":"Code Definitions","u":"/modules/CIP25","h":"#code-definitions","p":27},{"i":34,"t":"The following example shows how to create and populate the CIP25 metadata schema with the available structs. let mut details = MetadataDetails::new( String64::try_from(\"Metadata Name\").unwrap(), ChunkableString::from(\"htts://some.website.com/image.png\"), ); details.description = Some(ChunkableString::from(\"description of this NFT\")); details.media_type = Some(String64::try_from(\"image/*\").unwrap()); details.files = Some(vec![ FilesDetails::new( String64::new_str(\"filename1\").unwrap(), String64::new_str(\"filetype1\").unwrap(), ChunkableString::from(\"src1\"), ), FilesDetails::new( String64::new_str(\"filename2\").unwrap(), String64::new_str(\"filetype2\").unwrap(), ChunkableString::from(\"src2\"), ), ]); let mut v2 = Data::new(); let mut v2_inner = BTreeMap::new(); v2_inner.insert(AssetNameV2::from(vec![0xCA, 0xFE, 0xD0, 0x0D]), details); v2.insert(PolicyIdV2::from(vec![0xBA, 0xAD, 0xF0, 0x0D]), v2_inner); let metadata = CIP25Metadata::new(LabelMetadata::new_label_metadata_v2( LabelMetadataV2::new(v2), )); println!(\"{metadata:?}\"); output: CIP25Metadata { key_721: LabelMetadataV2(LabelMetadataV2 { data: { PolicyIdV2([186, 173, 240, 13]): { AssetNameV2([202, 254, 208, 13]): MetadataDetails { name: String64(\"Metadata Name\"), image: Single(String64(\"htts://some.website.com/image.png\")), media_type: Some(String64(\"image/*\")), description: Some(Single(String64(\"description of this NFT\"))), files: Some([ FilesDetails { name: String64(\"filename1\"), media_type: String64(\"filetype1\"), src: Single(String64(\"src1\")) }, FilesDetails { name: String64(\"filename2\"), media_type: String64(\"filetype2\"), src: Single(String64(\"src2\")) } ]) } } } }) }","s":"Create","u":"/modules/CIP25","h":"#create","p":27},{"i":36,"t":"let bytes = \"bf1902d1a36464617461a244baadf00da344cafed00da6646e616d656d4d65746164617461204e616d656566696c657382a4637372636473726331646e616d656966696c656e616d6531696d65646961547970656966696c657479706531816864736b6a66616b7381a1403864a3637372636473726332646e616d656966696c656e616d6532696d65646961547970656966696c65747970653265696d6167657821687474733a2f2f736f6d652e776562736974652e636f6d2f696d6167652e706e67696d656469615479706567696d6167652f2a6b6465736372697074696f6e776465736372697074696f6e206f662074686973204e4654a14038641832a1403864a140386481a1403864816864736b6a66616b73a1403864a14038646776657273696f6e02a1403864a14038641905398144baadf00dff\"; let data = CIP25Metadata::from_bytes(hex::decode(bytes).unwrap()).unwrap(); println!(\"{data:?}\"); output: CIP25Metadata { key_721: LabelMetadataV2( LabelMetadataV2 { data: { PolicyIdV2([186, 173, 240, 13]): { AssetNameV2([202, 254, 208, 13]): MetadataDetails { name: String64(\"Metadata Name\"), image: Single(String64(\"htts://some.website.com/image.png\")), media_type: Some(String64(\"image/*\")), description: Some(Single(String64(\"description of this NFT\"))), files: Some([ FilesDetails { name: String64(\"filename1\"), media_type: String64(\"filetype1\"), src: Single(String64(\"src1\")) }, FilesDetails { name: String64(\"filename2\"), media_type: String64(\"filetype2\"), src: Single(String64(\"src2\")) } ]) } } } }) }","s":"Parse CIP25Metadata","u":"/modules/CIP25","h":"#parse-cip25metadata","p":27},{"i":38,"t":"Fields can be extracted from the MetadataDetails struct. // { // \"arweaveId\": \"6srpXZOTfK_62KUrJKh4VdCFG0YS271pq20OMRpE5Ts\", // \"image\": \"ipfs://QmUWP6xGHucgBUv514gwgbt4yijg36aUQunEP61z5D8RKS\", // \"name\": \"SpaceBud #1507\", // \"traits\": [\"Star Suit\", \"Chestplate\", \"Belt\", \"Flag\", \"Pistol\"], // \"type\": \"Alien\", // } let bytes = \"a569617277656176654964782b36737270585a4f54664b5f36324b55724a4b68345664434647305953323731707132304f4d52704535547365696d6167657835697066733a2f2f516d5557503678474875636742557635313467776762743479696a673336615551756e455036317a354438524b53646e616d656e53706163654275642023313530376674726169747385695374617220537569746a4368657374706c6174656442656c7464466c616766506973746f6c647479706565416c69656e\"; let output = MetadataDetails::from_bytes(hex::decode(bytes).unwrap()).unwrap(); println!(\"{output:?}\") output: MetadataDetails { name: String64(\"SpaceBud #1507\"), image: Single(String64(\"ipfs://QmUWP6xGHucgBUv514gwgbt4yijg36aUQunEP61z5D8RKS\")), media_type: None, description: None, files: None }","s":"Parse Metadata Details","u":"/modules/CIP25","h":"#parse-metadata-details","p":27},{"i":40,"t":"The loose_parse() function allows parsing of certain data that is technically non-compliant with CIP25 due to minor mistakes by their creators. note This function should only to be used to parse non conformant metadata, since it will return a different struct (MiniMetadataDetails) which will just (possibly)return the name/image. It's best to only use it as a fallback when the regular parsing fails. Just name​ // {\"name\":\"Metaverse\"} let details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode(\"a1646e616d65694d6574617665727365\").unwrap()).unwrap()).unwrap(); println!(\"{details:?}\") ouput: MiniMetadataDetails { name: Some(String64(\"Metaverse\")), image: None } Upercase name​ // { // \"Date\":\"9 May 2021\", // \"Description\":\"Happy Mother's Day to all the Cardano Moms!\", // \"Image\":\"ipfs.io/ipfs/Qmah6QPKUKvp6K9XQB2SA42Q3yrffCbYBbk8EoRrB7FN2g\", // \"Name\":\"Mother's Day 2021\", // \"Ticker\":\"MOM21\", // \"URL\":\"ipfs.io/ipfs/Qmah6QPKUKvp6K9XQB2SA42Q3yrffCbYBbk8EoRrB7FN2g\" // } let details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode(\"a664446174656a39204d617920323032316b4465736372697074696f6e782b4861707079204d6f7468657227732044617920746f20616c6c207468652043617264616e6f204d6f6d732165496d616765783b697066732e696f2f697066732f516d61683651504b554b7670364b39585142325341343251337972666643625942626b38456f52724237464e3267644e616d65714d6f746865722773204461792032303231665469636b6572654d4f4d32316355524c783b697066732e696f2f697066732f516d61683651504b554b7670364b39585142325341343251337972666643625942626b38456f52724237464e3267\").unwrap()).unwrap()).unwrap(); let name = details.name.unwrap().0; println!(\"{name:?}\") output: \"Mother's Day 2021\" id no name​ // { // \"id\":\"00\", // \"image\":\"ipfs://QmSfYTF8B4ua6hFdr6URdRDZBZ9FjCQNUdDcLr2f7P8xn3\" // } let details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode(\"a262696462303065696d6167657835697066733a2f2f516d5366595446384234756136684664723655526452445a425a39466a43514e556444634c723266375038786e33\").unwrap()).unwrap()).unwrap(); let name = details.name.unwrap().0; println!(\"{name:?}\") output: \"00\" Image​ // { // \"image\":\"ipfs://QmSfYTF8B4ua6hFdr6URdRDZBZ9FjCQNUdDcLr2f7P8xn3\" // } let details = MiniMetadataDetails::loose_parse(&TransactionMetadatum::from_bytes(hex::decode(\"a165696d6167657835697066733a2f2f516d5366595446384234756136684664723655526452445a425a39466a43514e556444634c723266375038786e33\").unwrap()).unwrap()).unwrap(); let image = String::from(&details.image.unwrap()); println!(\"{image:?}\"); output: \"ipfs://QmSfYTF8B4ua6hFdr6URdRDZBZ9FjCQNUdDcLr2f7P8xn3\"","s":"Loose Parse Metadata details","u":"/modules/CIP25","h":"#loose-parse-metadata-details","p":27},{"i":42,"t":"AuxiliaryDataHash Bip32PrivateKey Bip32PublicKey BlockBodyHash BlockHeaderHash BootstrapWitness BootstrapWitnesses DataHash Ed25519KeyHash Ed25519Signature GenesisDelegateHash GenesisHash KESSignature KESVKey LegacyDaedalusPrivateKey Nonce PoolMetadataHash PrivateKey PublicKey ED25519 key used as public key PublicKeys ScriptDataHash ScriptHash TransactionHash VRFCert VRFKeyHash VRFVKey Vkey Vkeys Vkeywitness Vkeywitnesses","s":"crypto","u":"/modules/crypto/","h":"","p":41},{"i":46,"t":"Transaction after the Shelley hardfork can contain arbitrary transaction meta (note: this is NOT the same as pool metadata) Transaction metadata takes the form of a map of metadatums, which are recursive JSON-like structures. It is defined in CDDL, a schema grammar for representing CBOR binary encoding as: transaction_metadatum = { * transaction_metadatum => transaction_metadatum } / [ * transaction_metadatum ] / int / bytes .size (0..64) / text .size (0..64) transaction_metadatum_label = uint transaction_metadata = { * transaction_metadatum_label => transaction_metadatum } For each use we use a metadatum label specific to our use into the TransactionMetadatum map. If we had a JSON object such as { \"receiver_id\": \"SJKdj34k3jjKFDKfjFUDfdjkfd\", \"sender_id\": \"jkfdsufjdk34h3Sdfjdhfduf873\", \"comment\": \"happy birthday\", \"tags\": [0, 264, -1024, 32] } There are 4 ways we can achieve this with different trade-offs: 1) Directly use: using the Metadata-related structures used in the library 2) JSON conversion: conversion to/from JSON using our utility functions 3) CDDL subset: writing a CDDL spec of this structure that is representable by that recursive metadatum CDDL 4) Raw bytes: encoding raw-bytes using our utility functions. Each section will give examples of how to encode a similar structure. Understanding CDDL is only necessary for the last 2 options, but it is fairly simple to understand. If your metadata schema is fixed and will be used frequently you should consider the CDDL spec option. If your schema is not often used or used from many languages, the JSON option can be good as it is low set-up and fairly tech agnostic. If your schema is very dynamic or non-existent, the direct use or JSON options are likely best. The raw bytes option is only recommended if your data does not conform to the metadata format.","s":"Transaction Metadata format","u":"/modules/metadata","h":"#transaction-metadata-format","p":44},{"i":48,"t":"These limitations are mentioned in the CDDL definition, but are worth also mentioning in prose: Strings must be at most 64 bytes when UTF-8 encoded. Bytestrings are hex-encoded, with a maximum length of 64 bytes.","s":"Metadata limitations","u":"/modules/metadata","h":"#metadata-limitations","p":44},{"i":50,"t":"Upsides: Flexible Readable by other methods Downsides: Can be quite tedious to write Structural validation must be done by hand (partially) As the metadatum structure is fairly expressive, we can directly use it using the structs in the metadata module of this library. These directly represent the types given in the CDDL. Namely: TransactionMetadatum - Can represent one of those 5 variant types. MetadataMap - The map variant that maps from metadatums to other metadatums. This is unordered and indexed by metadatums. This is like an object in JSON. MetadataList - An ordered list indexed starting at 0. This is like an array in JSON. The variants for numbers, bytes and text are not specific to metadata and are directly used with the general Int type representing a signed or unsigned number, byte arrays accepting byte arrays/Buffer, and strings being JS strings. We could construct the JSON example above with the following code: const map = CardanoWasm.MetadataMap.new(); map.insert( CardanoWasm.TransactionMetadatum.new_text(\"receiver_id\"), CardanoWasm.TransactionMetadatum.new_text(\"SJKdj34k3jjKFDKfjFUDfdjkfd\"), ); map.insert( CardanoWasm.TransactionMetadatum.new_text(\"sender_id\"), CardanoWasm.TransactionMetadatum.new_text(\"jkfdsufjdk34h3Sdfjdhfduf873\"), ); map.insert( CardanoWasm.TransactionMetadatum.new_text(\"comment\"), CardanoWasm.TransactionMetadatum.new_text(\"happy birthday\"), ); const tags = CardanoWasm.MetadataList.new(); tags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new(CardanoWasm.BigNum.from_str(\"0\")))); tags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new(CardanoWasm.BigNum.from_str(\"264\")))); tags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new_negative(CardanoWasm.BigNum.from_str(\"1024\")))); tags.add(CardanoWasm.TransactionMetadatum.new_int(CardanoWasm.Int.new(CardanoWasm.BigNum.from_str(\"32\")))); map.insert( CardanoWasm.TransactionMetadatum.new_text(\"tags\"), CardanoWasm.TransactionMetadatum.new_list(tags), ); const metadatum = CardanoWasm.TransactionMetadatum.new_map(map); We could then parse the information back as such: try { const map = metadatum.as_map(); const receiver = map.get(CardanoWasm.TransactionMetadatum.new_text(\"receiver_id\")); const sender = map.get(CardanoWasm.TransactionMetadatum.new_text(\"sender_id\")); const comment = map.get(CardanoWasm.TransactionMetadatum.new_text(\"comment\")); const tags = map.get(CardanoWasm.TransactionMetadatum.new_text(\"tags\")); } catch (e) { // structure did not match } For decoding in a more exploratory manner we can check the types first as such: function parseMetadata(metadata) { // we must check the type first to know how to handle it switch (metadata.kind()) { case CardanoWasm.TransactionMetadatumKind.MetadataMap: const mapRet = new Map(); const map = metadata.as_map(); const keys = maps.keys(); for (var i = 0; i < keys.len(); i += 1) { const key = keys.get(i); const value = parseMetadata(map.get(key); mapRet.set(key, value); } return mapRet; case CardanoWasm.TransactionMetadatumKind.MetadataList: let arrRet = []; const arr = metadata.as_list(); for (var i = 0; i < arr.len(); i += 1) { const elem = parseMetadata(arr.get(i)); arrRet.push(elem); } return arrRet; case CardanoWasm.TransactionMetadatumKind.Int: const x = metadata.as_int(); // If the integer is too big as_i32() returns undefined // to handle larger numbers we need to use x.as_positive() / x.as_negative() and // convert from BigNums after checking x.is_positive() first return x.as_i32(); case CardanoWasm.TransactionMetadatumKind.Bytes: return Buffer.from(metadata.as_bytes()); case CardanoWasm.TransactionMetadatumKind.Text: return metadata.as_text(); } } which recursively parses the TransactionMetadatum struct and transforms it into a JS Map / JS object structure by manually checking the types.","s":"Direct use","u":"/modules/metadata","h":"#direct-use","p":44},{"i":52,"t":"Upsides: Flexible Readable by other methods Lowest set-up work involved Downsides: Does not support negative integers between -2^64 + 1 and -2^63 (serde_json library restriction) Structural validation must be done by hand Can use more space as string keyed maps are likely to be used more than arrays would be in the CDDL solutions const obj = { receiver_id: \"SJKdj34k3jjKFDKfjFUDfdjkfd\", sender_id: \"jkfdsufjdk34h3Sdfjdhfduf873\", comment: \"happy birthday\", tags: [0, 264, -1024, 32] }; const metadata = CardanoWasm.encode_json_str_to_metadatum(JSON.stringify(obj), CardanoWasm.MetadataJsonSchema.NoConversions); const metadataString = CardanoWasm.decode_metadatum_to_json_str(metadata, CardanoWasm.MetadataJsonSchema.NoConversions); To support an extended set of metadata we also support 3 additional modes for JSON conversion following IOHK's cardano-node JSON schemas. The three modes are: NoConversions - Faithfully converts between the minimal shared feature set between JSON and Metadata BasicConversions - Adds additional support for byte(as hex strings)/integers (as strings) keys / byte (as hex strings) values. DetailedSchema - Can convert almost all metadata into a specific JSON schema but is very verbose on the JSON side. Details on the formats can be found in our library's metadata module or in the cardano-node file linked above. DetailedSchema is likely most useful if you need to parse any possible kind of metadata into JSON specifically, possibly to display or for debugging. For most reasonable schemas NoConversions should suffice, or BasicConversions if byte/string keys and byte values are needed. If you are in charge of your own schema and you do not need arbitrary keys, it is recommended not to use DetailedSchema as it is significantly more complicated to use. The additions of BasicConversions are demonstrated below { \"0x8badf00d\": \"0xdeadbeef\", \"9\": 5, \"obj\": { \"a\":[ { \"5\": 2 }, { } ] } } which creates a map with 3 elements: 4 byte bytestring (0x8badf00d) => 4 byte bytestring (0xdeadbeef) int (9) => int (5) string (\"obj\") => object (string (\"a\") => list [ object (int (5) => int (2)), object (empty) ]) All bytestrings must be prefixed with \"0x\" or they will be treated as regular strings. All strings that parse as an integer such as \"125\" will be treated as a metadata integer. The DetailedSchema is here: {\"map\":[ { \"k\":{\"bytes\":\"8badf00d\"}, \"v\":{\"bytes\":\"deadbeef\"} }, { \"k\":{\"int\":9}, \"v\":{\"int\":5} }, { \"k\":{\"string\":\"obj\"}, \"v\":{\"map\":[ { \"k\":{\"string\":\"a\"}, \"v\":{\"list\":[ {\"map\":[ { \"k\":{\"int\":5}, \"v\":{\"int\":2} } ]}, {\"map\":[ ]} ]} } ]} } ]} All values are represented as an object with 1 field with the key tagging the type and the value being the value itself. This is the exact same metadata as the BasicConversions example which should illustrate that it is much more verbose to use this format, but it can represent every kind of metadata possible, including non-string/byte/int keys. Do note that byte strings do not start with \"0x\", unlike with BasicConversions. This additional freedom in keys can be seen here: {\"map\":[ { \"k\":{\"list\":[ {\"map\": [ { \"k\": {\"int\": 5}, \"v\": {\"int\": 7} }, { \"k\": {\"string\": \"hello\"}, \"v\": {\"string\": \"world\"} } ]}, {\"bytes\": \"ff00ff00\"} ]}, \"v\":{\"int\":5} } ]} has a 1-element map with a value of just 5, but with a very complicated key consisting of a list with 2 elements: a 2-element map (5 => 7, \"hello\" => \"world\") a bytestring (0xFF00FF00) Most reasonable metadata formats, however, likely do not use map/key/compound keys and thus this is more of a fringe use or when all possible metadata must be examined from JSON (almost) without exception. Due to library implementation details it can still fail to decode if there is a very negative number between -2^64 + 1 and -2^63.","s":"JSON conversion","u":"/modules/metadata","h":"#json-conversion","p":44},{"i":54,"t":"Upsides: Automatic structural typing in deserialization Readable by other methods Possible reduced space due to array structs not serializing keys Downsides: Requires additional set-up For static or relatively static types this is probably the best choice, especially if you care about structural validation or need the binary types or more complex keys. As we saw in the other examples, most reasonable structures can be encoded using the standard metadata CDDL as it is almost a superset of JSON outside of true/false/null. Not only this, but if we represent a struct using an array in CDDL such as: foo = [ receiver_id: text, sender_id: text, comment: text, tags: [*int] ] there is space savings as the keys are not stored as it is represented as an ordered array of 4 elements instead of a direct map encoding of: foo = { receiver_id: text, sender_id: text, comment: text, tags\": [*int] } which would serialize the keys as strings inside the resulting CBOR. Using these CDDL definitions for the example JSON structure we had results in sizes of 89 bytes for the array definition and 124 bytes for the map one. Using the JSON encoding would also result in a metadata size of 124 bytes. Maps however do have the advantage of easy optional fields and a more readable metadata for external users who don't have access to the CDDL as the field names will be stored directly. After you have created your CDDL definition, if you need to check that your CDDL conforms to the metadata CDDL we have a tool located in the /tools/metadata-cddl-checker/ directory. Move to this directory and put your CDDL in a file called input.cddl there first, then run cargo build cargo run Once we have the CDDL file and it has passed metadata format validation we can use the cddl-codegen tool that we used to initially generate the serialization/deserialization/structural code for the core Shelley structures from the shelley cddl spec. Assuming we are in the cddl-codegen root directory and have created a input.cddl file in that directory containing the CDDL we wish to generate we can build and code-generate with cargo build cargo run which should generate a wasm-convertible rust library for parsing our CDDL definition in the /export/ directory. After this we need to generate a wasm package from the rust code by running the following (you can do --target=browser too) cd export wasm-pack build --target=nodejs wasm-pack pack which should give you the library as a package in the /pkg/ directory. Once we have imported the library we can then use it as such: const tags = OurMetadataLib.Ints.new(); // if we have smaller (32-bit signed) numbers we can construct easier tags.add(OurMetadataLib.Int.new_i32(0)); // but for bigger (>= 2^32) numbers we must use BigNum and specify the sign ourselves tags.add(OurMetadataLib.Int.new(CardanoWasm.Int.from_str(\"264\"))); // and for negative large (< -2^32) numbers (here we construct -1024) tags.add(OurMetadataLib.Int.new_negative(CardanoWasm.Int.from_str(\"1024\"))); tags.add(OurMetadataLib.Int.new_i32(32)); const map = OurMetadataLib.Foo.new(\"SJKdj34k3jjKFDKfjFUDfdjkfd\", \"jkfdsufjdk34h3Sdfjdhfduf873\", \"happy birthday\", tags) let metadata; try { metadata = CardanoWasm.TransactionMetadata.from_bytes(map.to_bytes()); } catch (e) { // this should never happen if OurMetadataLib was generated from compatible CDDL with the metadata definition } likewise you can parse the metadata back very simply with: let cddlMetadata; try { cddlMetadata = OurMetadataLib.Foo.from_bytes(metadata.to_bytes()); } catch (e) { // this should never happen if OurMetadataLib was generated from compatible CDDL with the metadata definition } // we can now directly access the fields with cddlMetadata.receiver_id(), etc If we take advantage of the additional primitives not defined in CDDL but defined for cddl-codegen, then we can specify precisions of u32, u64, i64, i32 for specifying 32 or 64 bits instead of just a general purpose uint/nint/int. If you know your metadata will always be within one of these ranges it can be much more convenient to work with, and if you have signed data this will also make it easier to work with instead of the Int class that CDDL int might generate, since that is either an up to 64-bit positive or an up to 64 negative numbers. This is particularly useful here as lists of CDDL primitives can be exposed directly as Vec to wasm from rust, but when we have int (converts to Int struct) or uint (converts to BigNum struct) a separate structure like that Ints one used above is used. Using the 32-bit versions allows direct js number conversions to/from wasm. If we simply change the tags field to tags: [+i32] our code becomes: // notice how we can directly work with js numbers here now! // but remember they must fit into a 32-bit number now - no 64-bit numbers like are allowed in the metadata const tags = [0, 264, -1024, 32]; const map = OurMetadataLib.Foo.new(\"SJKdj34k3jjKFDKfjFUDfdjkfd\", \"jkfdsufjdk34h3Sdfjdhfduf873\", \"happy birthday\", tags) and deserializaing likewise is much simpler as metadata.tags() will return a JS array or numbers rather than a rust-wasm struct that must be accessed via the wasm boundary.","s":"Using a CDDL Subset","u":"/modules/metadata","h":"#using-a-cddl-subset","p":44},{"i":56,"t":"Upsides: Can store arbitrary data Potential space-savings if the data is compressed Downsides: Not readable by other methods - must be decoded using this method Requires additional set-up While most data would likely conform to the metadata CDDL subset (or JSON), if your data does not fit there then this encoding style will be necessary. If you still want to take advantage of CDDL type-checking it is possible to create a library just as in the CDDL subset section but without running the checker tool. This could be useful if you are using CDDL outside of the metadata CDDL structure. Otherwise, you can store whatever bytes you want. Note: To conform with the 64-byte limitation on metadata binary values, this method will split the bytes into 64-byte chunks const bytes = /* whatever method you want - you can use the CDDL solution in the 3rd option here */ const metadata = CardanoWasm.encode_arbitrary_bytes_as_metadatum(bytes); const decoded_bytes = CardanoWasm.decode_arbitrary_bytes_from_metadatum(metadata); assertEquals(bytes, decoded_bytes);","s":"Raw Bytes Encoding","u":"/modules/metadata","h":"#raw-bytes-encoding","p":44},{"i":58,"t":"This crate is for core features and traits common to all CML crates. Most users likely won't need to directly use this module except for possibly pulling in traits used with other cml crates. If you are using CML from WASM/typescript this module will not be needed as any used types will be re-exported in the crates (e.g. cml-chain-wasm, cml-cip25-wasm, etc) that use it.","s":"Core","u":"/modules/core/","h":"","p":57},{"i":61,"t":"There are two main categories of keys in this library. There are the raw PublicKey and PrivateKey which are used for cryptographically signing/verifying, and BIP32PrivateKey/BIP32PublicKey which in addition to this have the ability to derive additional keys from them following the BIP32 derivation scheme variant called BIP32-Ed25519, which will be referred to as BIP32 for brevity. We use the BIP44 spec variant for Ed25519 as well for the derivation paths using 1852 or 44 as the purpose consant and 1815 for the coin type depending on address type. See this doc for more details. This is demonstrated with the below code function harden(num: number): number { return 0x80000000 + num; } const rootKey = CardanoWasm.BIP32PrivateKey.from_bech32(\"xprv17qx9vxm6060qjn5fgazfue9nwyf448w7upk60c3epln82vumg9r9kxzsud9uv5rfscxp382j2aku254zj3qfx9fx39t6hjwtmwq85uunsd8x0st3j66lzf5yn30hwq5n75zeuplepx8vxc502txx09ygjgx06n0p\"); const accountKey = rootKey .derive(harden(1852)) // purpose .derive(harden(1815)) // coin type .derive(harden(0)); // account #0 const utxoPubKey = accountKey .derive(0) // external .derive(0) .to_public(); const stakeKey = accountKey .derive(2) // chimeric .derive(0) .to_public();","s":"BIP32 Keys","u":"/modules/crypto/generating_keys","h":"#bip32-keys","p":59},{"i":63,"t":"To generate a BIP32PrivateKey from a BIP39 recovery phrase it must be first converted to entropy following the BIP39 protocol(). This library does not directly handle that, but once entropy is created it is possible to use Bip32PrivateKey.from_bip39_entropy(entropy, password). For more information see the CIP3 Cardano improvement proposal. The code below uses the bip39 npm package to generate a root BIP32PrivateKey from a BIP39 mnemonic. import { mnemonicToEntropy } from 'bip39'; const entropy = mnemonicToEntropy( [ \"test\", \"walk\", \"nut\", \"penalty\", \"hip\", \"pave\", \"soap\", \"entry\", \"language\", \"right\", \"filter\", \"choice\" ].join(' ') ); const rootKey = CardanoWasm.Bip32PrivateKey.from_bip39_entropy( Buffer.from(entropy, 'hex'), Buffer.from(''), );","s":"BIP39 Entropy","u":"/modules/crypto/generating_keys","h":"#bip39-entropy","p":59},{"i":65,"t":"Once we have reached the desired derivation path, we must convert the BIP32PrivateKey or BIP32PublicKey to a PrivateKey or PublicKey by calling .to_raw_key() on them with the exception of Byron addresses. For example, to create an address using the utxoPubKey and stakeKey in the first example, we can do: // base address with staking key const baseAddr = CardanoWasm.BaseAddress.new( CardanoWasm.NetworkInfo.mainnet().network_id(), CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()), CardanoWasm.StakeCredential.from_keyhash(stakeKey.to_raw_key().hash()), ); // enterprise address without staking ability, for use by exchanges/etc const enterpriseAddr = CardanoWasm.EnterpriseAddress.new( CardanoWasm.NetworkInfo.mainnet().network_id(), CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()) ); // pointer address - similar to Base address but can be shorter, see formal spec for explanation const ptrAddr = CardanoWasm.PointerAddress.new( CardanoWasm.NetworkInfo.mainnet().network_id(), CardanoWasm.StakeCredential.from_keyhash(utxoPubKey.to_raw_key().hash()), CardanoWasm.Pointer.new( 100, // slot 2, // tx index in slot 0 // cert indiex in tx ) ); // reward address - used for withdrawing accumulated staking rewards const rewardAddr = CardanoWasm.RewardAddress.new( CardanoWasm.NetworkInfo.mainnet().network_id(), CardanoWasm.StakeCredential.from_keyhash(stakeKey.to_raw_key().hash()) ); // bootstrap address - byron-era addresses with no staking rights const byronAddr = CardanoWasm.ByronAddress.icarus_from_key( utxoPubKey, // Ae2* style icarus address CardanoWasm.NetworkInfo.mainnet().protocol_magic() ); Note that the byron-era address can only be created in this library from icarus-style addresses that start in Ae2 and that Daedalus-style addresses starting in Dd are not directly supported. These are all address variant types with information specific to its address type. There is also an Address type which represents any of those variants, which is the type use in most parts of the library. For example to create a TransactionOutput manually we would have to first convert from one of the address variants by doing: const address = baseAddress.to_address(); const output = CardanoWasm.TransactionOutput(address, BigNum.from_str(\"365\")); If the address is already a Shelley address in raw bytes or a bech32 string we can create it directly via: const addr = CardanoWasm.Address.from_bech32(\"addr1vyt3w9chzut3w9chzut3w9chzut3w9chzut3w9chzut3w9cj43ltf\");","s":"Use in Addresses","u":"/modules/crypto/generating_keys","h":"#use-in-addresses","p":59},{"i":67,"t":"Conversion between cardano-cli 128-byte XPrv keys and BIP32PrivateKey is also supported: const bip32PrivateKey = CardanoWasm.BIP32PrivateKey.from_128_xprv(xprvBytes); assert(xprvBytes == CardanoWasm.BIP32PrivateKey.to_128_xprv()); 96-byte XPrv keys are identical to BIP32PrivateKeys byte-wise and no conversion is needed. For more details see this document regarding legacy keys. There is also LegacyDaedalusPrivateKey which is used for creating witnesses for legacy Daedalus Dd-type addresses.","s":"Other Key Types","u":"/modules/crypto/generating_keys","h":"#other-key-types","p":59}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,0.86,1,3.542,2,2.9,3,3.542,4,2.938,5,3.542,6,3.243,7,2.54,8,2.938,9,2.609,10,2.006,11,2.54,12,2.243,13,0.651,14,2.54,15,2.006,16,1.359,17,1.359,18,2.006,19,3.542,20,3.542,21,2.54,22,1.808,23,2.54,24,2.938,25,0.521,26,2.243,27,1.639,28,2.938,29,2.938,30,2.243,31,2.243,32,3.542,33,3.542,34,1.808,35,3.542,36,2.54,37,3.304,38,3.542,39,4.499,40,3.542,41,3.542,42,3.542,43,3.542,44,1.639,45,3.542,46,2.54,47,2.54,48,2.006,49,2.132,50,4.607,51,3.822,52,2.54,53,3.542,54,3.542,55,2.938,56,3.542]],["t/4",[0,1.243,15,2.373,25,0.402,47,3.005,49,1.939,57,3.005,58,3.476,59,4.19,60,4.19,61,1.341,62,4.19,63,3.005,64,3.476,65,4.19,66,3.476,67,2.157,68,4.19,69,4.25,70,2.653,71,4.19,72,4.19,73,4.19,74,1.764,75,3.005,76,4.19,77,4.19,78,2.653,79,4.19,80,2.653,81,2.139,82,2.373,83,2.139,84,1.939]],["t/6",[0,0.997,2,2.326,4,2.474,9,1.689,12,2.601,13,0.379,17,1.576,25,0.51,28,3.406,29,3.406,48,2.326,49,1.38,55,2.474,61,1.62,63,2.139,67,1.977,78,1.889,85,2.983,86,1.523,87,2.945,88,2.398,89,2.983,90,2.983,91,2.983,92,2.983,93,2.983,94,1.689,95,2.983,96,2.974,97,2.474,98,2.983,99,2.983,100,1.689,101,1.38,102,2.474,103,2.983,104,1.523,105,0.795,106,2.601,107,2.139,108,1.889,109,2.583,110,1.729,111,2.983,112,2.474,113,2.139,114,0.795,115,1.889,116,2.983,117,2.983,118,2.474,119,2.983,120,2.139,121,2.474,122,2.983,123,2.139,124,2.139,125,3.406,126,2.474,127,1.729,128,2.983,129,2.983,130,1.689,131,2.139,132,1.729,133,2.474,134,2.474,135,2.474,136,2.983,137,1.889,138,2.474,139,0.724,140,3.406,141,2.474,142,2.139,143,2.139,144,2.983,145,2.983,146,2.474,147,2.983,148,2.983,149,2.983,150,4.107,151,2.139,152,2.983,153,2.983,154,2.983,155,2.474,156,2.983]],["t/8",[2,2.778,9,2.778,10,2.213,13,0.497,23,2.802,25,0.471,48,2.213,51,3.241,66,3.241,83,1.995,84,1.808,86,2.505,123,3.519,130,2.213,157,2.059,158,3.908,159,4.07,160,3.107,161,3.908,162,3.908,163,3.908,164,3.908,165,2.802,166,3.908,167,2.475,168,1.808,169,2.802,170,2.475,171,2.475,172,3.241,173,3.241,174,3.908,175,3.908,176,3.241,177,3.908,178,3.908,179,3.908,180,3.241,181,2.802,182,3.908,183,3.908,184,3.241]],["t/10",[0,1.074,2,2.506,8,3.67,25,0.425,30,2.802,31,2.802,88,2.259,155,3.67,159,3.67,168,2.048,180,3.67,185,1.167,186,2.802,187,4.425,188,2.506,189,4.425,190,3.67,191,4.425,192,1.698,193,3.173,194,4.425,195,3.67,196,4.425,197,4.425]],["t/12",[0,1.149,6,2.997,10,2.68,15,2.68,16,1.417,18,2.091,25,0.454,26,2.338,27,1.708,48,2.68,49,2.19,74,1.554,82,3.12,105,0.984,139,0.896,173,3.062,185,1.256,198,3.062,199,4.733,200,3.746,201,3.062,202,4.733,203,2.648,204,3.062,205,4.733,206,3.062,207,1.417,208,3.692,209,2.68,210,2.338,211,4.733,212,3.692,213,3.062,214,3.692,215,3.692,216,2.648,217,3.692,218,3.692,219,3.062,220,3.692,221,1.885,222,3.692,223,3.062]],["t/18",[13,0.712,30,3.547,224,4.871,225,3.493,226,4.871]],["t/20",[13,0.665,18,2.207,22,2.596,25,0.311,34,1.095,57,1.538,61,1.036,67,1.827,74,1.362,75,1.538,81,1.652,83,1.652,88,1.652,97,1.778,100,1.214,104,1.652,105,0.862,110,1.362,120,1.538,124,1.538,139,0.785,142,3.113,143,1.538,157,0.823,160,2.468,167,1.358,171,1.358,181,1.538,185,0.713,192,0.823,195,1.778,213,3.6,223,2.684,227,1.538,228,2.144,229,2.144,230,2.795,231,3.236,232,0.903,233,3.754,234,3.977,235,2.684,236,2.458,237,1.778,238,1.778,239,2.144,240,2.144,241,1.778,242,3.22,243,2.144,244,1.538,245,1.778,246,3.236,247,0.992,248,2.32,249,1.538,250,1.778,251,2.144,252,2.144,253,1.358,254,1.538,255,3.6,256,1.803,257,1.778,258,1.778,259,2.009,260,3.236,261,2.144,262,3.236,263,2.144,264,2.468,265,4.898,266,3.232,267,3.864,268,2.144,269,2.144,270,2.144,271,1.358,272,1.778,273,1.778,274,2.144,275,3.897,276,3.6,277,4.34,278,4.34,279,1.778,280,1.778,281,2.144,282,2.144,283,1.538,284,2.144,285,1.538,286,2.144,287,2.144,288,3.232,289,0.751,290,2.684,291,2.144,292,2.207,293,3.236,294,2.144,295,1.538,296,2.144,297,3.236,298,2.144,299,2.144,300,2.684,301,2.144,302,2.144,303,1.538,304,1.538,305,2.144,306,1.214,307,2.144,308,1.214,309,2.144,310,2.144,311,2.144,312,3.897,313,1.095]],["t/22",[13,0.798,18,1.179,22,2.348,25,0.2,34,1.063,47,1.493,61,0.667,74,0.877,82,2.168,87,1.493,105,0.555,120,2.27,139,0.505,140,1.727,157,1.215,160,2.424,185,0.459,207,1.215,216,2.27,233,3.473,234,2.745,235,3.175,236,2.743,237,1.727,242,1.319,244,1.493,245,1.727,254,3.298,255,3.815,256,0.964,257,1.727,258,1.727,259,0.964,276,2.625,279,1.727,280,1.727,288,1.727,289,2.034,290,1.727,314,1.179,315,3.175,316,1.319,317,1.493,318,3.175,319,2.082,320,2.082,321,1.727,322,1.727,323,1.493,324,3.828,325,1.319,326,2.082,327,4.017,328,2.082,329,2.082,330,2.082,331,2.082,332,2.082,333,2.082,334,2.082,335,2.082,336,2.082,337,2.082,338,2.082,339,2.082,340,2.082,341,2.082,342,3.165,343,2.082,344,2.27,345,1.727,346,2.625,347,3.165,348,2.082,349,2.082,350,2.082,351,3.165,352,3.165,353,2.082,354,2.004,355,1.465,356,2.27,357,3.165,358,3.828,359,2.082,360,2.082,361,2.082,362,3.165,363,2.082,364,2.082,365,2.082,366,2.082,367,2.082,368,2.082,369,2.082,370,1.727,371,1.319,372,2.082,373,1.727,374,2.082,375,2.082,376,2.082,377,2.082,378,1.319,379,3.165,380,2.082,381,3.165,382,2.082,383,2.082,384,2.625,385,2.082,386,2.082,387,2.082,388,2.082,389,3.165,390,2.082,391,2.625,392,2.082,393,2.082,394,2.082,395,2.082,396,1.727,397,2.082,398,1.727]],["t/24",[0,1.065,17,1.684,22,2.802,25,0.421,44,1.521,61,1.58,74,1.847,83,1.678,96,2.082,106,2.082,108,2.082,109,1.678,114,1.404,115,2.082,126,2.727,127,2.496,132,1.384,139,1.065,167,2.778,172,2.727,186,3.126,234,2.357,271,3.575,308,1.861,313,1.678,344,2.357,396,2.727,399,1.384,400,2.727,401,4.386,402,3.287,403,3.287,404,2.082,405,1.678,406,2.082,407,1.861,408,1.861,409,3.287,410,4.386,411,4.095,412,2.796,413,3.126,414,3.287,415,2.727,416,1.861,417,3.146,418,2.082,419,2.082,420,3.287,421,3.287,422,3.287,423,3.287,424,2.727,425,2.357]],["t/26",[6,2.86,12,2.86,14,3.239,18,2.558,25,0.434,26,2.86,49,2.09,61,1.446,82,2.558,83,2.306,109,2.306,127,1.901,139,1.096,185,1.182,200,3.844,201,3.746,313,2.306,426,3.746,427,4.517]],["t/29",[13,0.77,16,1.971,17,1.186,22,2.147,24,2.562,37,2.215,61,1.531,69,2.562,78,1.956,105,1.432,109,2.622,113,2.215,114,1.275,127,1.771,130,1.749,171,1.956,192,1.186,209,1.749,210,1.956,221,2.147,230,2.215,232,1.3,295,2.215,314,1.749,323,2.215,399,1.3,407,2.708,428,1.956,429,3.489,430,3.089,431,4.783,432,3.089,433,3.089,434,3.089,435,3.016,436,3.089,437,3.089,438,1.956,439,3.089,440,3.089,441,3.089,442,2.562,443,2.562,444,3.089,445,3.089,446,3.089,447,4.206,448,1.956,449,2.562,450,2.562,451,3.489,452,3.089,453,3.089,454,3.089,455,3.089,456,3.089,457,1.771,458,2.442,459,1.577,460,4.206,461,4.206,462,3.089,463,1.749,464,3.089,465,2.215,466,3.089,467,3.089,468,3.089]],["t/31",[27,1.701,36,3.385,67,1.548,105,1.258,110,1.987,139,1.145,185,1.212,192,1.411,230,2.636,232,2.195,238,4.563,249,2.636,259,1.701,313,2.808,428,2.989,449,3.049,450,3.049,457,1.987,459,2.41,463,2.082,469,2.636,470,3.676,471,3.676,472,3.385,473,3.483,474,4.72,475,4.72,476,3.915,477,3.676,478,3.049,479,2.328,480,1.877,481,5.213,482,4.72,483,3.676,484,2.082,485,2.636]],["t/34",[13,0.802,16,1.157,105,1.102,110,1.741,139,0.731,157,1.157,192,1.157,209,1.707,210,2.619,232,1.269,247,1.395,256,1.395,448,1.908,457,2.14,459,1.539,463,1.707,465,2.966,469,2.161,472,2.161,479,1.908,486,3.014,487,3.014,488,3.014,489,4.722,490,3.014,491,3.014,492,3.014,493,3.014,494,3.014,495,3.014,496,3.014,497,3.014,498,3.014,499,3.014,500,4.136,501,3.014,502,3.014,503,3.014,504,3.014,505,3.014,506,3.014,507,3.014,508,3.014,509,4.136,510,3.014,511,3.014,512,3.014,513,3.014,514,4.136,515,3.014,516,3.014,517,3.014,518,3.014,519,3.014,520,3.014,521,3.014,522,2.5,523,2.5,524,2.5,525,3.431,526,2.5,527,2.5,528,2.5,529,2.5,530,2.5,531,3.387,532,2.5,533,2.5,534,3.431,535,2.5,536,2.5,537,2.5,538,2.5,539,2.5,540,2.5]],["t/36",[13,0.801,16,1.827,114,0.992,192,1.429,210,2.358,256,1.723,457,2.327,459,1.901,463,2.109,465,3.413,469,2.67,472,2.67,476,3.947,479,2.358,522,3.089,523,3.089,524,3.089,525,3.947,526,3.089,527,3.089,528,3.089,529,3.089,530,3.089,531,3.761,532,3.089,533,3.089,534,3.947,535,3.089,536,3.089,537,3.089,538,3.089,539,3.089,540,3.089,541,3.724,542,3.724,543,3.724]],["t/38",[13,0.796,114,1.042,185,0.861,192,1.5,232,1.645,256,2.27,457,2.065,459,2.505,463,2.213,473,2.475,479,3.107,485,3.846,531,2.802,544,3.908,545,3.908,546,3.908,547,3.908,548,3.908,549,4.906,550,3.241,551,3.908,552,3.908,553,3.908,554,3.908,555,3.908,556,3.908,557,3.908,558,3.908,559,3.908,560,3.908,561,3.908,562,3.908]],["t/40",[13,0.806,16,1.145,25,0.394,27,1.9,44,1.38,58,2.474,61,0.955,105,0.795,108,1.889,110,2.13,130,1.689,209,1.689,221,2.398,232,1.256,256,2.173,292,1.689,406,1.889,457,2.309,459,2.398,485,2.139,563,2.983,564,2.983,565,2.945,566,2.983,567,2.983,568,2.983,569,2.983,570,1.889,571,4.107,572,2.983,573,2.983,574,2.983,575,2.139,576,2.983,577,2.474,578,2.474,579,2.983,580,2.983,581,2.983,582,2.983,583,2.983,584,2.983,585,2.983,586,4.697,587,2.983,588,4.107,589,4.697,590,2.983,591,2.983,592,2.983,593,2.983,594,2.983,595,2.983,596,4.107,597,4.107,598,2.983,599,2.983,600,4.107,601,2.983,602,2.983,603,2.983,604,2.983,605,2.983,606,2.983]],["t/42",[25,0.404,207,1.972,322,3.492,384,4.262,391,4.262,607,4.21,608,2.666,609,3.492,610,4.21,611,4.21,612,4.21,613,4.21,614,4.21,615,4.21,616,4.21,617,4.21,618,4.21,619,3.492,620,4.21,621,4.21,622,3.02,623,3.685,624,3.492,625,4.21,626,4.21,627,4.21,628,4.21,629,4.21,630,4.21,631,5.138]],["t/46",[0,0.585,13,0.771,16,0.926,17,1.765,22,2.133,23,1.73,25,0.553,26,2.236,27,1.634,44,1.116,52,1.73,67,1.015,74,1.015,81,1.803,94,1.366,101,2.366,104,1.231,105,1.305,109,1.231,112,2,113,1.73,114,1.226,115,1.527,121,2,127,1.759,130,1.366,137,1.527,143,1.73,157,0.926,171,1.527,219,2,248,1.73,259,1.116,264,3.1,271,2.236,273,2,285,1.73,313,1.231,316,2.236,317,1.73,355,1.116,399,1.015,404,1.527,405,2.611,408,2,412,1.366,413,1.527,428,1.527,448,2.912,478,2.929,480,1.231,565,1.73,570,1.527,575,1.73,632,2.412,633,1.73,634,2.412,635,1.73,636,2.412,637,3.465,638,2.929,639,2.412,640,4.894,641,1.527,642,3.531,643,1.73,644,3.531,645,2,646,2.412,647,2.412,648,2,649,1.73,650,1.73,651,2,652,1.73,653,1.73,654,1.527,655,1.73,656,1.527,657,1.73,658,1.73,659,1.73,660,2.532,661,2.412,662,2.412,663,2.412,664,2.236,665,2,666,2,667,2,668,2.412,669,2.996,670,2,671,2,672,3.531,673,2.929,674,2.412,675,2.412,676,2.412,677,2,678,2.412,679,2.412,680,2.412,681,2.412,682,2,683,1.73]],["t/48",[101,2.101,114,1.433,127,2.263,186,2.875,354,2.875,411,3.766,458,2.318,684,3.766,685,5.377,686,4.54,687,4.54,688,3.856,689,4.54,690,4.54,691,3.766,692,4.54]],["t/50",[0,0.46,7,2.59,11,2.112,13,0.796,17,1.563,21,1.36,25,0.391,27,0.877,36,1.36,46,1.36,67,0.798,80,2.578,84,0.877,86,0.968,88,0.968,101,0.877,104,1.504,105,0.785,114,0.962,132,0.798,151,1.36,157,0.728,165,1.36,185,1.028,207,1.13,221,1.504,227,1.36,232,1.24,247,0.877,253,1.201,283,1.36,289,2,292,2.642,300,1.573,303,1.36,304,1.36,308,1.074,355,1.671,356,2.112,371,1.865,398,1.573,399,1.52,405,1.843,407,1.668,408,2.757,412,1.668,413,1.865,416,2.045,418,1.201,419,1.201,457,0.798,458,1.504,480,1.843,484,1.074,637,3.656,638,1.573,641,1.201,643,1.36,648,2.443,649,2.112,654,1.201,656,1.201,667,1.573,673,1.573,693,1.201,694,1.201,695,1.201,696,1.896,697,1.896,698,1.573,699,1.573,700,1.896,701,1.896,702,1.36,703,1.896,704,2.59,705,1.896,706,1.896,707,1.896,708,1.896,709,1.896,710,1.896,711,1.573,712,1.36,713,1.896,714,4.071,715,1.896,716,1.896,717,1.896,718,1.896,719,1.896,720,1.896,721,1.896,722,1.896,723,1.896,724,1.896,725,1.896,726,1.896,727,1.896,728,1.896,729,1.36,730,1.573,731,1.896,732,1.896,733,1.896,734,1.896,735,1.896,736,1.896,737,1.896,738,1.573,739,1.573,740,1.36,741,1.896,742,1.896,743,2.287,744,1.896,745,1.573,746,1.896,747,1.896,748,4.408,749,1.896,750,2.945,751,1.896,752,1.896,753,2.945,754,1.896,755,1.896,756,1.896,757,1.896,758,1.896,759,2.945,760,1.896,761,1.896,762,1.896,763,1.896,764,1.896,765,1.896,766,1.896,767,1.896,768,1.896,769,1.573,770,1.896,771,1.896,772,1.896,773,1.896,774,1.896,775,1.074,776,1.573,777,1.896,778,1.896,779,1.896,780,1.896,781,1.896,782,1.896,783,1.896]],["t/52",[0,0.613,13,0.788,17,0.6,25,0.451,39,1.296,44,0.723,46,3.238,49,0.723,52,1.12,61,0.808,67,1.063,70,1.6,84,1.471,94,0.885,101,0.723,104,0.798,105,1.359,107,1.12,110,1.063,114,1.143,115,0.989,124,1.811,131,1.12,132,1.688,137,2.013,139,0.379,141,1.296,151,1.12,157,0.6,167,0.989,168,1.69,169,2.619,170,0.989,185,0.344,190,1.296,192,0.6,207,1.863,221,1.29,247,0.723,253,0.989,254,1.12,259,1.471,272,1.296,289,1.114,306,2.068,314,0.885,316,2.313,317,1.811,325,2.313,354,1.6,355,0.723,371,2.716,378,0.989,405,2.305,406,0.989,407,0.885,408,2.749,412,1.43,413,2.313,416,0.885,417,2.619,418,0.989,419,1.6,425,1.811,426,1.296,438,0.989,448,2.313,458,2.545,473,0.989,480,1.29,484,0.885,565,1.12,577,1.296,578,1.296,633,1.12,641,2.716,649,2.619,650,1.12,651,1.296,652,1.12,653,1.12,654,0.989,655,1.12,656,0.989,657,1.12,658,1.12,659,1.12,660,1.811,664,0.989,683,2.28,691,3.029,693,0.989,694,0.989,695,0.989,698,1.296,699,1.296,702,1.12,711,1.296,712,1.12,740,1.12,769,2.637,775,1.43,784,1.562,785,1.562,786,2.095,787,2.526,788,2.526,789,1.562,790,1.562,791,1.296,792,3.18,793,1.562,794,2.526,795,1.562,796,1.562,797,1.562,798,2.526,799,1.562,800,1.562,801,2.526,802,1.562,803,1.562,804,4.01,805,1.562,806,1.562,807,3.652,808,2.526,809,1.562,810,1.562,811,2.526,812,1.562,813,1.562,814,1.562,815,1.562,816,1.562,817,1.562,818,2.526,819,1.296,820,2.526,821,2.526,822,2.526,823,1.562,824,1.562,825,2.526,826,2.526,827,1.562,828,1.562,829,1.562,830,1.562,831,2.526,832,1.562,833,1.562,834,1.562,835,1.562,836,1.562,837,1.562,838,1.562,839,1.562,840,1.562,841,1.562,842,1.562,843,1.562,844,1.562,845,1.562,846,2.526,847,2.526,848,2.526,849,2.526,850,2.526,851,1.562,852,1.562,853,1.562,854,1.562,855,1.562,856,1.562,857,1.296]],["t/54",[0,0.683,2,1.859,7,2.017,9,2.482,10,0.742,12,1.384,13,0.739,14,0.94,15,0.742,16,0.503,17,1.513,21,1.568,25,0.474,31,1.384,34,1.116,37,0.94,49,1.302,57,0.94,70,1.781,74,0.92,78,0.83,80,0.83,81,0.669,84,1.302,86,1.676,87,0.94,88,2.324,94,1.593,96,1.384,100,0.742,101,2.559,102,2.333,104,1.116,105,1.315,106,0.83,108,1.384,109,0.669,114,0.75,118,1.087,127,1.184,131,1.568,132,1.184,133,1.813,134,1.087,135,1.087,137,0.83,138,1.087,139,0.531,146,1.087,157,0.839,160,0.83,165,1.568,168,0.606,176,1.813,184,3.27,185,0.62,186,2.497,192,1.08,193,0.94,203,0.94,206,1.813,207,1.26,221,1.116,225,2.355,227,0.94,232,1.536,242,0.83,247,0.606,249,2.017,250,1.087,253,1.384,259,0.606,264,0.83,271,1.384,289,1.151,292,0.742,304,2.017,306,1.238,308,1.593,313,0.669,315,2.723,323,2.017,355,0.606,373,1.087,399,1.382,404,0.83,405,1.436,406,0.83,407,2.067,408,2.067,412,2.482,416,2.578,417,0.94,419,0.83,424,1.087,425,0.94,428,1.384,429,1.087,435,1.568,438,1.384,442,1.087,443,1.813,451,1.087,457,0.552,458,0.669,473,2.079,480,1.116,484,0.742,570,0.83,575,0.94,635,0.94,641,2.649,643,2.828,645,1.087,650,1.568,652,1.568,653,1.568,654,1.384,655,1.568,656,1.384,657,0.94,658,1.568,659,2.617,660,0.94,664,0.83,665,1.087,670,1.087,682,1.813,683,0.94,688,2.355,693,0.83,694,1.384,695,0.83,712,0.94,730,1.087,738,1.813,739,1.813,743,0.83,745,1.087,775,1.593,776,1.813,786,1.813,858,1.31,859,2.186,860,1.31,861,1.31,862,1.087,863,1.31,864,1.31,865,1.31,866,1.087,867,1.31,868,2.186,869,1.087,870,2.813,871,1.31,872,2.186,873,1.813,874,1.087,875,1.31,876,2.813,877,1.31,878,1.31,879,1.087,880,1.31,881,1.31,882,2.186,883,3.283,884,1.31,885,1.31,886,1.813,887,1.31,888,1.31,889,2.813,890,1.31,891,1.31,892,1.31,893,3.943,894,1.31,895,1.31,896,2.186,897,1.31,898,1.31,899,1.31,900,1.31,901,1.31,902,2.186,903,1.31,904,2.186,905,2.186,906,2.186,907,2.186,908,2.186,909,1.31,910,2.813,911,1.31,912,1.31,913,1.31,914,1.31,915,1.31,916,2.186,917,1.087,918,1.31,919,1.31,920,1.31,921,1.31,922,1.31,923,1.31,924,1.31,925,1.31,926,1.31,927,1.31,928,1.31,929,1.087,930,1.31,931,1.31,932,1.31,933,1.087,934,1.31]],["t/56",[0,0.786,13,0.694,16,2.01,17,1.243,25,0.503,44,1.498,70,2.051,80,2.051,94,1.834,96,2.051,101,2.601,105,1.396,114,1.455,127,1.363,139,0.786,168,1.498,185,0.714,204,4.064,225,2.322,242,2.051,248,2.322,259,1.498,264,2.051,285,2.322,289,1.717,306,1.834,371,2.051,378,2.051,400,2.686,404,2.051,405,1.653,435,3.114,438,2.051,484,2.965,570,2.75,633,2.322,635,2.322,666,3.602,684,2.686,688,3.114,693,2.051,694,2.051,695,2.051,740,2.322,791,2.686,857,2.686,866,2.686,869,2.686,873,2.686,879,2.686,929,2.686,935,3.238,936,2.686,937,3.238,938,4.343,939,3.238,940,3.238,941,3.238,942,3.238,943,4.343,944,3.238,945,3.238]],["t/58",[6,3.633,9,2.876,10,2.339,15,2.339,25,0.566,48,3.335,63,2.962,84,2.35,107,2.962,123,2.962,168,1.911,170,2.616,185,0.91,198,3.426,200,2.962,203,2.962,209,2.339,399,1.739,550,4.212,702,3.642,886,3.426,946,4.13,947,4.13,948,4.13]],["t/61",[0,0.774,13,0.769,25,0.467,27,1.476,81,1.629,83,1.629,86,1.629,100,1.807,110,1.343,132,1.343,181,2.288,185,1.072,188,1.807,207,1.65,236,1.807,247,1.476,289,1.824,292,1.807,306,2.435,314,1.807,355,1.476,415,2.647,416,2.435,622,2.288,623,2.288,624,3.566,669,2.288,704,3.084,819,2.647,874,2.647,917,3.566,949,3.191,950,3.191,951,3.191,952,3.191,953,3.191,954,3.191,955,2.647,956,4.034,957,4.863,958,3.191,959,3.191,960,3.191,961,2.647,962,3.191,963,3.191,964,3.191,965,3.191,966,4.3,967,3.191,968,3.191,969,3.191,970,3.191,971,3.566,972,3.191,973,4.863,974,3.191,975,3.191,976,3.191,977,3.191,978,2.647,979,4.863,980,4.3,981,2.647,982,3.191,983,3.191]],["t/63",[0,0.867,11,2.561,13,0.758,25,0.445,30,2.261,31,2.261,34,1.823,61,1.143,86,1.823,88,2.365,106,2.261,132,1.503,139,0.867,168,1.652,188,2.022,193,2.561,244,2.561,247,1.652,289,1.623,314,2.022,354,2.261,399,1.503,608,2.933,677,2.962,729,2.561,743,2.261,775,2.022,862,2.962,971,2.962,984,5.637,985,3.571,986,3.571,987,5.141,988,3.571,989,3.571,990,3.571,991,3.571,992,3.571,993,3.571,994,4.632,995,3.571,996,3.571,997,3.571,998,3.571,999,3.571,1000,3.571,1001,3.571,1002,3.571,1003,2.962,1004,3.571,1005,3.571,1006,3.571,1007,3.571,1008,3.571]],["t/65",[0,0.861,13,0.779,25,0.443,34,1.238,44,1.122,67,1.021,74,1.021,75,1.739,81,1.238,82,2.008,100,1.373,114,0.646,139,1.119,142,3.307,157,1.609,170,1.536,185,1.016,188,1.373,207,0.931,216,3.006,236,3.437,241,2.012,256,1.122,266,2.941,267,2.012,283,1.739,289,1.901,295,1.739,303,1.739,308,1.373,316,1.536,318,2.012,325,1.536,327,2.941,344,2.543,345,2.012,346,2.012,355,1.122,356,1.739,370,2.941,378,1.536,399,1.493,418,2.245,458,1.238,480,1.238,608,1.536,609,2.012,622,1.739,623,1.739,669,1.739,671,2.012,704,3.006,729,1.739,743,2.245,775,2.008,933,2.012,936,3.476,955,2.012,956,2.012,961,2.012,978,2.941,981,2.012,1003,2.012,1009,2.425,1010,2.425,1011,2.425,1012,2.425,1013,2.425,1014,4.611,1015,4.191,1016,3.546,1017,2.425,1018,2.425,1019,2.425,1020,2.425,1021,2.425,1022,2.425,1023,2.425,1024,2.425,1025,2.425,1026,2.425,1027,2.425,1028,2.425,1029,2.425,1030,2.425,1031,2.425,1032,3.546,1033,3.546,1034,2.425,1035,2.012,1036,2.012,1037,2.425,1038,2.425,1039,2.425,1040,2.425,1041,2.425,1042,2.425,1043,2.425,1044,2.425,1045,2.425]],["t/67",[13,0.638,25,0.389,61,1.297,64,3.362,84,1.876,110,1.706,114,1.453,125,3.362,132,1.706,139,0.984,169,2.907,185,0.893,188,2.295,207,2.093,233,2.907,236,2.295,289,1.42,321,3.362,325,2.567,608,3.453,619,3.362,664,3.179,1035,3.362,1036,3.362,1046,4.053,1047,5.02,1048,4.053,1049,4.053,1050,4.053,1051,4.053,1052,4.053,1053,4.053,1054,5.02]]],"invertedIndex":[["",{"_index":13,"t":{"2":{"position":[[146,1],[313,1],[598,1]]},"6":{"position":[[191,1]]},"8":{"position":[[328,1]]},"18":{"position":[[6,2],[15,2]]},"20":{"position":[[919,1],[943,1],[1050,1],[1064,1],[1073,2],[1084,1],[1094,1],[1281,1]]},"22":{"position":[[350,2],[461,1],[563,2],[585,1],[893,1],[945,2],[1056,1],[1432,2],[1435,2],[1449,2],[1458,2],[1523,2],[1526,2],[1608,1],[1918,2],[1921,2],[1935,2],[1944,2],[2009,2],[2012,2],[2055,1],[2202,2],[2248,1],[2355,2],[2520,2],[2523,2],[2526,2],[2633,2],[2755,2],[2851,1],[2885,1],[2941,1],[2984,2],[3029,1],[3082,1],[3199,2],[3259,1],[3496,1],[3559,1],[3642,2],[3733,2],[3802,1],[3863,2],[3887,2]]},"29":{"position":[[739,1],[748,1],[765,1],[783,1],[817,1],[886,1],[905,2],[964,1],[993,3],[1016,1],[1018,2],[1045,1],[1047,1]]},"34":{"position":[[125,1],[255,2],[278,1],[355,1],[417,1],[562,2],[697,2],[700,3],[715,1],[747,1],[923,1],[1008,3],[1060,1],[1103,1],[1111,1],[1146,1],[1198,1],[1425,1],[1521,2],[1537,1],[1633,1],[1635,2],[1638,1],[1640,1],[1642,1],[1644,2],[1647,1]]},"36":{"position":[[10,1],[651,1],[762,1],[806,1],[814,1],[849,1],[901,1],[1128,1],[1224,2],[1240,1],[1336,1],[1338,2],[1341,1],[1343,1],[1345,1],[1347,2],[1350,1]]},"38":{"position":[[57,2],[60,1],[62,2],[125,2],[194,2],[223,2],[291,2],[311,2],[314,1],[326,1],[731,1],[847,1],[1014,1]]},"40":{"position":[[413,2],[449,1],[647,1],[696,1],[713,2],[716,1],[718,2],[742,2],[806,2],[880,2],[911,2],[932,2],[1003,2],[1006,1],[1020,1],[1628,1],[1716,2],[1719,1],[1721,2],[1735,2],[1802,2],[1805,1],[1819,1],[2079,1],[2147,2],[2150,1],[2152,2],[2219,2],[2222,1],[2236,1],[2485,1]]},"46":{"position":[[330,1],[332,1],[334,1],[358,2],[383,1],[385,1],[387,1],[389,1],[413,1],[415,1],[421,1],[443,1],[492,1],[520,1],[522,1],[524,1],[554,2],[579,1],[706,1],[854,1]]},"50":{"position":[[947,1],[1123,2],[1268,2],[1398,2],[1412,1],[2001,2],[2020,1],[2123,1],[2135,1],[2172,1],[2254,1],[2335,1],[2411,1],[2473,1],[2485,1],[2487,2],[2514,1],[2629,1],[2631,2],[2713,1],[2783,1],[2806,1],[2838,1],[2864,1],[2871,1],[2887,2],[2893,1],[2905,1],[2932,1],[2986,1],[3070,1],[3072,3],[3086,1],[3119,1],[3126,1],[3141,2],[3147,1],[3160,1],[3208,1],[3280,1],[3301,2],[3357,2],[3416,1],[3438,2],[3683,1],[3685,1],[3776,1]]},"52":{"position":[[132,1],[342,1],[344,1],[484,2],[502,1],[634,1],[1089,1],[1848,1],[1893,1],[1901,1],[1910,2],[1913,1],[1915,1],[1917,1],[1919,1],[1921,1],[1991,2],[2033,2],[2059,2],[2083,2],[2091,1],[2109,2],[2137,2],[2354,1],[2407,2],[2410,1],[2441,2],[2444,1],[2481,1],[2526,1],[2557,1],[2559,3],[2572,2],[2575,2],[2578,1],[2580,2],[2583,1],[2585,2],[3075,1],[3099,1],[3101,1],[3136,2],[3139,1],[3192,1],[3194,3],[3220,3],[3238,1],[3240,2],[3376,2],[3390,2],[3749,1]]},"54":{"position":[[606,1],[608,1],[674,1],[822,1],[824,1],[891,1],[2559,1],[2588,2],[2699,2],[2717,3],[2852,2],[2878,2],[3051,1],[3179,1],[3190,1],[3252,1],[3264,1],[3266,2],[3376,1],[3459,1],[3474,1],[3528,1],[3540,1],[3542,2],[3652,1],[3654,2],[4682,2],[4743,2],[4862,1],[4895,1]]},"56":{"position":[[776,1],[778,2],[861,2],[879,1],[957,1]]},"61":{"position":[[662,1],[682,1],[689,1],[705,1],[934,1],[966,2],[999,2],[1032,2],[1063,1],[1087,2],[1139,1],[1163,2]]},"63":{"position":[[449,1],[469,1],[499,1],[520,1],[637,2],[640,2],[657,1],[753,2]]},"65":{"position":[[306,2],[354,1],[579,2],[582,2],[675,1],[833,2],[836,2],[947,1],[1133,2],[1144,2],[1166,2],[1187,1],[1189,2],[1192,2],[1278,1],[1430,2],[1433,2],[1515,1],[1571,2],[1651,2],[2189,1],[2230,1],[2414,1]]},"67":{"position":[[111,1],[184,2]]}}}],["0",{"_index":355,"t":{"22":{"position":[[1446,2],[1932,2]]},"46":{"position":[[834,3]]},"50":{"position":[[604,2],[2866,2],[3121,2]]},"52":{"position":[[464,3]]},"54":{"position":[[4864,3]]},"61":{"position":[[1043,2]]},"65":{"position":[[1164,1]]}}}],["0..64",{"_index":642,"t":{"46":{"position":[[435,7],[456,7]]}}}],["00",{"_index":602,"t":{"40":{"position":[[2135,4]]}}}],["0x",{"_index":825,"t":{"52":{"position":[[2178,4],[2980,5]]}}}],["0x0d",{"_index":514,"t":{"34":{"position":[[823,7],[891,7]]}}}],["0x80000000",{"_index":969,"t":{"61":{"position":[[671,10]]}}}],["0x8badf00d",{"_index":820,"t":{"52":{"position":[[1850,13],[1978,12]]}}}],["0xad",{"_index":516,"t":{"34":{"position":[[879,5]]}}}],["0xd0",{"_index":513,"t":{"34":{"position":[[817,5]]}}}],["0xdeadbeef",{"_index":821,"t":{"52":{"position":[[1864,13],[2012,12]]}}}],["0xf0",{"_index":517,"t":{"34":{"position":[[885,5]]}}}],["0xfe",{"_index":512,"t":{"34":{"position":[[811,5]]}}}],["0xff00ff00",{"_index":852,"t":{"52":{"position":[[3415,12]]}}}],["1",{"_index":413,"t":{"24":{"position":[[600,1],[739,1],[796,1]]},"46":{"position":[[920,2]]},"50":{"position":[[2890,2],[3144,2]]},"52":{"position":[[134,1],[2633,1],[3249,1],[3751,1]]}}}],["100",{"_index":1024,"t":{"65":{"position":[[1128,4]]}}}],["1024",{"_index":658,"t":{"46":{"position":[[844,5]]},"52":{"position":[[474,5]]},"54":{"position":[[2916,5],[4874,5]]}}}],["124",{"_index":872,"t":{"54":{"position":[[1087,3],[1178,3]]}}}],["125",{"_index":827,"t":{"52":{"position":[[2272,5]]}}}],["128",{"_index":1046,"t":{"67":{"position":[[31,3]]}}}],["13",{"_index":525,"t":{"34":{"position":[[1140,5],[1176,5]]},"36":{"position":[[843,5],[879,5]]}}}],["1507",{"_index":549,"t":{"38":{"position":[[215,7],[874,8]]}}}],["173",{"_index":523,"t":{"34":{"position":[[1130,4]]},"36":{"position":[[833,4]]}}}],["1815",{"_index":965,"t":{"61":{"position":[[503,4]]}}}],["1852",{"_index":962,"t":{"61":{"position":[[465,4]]}}}],["2",{"_index":316,"t":{"22":{"position":[[48,1]]},"46":{"position":[[995,2],[1358,1]]},"52":{"position":[[1908,1],[2116,5],[3345,1],[3359,1]]},"65":{"position":[[1141,2]]}}}],["2021",{"_index":586,"t":{"40":{"position":[[735,6],[904,6],[1698,5]]}}}],["208",{"_index":528,"t":{"34":{"position":[[1171,4]]},"36":{"position":[[874,4]]}}}],["240",{"_index":524,"t":{"34":{"position":[[1135,4]]},"36":{"position":[[838,4]]}}}],["25",{"_index":450,"t":{"29":{"position":[[552,3]]},"31":{"position":[[53,2]]}}}],["254",{"_index":527,"t":{"34":{"position":[[1166,4]]},"36":{"position":[[869,4]]}}}],["264",{"_index":657,"t":{"46":{"position":[[838,4]]},"52":{"position":[[468,4]]},"54":{"position":[[4868,4]]}}}],["2^32",{"_index":896,"t":{"54":{"position":[[2721,5],[2882,5]]}}}],["2^63",{"_index":788,"t":{"52":{"position":[[141,4],[3758,5]]}}}],["2^64",{"_index":787,"t":{"52":{"position":[[127,4],[3744,4]]}}}],["3",{"_index":317,"t":{"22":{"position":[[57,1]]},"46":{"position":[[1067,2]]},"52":{"position":[[789,1],[1948,1]]}}}],["32",{"_index":659,"t":{"46":{"position":[[850,3]]},"52":{"position":[[480,3]]},"54":{"position":[[2610,3],[3900,2],[4547,2],[4780,2],[4880,4]]}}}],["3rd",{"_index":941,"t":{"56":{"position":[[845,3]]}}}],["4",{"_index":660,"t":{"46":{"position":[[866,1],[1176,2]]},"52":{"position":[[1960,1],[1994,1]]},"54":{"position":[[770,1]]}}}],["44",{"_index":963,"t":{"61":{"position":[[473,2]]}}}],["5",{"_index":46,"t":{"2":{"position":[[502,1]]},"50":{"position":[[382,1]]},"52":{"position":[[1883,2],[1903,4],[2040,3],[2105,3],[3116,3],[3284,2],[3373,2]]}}}],["64",{"_index":688,"t":{"48":{"position":[[120,2],[203,2]]},"54":{"position":[[3906,2],[4232,2],[4260,2],[4803,2]]},"56":{"position":[[665,2],[749,2]]}}}],["6srpxzotfk_62kurjkh4vdcfg0ys271pq20omrpe5t",{"_index":546,"t":{"38":{"position":[[78,46]]}}}],["7",{"_index":848,"t":{"52":{"position":[[3133,2],[3379,2]]}}}],["721",{"_index":454,"t":{"29":{"position":[[741,6]]}}}],["8",{"_index":690,"t":{"48":{"position":[[138,1]]}}}],["89",{"_index":871,"t":{"54":{"position":[[1049,2]]}}}],["9",{"_index":822,"t":{"52":{"position":[[1878,4],[2029,3]]}}}],["96",{"_index":1051,"t":{"67":{"position":[[231,2]]}}}],["a569617277656176654964782b36737270585a4f54664b5f36324b55724a4b68345664434647305953323731707132304f4d52704535547365696d6167657835697066733a2f2f516d5557503678474875636742557635313467776762743479696a673336615551756e455036317a354438524b53646e616d656e53706163654275642023313530376674726169747385695374617220537569746a4368657374706c6174656442656c7464466c616766506973746f6c647479706565416c69656",{"_index":558,"t":{"38":{"position":[[328,391]]}}}],["abil",{"_index":955,"t":{"61":{"position":[[224,7]]},"65":{"position":[[620,8]]}}}],["abov",{"_index":712,"t":{"50":{"position":[[906,5]]},"52":{"position":[[1340,6]]},"54":{"position":[[4522,5]]}}}],["absolut",{"_index":369,"t":{"22":{"position":[[2556,8]]}}}],["accept",{"_index":709,"t":{"50":{"position":[[810,9]]}}}],["access",{"_index":876,"t":{"54":{"position":[[1311,6],[3677,6],[5146,8]]}}}],["account",{"_index":977,"t":{"61":{"position":[[1035,7]]}}}],["accountkey",{"_index":973,"t":{"61":{"position":[[923,10],[1065,10],[1141,10]]}}}],["accumul",{"_index":1027,"t":{"65":{"position":[[1233,11]]}}}],["achiev",{"_index":661,"t":{"46":{"position":[[880,7]]}}}],["ad",{"_index":268,"t":{"20":{"position":[[745,5]]}}}],["ada",{"_index":276,"t":{"20":{"position":[[907,3],[1207,3],[1364,3],[1450,3]]},"22":{"position":[[974,3],[1557,3]]}}}],["add",{"_index":254,"t":{"20":{"position":[[492,3]]},"22":{"position":[[948,3],[1529,3],[2358,3],[2987,3],[3202,3]]},"52":{"position":[[1013,4]]}}}],["addit",{"_index":306,"t":{"20":{"position":[[2008,8]]},"52":{"position":[[791,10],[1018,10],[1795,9],[3021,10]]},"54":{"position":[[167,10],[3760,10]]},"56":{"position":[[170,10]]},"61":{"position":[[198,8],[242,10]]}}}],["addr",{"_index":1044,"t":{"65":{"position":[[2409,4]]}}}],["address",{"_index":236,"t":{"20":{"position":[[130,9],[1004,8],[2128,7],[2188,7]]},"22":{"position":[[326,7],[1007,7],[1581,7],[2020,7],[2213,7],[2693,7]]},"61":{"position":[[539,7]]},"65":{"position":[[194,10],[231,7],[314,7],[596,7],[847,7],[873,7],[1202,7],[1446,7],[1466,9],[1592,7],[1678,7],[1740,9],[1792,9],[1859,7],[1914,7],[1945,7],[2148,7],[2181,7],[2303,7],[2332,7]]},"67":{"position":[[484,10]]}}}],["advantag",{"_index":873,"t":{"54":{"position":[[1214,9],[3743,9]]},"56":{"position":[[366,9]]}}}],["ae2",{"_index":1032,"t":{"65":{"position":[[1574,4],[1764,3]]}}}],["agnost",{"_index":219,"t":{"12":{"position":[[495,8]]},"46":{"position":[[1637,9]]}}}],["alien",{"_index":557,"t":{"38":{"position":[[302,8]]}}}],["allow",{"_index":108,"t":{"6":{"position":[[410,5]]},"24":{"position":[[375,8]]},"40":{"position":[[27,6]]},"54":{"position":[[4563,6],[4827,7]]}}}],["alonzo",{"_index":217,"t":{"12":{"position":[[464,7]]}}}],["alreadi",{"_index":1042,"t":{"65":{"position":[[2314,7]]}}}],["alway",{"_index":919,"t":{"54":{"position":[[3994,6]]}}}],["amount",{"_index":59,"t":{"4":{"position":[[31,6]]}}}],["api",{"_index":159,"t":{"8":{"position":[[61,4],[203,3]]},"10":{"position":[[217,3]]}}}],["arbitrari",{"_index":633,"t":{"46":{"position":[[51,9]]},"52":{"position":[[1683,9]]},"56":{"position":[[19,9]]}}}],["around",{"_index":220,"t":{"12":{"position":[[513,6]]}}}],["arr",{"_index":760,"t":{"50":{"position":[[3082,3]]}}}],["arr.len",{"_index":762,"t":{"50":{"position":[[3128,10]]}}}],["array",{"_index":407,"t":{"24":{"position":[[359,6]]},"29":{"position":[[819,7],[888,7],[966,7]]},"50":{"position":[[623,5],[803,6]]},"52":{"position":[[294,6]]},"54":{"position":[[112,5],[579,5],[761,5],[1066,5],[5085,5]]}}}],["array/map",{"_index":172,"t":{"8":{"position":[[295,9]]},"24":{"position":[[577,9]]}}}],["arrays/buff",{"_index":710,"t":{"50":{"position":[[825,14]]}}}],["arrret",{"_index":759,"t":{"50":{"position":[[3063,6],[3217,7]]}}}],["arrret.push(elem",{"_index":765,"t":{"50":{"position":[[3189,18]]}}}],["arweaveid",{"_index":545,"t":{"38":{"position":[[65,12]]}}}],["as_i32",{"_index":771,"t":{"50":{"position":[[3330,8]]}}}],["asm.j",{"_index":41,"t":{"2":{"position":[[413,6]]}}}],["assert(xprvbyt",{"_index":1049,"t":{"67":{"position":[[167,16]]}}}],["assertequals(byt",{"_index":945,"t":{"56":{"position":[[1020,19]]}}}],["asset",{"_index":481,"t":{"31":{"position":[[454,6],[488,5],[529,6]]}}}],["asset_nam",{"_index":456,"t":{"29":{"position":[[767,15]]}}}],["assetnamev2([202",{"_index":526,"t":{"34":{"position":[[1148,17]]},"36":{"position":[[851,17]]}}}],["associ",{"_index":482,"t":{"31":{"position":[[509,10],[587,10]]}}}],["assum",{"_index":57,"t":{"4":{"position":[[13,7]]},"20":{"position":[[150,6]]},"54":{"position":[[1919,8]]}}}],["attach",{"_index":434,"t":{"29":{"position":[[141,8]]}}}],["automat",{"_index":87,"t":{"6":{"position":[[38,13],[266,13]]},"22":{"position":[[280,13]]},"54":{"position":[[9,9]]}}}],["auxiliarydatahash",{"_index":607,"t":{"42":{"position":[[0,17]]}}}],["avail",{"_index":488,"t":{"34":{"position":[[90,9]]}}}],["avoid",{"_index":62,"t":{"4":{"position":[[79,5]]}}}],["babbag",{"_index":218,"t":{"12":{"position":[[472,8]]}}}],["back",{"_index":730,"t":{"50":{"position":[[2105,4]]},"54":{"position":[[3414,4]]}}}],["bar",{"_index":179,"t":{"8":{"position":[[395,4]]}}}],["base",{"_index":344,"t":{"22":{"position":[[1015,6],[2015,4]]},"24":{"position":[[28,5]]},"65":{"position":[[309,4],[868,4]]}}}],["baseaddr",{"_index":1012,"t":{"65":{"position":[[345,8]]}}}],["baseaddress.to_address",{"_index":1039,"t":{"65":{"position":[[2191,25]]}}}],["bash",{"_index":149,"t":{"6":{"position":[[1105,4]]}}}],["basicconvers",{"_index":804,"t":{"52":{"position":[[994,16],[1558,16],[1808,16],[2748,16],[2998,17]]}}}],["be",{"_index":711,"t":{"50":{"position":[[852,5]]},"52":{"position":[[2685,5]]}}}],["bech32",{"_index":1043,"t":{"65":{"position":[[2358,6]]}}}],["becom",{"_index":373,"t":{"22":{"position":[[2590,7]]},"54":{"position":[[4673,8]]}}}],["befor",{"_index":372,"t":{"22":{"position":[[2576,6]]}}}],["below",{"_index":314,"t":{"22":{"position":[[12,5]]},"29":{"position":[[508,5]]},"52":{"position":[[1842,5]]},"61":{"position":[[614,5]]},"63":{"position":[[351,5]]}}}],["belt",{"_index":554,"t":{"38":{"position":[[264,7]]}}}],["best",{"_index":575,"t":{"40":{"position":[[336,4]]},"46":{"position":[[1737,5]]},"54":{"position":[[244,4]]}}}],["between",{"_index":169,"t":{"8":{"position":[[233,7]]},"52":{"position":[[118,7],[929,7],[968,7],[3735,7]]},"67":{"position":[[11,7]]}}}],["beyond",{"_index":286,"t":{"20":{"position":[[1211,6]]}}}],["bf1902d1a36464617461a244baadf00da344cafed00da6646e616d656d4d65746164617461204e616d656566696c657382a4637372636473726331646e616d656966696c656e616d6531696d65646961547970656966696c657479706531816864736b6a66616b7381a1403864a3637372636473726332646e616d656966696c656e616d6532696d65646961547970656966696c65747970653265696d6167657821687474733a2f2f736f6d652e776562736974652e636f6d2f696d6167652e706e67696d656469615479706567696d6167652f2a6b6465736372697074696f6e776465736372697074696f6e206f662074686973204e4654a14038641832a1403864a140386481a1403864816864736b6a66616b73a1403864a14038646776657273696f6e02a1403864a14038641905398144baadf00dff",{"_index":541,"t":{"36":{"position":[[12,629]]}}}],["big",{"_index":770,"t":{"50":{"position":[[3326,3]]}}}],["bigger",{"_index":895,"t":{"54":{"position":[[2710,6]]}}}],["bignum",{"_index":776,"t":{"50":{"position":[[3454,7]]},"54":{"position":[[2747,6],[4462,6]]}}}],["bignum.from_str(\"365",{"_index":1041,"t":{"65":{"position":[[2271,24]]}}}],["binari",{"_index":404,"t":{"24":{"position":[[325,6]]},"46":{"position":[[288,6]]},"54":{"position":[[320,6]]},"56":{"position":[[696,6]]}}}],["bind",{"_index":51,"t":{"2":{"position":[[563,9],[650,8]]},"8":{"position":[[255,8]]}}}],["bip32",{"_index":957,"t":{"61":{"position":[[282,5],[321,5],[365,5]]}}}],["bip32privatekey",{"_index":608,"t":{"42":{"position":[[18,15]]},"63":{"position":[[14,15],[403,15]]},"65":{"position":[[70,15]]},"67":{"position":[[54,15],[95,15],[266,16]]}}}],["bip32privatekey.from_bip39_entropy(entropi",{"_index":988,"t":{"63":{"position":[[223,43]]}}}],["bip32privatekey/bip32publickey",{"_index":954,"t":{"61":{"position":[[158,30]]}}}],["bip32publickey",{"_index":609,"t":{"42":{"position":[[34,14]]},"65":{"position":[[89,14]]}}}],["bip39",{"_index":984,"t":{"63":{"position":[[37,5],[111,5],[366,5],[426,5],[476,8]]}}}],["bip44",{"_index":960,"t":{"61":{"position":[[395,5]]}}}],["birthday",{"_index":656,"t":{"46":{"position":[[815,10]]},"50":{"position":[[1386,11]]},"52":{"position":[[447,10]]},"54":{"position":[[3144,10],[4988,10]]}}}],["bit",{"_index":893,"t":{"54":{"position":[[2614,3],[3909,4],[4235,3],[4550,3],[4783,3],[4806,3]]}}}],["blockbodyhash",{"_index":610,"t":{"42":{"position":[[49,13]]}}}],["blockchain",{"_index":223,"t":{"12":{"position":[[548,10]]},"20":{"position":[[1539,11],[1672,11]]}}}],["blockheaderhash",{"_index":611,"t":{"42":{"position":[[63,15]]}}}],["bodi",{"_index":290,"t":{"20":{"position":[[1276,4],[1964,4]]},"22":{"position":[[2815,4]]}}}],["bootstrap",{"_index":318,"t":{"22":{"position":[[80,10],[1535,9],[3206,9]]},"65":{"position":[[1436,9]]}}}],["bootstrapwit",{"_index":391,"t":{"22":{"position":[[3477,18],[3542,16]]},"42":{"position":[[79,16],[96,18]]}}}],["bootstrapwitnesses.add(bootstrapwit",{"_index":394,"t":{"22":{"position":[[3645,41]]}}}],["both",{"_index":409,"t":{"24":{"position":[[384,4]]}}}],["boundari",{"_index":934,"t":{"54":{"position":[[5168,9]]}}}],["breviti",{"_index":959,"t":{"61":{"position":[[375,8]]}}}],["browser",{"_index":38,"t":{"2":{"position":[[386,8]]}}}],["btreemap::new",{"_index":510,"t":{"34":{"position":[[749,16]]}}}],["buffer.from",{"_index":1008,"t":{"63":{"position":[[736,16]]}}}],["buffer.from(\"488afed67b342d41ec08561258e210352fba2ac030c98a8199bc22ec7a27ccf1",{"_index":361,"t":{"22":{"position":[[1830,79]]}}}],["buffer.from(\"8561258e210352fba2ac0488afed67b3427a27ccf1d41ec030c98a8199bc22ec",{"_index":353,"t":{"22":{"position":[[1345,79]]}}}],["buffer.from(entropi",{"_index":1007,"t":{"63":{"position":[[707,20]]}}}],["buffer.from(metadata.as_byt",{"_index":780,"t":{"50":{"position":[[3574,33]]}}}],["build",{"_index":315,"t":{"22":{"position":[[18,6],[867,9],[2792,5]]},"54":{"position":[[1653,5],[2070,5],[2105,5],[2378,5]]}}}],["builder",{"_index":18,"t":{"2":{"position":[[188,8]]},"12":{"position":[[119,8]]},"20":{"position":[[209,7],[781,7],[1903,8]]},"22":{"position":[[372,7]]},"26":{"position":[[247,8]]}}}],["builder.add_change_if_needed(address",{"_index":263,"t":{"20":{"position":[[620,38]]}}}],["builder.build",{"_index":291,"t":{"20":{"position":[[1283,15]]}}}],["builder.set_fee(fe",{"_index":261,"t":{"20":{"position":[[565,21]]}}}],["built",{"_index":403,"t":{"24":{"position":[[201,5]]}}}],["burn",{"_index":287,"t":{"20":{"position":[[1231,7]]}}}],["byron",{"_index":216,"t":{"12":{"position":[[447,7]]},"22":{"position":[[1571,5],[3216,6]]},"65":{"position":[[188,5],[1456,5],[1668,5]]}}}],["byronaddr",{"_index":1030,"t":{"65":{"position":[[1505,9]]}}}],["byronaddress",{"_index":358,"t":{"22":{"position":[[1595,12],[1742,13],[3612,13]]}}}],["byte",{"_index":114,"t":{"6":{"position":[[520,5]]},"24":{"position":[[610,5],[741,4],[798,4],[862,5]]},"29":{"position":[[281,5],[599,5],[704,5]]},"36":{"position":[[4,5]]},"38":{"position":[[320,5]]},"46":{"position":[[423,5],[1183,6],[1203,5],[1751,5]]},"48":{"position":[[123,5],[206,6]]},"50":{"position":[[664,5],[798,4],[820,4]]},"52":{"position":[[1091,4],[1599,4],[1962,4],[1996,4],[2949,4],[3198,9]]},"54":{"position":[[1052,5],[1091,5],[1182,6]]},"56":{"position":[[623,5],[668,4],[738,5],[752,4],[770,5]]},"65":{"position":[[2347,5]]},"67":{"position":[[35,4],[234,4],[283,4]]}}}],["byte(a",{"_index":805,"t":{"52":{"position":[[1041,7]]}}}],["byte/str",{"_index":815,"t":{"52":{"position":[[1578,11]]}}}],["bytestr",{"_index":691,"t":{"48":{"position":[[149,11]]},"52":{"position":[[1967,10],[2001,10],[2144,11],[3404,10]]}}}],["calcul",{"_index":235,"t":{"20":{"position":[[110,12],[590,9]]},"22":{"position":[[254,11],[294,10],[2636,9]]}}}],["call",{"_index":100,"t":{"6":{"position":[[201,6]]},"20":{"position":[[1306,6]]},"54":{"position":[[1607,6]]},"61":{"position":[[314,6]]},"65":{"position":[[136,7]]}}}],["capacitor",{"_index":54,"t":{"2":{"position":[[600,9]]}}}],["cardano",{"_index":61,"t":{"4":{"position":[[61,7]]},"6":{"position":[[308,7],[671,7],[692,7],[1093,7]]},"20":{"position":[[309,7],[426,7]]},"22":{"position":[[389,7]]},"24":{"position":[[8,7],[272,7],[872,7]]},"26":{"position":[[66,7]]},"29":{"position":[[74,7],[244,8],[454,7]]},"40":{"position":[[790,7]]},"52":{"position":[[845,7],[1315,7]]},"63":{"position":[[312,7]]},"67":{"position":[[19,7]]}}}],["cardano'",{"_index":68,"t":{"4":{"position":[[147,9]]}}}],["cardanowasm.address.from_bech32(\"addr1vyt3w9chzut3w9chzut3w9chzut3w9chzut3w9chzut3w9cj43ltf",{"_index":1045,"t":{"65":{"position":[[2416,94]]}}}],["cardanowasm.address.from_bech32(\"addr_test1gz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzerspqgpsqe70et",{"_index":365,"t":{"22":{"position":[[2250,104]]}}}],["cardanowasm.address.from_bech32(\"addr_test1qpu5vlrf4xkxv2qpwngf6cjhtw542ayty80v8dyr49rf5ewvxwdrt70qlcpeeagscasafhffqsxy36t90ldv06wqrk2qum8x5w",{"_index":363,"t":{"22":{"position":[[2057,144]]}}}],["cardanowasm.baseaddress.new",{"_index":1013,"t":{"65":{"position":[[356,28]]}}}],["cardanowasm.bignum.from_str('155381",{"_index":331,"t":{"22":{"position":[[525,37]]}}}],["cardanowasm.bignum.from_str('44",{"_index":330,"t":{"22":{"position":[[490,34]]}}}],["cardanowasm.bip32privatekey.from_128_xprv(xprvbyt",{"_index":1048,"t":{"67":{"position":[[113,53]]}}}],["cardanowasm.bip32privatekey.from_bech32(\"xprv17qx9vxm6060qjn5fgazfue9nwyf448w7upk60c3epln82vumg9r9kxzsud9uv5rfscxp382j2aku254zj3qfx9fx39t6hjwtmwq85uunsd8x0st3j66lzf5yn30hwq5n75zeuplepx8vxc502txx09ygjgx06n0p",{"_index":972,"t":{"61":{"position":[[707,209]]}}}],["cardanowasm.bip32privatekey.from_bech32('xprv1hretan5mml3tq2p0twkhq4tz4jvka7m2l94kfr6yghkyfar6m9wppc7h9unw6p65y23kakzct3695rs32z7vaw3r2lg9scmfj8ec5du3ufydu5yuquxcz24jlkjhsc9vsa4ufzge9s00fn398svhacse5su2awrw",{"_index":390,"t":{"22":{"position":[[3261,209]]}}}],["cardanowasm.bip32privatekey.from_bip39_entropi",{"_index":1006,"t":{"63":{"position":[[659,47]]}}}],["cardanowasm.bip32privatekey.to_128_xprv",{"_index":1050,"t":{"67":{"position":[[187,43]]}}}],["cardanowasm.bootstrapwitnesses.new",{"_index":392,"t":{"22":{"position":[[3498,37]]}}}],["cardanowasm.byronaddress.from_base58(\"ae2tdpwupezls4htbuney7tk4htkrwnwytgqp7bdfcy2wdr3p6735w5yfp",{"_index":359,"t":{"22":{"position":[[1610,100]]}}}],["cardanowasm.byronaddress.icarus_from_key",{"_index":1031,"t":{"65":{"position":[[1517,41]]}}}],["cardanowasm.decode_arbitrary_bytes_from_metadatum(metadata",{"_index":944,"t":{"56":{"position":[[959,60]]}}}],["cardanowasm.decode_metadatum_to_json_str(metadata",{"_index":796,"t":{"52":{"position":[[636,50]]}}}],["cardanowasm.encode_arbitrary_bytes_as_metadatum(byt",{"_index":942,"t":{"56":{"position":[[881,55]]}}}],["cardanowasm.encode_json_str_to_metadatum(json.stringify(obj",{"_index":793,"t":{"52":{"position":[[504,61]]}}}],["cardanowasm.enterpriseaddress.new",{"_index":1019,"t":{"65":{"position":[[677,34]]}}}],["cardanowasm.hash_transaction(txbodi",{"_index":382,"t":{"22":{"position":[[2887,37]]}}}],["cardanowasm.linearfee.new",{"_index":329,"t":{"22":{"position":[[463,26]]}}}],["cardanowasm.make_icarus_bootstrap_wit",{"_index":393,"t":{"22":{"position":[[3561,42]]}}}],["cardanowasm.make_vkey_witness(txhash",{"_index":386,"t":{"22":{"position":[[3084,37]]}}}],["cardanowasm.metadatajsonschema.noconvers",{"_index":794,"t":{"52":{"position":[[566,46],[687,46]]}}}],["cardanowasm.metadatalist.new",{"_index":721,"t":{"50":{"position":[[1414,31]]}}}],["cardanowasm.metadatamap.new",{"_index":713,"t":{"50":{"position":[[949,30]]}}}],["cardanowasm.networkinfo.mainnet().network_id",{"_index":1014,"t":{"65":{"position":[[385,47],[712,47],[981,47],[1311,47]]}}}],["cardanowasm.networkinfo.mainnet().protocol_mag",{"_index":1034,"t":{"65":{"position":[[1600,50]]}}}],["cardanowasm.pointer.new",{"_index":1023,"t":{"65":{"position":[[1103,24]]}}}],["cardanowasm.pointeraddress.new",{"_index":1022,"t":{"65":{"position":[[949,31]]}}}],["cardanowasm.privatekey.from_bech32(\"ed25519e_sk16rl5fqqf4mg27syjzjrq8h3vq44jnnv52mvyzdttldszjj7a64xtmjwgjtfy25lu0xmv40306lj9pcqpa6slry9eh3mtlqvfjz93vuq0grl80",{"_index":348,"t":{"22":{"position":[[1058,160]]}}}],["cardanowasm.rewardaddress.new",{"_index":1029,"t":{"65":{"position":[[1280,30]]}}}],["cardanowasm.stakecredential.from_keyhash(stakekey.to_raw_key().hash",{"_index":1016,"t":{"65":{"position":[[507,71],[1359,70]]}}}],["cardanowasm.stakecredential.from_keyhash(utxopubkey.to_raw_key().hash",{"_index":1015,"t":{"65":{"position":[[433,73],[760,72],[1029,73]]}}}],["cardanowasm.transaction.new",{"_index":397,"t":{"22":{"position":[[3804,28]]}}}],["cardanowasm.transactionbuilder.new(txbuildercfg",{"_index":341,"t":{"22":{"position":[[895,49]]}}}],["cardanowasm.transactionbuilderconfigbuilder.new",{"_index":333,"t":{"22":{"position":[[587,49]]}}}],["cardanowasm.transactionhash.from_byt",{"_index":352,"t":{"22":{"position":[[1305,39],[1790,39]]}}}],["cardanowasm.transactioninput.new",{"_index":351,"t":{"22":{"position":[[1271,33],[1756,33]]}}}],["cardanowasm.transactionmetadata.from_bytes(map.to_byt",{"_index":903,"t":{"54":{"position":[[3192,59]]}}}],["cardanowasm.transactionmetadatum.new_list(tag",{"_index":727,"t":{"50":{"position":[[1952,48]]}}}],["cardanowasm.transactionmetadatum.new_map(map",{"_index":728,"t":{"50":{"position":[[2022,46]]}}}],["cardanowasm.transactionmetadatum.new_text(\"com",{"_index":719,"t":{"50":{"position":[[1283,53]]}}}],["cardanowasm.transactionmetadatum.new_text(\"happi",{"_index":720,"t":{"50":{"position":[[1337,48]]}}}],["cardanowasm.transactionmetadatum.new_text(\"jkfdsufjdk34h3sdfjdhfduf873",{"_index":718,"t":{"50":{"position":[[1194,73]]}}}],["cardanowasm.transactionmetadatum.new_text(\"receiver_id",{"_index":715,"t":{"50":{"position":[[992,57]]}}}],["cardanowasm.transactionmetadatum.new_text(\"sender_id",{"_index":717,"t":{"50":{"position":[[1138,55]]}}}],["cardanowasm.transactionmetadatum.new_text(\"sjkdj34k3jjkfdkfjfudfdjkfd",{"_index":716,"t":{"50":{"position":[[1050,72]]}}}],["cardanowasm.transactionmetadatum.new_text(\"tag",{"_index":726,"t":{"50":{"position":[[1901,50]]}}}],["cardanowasm.transactionmetadatumkind.byt",{"_index":779,"t":{"50":{"position":[[3523,43]]}}}],["cardanowasm.transactionmetadatumkind.int",{"_index":766,"t":{"50":{"position":[[3230,41]]}}}],["cardanowasm.transactionmetadatumkind.metadatalist",{"_index":758,"t":{"50":{"position":[[3008,50]]}}}],["cardanowasm.transactionmetadatumkind.metadatamap",{"_index":749,"t":{"50":{"position":[[2720,49]]}}}],["cardanowasm.transactionmetadatumkind.text",{"_index":781,"t":{"50":{"position":[[3613,42]]}}}],["cardanowasm.transactionoutput(address",{"_index":1040,"t":{"65":{"position":[[2232,38]]}}}],["cardanowasm.transactionoutput.new",{"_index":367,"t":{"22":{"position":[[2401,34]]}}}],["cardanowasm.transactionwitnessset.new",{"_index":383,"t":{"22":{"position":[[2943,40]]}}}],["cardanowasm.value.new(cardanowasm.bignum.from_str('1000000",{"_index":368,"t":{"22":{"position":[[2458,61]]}}}],["cardanowasm.value.new(cardanowasm.bignum.from_str('3000000",{"_index":357,"t":{"22":{"position":[[1461,61],[1947,61]]}}}],["cardanowasm.vkeywitnesses.new",{"_index":385,"t":{"22":{"position":[[3031,32]]}}}],["cardano’",{"_index":89,"t":{"6":{"position":[[67,9]]}}}],["care",{"_index":863,"t":{"54":{"position":[[275,4]]}}}],["cargo",{"_index":883,"t":{"54":{"position":[[1647,5],[1659,5],[2099,5],[2111,5]]}}}],["case",{"_index":748,"t":{"50":{"position":[[2715,4],[3003,4],[3225,4],[3518,4],[3608,4]]}}}],["catalyst",{"_index":212,"t":{"12":{"position":[[371,10]]}}}],["catch",{"_index":738,"t":{"50":{"position":[[2475,5]]},"54":{"position":[[3254,5],[3530,5]]}}}],["categori",{"_index":951,"t":{"61":{"position":[[19,10]]}}}],["caus",{"_index":116,"t":{"6":{"position":[[567,6]]}}}],["cbor",{"_index":109,"t":{"6":{"position":[[420,4],[455,4],[465,4],[854,4]]},"24":{"position":[[318,4]]},"26":{"position":[[153,4]]},"29":{"position":[[276,4],[337,4],[594,4],[699,4]]},"46":{"position":[[283,4]]},"54":{"position":[[956,5]]}}}],["cd",{"_index":888,"t":{"54":{"position":[[2358,2]]}}}],["cddl",{"_index":101,"t":{"6":{"position":[[208,4]]},"46":{"position":[[243,5],[1070,4],[1093,4],[1171,4],[1322,4],[1493,4]]},"48":{"position":[[39,4]]},"50":{"position":[[318,5]]},"52":{"position":[[317,4]]},"54":{"position":[[458,4],[588,4],[974,4],[1325,4],[1402,4],[1450,4],[1480,4],[1531,4],[1592,4],[1686,4],[1756,4],[1908,4],[1942,4],[2038,4],[2191,4],[3342,4],[3618,4],[3797,4],[3818,4],[4177,4],[4326,4]]},"56":{"position":[[241,4],[379,4],[448,4],[544,4],[573,4],[824,4]]}}}],["cddlmetadata",{"_index":908,"t":{"54":{"position":[[3441,13],[3461,12]]}}}],["cddlmetadata.receiver_id",{"_index":911,"t":{"54":{"position":[[3700,27]]}}}],["cert",{"_index":1025,"t":{"65":{"position":[[1169,4]]}}}],["certain",{"_index":58,"t":{"4":{"position":[[23,7]]},"40":{"position":[[45,7]]}}}],["certif",{"_index":265,"t":{"20":{"position":[[698,13],[1491,12],[2067,12],[2305,12],[2564,12],[2616,12]]}}}],["chain",{"_index":200,"t":{"12":{"position":[[52,5],[75,5],[417,5]]},"26":{"position":[[34,5],[147,5]]},"58":{"position":[[327,5]]}}}],["chang",{"_index":160,"t":{"8":{"position":[[114,6],[433,7]]},"20":{"position":[[123,6],[762,6],[997,6]]},"22":{"position":[[319,6],[429,6],[2680,6]]},"54":{"position":[[4626,6]]}}}],["charg",{"_index":816,"t":{"52":{"position":[[1637,6]]}}}],["check",{"_index":80,"t":{"4":{"position":[[310,5]]},"50":{"position":[[2565,5],[2642,5],[3468,8],[3810,8]]},"54":{"position":[[1434,5]]},"56":{"position":[[389,8]]}}}],["checker",{"_index":879,"t":{"54":{"position":[[1536,8]]},"56":{"position":[[492,7]]}}}],["chestplat",{"_index":553,"t":{"38":{"position":[[250,13]]}}}],["chimer",{"_index":983,"t":{"61":{"position":[[1166,8]]}}}],["choic",{"_index":862,"t":{"54":{"position":[[249,7]]},"63":{"position":[[619,8]]}}}],["chunk",{"_index":940,"t":{"56":{"position":[[757,6]]}}}],["chunkablestring::from(\"htts://some.website.com/image.png",{"_index":493,"t":{"34":{"position":[[195,59]]}}}],["chunkablestring::from(\"src1",{"_index":503,"t":{"34":{"position":[[531,30]]}}}],["chunkablestring::from(\"src2",{"_index":506,"t":{"34":{"position":[[666,30]]}}}],["cip",{"_index":449,"t":{"29":{"position":[[548,3]]},"31":{"position":[[49,3]]}}}],["cip1852account",{"_index":389,"t":{"22":{"position":[[3244,14],[3626,15]]}}}],["cip25",{"_index":209,"t":{"12":{"position":[[279,5],[312,5]]},"29":{"position":[[0,5]]},"34":{"position":[[59,5]]},"40":{"position":[[97,5]]},"58":{"position":[[343,5]]}}}],["cip25metadata",{"_index":469,"t":{"31":{"position":[[0,13]]},"34":{"position":[[1046,13]]},"36":{"position":[[748,13]]}}}],["cip25metadata::from_bytes(hex::decode(bytes).unwrap()).unwrap",{"_index":542,"t":{"36":{"position":[[653,64]]}}}],["cip25metadata::new(labelmetadata::new_label_metadata_v2",{"_index":518,"t":{"34":{"position":[[925,56]]}}}],["cip3",{"_index":990,"t":{"63":{"position":[[307,4]]}}}],["cip36",{"_index":211,"t":{"12":{"position":[[332,5],[365,5]]}}}],["class",{"_index":923,"t":{"54":{"position":[[4166,5]]}}}],["cli",{"_index":125,"t":{"6":{"position":[[684,3],[1101,3]]},"67":{"position":[[27,3]]}}}],["cml",{"_index":48,"t":{"2":{"position":[[517,3]]},"6":{"position":[[384,3],[765,3]]},"8":{"position":[[83,3]]},"12":{"position":[[40,3],[251,4]]},"58":{"position":[[57,3],[180,3],[209,3],[323,3],[339,3]]}}}],["code",{"_index":86,"t":{"6":{"position":[[30,4]]},"8":{"position":[[4,4],[125,4]]},"50":{"position":[[931,5]]},"54":{"position":[[1854,4],[2080,4],[2294,4],[4668,4]]},"61":{"position":[[620,4]]},"63":{"position":[[346,4]]}}}],["codegen",{"_index":102,"t":{"6":{"position":[[213,7]]},"54":{"position":[[1761,7],[1947,7],[3823,8]]}}}],["coin",{"_index":966,"t":{"61":{"position":[[516,4],[1002,4]]}}}],["coins_per_utxo_word(cardanowasm.bignum.from_str('34482",{"_index":339,"t":{"22":{"position":[[808,58]]}}}],["comment",{"_index":654,"t":{"46":{"position":[[797,10]]},"50":{"position":[[2327,7]]},"52":{"position":[[431,8]]},"54":{"position":[[646,8],[862,8]]}}}],["common",{"_index":198,"t":{"12":{"position":[[18,6]]},"58":{"position":[[43,6]]}}}],["compar",{"_index":402,"t":{"24":{"position":[[185,8]]}}}],["compat",{"_index":133,"t":{"6":{"position":[[779,10]]},"54":{"position":[[3331,10],[3607,10]]}}}],["complet",{"_index":183,"t":{"8":{"position":[[503,8]]}}}],["complex",{"_index":442,"t":{"29":{"position":[[380,7]]},"54":{"position":[[341,7]]}}}],["compliant",{"_index":566,"t":{"40":{"position":[[82,9]]}}}],["complic",{"_index":818,"t":{"52":{"position":[[1771,11],[3303,11]]}}}],["compon",{"_index":24,"t":{"2":{"position":[[267,10]]},"29":{"position":[[436,10]]}}}],["compress",{"_index":935,"t":{"56":{"position":[[73,10]]}}}],["comput",{"_index":119,"t":{"6":{"position":[[597,9]]}}}],["concept",{"_index":77,"t":{"4":{"position":[[287,9]]}}}],["conform",{"_index":570,"t":{"40":{"position":[[199,10]]},"46":{"position":[[1806,7]]},"54":{"position":[[1455,8]]},"56":{"position":[[217,7],[648,7]]}}}],["connect",{"_index":136,"t":{"6":{"position":[[939,10]]}}}],["consant",{"_index":964,"t":{"61":{"position":[[491,7]]}}}],["consid",{"_index":676,"t":{"46":{"position":[[1480,8]]}}}],["consist",{"_index":167,"t":{"8":{"position":[[210,10]]},"20":{"position":[[1730,8]]},"24":{"position":[[532,8],[725,8]]},"52":{"position":[[3319,10]]}}}],["const",{"_index":289,"t":{"20":{"position":[[1270,5]]},"22":{"position":[[445,5],[566,5],[877,5],[1043,5],[1589,5],[2028,5],[2221,5],[2838,5],[2872,5],[2925,5],[3009,5],[3064,5],[3238,5],[3471,5],[3536,5],[3784,5]]},"50":{"position":[[937,5],[1401,5],[2004,5],[2125,5],[2157,5],[2241,5],[2321,5],[2400,5],[2770,5],[2796,5],[2827,5],[2895,5],[2920,5],[3076,5],[3149,5],[3272,5]]},"52":{"position":[[332,5],[487,5],[613,5]]},"54":{"position":[[2548,5],[3041,5],[4851,5],[4885,5]]},"56":{"position":[[764,5],[864,5],[937,5]]},"61":{"position":[[691,5],[917,5],[1046,5],[1124,5]]},"63":{"position":[[485,5],[643,5]]},"65":{"position":[[339,5],[654,5],[933,5],[1261,5],[1499,5],[2175,5],[2217,5],[2403,5]]},"67":{"position":[[89,5]]}}}],["construct",{"_index":21,"t":{"2":{"position":[[226,12]]},"50":{"position":[[879,9]]},"54":{"position":[[2641,9],[2905,9]]}}}],["consult",{"_index":72,"t":{"4":{"position":[[186,10]]}}}],["contain",{"_index":313,"t":{"20":{"position":[[2535,8]]},"24":{"position":[[550,10]]},"26":{"position":[[11,8]]},"31":{"position":[[70,8],[141,7],[247,7],[464,8]]},"46":{"position":[[43,7]]},"54":{"position":[[2023,10]]}}}],["conveni",{"_index":922,"t":{"54":{"position":[[4051,10]]}}}],["convers",{"_index":664,"t":{"46":{"position":[[1003,11],[1015,10]]},"52":{"position":[[817,10]]},"54":{"position":[[4587,11]]},"67":{"position":[[0,10],[300,10]]}}}],["convert",{"_index":775,"t":{"50":{"position":[[3441,7]]},"52":{"position":[[920,8],[1142,7]]},"54":{"position":[[2150,11],[4416,9],[4449,9]]},"63":{"position":[[76,9]]},"65":{"position":[[58,7],[2124,7]]}}}],["core",{"_index":15,"t":{"2":{"position":[[167,4]]},"4":{"position":[[282,4]]},"12":{"position":[[0,4],[7,4]]},"54":{"position":[[1867,4]]},"58":{"position":[[18,4]]}}}],["coupl",{"_index":422,"t":{"24":{"position":[[855,6]]}}}],["cover",{"_index":76,"t":{"4":{"position":[[271,6]]}}}],["crate",{"_index":6,"t":{"2":{"position":[[85,6],[535,7],[543,7]]},"12":{"position":[[44,7],[173,5]]},"26":{"position":[[5,5]]},"58":{"position":[[5,5],[61,7],[184,7],[310,6]]}}}],["crates.io",{"_index":196,"t":{"10":{"position":[[253,9]]}}}],["crazi",{"_index":148,"t":{"6":{"position":[[1087,5]]}}}],["creat",{"_index":139,"t":{"6":{"position":[[984,6]]},"12":{"position":[[132,8]]},"20":{"position":[[323,7],[1692,6]]},"22":{"position":[[3736,6]]},"24":{"position":[[132,7],[455,7]]},"26":{"position":[[260,8]]},"31":{"position":[[340,8],[622,7]]},"34":{"position":[[35,6]]},"52":{"position":[[1929,7]]},"54":{"position":[[1389,7],[1979,7]]},"56":{"position":[[416,6]]},"63":{"position":[[193,7]]},"65":{"position":[[221,6],[1698,7],[2065,6],[2379,6]]},"67":{"position":[[437,8]]}}}],["creation",{"_index":229,"t":{"20":{"position":[[33,9]]}}}],["creator",{"_index":569,"t":{"40":{"position":[[134,9]]}}}],["crypto",{"_index":205,"t":{"12":{"position":[[208,6],[217,6]]}}}],["cryptograph",{"_index":952,"t":{"61":{"position":[[117,17]]}}}],["current",{"_index":201,"t":{"12":{"position":[[60,7]]},"26":{"position":[[58,7]]}}}],["daedalu",{"_index":1035,"t":{"65":{"position":[[1777,8]]},"67":{"position":[[467,8]]}}}],["dapp",{"_index":28,"t":{"2":{"position":[[307,5]]},"6":{"position":[[921,5],[953,6]]}}}],["data",{"_index":16,"t":{"2":{"position":[[172,4]]},"12":{"position":[[559,5]]},"29":{"position":[[200,5],[211,4],[388,4],[502,5]]},"34":{"position":[[1105,5]]},"36":{"position":[[646,4],[808,5]]},"40":{"position":[[53,4]]},"46":{"position":[[1792,4]]},"54":{"position":[[4099,4]]},"56":{"position":[[29,4],[65,4],[199,4],[272,4]]}}}],["data::new",{"_index":508,"t":{"34":{"position":[[717,12]]}}}],["datahash",{"_index":612,"t":{"42":{"position":[[115,8]]}}}],["date",{"_index":95,"t":{"6":{"position":[[143,5]]}}}],["date\":\"9",{"_index":585,"t":{"40":{"position":[[721,9]]}}}],["datum",{"_index":129,"t":{"6":{"position":[[734,6]]}}}],["day",{"_index":589,"t":{"40":{"position":[[775,3],[900,3],[1694,3]]}}}],["dcspark",{"_index":99,"t":{"6":{"position":[[193,7]]}}}],["dd",{"_index":1036,"t":{"65":{"position":[[1814,2]]},"67":{"position":[[476,2]]}}}],["de",{"_index":307,"t":{"20":{"position":[[2196,2]]}}}],["debug",{"_index":813,"t":{"52":{"position":[[1486,10]]}}}],["decod",{"_index":740,"t":{"50":{"position":[[2520,8]]},"52":{"position":[[3693,6]]},"56":{"position":[[135,7]]}}}],["decoded_byt",{"_index":943,"t":{"56":{"position":[[943,13],[1040,15]]}}}],["defin",{"_index":428,"t":{"29":{"position":[[6,7]]},"31":{"position":[[217,7],[389,7]]},"46":{"position":[[232,7]]},"54":{"position":[[3786,7],[3806,7]]}}}],["definit",{"_index":186,"t":{"10":{"position":[[39,12]]},"24":{"position":[[389,8],[514,8],[903,8]]},"48":{"position":[[44,11]]},"54":{"position":[[979,11],[1072,10],[1407,11],[2196,10],[3365,10],[3641,10]]}}}],["demonstr",{"_index":819,"t":{"52":{"position":[[1829,12]]},"61":{"position":[[592,12]]}}}],["depend",{"_index":415,"t":{"24":{"position":[[621,9]]},"61":{"position":[[526,9]]}}}],["deploy",{"_index":3,"t":{"2":{"position":[[48,8]]}}}],["deposit",{"_index":278,"t":{"20":{"position":[[954,7],[1086,7],[1426,8],[2286,9]]}}}],["deregistered/retir",{"_index":298,"t":{"20":{"position":[[1605,21]]}}}],["deriv",{"_index":956,"t":{"61":{"position":[[235,6],[288,10],[442,10]]},"65":{"position":[[33,10]]}}}],["derive(0",{"_index":979,"t":{"61":{"position":[[1076,10],[1099,10],[1175,10]]}}}],["derive(2",{"_index":982,"t":{"61":{"position":[[1152,10]]}}}],["derive(harden(0",{"_index":976,"t":{"61":{"position":[[1012,19]]}}}],["derive(harden(1815",{"_index":975,"t":{"61":{"position":[[977,21]]}}}],["derive(harden(1852",{"_index":974,"t":{"61":{"position":[[944,21]]}}}],["descript",{"_index":463,"t":{"29":{"position":[[863,14]]},"31":{"position":[[552,12]]},"34":{"position":[[1334,12]]},"36":{"position":[[1037,12]]},"38":{"position":[[983,12]]}}}],["description\":\"happi",{"_index":587,"t":{"40":{"position":[[745,20]]}}}],["deseri",{"_index":14,"t":{"2":{"position":[[148,15]]},"26":{"position":[[120,12]]},"54":{"position":[[40,15]]}}}],["deserializa",{"_index":930,"t":{"54":{"position":[[5009,14]]}}}],["design",{"_index":312,"t":{"20":{"position":[[2407,6],[2440,7],[2523,6]]}}}],["desir",{"_index":1010,"t":{"65":{"position":[[25,7]]}}}],["detail",{"_index":110,"t":{"6":{"position":[[425,7],[868,8]]},"20":{"position":[[2502,7],[2544,7]]},"31":{"position":[[431,7],[569,7]]},"34":{"position":[[117,7],[831,9]]},"40":{"position":[[441,7],[1012,7],[1811,7],[2228,7]]},"52":{"position":[[1236,7],[3664,7]]},"61":{"position":[[575,8]]},"67":{"position":[[331,7]]}}}],["detailedschema",{"_index":807,"t":{"52":{"position":[[1121,14],[1347,14],[1728,14],[2321,14]]}}}],["details.descript",{"_index":494,"t":{"34":{"position":[[258,19]]}}}],["details.fil",{"_index":498,"t":{"34":{"position":[[403,13]]}}}],["details.media_typ",{"_index":496,"t":{"34":{"position":[[336,18]]}}}],["details.name.unwrap().0",{"_index":596,"t":{"40":{"position":[[1630,24],[2081,24]]}}}],["differ",{"_index":130,"t":{"6":{"position":[[741,12]]},"8":{"position":[[245,9]]},"29":{"position":[[426,9]]},"40":{"position":[[243,9]]},"46":{"position":[[898,9]]}}}],["direct",{"_index":682,"t":{"46":{"position":[[1699,6]]},"54":{"position":[[794,6],[4570,6]]}}}],["directli",{"_index":399,"t":{"24":{"position":[[34,8]]},"29":{"position":[[132,8]]},"46":{"position":[[923,8]]},"50":{"position":[[196,8],[276,8],[716,8]]},"54":{"position":[[1364,9],[3668,8],[4357,8],[4703,8]]},"58":{"position":[[101,8]]},"63":{"position":[[151,8]]},"65":{"position":[[1825,8],[2389,8]]}}}],["directori",{"_index":184,"t":{"8":{"position":[[539,10]]},"54":{"position":[[1545,10],[1569,9],[1960,9],[2013,9],[2223,10],[2475,10]]}}}],["discourag",{"_index":43,"t":{"2":{"position":[[430,13]]}}}],["display",{"_index":812,"t":{"52":{"position":[[1471,7]]}}}],["do",{"_index":1038,"t":{"65":{"position":[[2168,6]]}}}],["doc",{"_index":967,"t":{"61":{"position":[[562,3]]}}}],["document",{"_index":64,"t":{"4":{"position":[[88,11]]},"67":{"position":[[348,8]]}}}],["don't",{"_index":875,"t":{"54":{"position":[[1300,5]]}}}],["done",{"_index":698,"t":{"50":{"position":[[115,4]]},"52":{"position":[[209,4]]}}}],["doubt",{"_index":310,"t":{"20":{"position":[[2247,6]]}}}],["downsid",{"_index":695,"t":{"50":{"position":[[44,10]]},"52":{"position":[[72,10]]},"54":{"position":[[147,10]]},"56":{"position":[[84,10]]}}}],["due",{"_index":406,"t":{"24":{"position":[[352,3]]},"40":{"position":[[103,3]]},"52":{"position":[[3634,3]]},"54":{"position":[[105,3]]}}}],["dynam",{"_index":681,"t":{"46":{"position":[[1670,7]]}}}],["e",{"_index":739,"t":{"50":{"position":[[2481,3]]},"54":{"position":[[3260,3],[3536,3]]}}}],["e.g",{"_index":123,"t":{"6":{"position":[[666,4]]},"8":{"position":[[145,4],[314,5]]},"58":{"position":[[317,5]]}}}],["each",{"_index":478,"t":{"31":{"position":[[362,4]]},"46":{"position":[[585,4],[1238,4]]}}}],["easi",{"_index":138,"t":{"6":{"position":[[976,4]]},"54":{"position":[[1227,4]]}}}],["easier",{"_index":443,"t":{"29":{"position":[[415,6]]},"54":{"position":[[2651,6],[4127,6]]}}}],["easiest",{"_index":187,"t":{"10":{"position":[[66,7]]}}}],["easili",{"_index":92,"t":{"6":{"position":[[125,6]]}}}],["ecosystem",{"_index":444,"t":{"29":{"position":[[462,9]]}}}],["ed25519",{"_index":624,"t":{"42":{"position":[[278,7]]},"61":{"position":[[327,8],[418,7]]}}}],["ed25519keyhash",{"_index":613,"t":{"42":{"position":[[124,14]]}}}],["ed25519signatur",{"_index":614,"t":{"42":{"position":[[139,16]]}}}],["elem",{"_index":763,"t":{"50":{"position":[[3155,4]]}}}],["element",{"_index":417,"t":{"24":{"position":[[648,8],[773,8]]},"52":{"position":[[1950,9],[3251,7],[3347,9],[3361,7]]},"54":{"position":[[772,8]]}}}],["emb",{"_index":145,"t":{"6":{"position":[[1050,5]]}}}],["empti",{"_index":823,"t":{"52":{"position":[[2129,7]]}}}],["emurgo",{"_index":98,"t":{"6":{"position":[[184,6]]}}}],["encod",{"_index":127,"t":{"6":{"position":[[718,8],[859,8]]},"24":{"position":[[68,7],[304,7],[342,9],[419,8],[435,7],[523,8],[673,7],[716,8],[912,8]]},"26":{"position":[[158,10]]},"29":{"position":[[265,7],[373,6]]},"46":{"position":[[295,8],[1190,8],[1280,6]]},"48":{"position":[[140,8],[169,8]]},"54":{"position":[[422,7],[805,8],[1129,8]]},"56":{"position":[[306,8]]}}}],["end",{"_index":420,"t":{"24":{"position":[[803,6]]}}}],["enough",{"_index":152,"t":{"6":{"position":[[1141,6]]}}}],["ensur",{"_index":284,"t":{"20":{"position":[[1123,7]]}}}],["enterpris",{"_index":345,"t":{"22":{"position":[[1022,11]]},"65":{"position":[[585,10]]}}}],["enterpriseaddr",{"_index":1018,"t":{"65":{"position":[[660,14]]}}}],["entir",{"_index":447,"t":{"29":{"position":[[521,6],[612,6]]}}}],["entri",{"_index":1002,"t":{"63":{"position":[[579,8]]}}}],["entropi",{"_index":987,"t":{"63":{"position":[[89,7],[182,7],[491,7]]}}}],["enum",{"_index":477,"t":{"31":{"position":[[228,4]]}}}],["equival",{"_index":55,"t":{"2":{"position":[[616,10]]},"6":{"position":[[540,10]]}}}],["era",{"_index":82,"t":{"4":{"position":[[336,4]]},"12":{"position":[[68,3],[408,3],[442,4],[491,3]]},"22":{"position":[[996,3],[1577,3],[3223,4]]},"26":{"position":[[74,4]]},"65":{"position":[[1462,3],[1674,3]]}}}],["especi",{"_index":118,"t":{"6":{"position":[[581,10]]},"54":{"position":[[257,10]]}}}],["essenti",{"_index":320,"t":{"22":{"position":[[120,11]]}}}],["etc",{"_index":10,"t":{"2":{"position":[[114,5]]},"8":{"position":[[174,4]]},"12":{"position":[[274,4],[481,4]]},"54":{"position":[[3728,3]]},"58":{"position":[[355,4]]}}}],["even",{"_index":144,"t":{"6":{"position":[[1045,4]]}}}],["exact",{"_index":839,"t":{"52":{"position":[[2721,5]]}}}],["examin",{"_index":855,"t":{"52":{"position":[[3587,8]]}}}],["exampl",{"_index":157,"t":{"8":{"position":[[9,8],[512,8],[528,10]]},"20":{"position":[[2111,8]]},"22":{"position":[[4,7],[341,8]]},"34":{"position":[[14,7]]},"46":{"position":[[1261,8]]},"50":{"position":[[898,7]]},"52":{"position":[[2765,7]]},"54":{"position":[[378,9],[999,7]]},"65":{"position":[[209,8],[286,8],[2054,7]]}}}],["except",{"_index":170,"t":{"8":{"position":[[273,10]]},"52":{"position":[[3623,10]]},"58":{"position":[[126,6]]},"65":{"position":[[175,9]]}}}],["exchang",{"_index":153,"t":{"6":{"position":[[1180,10]]}}}],["exchanges/etc",{"_index":1017,"t":{"65":{"position":[[640,13]]}}}],["exist",{"_index":171,"t":{"8":{"position":[[284,6]]},"20":{"position":[[1526,5]]},"29":{"position":[[660,8]]},"46":{"position":[[1685,9]]}}}],["explan",{"_index":241,"t":{"20":{"position":[[226,12]]},"65":{"position":[[921,11]]}}}],["explicitli",{"_index":260,"t":{"20":{"position":[[549,10],[1138,10]]}}}],["exploratori",{"_index":741,"t":{"50":{"position":[[2539,11]]}}}],["export",{"_index":886,"t":{"54":{"position":[[2214,8],[2361,6]]},"58":{"position":[[294,8]]}}}],["expos",{"_index":925,"t":{"54":{"position":[[4349,7]]}}}],["express",{"_index":701,"t":{"50":{"position":[[177,11]]}}}],["extend",{"_index":797,"t":{"52":{"position":[[748,8]]}}}],["extern",{"_index":874,"t":{"54":{"position":[[1281,8]]},"61":{"position":[[1090,8]]}}}],["extra",{"_index":275,"t":{"20":{"position":[[901,5],[1166,5],[1201,5]]}}}],["extract",{"_index":544,"t":{"38":{"position":[[14,9]]}}}],["facilit",{"_index":439,"t":{"29":{"position":[[309,10]]}}}],["fail",{"_index":578,"t":{"40":{"position":[[395,6]]},"52":{"position":[[3685,4]]}}}],["fairli",{"_index":673,"t":{"46":{"position":[[1379,6],[1625,6]]},"50":{"position":[[170,6]]}}}],["faithfulli",{"_index":802,"t":{"52":{"position":[[909,10]]}}}],["fallback",{"_index":576,"t":{"40":{"position":[[361,8]]}}}],["fast",{"_index":440,"t":{"29":{"position":[[320,4]]}}}],["faster",{"_index":453,"t":{"29":{"position":[[731,7]]}}}],["featur",{"_index":107,"t":{"6":{"position":[[360,7]]},"52":{"position":[[956,7]]},"58":{"position":[[23,8]]}}}],["fee",{"_index":234,"t":{"20":{"position":[[106,3],[545,3],[822,3],[833,3],[893,3],[968,4],[1013,4],[1096,3],[1157,4],[1172,3],[2280,5]]},"22":{"position":[[250,3],[271,4],[2654,3]]},"24":{"position":[[0,4]]}}}],["fee_algo(linearfe",{"_index":334,"t":{"22":{"position":[[637,20]]}}}],["ff00ff00",{"_index":851,"t":{"52":{"position":[[3208,11]]}}}],["field",{"_index":473,"t":{"31":{"position":[[89,5],[130,5],[473,6],[699,6]]},"38":{"position":[[0,6]]},"52":{"position":[[2635,5]]},"54":{"position":[[1241,6],[1337,5],[3688,6],[4642,5]]}}}],["file",{"_index":192,"t":{"10":{"position":[[155,4]]},"20":{"position":[[417,4]]},"29":{"position":[[896,8]]},"31":{"position":[[598,6]]},"34":{"position":[[1398,6]]},"36":{"position":[[1101,6]]},"38":{"position":[[1002,6]]},"52":{"position":[[1328,4]]},"54":{"position":[[1602,4],[1691,4],[2000,4]]}}}],["filesdetail",{"_index":534,"t":{"34":{"position":[[1412,12],[1524,12]]},"36":{"position":[[1115,12],[1227,12]]}}}],["filesdetails::new",{"_index":500,"t":{"34":{"position":[[430,18],[565,18]]}}}],["filter",{"_index":1004,"t":{"63":{"position":[[609,9]]}}}],["final",{"_index":396,"t":{"22":{"position":[[3747,9]]},"24":{"position":[[62,5]]}}}],["find",{"_index":66,"t":{"4":{"position":[[120,4]]},"8":{"position":[[498,4]]}}}],["first",{"_index":743,"t":{"50":{"position":[[2581,5],[2657,5],[3493,5]]},"54":{"position":[[1631,6]]},"63":{"position":[[70,5]]},"65":{"position":[[280,5],[2118,5]]}}}],["fit",{"_index":929,"t":{"54":{"position":[[4769,3]]},"56":{"position":[[286,3]]}}}],["fix",{"_index":675,"t":{"46":{"position":[[1435,5]]}}}],["flag",{"_index":555,"t":{"38":{"position":[[272,7]]}}}],["flexibl",{"_index":151,"t":{"6":{"position":[[1132,8]]},"50":{"position":[[9,8]]},"52":{"position":[[9,8]]}}}],["follow",{"_index":247,"t":{"20":{"position":[[353,9]]},"34":{"position":[[4,9]]},"50":{"position":[[921,9]]},"52":{"position":[[828,9]]},"54":{"position":[[2314,9]]},"61":{"position":[[268,9]]},"63":{"position":[[97,9]]}}}],["foo",{"_index":868,"t":{"54":{"position":[[602,3],[818,3]]}}}],["foo.bar",{"_index":162,"t":{"8":{"position":[[150,9]]}}}],["foo::new",{"_index":163,"t":{"8":{"position":[[163,10]]}}}],["foolist",{"_index":174,"t":{"8":{"position":[[320,7]]}}}],["form",{"_index":636,"t":{"46":{"position":[[155,4]]}}}],["formal",{"_index":75,"t":{"4":{"position":[[250,6]]},"20":{"position":[[2452,6]]},"65":{"position":[[905,6]]}}}],["format",{"_index":683,"t":{"46":{"position":[[1830,7]]},"52":{"position":[[1251,7],[2838,7],[3453,8]]},"54":{"position":[[1723,6]]}}}],["found",{"_index":190,"t":{"10":{"position":[[138,5]]},"52":{"position":[[1266,5]]}}}],["freedom",{"_index":843,"t":{"52":{"position":[[3032,7]]}}}],["frequent",{"_index":121,"t":{"6":{"position":[[623,8]]},"46":{"position":[[1458,10]]}}}],["fring",{"_index":854,"t":{"52":{"position":[[3538,6]]}}}],["full",{"_index":194,"t":{"10":{"position":[[212,4]]}}}],["function",{"_index":27,"t":{"2":{"position":[[293,9]]},"12":{"position":[[101,13]]},"31":{"position":[[326,9]]},"40":{"position":[[18,8],[154,8]]},"46":{"position":[[1057,9],[1227,10]]},"50":{"position":[[2596,8]]},"61":{"position":[[625,8]]}}}],["funtion",{"_index":427,"t":{"26":{"position":[[200,12]]}}}],["gener",{"_index":88,"t":{"6":{"position":[[52,9],[280,8],[397,9]]},"10":{"position":[[13,9]]},"20":{"position":[[1401,9],[2432,7]]},"50":{"position":[[739,7]]},"54":{"position":[[1800,8],[2054,8],[2085,8],[2134,8],[2256,8],[3316,9],[3592,9],[3932,7],[4192,9]]},"63":{"position":[[3,8],[387,8]]}}}],["genesi",{"_index":251,"t":{"20":{"position":[[409,7]]}}}],["genesisdelegatehash",{"_index":615,"t":{"42":{"position":[[156,19]]}}}],["genesishash",{"_index":616,"t":{"42":{"position":[[176,11]]}}}],["give",{"_index":670,"t":{"46":{"position":[[1256,4]]},"54":{"position":[[2428,4]]}}}],["given",{"_index":703,"t":{"50":{"position":[[305,5]]}}}],["good",{"_index":678,"t":{"46":{"position":[[1596,4]]}}}],["govern",{"_index":246,"t":{"20":{"position":[[299,9],[2270,9]]}}}],["grammar",{"_index":639,"t":{"46":{"position":[[258,7]]}}}],["guarante",{"_index":91,"t":{"6":{"position":[[107,10]]}}}],["hand",{"_index":699,"t":{"50":{"position":[[123,4]]},"52":{"position":[[217,4]]}}}],["handl",{"_index":11,"t":{"2":{"position":[[123,8]]},"50":{"position":[[2678,6],[3363,6]]},"63":{"position":[[160,6]]}}}],["happen",{"_index":905,"t":{"54":{"position":[[3287,6],[3563,6]]}}}],["happi",{"_index":655,"t":{"46":{"position":[[808,6]]},"52":{"position":[[440,6]]},"54":{"position":[[3137,6],[4981,6]]}}}],["harden(num",{"_index":968,"t":{"61":{"position":[[634,11]]}}}],["hardfork",{"_index":632,"t":{"46":{"position":[[30,8]]}}}],["hash",{"_index":120,"t":{"6":{"position":[[607,6]]},"20":{"position":[[1940,4]]},"22":{"position":[[1441,4],[1927,4]]}}}],["hash_transaction(bodi",{"_index":305,"t":{"20":{"position":[[1981,23]]}}}],["held",{"_index":342,"t":{"22":{"position":[[978,4],[1561,4]]}}}],["hello",{"_index":849,"t":{"52":{"position":[[3157,9],[3382,7]]}}}],["here",{"_index":70,"t":{"4":{"position":[[164,4]]},"52":{"position":[[2339,5],[3060,5]]},"54":{"position":[[2896,5],[4309,4],[4733,4]]},"56":{"position":[[856,4]]}}}],["hex",{"_index":354,"t":{"22":{"position":[[1425,6],[1910,7]]},"48":{"position":[[165,3]]},"52":{"position":[[1049,3],[1100,3]]},"63":{"position":[[728,7]]}}}],["hip",{"_index":999,"t":{"63":{"position":[[556,6]]}}}],["histor",{"_index":222,"t":{"12":{"position":[[537,10]]}}}],["i.",{"_index":282,"t":{"20":{"position":[[1038,4]]}}}],["i32",{"_index":916,"t":{"54":{"position":[[3881,3],[4657,6]]}}}],["i64",{"_index":915,"t":{"54":{"position":[[3876,4]]}}}],["icaru",{"_index":1033,"t":{"65":{"position":[[1585,6],[1727,6]]}}}],["id",{"_index":598,"t":{"40":{"position":[[1704,2]]}}}],["id\":\"00",{"_index":599,"t":{"40":{"position":[[1724,10]]}}}],["ident",{"_index":321,"t":{"22":{"position":[[132,9]]},"67":{"position":[[253,9]]}}}],["illustr",{"_index":840,"t":{"52":{"position":[[2786,10]]}}}],["imag",{"_index":459,"t":{"29":{"position":[[803,8]]},"31":{"position":[[503,5],[673,6]]},"34":{"position":[[1233,6]]},"36":{"position":[[936,6]]},"38":{"position":[[128,8],[883,6]]},"40":{"position":[[684,6],[2140,6],[2479,5]]}}}],["image\":\"ipfs.io/ipfs/qmah6qpkukvp6k9xqb2sa42q3yrffcbybbk8eorrb7fn2g",{"_index":591,"t":{"40":{"position":[[809,70]]}}}],["image\":\"ipfs://qmsfytf8b4ua6hfdr6urdrdzbz9fjcqnuddclr2f7p8xn3",{"_index":600,"t":{"40":{"position":[[1738,63],[2155,63]]}}}],["image/ + + + + +Search the documentation + + + + +
+

Search the documentation

+ + + + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..bc8ae21a --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://dcspark.github.io/searchweekly0.5https://dcspark.github.io/weekly0.5https://dcspark.github.io/category/buildersweekly0.5https://dcspark.github.io/category/chainweekly0.5https://dcspark.github.io/category/coreweekly0.5https://dcspark.github.io/category/cryptoweekly0.5https://dcspark.github.io/category/modulesweekly0.5https://dcspark.github.io/crate_architectureweekly0.5https://dcspark.github.io/getting_startedweekly0.5https://dcspark.github.io/modules/builders/generating_transactionsweekly0.5https://dcspark.github.io/modules/chain/weekly0.5https://dcspark.github.io/modules/CIP25weekly0.5https://dcspark.github.io/modules/cip36weekly0.5https://dcspark.github.io/modules/core/weekly0.5https://dcspark.github.io/modules/crypto/weekly0.5https://dcspark.github.io/modules/crypto/generating_keysweekly0.5https://dcspark.github.io/modules/metadataweekly0.5 \ No newline at end of file