From 5d48339cd2ac41be767e739b916fced8e6cf75ca Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 17:07:43 +0000 Subject: [PATCH] Deploy to GitHub pages --- .nojekyll | 0 404.html | 17 ++ assets/css/styles.1b949ae5.css | 1 + ...cture-dfeb30760c997a9cbe6ccb4a963b4d3c.png | Bin 0 -> 62052 bytes ...-used-eafbf8d333e38a8ecc097a22cbf1dce0.png | Bin 0 -> 226581 bytes assets/js/0032ee8c.7dedb95e.js | 1 + assets/js/06fc01ae.75354380.js | 1 + assets/js/0e0535b1.34691241.js | 1 + assets/js/0e33704a.7264411f.js | 1 + assets/js/11e0564c.b10c923a.js | 1 + assets/js/17896441.8d445331.js | 1 + assets/js/186.64419d66.js | 1 + assets/js/1ba5c1f8.8a465d6b.js | 1 + assets/js/1be78505.f578a183.js | 1 + assets/js/1df93b7f.8ecd92c3.js | 1 + assets/js/218.923d990c.js | 1 + assets/js/3d285c18.58cf10db.js | 1 + assets/js/4464155c.6dcb6248.js | 1 + assets/js/580fd761.7935b156.js | 1 + assets/js/6c6580b9.109060b5.js | 1 + assets/js/71ecd553.5873a5dd.js | 1 + assets/js/780.573d9801.js | 1 + assets/js/814f3328.f4875833.js | 1 + assets/js/83f7007c.c3c37ff4.js | 1 + assets/js/847819a8.92ecdcce.js | 1 + assets/js/894.d4c8f375.js | 1 + assets/js/8d28010c.61c8640a.js | 1 + assets/js/935f2afb.73e61023.js | 1 + assets/js/945.77e93e58.js | 1 + assets/js/972.6b33e54c.js | 1 + assets/js/98bffb0d.7ea59aa3.js | 1 + assets/js/9ae3ff0c.28021c09.js | 1 + assets/js/9e4087bc.ad58597d.js | 1 + assets/js/a2a53b7f.60c344bb.js | 1 + assets/js/a6aa9e1f.03288348.js | 1 + assets/js/a89f6586.0cc48294.js | 1 + assets/js/af24fada.974090c6.js | 1 + assets/js/b2b675dd.dc625929.js | 1 + assets/js/b2f554cd.9de3058c.js | 1 + assets/js/b633dbb6.5590664e.js | 1 + assets/js/c0e4f1cb.e2c26e6d.js | 1 + assets/js/ccc49370.1023254c.js | 1 + assets/js/ea58b678.d794d278.js | 1 + assets/js/ed3a5d05.678980f8.js | 1 + assets/js/f36f7db6.4a693f15.js | 1 + assets/js/f474b5ba.92c2d3c3.js | 1 + assets/js/main.ea6c0ee9.js | 2 + assets/js/main.ea6c0ee9.js.LICENSE.txt | 63 +++++++ assets/js/runtime~main.21409f65.js | 1 + blog.html | 17 ++ blog/archive.html | 17 ++ blog/atom.xml | 20 +++ blog/hello-world.html | 17 ++ blog/rss.xml | 18 ++ browsers/android.svg | 10 ++ browsers/chrome.svg | 19 ++ browsers/desktop.svg | 14 ++ browsers/edge.svg | 12 ++ browsers/firefox.svg | 163 ++++++++++++++++++ browsers/ie.svg | 6 + docs.html | 18 ++ docs/contributing/adv-examples.html | 17 ++ docs/contributing/code-of-conduct.html | 46 +++++ docs/contributing/style-guide.html | 58 +++++++ docs/docker/selenoid-grid-test.html | 17 ++ docs/guides/collections.html | 18 ++ docs/guides/data-bind.html | 21 +++ docs/guides/excel-runner.html | 19 ++ docs/guides/extent-reports.html | 21 +++ docs/guides/logger.html | 17 ++ docs/guides/properties.html | 17 ++ docs/guides/selcukes-notifier.html | 22 +++ docs/guides/selcukes-reports.html | 19 ++ docs/guides/selcukes-testng.html | 21 +++ docs/guides/video-recorder.html | 21 +++ docs/guides/webdriver-binaries.html | 68 ++++++++ docs/test/api-test.html | 17 ++ docs/test/desktop-test.html | 17 ++ docs/test/mobile-test.html | 17 ++ docs/test/web-test.html | 17 ++ icons/Approved-Window.svg | 3 + icons/Cloud-Secure.svg | 3 + icons/Cursor-Click2.svg | 3 + icons/Upload-toCloud.svg | 3 + icons/debug.svg | 8 + icons/integration.svg | 9 + icons/setup.svg | 1 + icons/speed.svg | 56 ++++++ icons/test.svg | 1 + icons/time.svg | 1 + img/favicon.ico | Bin 0 -> 15406 bytes img/logo.svg | 22 +++ img/programmer.png | Bin 0 -> 833138 bytes img/selenium-webdriver-architecture.png | Bin 0 -> 62052 bytes img/techs-used.png | Bin 0 -> 226581 bytes index.html | 17 ++ languages/go.svg | 25 +++ languages/java.svg | 10 ++ languages/nodejs.svg | 11 ++ languages/php.svg | 3 + languages/python.svg | 19 ++ languages/ruby.svg | 3 + sitemap.xml | 1 + 103 files changed, 1125 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 assets/css/styles.1b949ae5.css create mode 100644 assets/images/selenium-webdriver-architecture-dfeb30760c997a9cbe6ccb4a963b4d3c.png create mode 100644 assets/images/techs-used-eafbf8d333e38a8ecc097a22cbf1dce0.png create mode 100644 assets/js/0032ee8c.7dedb95e.js create mode 100644 assets/js/06fc01ae.75354380.js create mode 100644 assets/js/0e0535b1.34691241.js create mode 100644 assets/js/0e33704a.7264411f.js create mode 100644 assets/js/11e0564c.b10c923a.js create mode 100644 assets/js/17896441.8d445331.js create mode 100644 assets/js/186.64419d66.js create mode 100644 assets/js/1ba5c1f8.8a465d6b.js create mode 100644 assets/js/1be78505.f578a183.js create mode 100644 assets/js/1df93b7f.8ecd92c3.js create mode 100644 assets/js/218.923d990c.js create mode 100644 assets/js/3d285c18.58cf10db.js create mode 100644 assets/js/4464155c.6dcb6248.js create mode 100644 assets/js/580fd761.7935b156.js create mode 100644 assets/js/6c6580b9.109060b5.js create mode 100644 assets/js/71ecd553.5873a5dd.js create mode 100644 assets/js/780.573d9801.js create mode 100644 assets/js/814f3328.f4875833.js create mode 100644 assets/js/83f7007c.c3c37ff4.js create mode 100644 assets/js/847819a8.92ecdcce.js create mode 100644 assets/js/894.d4c8f375.js create mode 100644 assets/js/8d28010c.61c8640a.js create mode 100644 assets/js/935f2afb.73e61023.js create mode 100644 assets/js/945.77e93e58.js create mode 100644 assets/js/972.6b33e54c.js create mode 100644 assets/js/98bffb0d.7ea59aa3.js create mode 100644 assets/js/9ae3ff0c.28021c09.js create mode 100644 assets/js/9e4087bc.ad58597d.js create mode 100644 assets/js/a2a53b7f.60c344bb.js create mode 100644 assets/js/a6aa9e1f.03288348.js create mode 100644 assets/js/a89f6586.0cc48294.js create mode 100644 assets/js/af24fada.974090c6.js create mode 100644 assets/js/b2b675dd.dc625929.js create mode 100644 assets/js/b2f554cd.9de3058c.js create mode 100644 assets/js/b633dbb6.5590664e.js create mode 100644 assets/js/c0e4f1cb.e2c26e6d.js create mode 100644 assets/js/ccc49370.1023254c.js create mode 100644 assets/js/ea58b678.d794d278.js create mode 100644 assets/js/ed3a5d05.678980f8.js create mode 100644 assets/js/f36f7db6.4a693f15.js create mode 100644 assets/js/f474b5ba.92c2d3c3.js create mode 100644 assets/js/main.ea6c0ee9.js create mode 100644 assets/js/main.ea6c0ee9.js.LICENSE.txt create mode 100644 assets/js/runtime~main.21409f65.js create mode 100644 blog.html create mode 100644 blog/archive.html create mode 100644 blog/atom.xml create mode 100644 blog/hello-world.html create mode 100644 blog/rss.xml create mode 100644 browsers/android.svg create mode 100644 browsers/chrome.svg create mode 100644 browsers/desktop.svg create mode 100644 browsers/edge.svg create mode 100644 browsers/firefox.svg create mode 100644 browsers/ie.svg create mode 100644 docs.html create mode 100644 docs/contributing/adv-examples.html create mode 100644 docs/contributing/code-of-conduct.html create mode 100644 docs/contributing/style-guide.html create mode 100644 docs/docker/selenoid-grid-test.html create mode 100644 docs/guides/collections.html create mode 100644 docs/guides/data-bind.html create mode 100644 docs/guides/excel-runner.html create mode 100644 docs/guides/extent-reports.html create mode 100644 docs/guides/logger.html create mode 100644 docs/guides/properties.html create mode 100644 docs/guides/selcukes-notifier.html create mode 100644 docs/guides/selcukes-reports.html create mode 100644 docs/guides/selcukes-testng.html create mode 100644 docs/guides/video-recorder.html create mode 100644 docs/guides/webdriver-binaries.html create mode 100644 docs/test/api-test.html create mode 100644 docs/test/desktop-test.html create mode 100644 docs/test/mobile-test.html create mode 100644 docs/test/web-test.html create mode 100644 icons/Approved-Window.svg create mode 100644 icons/Cloud-Secure.svg create mode 100644 icons/Cursor-Click2.svg create mode 100644 icons/Upload-toCloud.svg create mode 100644 icons/debug.svg create mode 100644 icons/integration.svg create mode 100644 icons/setup.svg create mode 100644 icons/speed.svg create mode 100644 icons/test.svg create mode 100644 icons/time.svg create mode 100644 img/favicon.ico create mode 100644 img/logo.svg create mode 100644 img/programmer.png create mode 100644 img/selenium-webdriver-architecture.png create mode 100644 img/techs-used.png create mode 100644 index.html create mode 100644 languages/go.svg create mode 100644 languages/java.svg create mode 100644 languages/nodejs.svg create mode 100644 languages/php.svg create mode 100644 languages/python.svg create mode 100644 languages/ruby.svg create mode 100644 sitemap.xml diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..3e6af6a --- /dev/null +++ b/404.html @@ -0,0 +1,17 @@ + + + + + +Page Not Found | Selcukes + + + + + +
+
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.

Subscribe for product updates

By subscribing, you agree with Selcukes’s Terms of Service and Privacy Policy.
+ + + + \ No newline at end of file diff --git a/assets/css/styles.1b949ae5.css b/assets/css/styles.1b949ae5.css new file mode 100644 index 0000000..fb4e155 --- /dev/null +++ b/assets/css/styles.1b949ae5.css @@ -0,0 +1 @@ +@import url(https://rsms.me/inter/inter.css);.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)}.DocSearch-Button,.button{-webkit-user-select:none;-ms-user-select:none}.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}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}: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:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--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 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--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:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--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-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}.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:transparent}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-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)}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{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 rgba(0,0,0,.1);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:transparent;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{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,.heading_unpT,.supheading_Wqow,.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{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--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:rgba(235,237,240,.15);--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:rgba(0,164,0,.15);--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:rgba(84,199,236,.15);--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:rgba(255,186,0,.15);--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:rgba(250,56,62,.15);--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{-webkit-text-decoration-color:var(--ifm-alert-border-color);text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:-webkit-any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-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;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:transparent;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--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;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,.collapsibleContent_i85q>:last-child,.footer__items,.tabItem_Ymn6>:last-child{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,.title_f1Hy{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:"";filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.form_ITRE,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:-webkit-sticky;position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--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:-ms-input-placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);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{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,.sidebarItemLink_mo7H:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);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}.DocSearch-Hit[aria-selected=true] mark,.content_knG7 a{text-decoration:underline}.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 transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--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:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--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;--ifm-background-color:var(--ifm-color-gray-1000);--ifm-color-emphasis-50:#151719;--docsearch-searchbox-background:var(--ifm-color-gray-900)!important;--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-font-family-base:"Inter",sans-serif;--ifm-color-primary:#9333ea;--ifm-color-primary-dark:#8519e7;--ifm-color-primary-darker:#7e17dc;--ifm-color-primary-darkest:#6813b5;--ifm-color-primary-light:#a14ded;--ifm-color-primary-lighter:#a85aee;--ifm-color-primary-lightest:#bc81f2;--ifm-background-color:var(--ifm-color-gray-0);--ifm-navbar-background-color:var(--ifm-background-color);--ifm-footer-background-color:var(--ifm-background-color);--ifm-link-hover-decoration:none;--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.75rem;--ifm-pre-padding:1.5rem;--ifm-color-emphasis-50:#f9fafa;--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12);--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#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}@supports (font-variation-settings:normal){:root{--ifm-font-family-base:"Inter var",sans-serif}}.docusaurus-highlight-code-line{background-color:rgba(0,0,0,.1);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.menu__link:not(.menu__link--active):hover,.navbar{background:none}[data-theme=dark] .docusaurus-highlight-code-line{background-color:rgba(0,0,0,.3)}.theme-doc-sidebar-container{border-right:none!important}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_b6E3,.navbar-sidebar__close,.pagination-nav,.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}.navbar{box-shadow:none;padding:0}.navbar__inner{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:hsla(0,0%,100%,.65);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}[data-theme=dark] .navbar__inner{background-color:rgba(0,0,0,.65)}.navbar__logo{height:36px}.navbar__link{font-size:.95rem}.navbar-sidebar{border-right:1px solid var(--ifm-color-emphasis-100)}.menu{padding:1rem!important}.container_mt6G,.menu__link,.sidebarItemList_Yudw{font-size:.9rem}.menu__link--sublist:after{transform:scale(.8)}.footer{padding-bottom:4rem}.button{--ifm-button-size-multiplier:1;font-size:calc(.5rem + .5rem*var(--ifm-button-size-multiplier));--ifm-button-color:var(--ifm-color-white)}.button--lg{--ifm-button-size-multiplier:1.2}.button--sm{--ifm-button-size-multiplier:0.8}.button--secondary{--ifm-button-color:var(--ifm-color-black)}.header-github-link:hover{opacity:.6}.header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;content:"";display:flex;height:24px;width:24px}html[data-theme=dark] .header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.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,html:not([data-theme]) .themedComponent--light_NU7w{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.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}.root_Mqqm{border-top:1px solid var(--ifm-color-emphasis-200);padding:50px 0 30px}.wrapper_d1Vi,.wrapper_dohI{align-items:center;display:flex;justify-content:space-between}.heading_q7SK{font-size:24px;margin-bottom:6px}.subheading_mjXf{color:var(--ifm-color-emphasis-600)}.input_xw7i,.input_xw7i:hover{border:1px solid var(--ifm-color-emphasis-400);color:var(--ifm-color-content);display:block;flex:1;margin-right:8px;min-width:0;text-align:left;width:340px}.input_xw7i:focus{outline-color:var(--ifm-color-primary)}.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%}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.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}.root_AhId{margin:80px 0 100px}.heading_fnW7{font-size:40px;margin-bottom:0;text-align:center}.subheading_cJ8g{color:var(--ifm-color-emphasis-600);font-size:28px;font-weight:500;margin-top:8px;text-align:center}.features_ez_S{display:grid;gap:80px 60px;grid-template-columns:repeat(3,1fr);justify-content:center;margin-top:80px}.featureIcon_fDSv{fill:var(--ifm-color-primary);height:50px;width:50px}.featureTitle_ubQv{font-size:20px;margin-top:20px}.featureDescription_d4Zi{color:var(--ifm-color-emphasis-600);font-size:16px;margin-bottom:0}.root_Vlw6{margin:100px 0}.heading_NDJj{font-size:50px;font-weight:800;line-height:1.2}.supheading_Wqow{color:var(--ifm-color-primary);font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:10px}.subheading_epWx{color:var(--ifm-color-emphasis-600);font-size:24px;font-weight:500;line-height:1.2;margin-top:16px}.buttons_lPY8{margin-top:50px}.panelImage_wYPY{margin-top:20px;max-width:50%;width:100%}.panelImage_wYPY img{display:block}.root_rQXT{background:var(--ifm-color-emphasis-50);padding:40px 0}.heading_unpT{color:var(--ifm-color-primary);font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:20px;text-align:center}.languages_YWkp{display:grid;gap:20px 40px;grid-template-columns:repeat(6,auto);justify-content:center}.language_Pd3C{display:block;text-align:center}.languageIcon_eeCc{display:block;height:60px;width:60px}.languageName_kgzU{color:var(--ifm-color-emphasis-600);font-size:16px;font-weight:400;margin-bottom:0;margin-top:6px}.sidebar_re4s{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:-webkit-sticky;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}.authorCol_Hf19{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_pa_O{display:flex;flex-flow:row wrap}.DocSearch-Button,.DocSearch-Button-Container{align-items:center;display:flex}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.DocSearch-Button{background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;user-select:none}.DocSearch-Footer,.DocSearch-Help{-webkit-user-select:none;-ms-user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Input,.DocSearch-Link{-webkit-appearance:none;font:inherit}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:0 0;border:0;color:var(--docsearch-text-color);flex:1;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Hit-action-button,.DocSearch-Reset{-webkit-appearance:none;border:0;cursor:pointer}.DocSearch-Input:-ms-input-placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border-radius:50%;color:var(--docsearch-icon-color);padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:focus{outline:0}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:0 0}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border-radius:50%;color:inherit;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_vkbj a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container{z-index:calc(var(--ifm-z-index-fixed) + 1)}.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}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}: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:-webkit-sticky;position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.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}.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}.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}.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;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:transparent transparent transparent 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)}.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;-ms-user-select:none;user-select:none}.hash-link:before{content:"#"}.containsTaskList_mC6p{list-style:none}.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}.blogPostFooterDetailsFull_mRVl{flex-direction:column}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:-webkit-sticky;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.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}@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)}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:-webkit-sticky;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:-webkit-sticky;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}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}}@media screen and (min-width:997px){.hidden--lg{display:none}}@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,.sidebar_re4s,.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 screen and (max-width:996px){.features_ez_S,.wrapper_dohI{text-align:center}.navbar__brand{flex:1;justify-content:center;margin-right:2rem}.footer__links{display:grid;grid-template-columns:repeat(2,1fr)}.hidden--sm{display:none}.wrapper_d1Vi,.wrapper_dohI{display:block}.wrapper_d1Vi form{margin-top:30px}.heading_q7SK{font-size:22px}.heading_fnW7{font-size:32px}.subheading_cJ8g{font-size:24px}.features_ez_S{grid-template-columns:repeat(1,1fr);padding:0 20px}.root_Vlw6{margin:72px 0}.heading_NDJj{font-size:34px}.panelImage_wYPY{margin-top:50px;max-width:100%;padding:0 20px}.languages_YWkp{grid-template-columns:repeat(3,auto)}}@media (max-width:750px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{-webkit-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}}@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}.title_f1Hy{font-size:2rem}}@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 screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width);animation:none;-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}@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/images/selenium-webdriver-architecture-dfeb30760c997a9cbe6ccb4a963b4d3c.png b/assets/images/selenium-webdriver-architecture-dfeb30760c997a9cbe6ccb4a963b4d3c.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c9a74cd834dd42415086d78547fd0d9881bc3f GIT binary patch literal 62052 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∈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 KT3$8xIrv`}y`J#^ literal 0 HcmV?d00001 diff --git a/assets/images/techs-used-eafbf8d333e38a8ecc097a22cbf1dce0.png b/assets/images/techs-used-eafbf8d333e38a8ecc097a22cbf1dce0.png new file mode 100644 index 0000000000000000000000000000000000000000..c5f7745c7997d60e0d775d4641c0018f821d1679 GIT binary patch literal 226581 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

>P?`YnRLp*m>5Bdj6v)wPzNSeQ(Y~xh}a@BU8 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%0A--FEVZoHw2Hdnkao|Q8N)2v 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
>w#Nwbb&S| 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%0Aus*nr#+($(A0gv(;^P=EGZ4K~OJ>?nql3&|RlL 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%0AfTdLQPjva17wa6$D;67iyi`25g<#w2r&< zPo0b0@6077^y@j@cAIY;h(1l77^~Q;#X!K51&1ban6a@vNqp6-OsBK0Vxde?wnIcY^RU8##{zCtZ&POMI5dV>cI|1Z2D zzBbnfY4l7I`IIGxYZ(G9tp`>D)KG{C>9}ncwC*BiLFjntsr+U^3^YJ*QlrKtpXKDf zd)nE^wv2b!v5B8DX!hy3^V>;%=|ip-@VG(7#w=+-7Dv|6f2M?vYvlH6C^A~?c`Mc5 zp|H^|r{CbLvz6mA_nY~*Wz$B%%vpHA&ggTK?r&+UZ-4sM7f7;qK|$Rk(ZC%vuS$E2 zoMU?bp%~bwPm&QY5Np=bcOXohf&!=4J~d5m_o}V%1P(Q?qw~4cb1;f#H1*n|O8yTA zsjYfj<942e@CMVwqA}}u{4i{V6x+0IaP9Gs1vpwz4<@RM-+8hGzszgcpIE?F2ZAoU zFfz`IWT;aE(zy>JX&^%c!d>ebctpYSM@tW>t~_wnIld~nE!T6lp4Z(`IuDQmP*E3J z5XgP`#6v%S-tzF>@k+f$Pe<9%<%JQr<+aIHhp!I3Ldr*Ro+DJ`n4Rg!_j5q4sKFD@ zS!i9$3@*a@D!=W08vhxh>Fg+XoFXk)lF7+x$91Lp1Y5)zdBNpZ&hop}m#-9(r{~~3 z2G1)T&+EXQmfPFIz-a<{Z2L=xCP>7$69GH5(RzOm42B&)(kP?}21^Lb}lw&Zr6qFT9x<3Teik%w4gkXk&+Mpm;fr<_|a^kS_N(`)O` zq1sVw<$bB{)xKxu{q^?in|amG*hK`v7t~a_-Yu$}%}S4D;sC-dt*jO`ZKZkPC5)DV zVJ|3Yko&8W^Z+cB08ta zaaAR?@(15_qK3xPh@`V}VYG5E@zMRcz~enpi}SsPK+5y9V%F;Y%3#`Uo^=7DLbBP) z6Rg79hi)}agqC8QhVJ>{T0}UCmXXw+4=hGI4hts;)4$P2i zOh@pGL*%hJVN9nMa$_SFuUno-Z+DsQ#vzL$ic9QMsOyS*+&D=OZx#;!)!n9!kpJdw z$7C-!@@_)Km7&l`o~@4%iV<3l*gVzcG!5Zb|xtI zaf>b~-S4`9`~$YA=jEd3!>aGjNWBeRz>Y4Xb|Vhbd6oI%3Ix##TZC0P)EtIz&sWqf34wQbvm z4>9dwpq@gOQ&#S7TXQj_{7-wjujlB{k10Uc!X3L(C)%JagyVr{a#It=jc5`* zM)=D2`*c6H6E#%FC5R~SF-rGpW3=lCsLjh)v1!k?HtiN3hDBk!nlcH#+jYlONIC8t3m<5@GFq_o zE%tXX^nd}s_4w*48wkyFl5K4=tT~ReUy=qT_F;)DrugP$8x&t)2)wlW?gYR z`57Ig?7}C|AdgXmwTr3?sR0^r55bfGhHJH^iYwD3XHkBMIV7( zb#hktd*oKjKmQ>VwpB;)TvYkHkP&R!9q(1^&C%7yBV9&48$Bm^R5kkP9e$y}GKqGm zUM*}ZBYxoLzQ#*V^Qbr@Jyn@Yxj9Mac@pOI^D1c!V^6hUW;R!c%^mT#q;4&0S3J_w zW=mg>!C#HEZaA`l1$PZJnSOuba%X0dd~rQvMMdh{&Bh_z)U$Azfv7$j)UUqLWU1o+ zJT1TKo-+06mtt0o)|W0D$V}T^436g$N7|z4{akBW;}Yi|dLtAzIq@%Y(JJ)!rqSqF zguI}};u}IO)azibkFn5uoQt=GL_{B|HUa?o)0YLFlMe)SzQ+bwq z+>{wGDGH;T0{kz<#d$g|zl%x?5i|)qLIV#hiMWL_3$4!NkLFZZ_ zDR<)_0~L6NyFCvCMt1FUB7x00T^DB(yDxx$+zBOQ|G7YDvR@8%_K5fH&cC4^&1DI( zm1pW*K1$y$a}UbVjZ)M<845-*opM)jT^)u{JmGAo8ua+L7A&kfG^!6|@;p6`6m-T}S@P8@zic8Al4Db! zG?``XjLBqPr<^!v`Q7P7t;ISbo#g2bs9H>)UG1F@A&^{Y5Se_i0z%Kgztb*h2DFt! zq^;lk4q?;#g!B651aGNyGm|iCkR|PSbW`Fy3sAohw#B6Pky+vgl!#m%DWF@z1s;zA+aRGrPoV z-BUk>>#L_vrckL{sjj0ii1(d6GsGqM_R{K3Cv(hBFKeMZz(!x5uQu-hd#6;a7O(qhdj)D?~)5Ul339mHqX}tzOD?GY9O}%bb@u}ByVPUFp zLpIOsKgO_+HQy%kxzf50NyiOAo2bnU2O37Cf3+oJ98w0La!HHvKn^2KxWACU(BF5# zqVKEW>J?DN|A5Wc)Dhf`Xd6DY(Qx;O(zs3+?L1zgUp09q^gcc9_x6;cKu5!bXy9n} z)|_IL28Csm-t~bV(j_LtW9As602HaY5Ol3U68=2@#Uxn_v@H$+Ez%?NFZnZeS&;XiEM zQ`28o`}RKFx=b%WeiueT9YYQcCBjMYIf5o;aWo07#{Y4xOkwy#H-A;9jP1!RcU2Zh z1|#>P-zawD&LV&-H)ij(abDlAsPXQ_4fp;@cdT0YMMerTz*MhV<*@4pSJ~F1elAEj z-4>#m>UjuDEwq4l-sKpVj~z#wS}Zp>q=!jb+5576U~3x>I$0@k4Yyx)wVl;!tj4B_ z2!`{#=n77|UD*)M((UVZOS?OiYE`9DyDxTJUJ6xiIxt?8B~6PXHIhqynZl71;8W2e zm_$QO!SGV&m{a7UqEjyy9Kpb3DZ!dm6ySR{dbvH2^Rzs#4-_q*y4oO#k~v=~`_1wD zx!0pwSr!ia;`!WvrKdQszi*F1&h1gLmxw4dhifBMklfp@|6{}SVcq22?QH6O*XH2R zxp64%bUyCjHdvwcRoyvfqQ$pXC9(it9j=p)DL1s7kHIK^fr@w2OpdQyE%qIF)y;(1R}ktprifl-gn{C&Tj?{O{<&-KLyLkr{c zxoDAGq37=L$R|OMM-C%T?nPsJL$9S>MT)fS8FbWElQj#{ZMPr${y4Kviu^W~qjX1y zTU}eNlf^QgFDxf_gT$Zw3}oH*Xin~9bn{h84yH~NCcmBQeZ;j2XNU;=ef6I&vBWhN4wy4<90Tr{&@M80vn^+M9~x#O1(*{#-@x7@^vGL zL2)9r)h-ZQ=$Q#NJFm?WNVSN5@blG#|FT&#l2jePGc}<|!Kd*_CpAZGF=GR_(T*KH z>R6MPx#72XS5#pzf3Ik#KGMN_^TWzF-J!7W%kz1edc=W?R854g~Gkv4mVf7z|;Q`qZnffKrzl)`VJ zI+||X4xAKg(ODWi5{*_-+_SVRTM#=~PC_qb@tvaDk zdvktY)1%hvotUT8s{omp!R5(3Q@ro%1Zk(rZM9uA^O0fd#YgBxVe~7Tr|Caqx*|}3Y@1t0ZpPDvD<-fRbLyO3Fkt2tjFw&qH+f?;A)xie|bVnZmDYl zIWw}$Uc^zkcg6`*822;76qogQlU~aW+W&xg!sK&4eq_9v>}*F^9C~*@O{k8B^NmU$ zF*;}^C71ZkG8V7gXB@=4sSLxjZXsN@vw7gFXxSP;Av*6eGA-}zh)=$PLo^w@2xPGq z)KCt@X9T58PYx0X1S#=FNhbf>4&)Ii%nbm&M#oT;56e{5V08jK z!DxxWixOOjS=j&A4V-KS8nAX@VwmZF$E_rtAMw{MM6(XdtH<(>TZjgyiMCpT?R!it z4j4-F&7q&4NxBt<>C7Cm3?=eKQ z71XexBm_)zY#a%L(o6&}{-K$eEZ}6|g-rBsGmdN4%d|o%vM9GBAw0c1nwwFDM#@1p zS*9vGE}T`#u%UHp=OH7pm1Pa_+ju-vL+?{bl;T9XkX=V6P2v-^_;?^{=eZM?NzlfJ zetsTAic=Z>P$f=Sa@s{A{?{o4Ke;M;NB%1>G9R#Rs~5(CQF!rVpW|l%4^E&%`nTMk zNE}gUE2Tfc?EJL~4RHLq+qRhz`Y38d1<@D#sWhL-he(t48&g)`(V&xL{Kz_^f;xML zV4-+aB)SiQjj^-aq_ki)gCb)$$!x`}K{Q9s81dYW|CIkL`zAYk(tuJ5w8H$y4VRfb zqZfoIKWM2TyC_aI){8s!<7!{@cEU$@0Q-nea~M+rMYIAEI6=K&Nm-^(L0PlURs|(m z{zb#&=sSPv`yB&Dgg9$znrh-d1C?`HDmrgf-8#_DM0aW5l3sZ62KOpPn~4&n26#g@ zs06em164aV;Tej%YfYE_rX8VJ#u)3lDLyH%>bw|E#_rK9@)gtMF=4@g22sIH8J9qV zz`1`ESkvG`ED1+H)Cyob(!7ynDVP5Ma}wV=_6X*Mw$55Ll#5SCjmhXGR1Ed3TrH04 zgR(qYyPfe-J4hvN6gCznrWyD~HOO|LBA{T#)B}eQn?T;rp9G z0T-SQ>s&e|4@ilo8zZZi7wJ!492@)t)CAG_=_?6e_)%`gkXT(G{w+5#%bP!5qYhDQ z$$z{?ZlAvBrIL}eCtcqp9T~<*cIZ_G`NG&G|G8r?r6;c=UAbED@9`?6j^h#GX6=)T zSaxPyyndyk%`CC3w`M1AufEMcXL$wxpzPE-{5%jtrgPT{%DFMeS`9kzD z^glQYbt7`;rs#v!s@&exWe?lvhg;VvX2iie4+HA3l0)@;rCS;*O91TQ4*s?@nLWM* zt3~CyBfxz0?S7`K%Lw1WDLrSCSzrS-tk~SKG`8pw}s}eBXQCB(;k!w+vxc3G&Ezc~uoV z=!z}_Pa)cR8E?IWqSDL*`4T`uX_3-yYImm449D zWz3-tdsVDhul2@UOA;-OVofT#89G(}9lBO3UMjx^E)4i1QC(O$os zB^K2IhyY>h;c{P6XZ+N;`^iT~bS~=@jP7mGRic~@>-0~Zz(I_jDiszfQ>-*dC1{Qo zX{W#OzRI+T+Bd_hCcqlhjAyD9sQD$I>vHQ{nsx+oLcqAF524M!e`ja-W1MXVxn|}G zTsCZD*9TIOx+N%xuOlf}ll)$<86DJP6VlASKmVdEy8N%oPE+cxYs0B6VpFvd$=`3m zWtbX@2f!J)f&v7nESd?+UJ5V2+%pdgtZQOA0Y*tQQ>=?uT))jQ4tZZ8m=Fq_7ve8x-XlQW zxOZ6Au4*fDevysw^6zG$Bre}O``t*ki_b_1O#`;l+sG4eM zL~6$4SEo~HJ0DV2&H=VP4LD_{%cCI0R;E{)S+9m%G_kZ_1_LuUDuH>gV)Cn{ASgiF zKsRNQgLxC)I;dGU?P!eNy|#`~V9!C}0K?6<3-r5S%;MicdN%Gq(x#V}${UK)(50)V zTYUf4CNN zlL57`SW*7%hqN4rEtJX@#$m_7*xF_K!aMP|f^ zhdjBqc}!{<9_;UXrUoXl>edTO$08NXL}uLeEH#A2h7o12GPm z%SqU|fF;Re0K&v^5)>@s6&<72I{iohCM_HeG3N0_B)YG z8-arK$(x1ABgCmHfJ56hcdBGqgUS!NL6|6wnFI)>WTu&YHZuMZ2oD_!^kvk7p=P2G+|DryDNa8r!ST!vywxp6;td z%-3cAW;B~=;H@Qb`cI2H86XY|42^2Ve30cMf{_$Q7|0Qdcw$oi8u<(TCEk@k`Mx+$ zIbJ}JG6?g7!FDOiaWOT2a>MCn#QTfcHzM$JPNY1l``GqkCgN?MyeV;lHI#{cK?Iem zd)AVX`t`^C546`~hq*~{vuh3ji>k1nnE}J^is}4=B+ml~p*h4;YX3iJY0cMhM+dn! z?Gv||KkGM$rI1VYYw|T0fQ}QprqFRgJEG(qsu#W%AcE+6-G#qAGtBmWn2ibQ?$}n{ zHx#i*F@J^u^GJS!pgRV@6-LKH9+w}6g6YbEaIU*4x?m&=3gp=z&mR^l?98};k^ZXC zUxbbnG(gBNgCs+K_!S?5Qmhf6w0Ok z_rstERkfp^fmsko8OUx`kPT)>lGQ&Vm!a1GE4%s=$0Shjf1sutT}#9B6xdHPVa${_ zvVHlV*`PoBDFyzU0{**GR@nd1$U(oH``>b*G0gu~QzicTFVE0d#sAh^86*6+a!BUC z?3S<6ss6wDWB*?3GDT&lw$OHnTOCMvNBt+x(^UBs6QHeG=L6h!#|Up~WwuI&J+hgh{ci=U z2^saTQ||!#U1K~FKtl*p>*2m=d-3%5$fQtoIG_<7SvQb|>Xr0g_NxDXb=vZjqkxVgEncCjc$RS z@w&Y*sBO-fLg1mm&{&{-6gqlpdi;&2$^YrKV}RT8?t?#DgBD4kZ};S&6xUN5nl~}J ziyiY2gU9r5H561ZeE7{g1haK(!Z@=_-|yL?T2@j46D=_j7x^rhfiS{e&MZ7tHAV9y zYTT^>n~!qucnw|q40D9k1dDB92FL)ze3gw{k@s@9tFUB0DWjUuUMfI-Yj2(sy2r?P z6eMb_y{!wqcBIx_n2*Z z^vcH1KRk{Ld{+LMa($&z45Fp)gY@r{0g|fC4Pnd6eTK*`&PXbAhxC;et||r$RepAi zyFi_pBdra|T?mCDCeuN8adATyUqtsF-qBeU^5RH2D|bAzw%!6Fac}JMj|{Iq#cB63 z6p&7uErLv~sWILw=c(3{0jugl{IBPW+|rdSEb5z-7+9e?U^V2p4DZuB)3N<*1dZSs z+E!2s4OOmFHG6Tir?XeKXz)a4%a-|V$8Tz*gYnmTaUy~SwjQ1~-DxOBBBsGDd87PG z8O{mW=xe(F8T+iJB_FWe^b}Y2F+;cDNzzglRW}IJ5WDBBsN3NhOTM>Bt!6q_n_WE? z4ob8^_L=p~chI92LM(zQ*;`rJiIQ)Gf3dbcqEB$!VgIn`QT(leY#!Q?Aw(?k0pcUT zSqn_re#+Vm9v#MxR(@)6psS7j*)()T&$73mfm}m_#f-U-Z)?W&d_|Kw_MK;UCXvczYiMJS>V|Lt^jcnfprjuj=GzkM+P~*TPc&b2vlN~QqLO*3W z*L;zrjppr_*~Yth6}I}4s5Iy>SNHh5Md(k%qVu?I`_I63%3B3{R|@>{{&-C|8G}cVQ&Jyv!(PFMZ$J zV|J+7k8hqwvI(N^vVkqmve$`Q$&Ksx%?8r5)EaAq0=T2I2ZxTQ&5Lto<5nPJT*XNk z=~h*rDx^Ayy=Dw>cgGqJ)%^vjh77WBOI+!~0jlb74fU9bN&_}bn!sagi2!jsX8C^B z97gr{Z+0wT-Rrg@Me35A^Cb-=-@?^nbi*fD8M*NKMj1=;ik7!gB7g#xqa$|v8YXx} zv-yzVMd~j#P4#+NOZ%K_Gqnj@2oYb&ey|uvptZk`LzVn-PuB~(%KYL>-# zUw?+lZdatR{nDYE#?qW;H@nFw&ZyI*qVY%Hwz?e{5Be*44*VcbV z9I`VPD_?w1hYMaP?;`8*awn%FM4ToNvaluCkIs9P=rCTK)iY-6n?m;zr)G<AJodR>Oqj@g(C{2rzeYpkWU-AtbwXew>< zgI2Os>EED2mVJf>}K0}-ZH_ zbEiBOUvm-jiN5{Zw`Y+4FM2zQ-^CCP+WB*M@tkd#ql+y;Zxse|SbX|-CxRzv+CMk8 znyyp^nZ}e$41Y0cP^~RjH8^xgYS6$h8e3A+k;}F)$Hlda*$Wu*`A;N768G z#S8nzyGtnxJsE-z{QdyR-_Bk`pjlKT?gnq2~bT^~5%}Sn^|o=EUQ~1&@>#$gnLp)QgshG+!=ntuaXLs0Ggv{ z1qXR5wHszDbpqLlBMV||xKscnxGJ;MxEwWx29Gkf{u1=`QO=Tv)k%JS3->YySQ!@P zvku&J@2(Sy06#K5N8(oR6zxr6bI_2<6p&QQ2y>H>GBtnxe{O+LlV^RCv zVv$4t=O*6iG=YDD_SK?-IBhfBs8ZpAa_QgH3Ovi22Z}_bB&y>koQKNM3veW$?JK!1 z7QAMQaZdlHM+Ptwjhz>kbrv-;21@|&DF-MNgKbw>^gcPDPOeO5wf|NfpSH+{lcEe1 z|ICz+wATk7&xz6-WQpJv#C5qbHV^9P+MU>wApb#=HMw3Ts7xfZ^c(q3cGk#BpGuiT zIE+uZRz{M+Nt?5_gTO@}WMUV}$}{{1g+ErMKV3#68CSz){cvJ0XSZe@=-u*-^u4n( z=@MQ-^_tBu=K7F>jGZF|-I$hI9itDi-&*8ZYU@q_x@1&jupRdlToPoM67cZ`^<|!0 zhv&la;N^)0T9sKn?V7@(fr>OjPZqub%#r9g@IX|Sf_ky_30u-F?fV>EFV(!?#jrhj z?mM}B3}Ic9l2FEG&KIIjX_`M0cM}v^YstzTKT5~Y1!&sQu{)30nkJjKZ7QbjGz=gtwZW1U%9gQi z;u_#*>}-kiW&!JXkQRB(gUl6l6{>&Mb%Lb_GG_&tyK633jN*2fbv69Ui|d`pjq+H& zK%{bfHc*Vr-C|j}rd_Ca&MHua7op)DC`4!IAZ1kJUZ(DcOpgFe92lucEfW=Y*GHsai4_@r1l#GO%RqvyLkdM_jG$43WPsC4riPO${( z-c8l7ZQ!lO+0Wj8p{kg$Gb@vc$SlaiR`E8iOjN&W=4`m^sEebUGIix=0o(V>7{vI`i|JUhrlAe}24da@6*qR^=tBjpWVVX(iejxJ<@Eg2yzj0lZAvB! zSbw5*Lnl{6R;;tmPnC)y(9MD^c^l3|#{XA&H{?{^k1{)|-HN1r1yNJd2V=;MF><6L zDf`V}hKLUD2MBv0MN^ArEP7&S^;2Dt7uUx2$rkM#LTf%i=aU)B6Bx2wfq(LNE8)ak}{jXxw5WM#A3}P5Tm!x$Pjz} zx~C@X>s%VP`1G$e={|hjL}Ts>?9}jR@%pI_|Evo%B1I`Cf!Uu?(hr)sif>I=%jujR zlvSiA_W_g_d*yp$_iAMoWz2EeNV3h<k;Ez-6Y_EkrVi3RR5 zS%n3OR!XD6Z@=EN8h$RV`$&q=!A>_1mA&q9!w5H3(Kx$bYbotq<52 zRUZl_IP-^QnVhT*&CT^L2-y^McT5%&(cdFiHD_+x+_fd@o0!Hp8n$iLJ6Y11qzFPW`uDpoZ7rMW!vD|sa-yATt3wxs=w^k-xK z=g82!4g5SIu6FFs`@oqH!qI5-X3jX-;GAU?wpwQ5T6|E&#K0pS5r1m{f{Zok6JW}L z6u%78_Q>#U7Kt<>lOxWkN<82T9Q^`xvRk;jqR)7Pr9&2*;=+q0wrEwm^+K&xjj>w& zL;P~dy0%7~OlefGM5d}cwr12-BTp_I>3nFoWDQ^3MWOvsz2*l0apK_Tro(?<2vvMW z#tzg^;NLVx)-U_*6Ary%!0!gg#Cv^~9P&I6Clbf{d7V% z1%(MT{qC6P2M3z{WP|LupUq>}hrai4!xN5_$U{pV8nP(R-)*=bU0*Ie8#92ffGs2r z9{{knWn|V#q5@1WI6Mh1dda3Jk;VaS%Go5k0p?+I%jgC!il_gFuD1?qbB)@5>n%`9 zi-|yl4mk0;RaS6Wk#L3nV1@viJMFGiT$>=@mVJL%JW=`nx;{&Tj>$*No{!ul?yfpy9wZ%HGqF`1;> z%;=oB_x%cBaJn{UqPf6qnQyQ?f0xv7g>_j&ScCp)Ps(R-qp`zu>&omp#%+$l(XX6S zYC5MHW<_$ls5C2b>>{Kg768B-T_*BYuo4B$u>^4t6Mn*LB`dBXD zsat@_+2A_;^{G|c)f+hUCdI?+RP7_%SM(}iN(pz}lphHHC&%jE>6sBHB|$}Et_9(= zre4EpUF72Yz}FCgj+Q+Msg96f>+K`;cgFfHtyLJ}6UE(uV?~gh&J~)~zI}HGjCp*v zOX2ykNH;YR@JOFn#qGE5-0^JF;2Bv%hmYW@6E9I04=BV#cjt<0O!6NNt9s*(cM_0Ya#?JiuRr@}J>OuKYnos_&nDyEYPaRo|9g^kpO+P&M zpU{uik?=KgE!O7tFw(nO=DpwQPNO3D5}oU;Akf*Ej{vKphh3xFPhwrRl2r>l!u6Ry zt}fCNK$F=;D5361!AP3h4+Z+-ms_Qu{P~W^=btCsILSKCo|9ZJMmYVT{9dqM@)G)w zLQ>A49{!@%tGIRTY<^HrZdNmG}!k%!hcW;bhw}tyGxxTQq`Ylc`zgJh+(9iV?54PSTr(X2E_hs~l(lA1o>{W?+bbZ}>O)>{U(QCO6^9MrB zVg?oF!6BiUEB2aqRU6&7%U{x14O7~kg<=ekORdR&wW3DU@n03=hv79Cj9+wq?r6c9 z+`nV!bVad5%3h~qupy%^QhF?7=x@}|oYK|Q(nn=sel{jg&}7mhRRu(%cqp^HNjY6c z-Rex54--~hc^_;vH$P$^(6CJ;)%~{8epI0PZ}VU&K-rXejCeo(Mn)VH*XneDcmXf3 zTf^H?k8?^aR|hP6?cImJ+N*Z;k9>I&JU5b$8Oo8l{d({wiO*OGCZ#k@ctWBTU3Zzc zSrbyZys|hmR%rlK?%%;MK8mN^xAjz}ho^O>3dePI9?a#c9tb5V;y$VCC}KXG*Wj z{>`_07Ex+{R$J)S{zT@KO>cy(6l7&|*02~7keR7tD4Pw~g?h1fW1=g#a`f4A7$5M^ znfGqL3Rg|GBp79Do=!E$B#vNZ@&oCJ)~5EC3`LCE^Y_a?_@I)t;WzZ)lGxFuauc>z z7bnS>entGw{MEyyeuGD>63>DLBpQ$k!P1UGm%j(gYdyWQ6;GAPpiUDUEj zass+sP7dF6OKX*8$@n}TiVKTqoUm{{ph%A(%apHAO*_p0HG1fS5O zfc(Sx-IP`|vw$hrTeIAB`{juU&B`uMKQ|xNIzh1oZa~O4%O~;r9-bQ9)$!HoO>R5unD`>J zX|VcaY{2%k?1x2Xv5;{;*ZH6py)*&df}xk~ zxGh`C)G(ni^+4^-DEF>{J?|#k>? zhpn?i+i_60HgZJAyIhV#^{6X}1dC1aRwFJFHp6p2zs9DS7m=iT2R$JradmOG3k?H5 zHD%s9I?&um$1JJWXa;KnuAhH8elh2!VH`)=0RMx!CR{c>)X47ZSooFwboNd7Y$3f| zPVqa5ovd=oks1d=HkwQgdG@-mgQKHtA{#jn!(ZB~)&@=47)` zprv}?_$agYxSONs6AanV*blRn+iwl>)?W?%FN_AK7N?CpVdaIT7r zixy(wOjg?ko3ve~^1-R9dFus46^uEJJ?5en`vKh)HUCFUz_FP$t6}r=JM_-UrP-6m znq%ASDWAScso+zmU;UxFoXdM{9&n^8vrBBwYcG)OFHLo|PM=$&A1}DS$`YQcU*_HT zi+D-CcD;n@t^ex4SVsl*qSmQTM#SjbdD*JiDB0UXqIJ)uX%%=&1`ynEZc1&b_<*U- zxF6%J!?{&|bZ3@N5I?`-o&clxT<)|4{y!#A|9q9cNkhVx25)Jw*bx{?*=~YTAjRvn znMNAvU-|ha1%T>-p*Gpdt^;^MIbkSeJ{lDZd59KFn*-?ijJW+AGY%WtNZi(k+KRE)Wv&LO{Xd| zC+RZl*c%Q{d5O1p*%qpEiE=WN)+Msrr>wWgn2>X%vc?(nzDOBH`SQ~8_E)KT3Dy6R z8n$qMyI^Zl%hr)c%No5%SuLIMgUCR}=K*Qlhl(VXe;JQq`@JL6M%Uk5(b_HbWM7i^ zE_Bn>IZM9D@}_9o|FnzLusA)3q`jhZ7S5fYXVhY!8zA-;X)<4|cX4?b6l0oJ!&mpp zyM3UvKPbaSxZG|~>(lgiTiq<*;L zI`#uO{rr9f<1J71=c(e|%i*s`+cm03W>eQ$A*nBOxWbc6J`a%ln53$(3A~W~G)Io1 zp?>i#RkgvCd(&BjPA!N@y)Zg8I7`!zV^WqiV~AC-5^?#sMfBH`(!0hz``g*GT)Kz3 zC~r?O(oNo=%ne~D7VmO-WpaTmSEg*9!|7JnpQZ85jpC-RP2ZveC-bYm9?1)&SpF%F zaRRB64Q`*+DRUZz#-dB#7`kd06PFh%a1PnFa0@PR(fTU{wF?{e3)A%~&iv)2q9p9` zE_@lyoN{xiN_7-cda9gNu28}_xteBc5wi%ERUph!VIJOX>&neDWPLsmD_$21er+#9 zI6t%=lBa@qe}X-+B#Xe5LWXB&W^j^ZwWZC81NMh9k6+4y6-)KLFkJZjw?==i6Y)&kDV$*?f;H8Jr5qfT}DDJ(TWaE zw@@G!5e3To@ipLfK=|?HZ47aVtfSXW8BWSeKsRXR95F`h|8Nv@Ri?yM8{oZ_&DTCt zLNtci?6V5|YIVVR)_N!nsLnne#lau5UbFB~Hv#%PLv-8?xfSo%sc2P+KW*%SR3y{-sZcYls8L4 z%m0$8P>HSk_Dcq1^nPc7Zjz?7%Mzfpe=%v@E}n1i zF?Dci8eor_MR)92=+uEbB;nrbJ)4SD9; z@vY9MqIaoJ^~=7lm!!_Xv3%HBoyOR?8weI+F?Z=sfjcWHc66F)F8}rZtzND-B38L#t`%Tf z<8@ex6zEqMam&$3UN&|M{rM(sqVHiv&0VxMWR{&%>B|5G(3|B4-xG>v|MS975wf(n zo`=F(^W^0tiy{qQ=8a|TlW(s5t(Y>B|DD=bhGU@WI^I4pv!y-l#CJUXh{hf!FURUH z|G}UK*IRa5vO-@fcpn!sJlZcoFsRo-6)PoHkWUQ^1AFST9$E0g;oAQY>8(oNYZdeD zaVA%@Bai8k{e+g9;ox@>nDQ?q@i)4B5l0F-KS24t_^DWz@Kq;GpkXR*MWkOSqvFzL z`eE{`G&uv7O&X`AFpb{k32|0G*Rxk`;A2*U?G>9MKM5!MP>~Oi+D5r(FV3vRPY;{h zUNt`G;6cw zUcR^=;vm@4fq2-XOPzMG#A<6&mb^&E8_q=mx@>dw)je9Z=89U9{O?d5aoEW@90^U=ZYw}&YOZK=JU}|2acGyIX`!hs%&$+Wm+xc5XDA8^yuF%T zGqS|BkDU=&a`tuLU}$kF&0|~&+s(sR|Gp7_C+XI!y#>|U(TwNFA>+5#3}e?f4r&>7*ze*xsJ2ERBkYqQPYM+?FSex-M6EElguyUVAGH@YvU} z=Ujf>U+H*p*HUp@f+Bm`6+TTjC)BbC542FKHQ_eHd2^88J0Fq(I%1kLO%H4Wu4oS@ zOtxrbDt86Joqx`1>9efo;CnYQqGHEKHN&FIe~D`{VzJ1E%H{7>e-1W`Is_(M`zGg> z&+x%?W`E`PdaQ7>QKP|6WPumWxZ5S($0kpuul6kR=hsPS7P>Y89<&1QriH^B_-{mML+*9#eWn?`S3;{jGnVZSU)%w9y#tc~GzFVY_v^*_to zgV>G#)}bnq{bOaq(5_d=aou|NA0vUy!W>sh=x&(}-{um_CmN$5xV~zQ$8`6Zfl>`* zUWxrw{Hru-lo#+3bswk6&|Y3*mVOQIn?3Nj_5dGNyFFvV=G4YY<_)rdIY?E4+b5`9 z`r74!$zI$p7U|e4c>tnR7)Zhpedo9SOYaZ>QP`Z3_<6OJq|;tUhgwSh%cXCZ!pF0K z_zP-p9~do$0=iZ*iGjd{a`u%iYKjoxlG8s2L+c{$eo6_lS*p1v-_z#NFXzh>$MBS^ zdc}%MTI!$AEX@vy!>i@O&ld)=v|C#jQThb`m|iuuHraf5uSP>T^=oFPJkW z#j)-Ac4%``df!~CxY`9|Qs*1T8By)z++3cJt~E%u{#c`GdzyA$Zp*3(efl`>;ru{; z+oq@8P7KVPr16fB=Ozsa(m4~jkFe+{g@mC4T9=9+B*jbLt{|wcBdb=;YSC8EnSjF= zecGUjl~TV&-;-x@8G5j7fve`q!H(_Le@bdFQgEr;s~m~=D-%2^QE5M}lt^|Iv>^kc zPCA;?c#bL4W|-9S!w_ZW%QK$Gg(TQf>7DBPQmh~~xa&kS`0ihO9;C~Js7+j*1Tg5v z{HesDzCjo8i#$jm&Pyx67omsq-iekyq?(v6)v&zxb>+iKMRN^ss=9Z^_Lq7V4W8ldY1Pxcz5N#hvZ4ertvNU zV{axFW?$mnAdYt|gI-Tz`h26SDl;s06_L?z;@uV8-9&{JRKp49%CRqqW{4b95W z5-S3|+0x|Ppu74+q87bo@oYP= z`Iz`IZtW7lb$BG0#>!@G_PAb3YpI7)O|0b8IOk~9&F%tyW5_$d;AR2+!27HjBZcg| z36EuS0D=T39NF z|8}9XPpdb7S~iPrH*9EA1-A|Zz%DWkra#msFP@3M{5I`&yp!kO9r5TNtja?UaUG4%|4YQ|Mgr#w0~Q;f73rFCDoz;{P`x#e^9&`@aOVBNDRG^C zxEdtS!$N>JRU(tIu!QCm;+1#li}Y0&$n=@(?H1V^s~cp}V}_iYn@z5Uhbl&84zyNr0upl|3}zb-!46BWcXYyivp=;%keXEnf2F_|9Ve|BgEKmeehIIVYFWhXa;u3Da2RM!t* z+%Ck8i|A2_wj=G8GCpwgI#6nk;nt{%tZ)dhjtnEeGaA5sVpu0%GRgFV5YjbAe5Wm$ zqG6xgy1Z7~DCix9O<7(BeudrHE@_5AlALjGO_ae(jUzT-*;Iyf?<$y1fcnEpmz{+*fRk6)DNs$uKj)#qz>AfD zlXj=~9&-b6tWy)4q3{r-AKd=U)me>H^ZiiWD={r5j-1$z^iVoZk=Sj#=s~;piU@N5 zYP&NEx3wqXarkbrP}tePBAjlRQTjq@ZdrTea!vR|!hH|3f}{iBj*mm1MNa&Z@$?dXO8s~h zY^q|SA#Jo+b`CNY_FJxqb%0!hJVJHO5}g$1^-;{a=QD=K;?cio7inbsN{Az{GNv8W z@ZxiGK)=YI?ht{1)oX$zyt!nVx!n!Jj+RTHxMH-;8p?=F6kLP0MrT#g(e?(sRSB_E|Y!mP3scpMTiGTDr zqYy|QCL?X{dD{q^=z37e!A|ZX3_u^D z&6sZ?ckb}1Ju*T|tO9Q3JnDaUCr~EyNlG^Vg~~mryAK6=z<+DVMzq6Fb5_6|vo|Et z{OEqY1{q+;#u6-eqZSHBkR>-4b_Kwiuo~^i6B>2a=+|(IYcx6^3&Lez-)y?}!@F?7 z2rM5CRf~o1M`-~VfTK#>JR!)(WgRFf`|oE-qxz|U0WH||!iM52f8UMt(PvlZx%8od zAvN{i1d-$O>@;Q+VhL9(I=Cp}zMEb%(#-l}Tgg``o(JKd2&dXuB0{RG?!pA2?PYZaHP2fMD_pE_cHatseXT#GvPh?SpgA%gt502h<-9b7<#Ns23wn=M?E;bfPr`%EL?YljhsR}emAo}kQc|lLGnzL zL=s6{Bi?~r^U1&IQG;(ZlCNe+OOKzDMGo{kSmxcD2l$)z zF9*Tgmh)B;TAdg|gdWs*lj>yDYs{-iyhjT3Ifw#rJ2l{_Gvz&&JM)cAiHS)CKf0%T zQ%qR?p4pZQDGCD~c}U|b1zl<1`t6)UQS5@D2yj%$5d#7akn6K_+LFM*YNcnNHWsJtc-{4oK^2NM*`v%8sisD0Xib z<0>lXaF)Z2$R&62W`_5)7R;cbS=9DB8VeB2F#>QK6Z{x`sT*!7M<(~ z_X~%2bM4Ofq1L9CbX{ z4|tkYuKrrmWC@_iO(VG`j-M#;8}f#15Pgn*UKn8djKSL?punx)&5v4`@P!Xu2!DN^ zwq=ze_~~I;b^new`{08C?&W zHJ5A5avZ|r>xhB0Iw$xZxP)qlP&LNCU`iYItKxqtB>O>8>0_E4V`)F$mX`GL*kT?~ z&SUfMKl=dolK}To8U7~kVCh zbF3=%N6mx{U5?){xydW4ZI;2DLt&s<^^&nz?%ceKc&#AKgdjFU-HCgUnNIrla&iW- zUFw`mtr39*f}S**pt@#i)25!ty0kiK_;q7|ZOF}qxlrQrr{6yK%@oC;JwA_{quKp8 zAj}Fnq3wJ&{zLdT_VG7(Z|WPE>r>&djX1g5rtd0Wq|uvf9ax&N%&3~xUr8i@ds^77 z0bJe?DbqqHB9DeMCShKj{AdK-1$MwWFz-d5wPW`kLxLyI=lL{OaGg^mlD)Tu$t1Nb zp_Rk>p=}D_zwKLP@BO+h_JZNk#kSBj3>Pe<3kcctu#(0k3?lq%YS5@pdt0xmRZj z>tRzJ5QrVq&&JaWA1l<&-(oYQR*G##?FDl&N1LG#RyUUf5(+=f1hi*gBO%@jhJOiU~R0A{E4Kap3N0EPL4m)QZR;V%VSj`sxX>s5g5#r^|~ZDyt!ya zXdLFfRdCq)0ixmG#b&`@m-!?u;u$2}>ivGMJ?DD#BO=+TqToLSSLVp!XVxCC`RFMj$h{1i9% zKX}$UbFTUX!uZc2@mOtXOTEtjAHyd+5*uRgEZ#z^{NN48i8MOafitP#FWqPyjHU5e zu1cy^UbL$_f)jO*kWFlhrj-%6*y1tt<(G$S&V3+`ZE#^w+Hq;sF!K3xC4ly?8URtjwEU zT`mwO9Jnt58ZTBv0R%`h5Ai&C2=}%IondVb(HQkUvecq`#7+Ggw z%GA^c_taCh&Hk19kA=}zhc;b495t^M9=0>)9(f~tt2KUN z1}QmWc(CLu3oz`!8eiK<)`;OxNT&hu`gCb~DLjr>#X1a?({Kn(5;VFOL)4>~aks=; z=Z$EM*7h_$O6hi`EbJ1@FskL=zUVaU3FoP1{dBvPV86iogF}Y<3hegu(g!Tg__iS2Kh{1)G-Unck3gl=Ml`WJq< z0B*J>SrV3HHgh|Myv({;^Td;lBBe#S!iDYCj=}!?{Tl1rA8XjjxD*s{)}Acsm2G1~ z4y>cR`BnLvBT5xXU|DfeGxM{AI6kQWd&JGe_C%z<`Rj&8>aUO7LbOJR5>3s%zxYm> zn@03Z)y*`99rSK9--L^cTbvA}?LL$J_aTl{V)+iE9`)9jFYk{I8j+C76g^hP2d_>( zjI@!rC)W^g>?E%`COubsN^JK3fuwCQbd|hy?$^z7^;!^lHdk(t6d_-<{LV7lQe{Tr ztzc4TNUHV%alGmsqk=<6GQEjw=8R|!p;s>qMr%>~*=zn;V(XdYju)glb=(5kBJn59 z@3QX4u(0yFu94UirMj+tT+%LUs-CoJ(f|8S>dxs|qQ$H8+=`qptNP%x*X-ggXGL&n z^o$jE-qlRV+k+n~kFMMnsREsI`qqQ#zt`FL5mLm{pIi?A5u%#aht%H814x#=I)67= z?UhXV!HFLUr*zt0O6LS$9L)p0yGw_Ta*-XS^{y*hzcMg^lqTj3sHq~Pg~y_oZOOUm z4bwz}41vdhnhP`%?VKRr0l|vuN}*i8(LA(tEnhx?P0S8H%T#+_ICCt5xSfQwY$hK3 zTfk3sKfG&FsRw8^n*5EJ-@0wcb}s|sL?G$TzSN0YlK(y#wM$E#9%TUEo~=y{?PkMi z`KJL&Wf9MngDrs}7*DI~dB1>0LITy`)AWv*kT03??61$jj+k5z--`ZXEvA(xA=^Yv zpK3{I>IZjvZ!*mG7GcQGG%{z9sMX-`!)*HSsT!Zfv4+na$~)f7S&J9i zudO(&+EWtb;6lEBg^B&iV0=WNa`D0aq8!@>wN-Xeg&itPnIf4=()>)tD(yWUilTM- z-(iF-hgasjwkdVCABCHb;&^!<_x4fcn{YdFqojDKXo<_H(ghW={@7U)8tyozeg7Gq zW!nqQEZzRD>0UU(_<|)_??p`sfy(#lzoZJ$&ZWBjH2D_QV0kX`L$%@`!*3sQJ{M{0 zdrJ|5u>Hu(GfUm%4)O~GE?qu0wWv^~O(oZr=eMGqrqj$cj~lBh7Re5)YrGL+FL9s} z2+C?(8cmNKxAx>5`W!hUU*t@od+(?IpvZxaX;9_+S$Yfkk}1KM=)tUvGj6FMk#tfn zZhtu-!;;mtV}2H0%=0^IB^g=2Fhien>Ct;-!1K5y=JUI()70_wb%!F6h^un0H=l@( zbAeDqnJnhQooMdd>Q~KE9eh)~nLsH;{Y8J@z0Geg6pCAfqUYWIhv-Ar2KB`~L-uOi z%Xn}1joH3*M>bBPL!By}8>&kEE%1Hd*fd_S6z}cQ$oG@u$=8jJ6 zQa@*|>xJEaTh@GH5qdeB^etsprcbN$F3CkuKkD`D{kh3W-N8@Usk&1>CtW&;w>36P z|1c4>4OpJtPqm{`l>4A^yuMY;_ikgXQUbkdN!3}hMR#kS;qv2c6sJlL@0LP_j{QAViELLN{RV!i8VnjUj_>YaZWywo+e*sPT>!m)*vpx5&TSePLdB;NI14@SSIlF4TWjRD{B~nl?`}IQ?GH zX5JK8-UJ?i*R}P_LW*%wb>Z9BYU}zdzQ_J&Qkdl}BWMT;{G3tO`3h>kht!ckH z&PTB?bV$v*u?o~>UjV{4r_v1elcMsldonV}A}YDUpDj&O*lZgM5bXDEp2Q>Ajl^8& z1#snd9r7dN7qnu(W66~BgVe=izh(f9ZmQs28r7w8R)i+2Yi3q$ToLwFynJ3!r<9IIgAL#ou3lwD@==Fi9X{`VJs*`lYbjU~t=|z}ipWi*`R_4n*zk z=8jF>R9P79lL39v{Jm=P)4vOOS-RcQClAYzy!Vku*jKLF)x2A%!^n3ZIM5#D?F^$A z@pr4g_468G$7O&g?zxug@>FbLm&=n=Z^CwTJxeSW*DBQ67n@ymv4oVmvG zsZ-@b(6xKEa)K@_onx>p6;n53oTWe12p)-2 zvlj_aUg4(6z1UF@*MN-7yD`hDh4~-NDSjz*ReA01qKBw;`Hhd4Evjg|*(=ZPrfNVq zemNAN&B}?39Q;YCCw!jzgyGwrQ-KtuhGxhKRVBd=mwb&Fw)DPm_qTKC2Z4GnK_CWf zbs`jst*ezBsvdmuI3GLHFC%lB1I1p9$(%+jL9a0gtJsJy3ZK*}gRWm8r97l>cRd`1 z?(E+Lk90sJu3^vYSkXLvt*^AYU-AAJtSXlBQlkArOG>g}vNuIxET8g(pX&L^E!8_UH0}nSf;DrW5&}BLUEV zZ+e|W3_l-hj9;#X>a)aDVb|C?Q0{NioVK|VYFU~sADKtI0kxtHwj)!BrwSx0_5G}e>%G4{=s56C2BZL*>>pi2d(8rAJ?hS$jTI}AlB@e#x`U^4J2VC{`h4>3e3ra zF=gy_tX%L`)yP?+~ryLUrjpT5tC96=mqxZ8PgT0=&pu3CFlk z?sewBypSM){FUdHK7rMh?eNxPdwflqd_d7dE(n%Z(pRHOl*t5jRec<#*3k=>N;6b8 zn^V3Ys;TM!We@-3N2zJA*4MAX*Q>V}s)?o7mmsY%nIFb(CpF(-q(Jhe$F%4?sHl zZ4VFM1NgYe?We8zs((Ck7F(OF5;@E6@OqR5ZSwS;zLK%>{E9)6z7Tl zz4R-k!N%fws=8ew2M1HGdYwl_RTPO>EnHA#feK&x7%t|uEU$?HYHjcF85gsn)AA3s zSl^hFYcX+Z>F42-w0sARs0GrL1YuWPTGFDpelju`wu=ZUb2<;Z?H-fC%GE-ZIfr+a z;77ap>Avf>$UH}nPcmBg@~8>iRFcrzd~;;<#7=BF0JdZ1R-g9}*WfDdfS0_=`9il5 z3BZ$elG~+eebd)d&Lq%6T->cQ1^#Ni@_p4E1SFIHxhzV+$oMx$HSBzgx-zz*(K0~% z_=Ee0`*f}6T6o(_yzc?QlQNO@uX*9w^}EAaQHM&eEJX2wpJPP*Q(v!8#SMb&W8&7O zb~7OfdUjZpCt2U|2qJ56Gzem}Us-Gos-kehOo8{#nLWMDli&Oaw7F zje}$LwDjvu_C>p7?za5=d*Y*)y}(kUD&7qZK5)^BJd4N5*!EdN5aAvt-ob6>>Z*i? zNp+Dx6yjF)!{w`!0yxy;)Nf_@^V#rc!Ua{Uzt?0i%%xGDN(FwSV8nhGMe_EraV!63 zLN7lkf-mk~&Of?gdN@tqPmr{m8oU%)Vg{*6-%Bh11?6_%Wzfo36O5)%2@d9wGb`0> z&R{*xGCj9t>7@+yNU(G4^!Ei0VJ&^MDs@R?@@Ov~ip;sxY1_t|xz|s*y7Sa0|0J(Z z_V99Rf2kUM8WO9|KKQxkqsGFPP2RS{Sc!st_gVpF?{443{bo6UFY6~U+Fi96F=zb1 zPnA;~1*W(%0hlTbJj9(7A-;Zq>Hp-OJVZS{#xJbU(fHF-3z+C9?*PJt z(hZ#eXt(9{|4YF3%KXfyBQE$r;G;S)6a8MLkkTH*NW#Ec!@eCO|G6@dl1@tWAb&u4 z5mFt+6}309uWBbEw`|rx?Zkyk-|R22OEAcbDQ-DjcID>bZ!-Og1X+kKhaDw`1}6M4 zC(1WnTO}VftEw5j-#Kr0x=%2D}+9uMP9q z-H!xPe}c*>$6fM(+|kd=<==^k9s<|5{=C7RF9(z@z{!(lh1zaZ3fgjwuGlz%>B>*% zJaMyvZHDl7aE~uHyBS~^8=)OYyr`%o>fnMKdGU7AF$^OD61`ltmByw1SG?2S4_s2+ zs23SM`q%0Ja_1(Qc>_0#8&)?GCv{Cz9quDcN=qwK>egXuNM?V)Iwlpu+jTj&r0LC{ zVG{J|3=CEUeii5EgaiDyqS#WFo=TdUo_}@9rVpJI>@~M2NhXTvqS8{bkr&w_k-Czx zkqNWLBATj@TfL+E+OGB!xTBEl(ec&&NCv5OvnQqZR!@gxkqbSpyh@KTT~?U6z3_yw z+u&6A#}9uu7eY`s`5O5q)epp}skI8-L9y>mpXcVI5z61%hi&vor3Fd9r>psLUR{ih zVXg;m`ogK<_ym|8F2)X7yh(`kt{By5*=97tfsJ08<`TWpV50^Nakpdax2&VEMg;k@ z<)v{a#j-k#{lHvlInW0?2TA^=3KP;+S2FCtId&T9d8-S2(SxMpkII0)znd`SC#Cdi zy+M1M@({`Nrws|k4&E8h9$A0Zw)Q(ueacqvTbQY0XN}NjPd2ttQ__pHWuhTekXr3e z=G%#}ZT3ZRPx>;F#y&`qkkWOL}7`ywka8LHN33?dtGgFIM zU?Pz7NB`8mEK}0iW2T|iOqsk*5gz8L1p^O9j!g9uAK%iRlBw=;A;!EJ(`?W2fsDGoj9JA-MsMgnd|Au~gne3Q^?c3L zGWC?%>Ji4yU1V{Fx_vf;Z}-hKdIi&}Rd0k+zWOrDvSmGBn>3H#Sm*Y6a8>>8+%Q#h zyhNXqide}oWP$}KU|>Djca$G55UoWikfqBx;NG$o_lVSdF$Nqcbb{!6v%lkf_oFEA zEWSG}i!baPJoxmzoM;EalMku4d@ZU3G%#s2;W#1zJ%c=MOf@cVCO3itThAWfYhRwk z_O^Q`DO(#+^eSSO8#YCgz_os`@nkxO4nu13?gBFo!eS8ivyQS_0`yaX7T4=D1RGS) z(yb|ZuDx!EO|ec zU*N|M4hx~b0FV7z%>^2TmB8vSji`9glPqu+P8!o-U_TL5txisIxw4u3+lJ(Y3oP&p z;MpMjP|)_3o8 z&cwuf1Dh(k#P53bF-x=P1dF3)PZDaI4xQ(Tw81#cW^JQ3sCo!vQP>{oZw6 zLK^RNsLmd7Rmx2AS=w#g}*AhaU0Z8?%7cMO*o>li@?yx$&jfc|GVBvm_m+t@ylWZC}sodUU$h z%Jz!S2kHDIA8LR8s&$nQb51O}ufhaIjRCJ1@;z?VaT>lJxFacGyOtukAQXEG#ZAaH zqBTIb$8iVN@2)p|^75hY1UvYDL5|j<3rX5{*9uJE%co19L1eJf8b9U+k0#%Muv@r& z|3rD|1KcRc@*3;01CITbu)HVj1%S~!PPP7G+c&8hEFFprx3U9$Jl53^KWD(s(7|D~ zUcPBrDZ{R7eGUFDI{ zD27n{AW~ZPoaEfch~+a8+)VX7U2P9!PuRkoKx&m%j2;!;|iGE8V zH$Mkn?(!5?HNaZ?UNfZ>GK8%=FogNO(XNmQzI6eLt)-L6OE)w=H$9yaLP9vC&XyUZ zfA`nwcVm{2STwxp*TetC_zdN~L&h1}k7aPpLm%*VcDuN}(6M3M>WT~w@6R`^WJKoE z@msVlPgBJ#!>-nXlao3BW(OCtw)FXJ!|_ekaB|iv2Df~(i%w(unQBU$z^B+fK&p4| z8QxKbHztl-9_f40KPvcRFrKGl7Xz2@52#hwAB@5z4J-uy@-BKIb|22mr z5kT|I?XCCM%}6n9{oDDmmLuWfK=4XOq8@nH-Zt*=%XL<5OpMoGC=b(v%)EJ4Jj#DCRkq1X=ovA9Zg& z&O=3)t&j5(j~8Zcp5}!Ht1>Z`VmFrsyY?2JlKA`Vc92qiBmG>;o zk0;x(UEO2abKv9boN>fLl9d#0A3kiBaMhCb-~|!3kEC?>y84a?#MVkwe5$}8mGF9Z zg6_<&;Jw4_7ac3+ob9j-op(z$P8kl8T{DY-dw1_x>b5N4nN7SH!^?l68OiE*gb!#t zOq2hJ?SmnYC^pt^tEewo2}gSmvT=@PaUG)+^99yUQ{(rrUfah~os2Piqkz zT+?M2ss`%-(HoI!>wo(hE%^{%tOQkCreEOJ%*^++%U2I4n;ri$MeP^Vp_Ey9 z^;Y%0-Nk?F(+o+~rkVUq=N+PtsexKm)>MtAc7nD0sX{(=NCsM;rn@sr31d7Gs%myW zj$tt%D+oY%K)ttJGfk!RkWOEpLDk?i;Q>|sf+yZ0D0A7ISztTQT`p&F9GYMylm9JV zy(dKN^9zr1_|AP0B=X{77{pNHU;S`?BRO=XC3sbY`8;3xa_HbA!|7Qe4Q*R{cxJHg zR?q{;-8H-WqUbmOc_T(M{vgz_QIcVM6-%-DL}EiM3+8@`7!2G?yHPCqIk(ZvPj$*i z7z8W*FaTPd4+`p=7#m}g@SEp_WmCMvA>kS#CY-%SHYs^8(TU4MOA+I(QH{y(KQ>&b`;wQa;s}Ks-~UjIGIioYWVxuDGW=c7%dJ9L?pcZ zi|)OvZ*HfwVY>cV7RG<4)9#-fj8_BR#;23zYYwK+smGTyqsB54{!?4I1&wtxl^-ROHu`bMl;K+RC&JTPAEE0ZZs-S{v7DW%4EyZ8$sS|$UFdL-gh_rMQ z9Vl5SmN5|veTwPs6^T}!{pmKRBL9Gz=7E+ta@V??ZqbRNP}I{ z?a>tm6$a!Pz>>KJ8 zc%EGA-3*$!amH!CpR&`fajfIye#PIOu575u9l1T8sL4l3&BJK|PJP21Y;V@ysH`Rq zh@(t;om-@@STe$%v8&6K_W2jzM>1KMjO$ywSBrY< zcjW(vySI#rqx;%ElaPd<0fGb%?hxDpBsh(C;~L!EJy@{d?jg{)yF&=pxI^Ra?#?vH zo&Vg=^Q<-Vewuk_Sc|o2s=H6st~#eq?Q`wx_ucF(NU@4wK1Z2KZ!}}hlLYQbt+Db| z|NS`e;bZz2_Jarc$Hgcul4jwu^5WF^J-L#775?h&O^h&k#9M{0_N!x?BapJSMDer; zT=-eF+M}fc=^}3S?lnCxoWG=g7eSAj3%I&oUzMf8z1y4?(w3 zIJ_LR0D}Wrqq-(FLYk`Y{`#_9XFr2EDgWn;p^7V-!Il>-;CURBLNx?~s12v5-6~aj zPVDHT^e3osIL~6~V-eXiJ<2&dSS7_R19m_>d=&|=CiX+R=9#p6u<#mxH7WL4x)!A9 zy%r4?xiu3lQ(zTjmZxPs*a%S%z$@yXePLeSpqp3x8Ro&V0Zu_JWTX<;OrCFTR;X#n ziW1hfMag{JCs^w7kGp#-s{Nd$W&ynb^A0cPN~#uOAL9$3h8O$gbr_%I01kH)Ia2w> z2$tBel_~m;I4Gf|)Jbz$UaP6^MlEbnOYq$fJQP^Dfrx}(@_bbA^FH;&)M&Lg^A;19 z$*=N~&{1F}Yq}%RSk$qMa1w7%3GqG|yRetjIK#Lc@$i2=s7m<&mU59`Hcea{_Ou_- zCVB22V*?iY?s>wAm5wTvI~gM0eG?fYk(}Ax(GH}S zL#yTvwUCLWjVIEUQEsRO3L+|B!*&auU;oco^aZT|nWJ|dk{^Y(W}ia&91pBsf`<4C z_+xLI9Ur1uZybkl4?=P&gK)VIakrxeZ*$cy442S|n%1XgEBlNxmxH@(TEWT^`mpqR z26OF=M%ULpO3zre(>DDN0EzQ+-dRzsigJZw6Fc7Uv&5`fb%e4?tJb9v>ZuxquQ2li zA+2K>c)<-9vb&C;t4sr60gSwS zw%~JbwK@IrpZq287O$#ji+$mQtgKRWa>hzeiNC(ZV5pdW82apDqQWRzB-Qit&_Hw5 z;4(*aL3G+^8u`L-Rcoks&-tlF*V#>>ENtS+r;SsJ@QEoEiD|84Z$FOAoTYFtf3`AS z;#mzzj)q}R0e^chYIjeeyvrxd6N+__;`*-Jq=P61>qZQl--%;7`sN-vrziFSxrF2}Qnm71LbEl6AR-D(Bvvn%~qJ=px@4z7hRx+r0Fsde-*ZtIwHfV}{yage93+u(0PL-1; z?!GsuN{X$-%`0UhFmNJct;&zdyZivk-w{R>3;EE1jcnV1Mmx^Ij*ik^kYVI4p2t?u z!4i}}zcEr4Lj{~u+Hbt`(?VCd+Zv@CH@XJdHjPkI0GCv9*I`Jj_`iUxLBMUksA7CF_CL(vR9o-1To49hKvQ#Z^L$0~3)$n3^b4a(fPXXD+i zAczMO9#m*N=2&>2Qjot`vn^AZbcp#yQNE=9ESNO-tN{mBAqy%`w13aNGzlAgon!S6 zq397=-`gD=4A`mZI3Cu37F}~iQy98%1Ng~N*-d<$wKRhjAla)UDX%BBKmNGY|8ax= zLK%bjfmGG;Hs7QNMLJ(6TkP=hM`~wASTqyqkv7P7{jViCrIN}eOz8Ke*J`Z~E;cbO`9QWXEw2w|!K@)jd(s>vHm{vnb8vIl zgABXku_7d2T-FtgjAO{WfO#}W`LGJ)^_|YTdl}y^^}yIltrYsk0%b%p><&%Mk7o5x z;_)rd|6GEP`}5!E0Cj4X=gNr}M}KVhXF=(OkKgs6$X|>GYn@Wp-{8*hAe%9(;yfb@?@wn}aGToneEdEfzBt5qRJf)FWz<%8Fq|x-BZ+-G)hq_Fda*dL? zgXx(wMFzR9X|hVdM{?|t%PR))VX);%j0&x*OPUDG7_Av^-hD%cn=F$0g5|c6T8vnm3XU!l2VlwBXSL+QVNGFbJE_P=Xe6-8GS$2shByVAs`@lY#>FYun7abdY7n&Nmyf=`OO858hO9?MT-^ST_a^j~Kp%c@$3oF2@%! zA`;D~IWoy{`<~~6xTFzclLi=jBR`$25pw#ET%dBhoyId_T0@+i%Me}4W-TXcEKyY6 zAm&Kw)#Ntp;dy>S$>8LC!|(cSNO0oqdJDERS7P|FrzP#|IeJT9q@ zG8wmEpzSCq_PS}pay@Ef0|X@dy3r8`cZf&&`9TT^R6Yr@^q;^-y4@QcVu1z zxI~cz`DHr3Dp9g}sygBT!*y3DPC9Qq_GVR+htiBeZPS^l2m%eq=7tVp9Z!Fst86%9 zIF&F%Q70o`%e(;zh*#Z#u_DFG<%sbLl}U-eHVPs~8X(=zq>?jKV+s+Bl$$ww={d|3 z*-sL^$|_k9OXPiee0jUVXupat!IK^f z{Fpy^QOS1uG>EM-nEtk9v&scAJco=rTm0>8fIP zeH>Pba(hQiTwmaoqxtkBp?_Y95Tk5|tTcR6h5}186DE?sI|r_$bA03A;D&*ywAD=9 zBBlmGbwmLuPDV^{IMH89l)74T;yzChAca64Z++M$+59Uc4(V%CuX0xD-QE|hGA6oYl_ky|%^{cX3B@@(GgrN*BD`g=elr1c=Biubp9Qf5Q zr3^Z?;>qLb51E*-O)NNhtDZfyAIESK1sj!*hx-hf>YJL6gD`6x6A8vGb6g7qY5EwX z18(J$2JF)D>!eby0?(gQ8BH#~C0Py5Ty^Dy5k4p<9ghFp&;Hi7yBD*-9nw}mwEx^G z67->V)#AF!w7V5tFJJjuqxC@LbkMXSzGEHkV%3lVEB{qX*XW#gRD{-i(88@MvU?C) zSm9qCamur6xvFzYj+`a%y2P2BYgibwARTb`vi8n%XlkF=Y>7EA0mnhh((rzH(4v`^2?r=q1_iT7^qz!h*u%Q# zK5O#vR>a2|qenWyLFJ=^{|A|k9getMbL{om-TxD&U`imkv|ZESr|R`-ZNIuU)zv6u zq7d6?Ij;|Om@cxuXl{12*a=#-i`t<;t7<3wn_8eW&;AH4Shw~o{#Ca?s-`Y!^<41z zbQ+0S$h(G~7h--dXAX%(C?n!|)UNAKH5rcmm?CwQqj3o)<{3Q#Qv3boNu|g+P-&HL z8|Je2mH6-K$fa?TgG~PegeVQjmCvfQjE@PXqJ-P!9l`Fhj{mSGJ5fk!HnX!S|AsDB zx~~5HKlA`QqvT>BP8s#wJ5w;g!v( zb&sPYP1~YMX_b};$#0BrkZd3u_$12q|I}-rQRxb)t-zK+PH#49aPeY!$rS27``|;I zE@-E!ipuFK=_(?pUsbhlJD!?6ch{T$27Jqq%ILufQks=0qQ{!7onB;{q;)KbbTu!N zYu<{P$^e2fB#)-CC6nrBUY=gDrj`Ht=#TwOi+`LqC%Q};jC6Vjf7wGn`-#RIo`OYEjL? zgx!s&T>#AJTH~r?Q2X|g6=_8L02Od|+Q#+L%9unY+H>1TcD87g4!x0xt%WXgJ$m?c3v+w?4*Bi&vl{PYxR)dew z%JbyD!Str}Su4k>E6h3Ux%tNK9>{kE=R;79~8&0R12DM^bmKvH4|7R4y{M6Jq zGNJR(qnqcn%IPcC;RElm4YzE=P~KG&>}el3jiHWuR@VcyBqA!c zoM8a{_38KN!x0zEGT$jDf|{+uzsKByf21Q+i3U+?qXmyA74z*bDU9D6;6)D@D38xI z(@oZ@Rav-tCiZ2SS+Sp<^M1WBE~2eVKr0oI$Ca%Xvzi3F*!=`E^68EA?y=a*>KS(J z=MRyjqp)35(8{fR`+CpHK~tdx2sDTi53;3=%x{d_tSVNLzI&g(J>h84kmqW|r;MXH zS2T&7q^3_=&8V>Zq;RtKOwcn_O}7qM92waMPeX%Ymf!-L8R+Ug)Aiju^emX6r3zV7 z_?pF5pOI1RDOB}qtJ=S14|NT-E7DUhSrjI}x%we)GJ>*Sal!VsG)57Zzq~6yMqa;} zepnR+4lc|WUno7z%Z%jMOmd5j#Z0KxdYx^N*IYj)nGI2ZKTY+0W95sPg%GM^a55!V1 z*B)1qH}dKQZFF_Tj0!KJ_rEK;m1)JS^zd}zBN?#Qzv~tmTBUnBLjzIGDbRJ)w{ z;8^0LIb)hZUr~*F-heXxNi1=sbnjqj+b@*N`&g+O!65-lw|X4Gz*SQ=-NTs7Ou907 z&Md1;s++e?wAwzos0uEMw$DRG-jusk;~}?pZUmxSKa>AiCguZ32K(2Lrx-k_)He1L z0P_dLBF!~6{CPRI56j!jrs0cwqsk0OQ*OUJv2Ac^1yj2=8d1W$kZ<3B=yEnr@;U5EsxY4aASd+}&XE)GHKO{UH#$FD z)={A|qR(m0Yn}@!%@F~(#SKbb!C(h^Z+deEUf@i!Xyh

V=P6M2{e);S3aglXVm8 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 H>wWznyA?9@ literal 0 HcmV?d00001 diff --git a/assets/js/0032ee8c.7dedb95e.js b/assets/js/0032ee8c.7dedb95e.js new file mode 100644 index 0000000..8c37887 --- /dev/null +++ b/assets/js/0032ee8c.7dedb95e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[995],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return 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 u(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var i=n.createContext({}),l=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(i.Provider,{value:t},e.children)},s={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,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),f=l(r),m=o,d=f["".concat(i,".").concat(m)]||f[m]||s[m]||a;return r?n.createElement(d,u(u({ref:t},p),{},{components:r})):n.createElement(d,u({ref:t},p))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,u=new Array(a);u[0]=f;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:o,u[1]=c;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var o=n.createContext({}),s=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},c=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),d=s(r),f=a,m=d["".concat(o,".").concat(f)]||d[f]||p[f]||l;return r?n.createElement(m,u(u({ref:t},c),{},{components:r})):n.createElement(m,u({ref:t},c))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,u=new Array(l);u[0]=d;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:a,u[1]=i;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:r.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,r=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(r);return function(e){var t=(0,o.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,r])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,r=void 0!==t&&t,n=e.groupId,l=(0,u.k6)(),o=function(e){var t=e.queryString,r=void 0!==t&&t,n=e.groupId;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:r,groupId:n});return[(0,i._X)(o),(0,a.useCallback)((function(e){if(o){var t=new URLSearchParams(l.location.search);t.set(o,e),l.replace(Object.assign({},l.location,{search:t.toString()}))}}),[o,l])]}function m(e){var t,r,n,l,u=e.defaultValue,i=e.queryString,o=void 0!==i&&i,c=e.groupId,m=p(e),v=(0,a.useState)((function(){return function(e){var t,r=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(r){if(!d({value:r,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+r+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return r}var a=null!=(t=n.find((function(e){return e.default})))?t:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:u,tabValues:m})})),b=v[0],g=v[1],h=f({queryString:o,groupId:c}),k=h[0],y=h[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),r=(0,s.Nk)(t),n=r[0],l=r[1],[n,(0,a.useCallback)((function(e){t&&l.set(e)}),[t,l])]),T=w[0],N=w[1],E=function(){var e=null!=k?k:T;return d({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){E&&g(E)}),[E]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);g(e),y(e),N(e)}),[y,N,m]),tabValues:m}}var v=r(2466),b=r(2389),g="tabList__CuJ",h="tabItem_LNqP";function k(e){var t=e.className,r=e.block,u=e.selectedValue,i=e.selectValue,o=e.tabValues,s=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,r=s.indexOf(t),n=o[r].value;n!==u&&(c(t),i(n))},d=function(e){var t,r=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var n,a=s.indexOf(e.currentTarget)+1;r=null!=(n=s[a])?n:s[0];break;case"ArrowLeft":var l,u=s.indexOf(e.currentTarget)-1;r=null!=(l=s[u])?l:s[s.length-1]}null==(t=r)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":r},t)},o.map((function(e){var t=e.value,r=e.label,i=e.attributes;return a.createElement("li",(0,n.Z)({role:"tab",tabIndex:u===t?0:-1,"aria-selected":u===t,key:t,ref:function(e){return s.push(e)},onKeyDown:d,onClick:p},i,{className:(0,l.Z)("tabs__item",h,null==i?void 0:i.className,{"tabs__item--active":u===t})}),null!=r?r:t)})))}function y(e){var t=e.lazy,r=e.children,n=e.selectedValue,l=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){var u=l.find((function(e){return e.props.value===n}));return u?(0,a.cloneElement)(u,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},l.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==n})})))}function w(e){var t=m(e);return a.createElement("div",{className:(0,l.Z)("tabs-container",g)},a.createElement(k,(0,n.Z)({},e,t)),a.createElement(y,(0,n.Z)({},e,t)))}function T(e){var t=(0,b.Z)();return a.createElement(w,(0,n.Z)({key:String(t)},e))}},9853:function(e,t,r){r.r(t),r.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return s},metadata:function(){return p},toc:function(){return f}});var n=r(7462),a=r(3366),l=(r(7294),r(3905)),u=r(4866),i=r(5162),o=["components"],s={id:"selcukes-reports",title:"Selcukes Reports",sidebar_position:6},c=void 0,p={unversionedId:"guides/selcukes-reports",id:"guides/selcukes-reports",title:"Selcukes Reports",description:"Selcukes Reports helps with below capabilities",source:"@site/docs/03_guides/selcukes-reports.md",sourceDirName:"03_guides",slug:"/guides/selcukes-reports",permalink:"/docs/guides/selcukes-reports",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/selcukes-reports.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{id:"selcukes-reports",title:"Selcukes Reports",sidebar_position:6},sidebar:"defaultSidebar",previous:{title:"Selcukes TestNG",permalink:"/docs/guides/selcukes-testng"},next:{title:"Video Recorder",permalink:"/docs/guides/video-recorder"}},d={},f=[{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],m={toc:f};function v(e){var t=e.components,r=(0,a.Z)(e,o);return(0,l.kt)("wrapper",(0,n.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-reports"},"Selcukes Reports")," helps with below capabilities"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Real-time Monitoring and Reporting"),(0,l.kt)("li",{parentName:"ul"},"Full-page Screenshot on Test Failure"),(0,l.kt)("li",{parentName:"ul"},"Video on Test Failure"),(0,l.kt)("li",{parentName:"ul"},"Microsoft Teams/Slack Notifications on Test Failure")),(0,l.kt)("h2",{id:"setup"},"Setup"),(0,l.kt)("p",null,"Selcukes Reports is primarily used as a Java dependency . We typically use a ",(0,l.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,l.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,l.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Reports\ndependency."),(0,l.kt)(u.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,l.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-reports\n ${selcukes.version}\n\n"))),(0,l.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-reports:${selcukes.version}")\n}\n')))),(0,l.kt)("h2",{id:"usage"},"Usage"),(0,l.kt)("p",null,"Add ",(0,l.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," file in ",(0,l.kt)("inlineCode",{parentName:"p"},"src/test/resource")," folder and update below video configuration as required"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-yaml"},"reports:\n emailReport: true\n htmlReport: true\n path: build\n fileName: index\n timestamp: false\nvideo:\n recording: false\n type: MONTE\n ffmpegPath:\n watermark: false\nnotifier:\n notification: false\n type: slack\n webhookToken: WEBHOOKXXXX\n apiToken: APIXXXX\n channel: selcukes\n authorIcon: https://github.com/rameshbabuprudhvi.png\n")),(0,l.kt)("p",null,"Create a test class as follows"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-java"},'public class RecorderTest {\n private final Logger logger = LoggerFactory.getLogger(getClass());\n private WebDriver driver;\n private ScreenPlay screenPlay;\n\n @BeforeTest\n public void beforeTest() {\n driver = new LocalDriver().createWebDriver(CHROME);\n driver.manage().window().maximize();\n screenPlay = ScreenPlayBuilder\n .getScreenPlay(driver)\n .withRecorder(RecorderType.FFMPEG)\n .start();\n }\n\n @Test\n public void loginTest() {\n driver.get("http://www.princexml.com/samples/");\n logger.debug(driver::getTitle);\n Assert.assertTrue(driver.findElement(By.xpath("//a[contains(@href,\'dictionary.pdf\')]")).isDisplayed());\n driver.findElement(By.xpath("//a[contains(@href,\'dictionary.pdf\')]")).click();\n Assert.assertTrue(driver.getCurrentUrl().contains(".pdf"));\n }\n\n @AfterMethod\n public void afterMethod(ITestResult result) {\n screenPlay\n .withResult(result)\n .ignoreCondition()\n .attachScreenshot()\n .withNotifier(NotifierType.SLACK) //Default Notifier is TEAMS\n .sendNotification("This is sample Test Step");\n\n }\n\n @AfterTest\n public void afterTest() {\n if (driver != null)\n driver.quit();\n screenPlay\n .attachVideo()\n .attachLogs();\n }\n}\n')))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0e0535b1.34691241.js b/assets/js/0e0535b1.34691241.js new file mode 100644 index 0000000..61562cb --- /dev/null +++ b/assets/js/0e0535b1.34691241.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[51],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return 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 l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=r.createContext({}),s=function(e){var t=r.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=s(e.components);return r.createElement(i.Provider,{value:t},e.children)},p={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,a=e.mdxType,l=e.originalType,i=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),d=s(n),m=a,f=d["".concat(i,".").concat(m)]||d[m]||p[m]||l;return n?r.createElement(f,o(o({ref:t},c),{},{components:n})):r.createElement(f,o({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=d;var u={};for(var i in t)hasOwnProperty.call(t,i)&&(u[i]=t[i]);u.originalType=e,u.mdxType="string"==typeof e?e:a,o[1]=u;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,i.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,l=(0,o.k6)(),i=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,u._X)(i),(0,a.useCallback)((function(e){if(i){var t=new URLSearchParams(l.location.search);t.set(i,e),l.replace(Object.assign({},l.location,{search:t.toString()}))}}),[i,l])]}function f(e){var t,n,r,l,o=e.defaultValue,u=e.queryString,i=void 0!==u&&u,c=e.groupId,f=p(e),h=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!d({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:o,tabValues:f})})),v=h[0],g=h[1],k=m({queryString:i,groupId:c}),b=k[0],y=k[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,s.Nk)(t),r=n[0],l=n[1],[r,(0,a.useCallback)((function(e){t&&l.set(e)}),[t,l])]),N=w[0],E=w[1],I=function(){var e=null!=b?b:N;return d({value:e,tabValues:f})?e:null}();return(0,a.useLayoutEffect)((function(){I&&g(I)}),[I]),{selectedValue:v,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:f}))throw new Error("Can't select invalid tab value="+e);g(e),y(e),E(e)}),[y,E,f]),tabValues:f}}var h=n(2466),v=n(2389),g="tabList__CuJ",k="tabItem_LNqP";function b(e){var t=e.className,n=e.block,o=e.selectedValue,u=e.selectValue,i=e.tabValues,s=[],c=(0,h.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=s.indexOf(t),r=i[n].value;r!==o&&(c(t),u(r))},d=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,a=s.indexOf(e.currentTarget)+1;n=null!=(r=s[a])?r:s[0];break;case"ArrowLeft":var l,o=s.indexOf(e.currentTarget)-1;n=null!=(l=s[o])?l:s[s.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},t)},i.map((function(e){var t=e.value,n=e.label,u=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:function(e){return s.push(e)},onKeyDown:d,onClick:p},u,{className:(0,l.Z)("tabs__item",k,null==u?void 0:u.className,{"tabs__item--active":o===t})}),null!=n?n:t)})))}function y(e){var t=e.lazy,n=e.children,r=e.selectedValue,l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=l.find((function(e){return e.props.value===r}));return o?(0,a.cloneElement)(o,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},l.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function w(e){var t=f(e);return a.createElement("div",{className:(0,l.Z)("tabs-container",g)},a.createElement(b,(0,r.Z)({},e,t)),a.createElement(y,(0,r.Z)({},e,t)))}function N(e){var t=(0,v.Z)();return a.createElement(w,(0,r.Z)({key:String(t)},e))}},7049:function(e,t,n){n.r(t),n.d(t,{assets:function(){return c},contentTitle:function(){return i},default:function(){return m},frontMatter:function(){return u},metadata:function(){return s},toc:function(){return p}});var r=n(7462),a=n(3366),l=(n(7294),n(3905)),o=(n(4866),n(5162),["components"]),u={slug:"/"},i="Introduction",s={unversionedId:"intro",id:"intro",title:"Introduction",description:"Selcukes is a powerful open-source testing library for web, mobile, desktop applications, and API endpoints, designed to create scalable and high-quality automated tests.",source:"@site/docs/01_intro.mdx",sourceDirName:".",slug:"/",permalink:"/docs/",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/01_intro.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{slug:"/"},sidebar:"defaultSidebar",next:{title:"Web Test",permalink:"/docs/test/web-test"}},c={},p=[{value:"Features",id:"features",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Install Node LTS",id:"install-node-lts",level:4},{value:"Install Appium",id:"install-appium",level:4},{value:"Install Appium Doctor",id:"install-appium-doctor",level:4},{value:"Java 11",id:"java-11",level:4},{value:"IDE",id:"ide",level:4},{value:"A Build Tool",id:"a-build-tool",level:4},{value:"Quick Start",id:"quick-start",level:3},{value:"So far so good?",id:"so-far-so-good",level:4}],d={toc:p};function m(e){var t=e.components,u=(0,a.Z)(e,o);return(0,l.kt)("wrapper",(0,r.Z)({},d,u,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"introduction"},"Introduction"),(0,l.kt)("p",null,"Selcukes is a powerful open-source testing library for web, mobile, desktop applications, and API endpoints, designed to create scalable and high-quality automated tests."),(0,l.kt)("h2",{id:"features"},"Features"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Easy addition of new test logic without causing regression issues"),(0,l.kt)("li",{parentName:"ul"},"Complete control over the execution workflow, including browser changes and reuse"),(0,l.kt)("li",{parentName:"ul"},"Retry of failing tests to confirm issues"),(0,l.kt)("li",{parentName:"ul"},"UI automation on real devices or emulators"),(0,l.kt)("li",{parentName:"ul"},"Cross-platform screenshot and video recording on test failure for efficient debugging")),(0,l.kt)("p",null,"In summary, Selcukes is a reliable and customizable testing solution that streamlines the testing process and improves application quality."),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"Technologies",src:n(1533).Z,width:"1818",height:"1122"})),(0,l.kt)("h2",{id:"getting-started"},"Getting Started"),(0,l.kt)("p",null,"Before you start, you will need to install a few prerequisites."),(0,l.kt)("h4",{id:"install-node-lts"},"Install Node LTS"),(0,l.kt)("p",null,"You can download the ",(0,l.kt)("a",{parentName:"p",href:"https://nodejs.org/en/"},"installer")," for Windows, use",(0,l.kt)("a",{parentName:"p",href:"https://brew.sh/"},"Homebrew")," or run the command below on Linux:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"sudo apt install nodejs\n")),(0,l.kt)("h4",{id:"install-appium"},"Install Appium"),(0,l.kt)("p",null,"Install Appium from the command prompt or terminal by running:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g appium\n")),(0,l.kt)("p",null,"Confirm the installation by running the following command:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"appium -v\n")),(0,l.kt)("h4",{id:"install-appium-doctor"},"Install Appium Doctor"),(0,l.kt)("p",null,"To validate if all the setup is done correctly to run your tests with Appium, install Appium Doctor by running the following command:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g appium-doctor\n")),(0,l.kt)("p",null,"Run the following commands to check the setup for Android and iOS:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"appium-doctor --android\nappium-doctor --ios\n")),(0,l.kt)("p",null," This command will check if the setup is done correctly. If there are any issues with the mandatory components, it will try to fix them automatically. If it can\u2019t fix them on its own, it will mention the steps to follow to fix the issues."),(0,l.kt)("h4",{id:"java-11"},"Java 11"),(0,l.kt)("p",null,"Since Selcukes uses Java 11, make sure you have a ",(0,l.kt)("a",{parentName:"p",href:"http://www.oracle.com/technetwork/java/javase/downloads/index.html"},"JDK 11 or later")," installed."),(0,l.kt)("h4",{id:"ide"},"IDE"),(0,l.kt)("p",null,"You will need a modern IDE such as ",(0,l.kt)("a",{parentName:"p",href:"https://www.jetbrains.com/idea/download"},"IntelliJ")," or Eclipse to work with Java."),(0,l.kt)("h4",{id:"a-build-tool"},"A Build Tool"),(0,l.kt)("p",null,"You will need either ",(0,l.kt)("a",{parentName:"p",href:"http://www.gradle.org/downloads"},"Gradle 3.x or higher")," or ",(0,l.kt)("a",{parentName:"p",href:"https://maven.apache.org/download.cgi"},"Maven 3.3.x or higher")," to run your tests and generate reports."),(0,l.kt)("h3",{id:"quick-start"},"Quick Start"),(0,l.kt)("p",null,"To quickly create a new project, clone the starter project from the ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java-skeleton"},"selcukes-java-skeleton")," repository on GitHub."),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"git clone https://github.com/selcukes/selcukes-java-skeleton.git\ncd selcukes-java-skeleton\n")),(0,l.kt)("p",null,"Alternatively, you can download a zip file from ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java-skeleton/archive/master.zip"},"here"),"."),(0,l.kt)("h4",{id:"so-far-so-good"},"So far so good?"),(0,l.kt)("p",null,"The starter project comes with a demo test that you can run.\nTo run the test from the command line, run either:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"$ mvn clean verify\n")),(0,l.kt)("p",null,"or"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"$ gradle clean test\n")),(0,l.kt)("p",null,"That's it! You're now ready to start creating and running automated tests with Selcukes."))}m.isMDXComponent=!0},1533:function(e,t,n){t.Z=n.p+"assets/images/techs-used-eafbf8d333e38a8ecc097a22cbf1dce0.png"}}]); \ No newline at end of file diff --git a/assets/js/0e33704a.7264411f.js b/assets/js/0e33704a.7264411f.js new file mode 100644 index 0000000..a29627f --- /dev/null +++ b/assets/js/0e33704a.7264411f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[504],{5745:function(e){e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/11e0564c.b10c923a.js b/assets/js/11e0564c.b10c923a.js new file mode 100644 index 0000000..f5d5a14 --- /dev/null +++ b/assets/js/11e0564c.b10c923a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[979],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return m}});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 s(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 l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),u=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},p=function(e){var t=u(e.components);return n.createElement(o.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,s=e.originalType,o=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(a),m=r,f=d["".concat(o,".").concat(m)]||d[m]||c[m]||s;return a?n.createElement(f,l(l({ref:t},p),{},{components:a})):n.createElement(f,l({ref:t},p))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=a.length,l=new Array(s);l[0]=d;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:r,l[1]=i;for(var u=2;u child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:a.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function c(e){var t=e.values,a=e.children;return(0,r.useMemo)((function(){var e=null!=t?t:p(a);return function(e){var t=(0,o.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,a])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,a=void 0!==t&&t,n=e.groupId,s=(0,l.k6)(),o=function(e){var t=e.queryString,a=void 0!==t&&t,n=e.groupId;if("string"==typeof a)return a;if(!1===a)return null;if(!0===a&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:a,groupId:n});return[(0,i._X)(o),(0,r.useCallback)((function(e){if(o){var t=new URLSearchParams(s.location.search);t.set(o,e),s.replace(Object.assign({},s.location,{search:t.toString()}))}}),[o,s])]}function f(e){var t,a,n,s,l=e.defaultValue,i=e.queryString,o=void 0!==i&&i,p=e.groupId,f=c(e),g=(0,r.useState)((function(){return function(e){var t,a=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(a){if(!d({value:a,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+a+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return a}var r=null!=(t=n.find((function(e){return e.default})))?t:n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:l,tabValues:f})})),h=g[0],k=g[1],v=m({queryString:o,groupId:p}),b=v[0],y=v[1],N=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:p}.groupId),a=(0,u.Nk)(t),n=a[0],s=a[1],[n,(0,r.useCallback)((function(e){t&&s.set(e)}),[t,s])]),S=N[0],D=N[1],w=function(){var e=null!=b?b:S;return d({value:e,tabValues:f})?e:null}();return(0,r.useLayoutEffect)((function(){w&&k(w)}),[w]),{selectedValue:h,selectValue:(0,r.useCallback)((function(e){if(!d({value:e,tabValues:f}))throw new Error("Can't select invalid tab value="+e);k(e),y(e),D(e)}),[y,D,f]),tabValues:f}}var g=a(2466),h=a(2389),k="tabList__CuJ",v="tabItem_LNqP";function b(e){var t=e.className,a=e.block,l=e.selectedValue,i=e.selectValue,o=e.tabValues,u=[],p=(0,g.o5)().blockElementScrollPositionUntilNextRender,c=function(e){var t=e.currentTarget,a=u.indexOf(t),n=o[a].value;n!==l&&(p(t),i(n))},d=function(e){var t,a=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":var n,r=u.indexOf(e.currentTarget)+1;a=null!=(n=u[r])?n:u[0];break;case"ArrowLeft":var s,l=u.indexOf(e.currentTarget)-1;a=null!=(s=u[l])?s:u[u.length-1]}null==(t=a)||t.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":a},t)},o.map((function(e){var t=e.value,a=e.label,i=e.attributes;return r.createElement("li",(0,n.Z)({role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,key:t,ref:function(e){return u.push(e)},onKeyDown:d,onClick:c},i,{className:(0,s.Z)("tabs__item",v,null==i?void 0:i.className,{"tabs__item--active":l===t})}),null!=a?a:t)})))}function y(e){var t=e.lazy,a=e.children,n=e.selectedValue,s=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){var l=s.find((function(e){return e.props.value===n}));return l?(0,r.cloneElement)(l,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},s.map((function(e,t){return(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==n})})))}function N(e){var t=f(e);return r.createElement("div",{className:(0,s.Z)("tabs-container",k)},r.createElement(b,(0,n.Z)({},e,t)),r.createElement(y,(0,n.Z)({},e,t)))}function S(e){var t=(0,h.Z)();return r.createElement(N,(0,n.Z)({key:String(t)},e))}},4264:function(e,t,a){a.r(t),a.d(t,{assets:function(){return d},contentTitle:function(){return p},default:function(){return g},frontMatter:function(){return u},metadata:function(){return c},toc:function(){return m}});var n=a(7462),r=a(3366),s=(a(7294),a(3905)),l=a(4866),i=a(5162),o=["components"],u={id:"data-bind",title:"Selcukes Databind",sidebar_position:1},p=void 0,c={unversionedId:"guides/data-bind",id:"guides/data-bind",title:"Selcukes Databind",description:"Selcukes DataBind helps to parser JSON, YML, XML, CSV, Properties and Excel files.",source:"@site/docs/03_guides/data-bind.md",sourceDirName:"03_guides",slug:"/guides/data-bind",permalink:"/docs/guides/data-bind",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/data-bind.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"data-bind",title:"Selcukes Databind",sidebar_position:1},sidebar:"defaultSidebar",previous:{title:"Api Test",permalink:"/docs/test/api-test"},next:{title:"Extent Reports",permalink:"/docs/guides/extent-reports"}},d={},m=[{value:"Setup",id:"setup",level:2},{value:"Data Mapper",id:"data-mapper",level:2},{value:"DataFile Lookup Strategy",id:"datafile-lookup-strategy",level:3},{value:"Read data files",id:"read-data-files",level:3},{value:"Update data files",id:"update-data-files",level:3},{value:"Write data files",id:"write-data-files",level:3},{value:"ExcelMapper",id:"excelmapper",level:2},{value:"Converter",id:"converter",level:3},{value:"Substitutor",id:"substitutor",level:3},{value:"PropertiesMapper",id:"propertiesmapper",level:2},{value:"CsvMapper",id:"csvmapper",level:2},{value:"Parsing CSV Files",id:"parsing-csv-files",level:3}],f={toc:m};function g(e){var t=e.components,a=(0,r.Z)(e,o);return(0,s.kt)("wrapper",(0,n.Z)({},f,a,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("p",null,(0,s.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-databind"},"Selcukes DataBind")," helps to parser JSON, YML, XML, CSV, Properties and Excel files."),(0,s.kt)("h2",{id:"setup"},"Setup"),(0,s.kt)("p",null,"Selcukes Databind is primarily used as a Java dependency . We typically use a ",(0,s.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,s.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,s.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Databind dependency."),(0,s.kt)(l.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,s.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-databind\n ${selcukes.version}\n\n"))),(0,s.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-databind:${selcukes.version}")\n}\n')))),(0,s.kt)("admonition",{type:"note"},(0,s.kt)("p",{parentName:"admonition"},"Selcukes DataBind is a transitive Dependency of ",(0,s.kt)("inlineCode",{parentName:"p"},"selcukes-commons"),".If you are using ",(0,s.kt)("inlineCode",{parentName:"p"},"selcukes-commons"),", then\nignore adding this dependency explicitly.")),(0,s.kt)("h2",{id:"data-mapper"},"Data Mapper"),(0,s.kt)("p",null,"DataMapper object helps to read and write Json , xml or yaml/yml files with ",(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation."),(0,s.kt)("h3",{id:"datafile-lookup-strategy"},"DataFile Lookup Strategy"),(0,s.kt)("p",null,"The ",(0,s.kt)("inlineCode",{parentName:"p"},"DataMapper")," uses a specific strategy to locate the appropriate data files in the test resource folder. This strategy is based on converting the POJO class name to a SnakeCase JSON or YAML/YML file."),(0,s.kt)("p",null,"For example, for the POJO class ",(0,s.kt)("inlineCode",{parentName:"p"},"TestUsers.java"),", the matching test data files would be test_users.json, test_users.xml, test_users.yml, or test_users.yaml"),(0,s.kt)("p",null,(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation also takes additional attributes as follows"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},"fileName : This attribute allows you to specify a custom data file name, such as ",(0,s.kt)("inlineCode",{parentName:"li"},"sample_data.json")),(0,s.kt)("li",{parentName:"ul"},"filePath : This attribute is used to specify the path where the data file is located, such as ",(0,s.kt)("inlineCode",{parentName:"li"},"src/main/resources"),"."),(0,s.kt)("li",{parentName:"ul"},"streamLoader: This attribute is set to false by default. If set to true, the DataMapper loads data files from the class loader, which allows for reading from a JAR file.",(0,s.kt)("admonition",{parentName:"li",type:"note"},(0,s.kt)("p",{parentName:"admonition"},"If you enable ",(0,s.kt)("inlineCode",{parentName:"p"},"streamLoader"),", then the ",(0,s.kt)("inlineCode",{parentName:"p"},"fileName")," attribute is mandatory.")))),(0,s.kt)("h3",{id:"read-data-files"},"Read data files"),(0,s.kt)("p",null,"To illustrate how to read data files using the DataMapper object, let's consider the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_users.json")," file below:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-json"},'{\n "users": [\n {\n "username": "MyName",\n "password": "things"\n },\n {\n "username": "TestName",\n "password": "eggs"\n }\n ]\n}\n')),(0,s.kt)("p",null,"First, we define a POJO class with the ",(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"\n@Data\n@DataFile\nstatic class TestUsers {\n List users;\n}\n")),(0,s.kt)("p",null,"Then, we create our User class:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"\n@Data\nstatic class User {\n private String username;\n private String password;\n\n}\n")),(0,s.kt)("p",null,"To read the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_users.json")," file into a TestUsers object using DataMapper, we use the following code:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"final TestUsers testUsers=DataMapper.parse(TestUsers.class);\n")),(0,s.kt)("p",null,"Our ",(0,s.kt)("inlineCode",{parentName:"p"},"TestUsers")," object is now populated with the data from the file, including the list of User."),(0,s.kt)("p",null,"The following code demonstrates a full example of how to parse and read the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_users.json")," file:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class ReadDataFileTest {\n @DataProvider\n public Iterator getTestUsers() {\n final TestUsers testUsers = DataMapper.parse(TestUsers.class);\n final List data = new ArrayList<>();\n testUsers.getUsers()\n .forEach(user -> data.add(new Object[]{user}));\n return data.iterator();\n }\n\n @Test(dataProvider = "getTestUsers")\n public void jsonTest(User user) {\n Assert.assertFalse(user.getUsername().isBlank());\n System.out.println("Username[" + user.getUsername() + "] Password[" + user.getPassword() + "]");\n }\n\n @Data\n @DataFile\n static class TestUsers {\n List users;\n }\n\n @Data\n static class User {\n private String username;\n private String password;\n\n }\n}\n')),(0,s.kt)("h3",{id:"update-data-files"},"Update data files"),(0,s.kt)("p",null,"In addition to reading data files, DataMapper can also update them. Let's take a look at how to do this with a YAML file, ",(0,s.kt)("inlineCode",{parentName:"p"},"test_sample.yml"),"."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},'users:\n user1:\n username: "Ramesh"\n password: "4177472e-23a3-4426-893f-8a794af7189c"\n user2:\n username: "Babu"\n password: "40aafad2-1d24-4d6c-85e2-b7630dc17c57"\n')),(0,s.kt)("p",null,"First, we define the POJO class with ",(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'\n@Data\n@DataFile(fileName = "test_sample.yml")\nstatic class TestSample {\n Map> users;\n}\n')),(0,s.kt)("p",null,"To update the values in the test_sample.yml file, we first read the file into a TestSample object:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"UUID uuid=UUID.randomUUID();\nTestSample testSample=DataMapper.parse(TestSample.class);\n")),(0,s.kt)("p",null,'We can then modify the values in the TestSample object as desired. For example, let\'s update the password for "user1" to a new UUID:'),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'testSample.getUsers().get("user1").put("password", uuid.toString());\n')),(0,s.kt)("p",null,"Finally, we can write the updated TestSample object back to the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_sample.yml")," file:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"DataMapper.write(testSample);\n")),(0,s.kt)("p",null,"Here is the complete example code for updating and writing to the ",(0,s.kt)("inlineCode",{parentName:"p"},"test_sample.yml")," file:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class UpdateDataFileTest {\n @SneakyThrows\n @Test\n public void testClass() {\n UUID uuid = UUID.randomUUID();\n TestSample testSample = DataMapper.parse(TestSample.class);\n testSample.getUsers().get("user1").put("password", uuid.toString());\n DataMapper.write(testSample);\n }\n\n @Data\n @DataFile(fileName = "test_sample.yml")\n static class TestSample {\n Map> users;\n }\n}\n')),(0,s.kt)("h3",{id:"write-data-files"},"Write data files"),(0,s.kt)("p",null,"We'll use DataMapper to write a ",(0,s.kt)("inlineCode",{parentName:"p"},"Customer")," object to a data file. If the file doesn't exist, it will create a new one."),(0,s.kt)("p",null,"Let's create ",(0,s.kt)("inlineCode",{parentName:"p"},"Customer")," POJO class"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'\n@Data\n@DataFile(fileName = "customer.yml")\nstatic class Customer {\n String firstName;\n String lastName;\n int age;\n List

contactDetails;\n}\n\n@Data\nstatic class Details {\n String type;\n String number;\n}\n')),(0,s.kt)("p",null,"Next, let's create a Customer object:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'Details details1=new Details();\ndetails1.setNumber("512");\ndetails1.setType("CSM");\n\nDetails details2=new Details();\ndetails2.setNumber("123");\ndetails2.setType("A-CSM");\n\nCustomer customer=new Customer();\ncustomer.setAge(5);\ncustomer.setFirstName("Mark");\ncustomer.setLastName("Jones");\ncustomer.setContactDetails(List.of(details1,details2));\n')),(0,s.kt)("p",null,"Now, let's use the ",(0,s.kt)("inlineCode",{parentName:"p"},"write")," method to write the Customer to a YAML file:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"DataMapper.write(customer);\n")),(0,s.kt)("p",null,"The resulting ",(0,s.kt)("inlineCode",{parentName:"p"},"customer.yml")," file will look like this:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},'firstName: "Mark"\nlastName: "Jones"\nage: 5\ncontactDetails:\n - type: "CSM"\n number: "512"\n - type: "A-CSM"\n number: "123"\n')),(0,s.kt)("p",null,"Here is full example code to create data file."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class CreateDataFileTest {\n\n @Test\n public void createDataFileTest() {\n Details details1 = new Details();\n details1.setNumber("512");\n details1.setType("CSM");\n\n Details details2 = new Details();\n details2.setNumber("123");\n details2.setType("A-CSM");\n\n Customer customer = new Customer();\n customer.setAge(5);\n customer.setFirstName("Mark");\n customer.setLastName("Jones");\n customer.setContactDetails(List.of(details1, details2));\n\n DataMapper.write(customer);\n\n Customer newCustomer = DataMapper.parse(Customer.class);\n newCustomer.getContactDetails().forEach(details -> System.out.println(details.getType() + " : " + details.getNumber()));\n }\n\n @Data\n @DataFile(fileName = "customer.yml")\n static class Customer {\n String firstName;\n String lastName;\n int age;\n List
contactDetails;\n }\n\n @Data\n static class Details {\n String type;\n String number;\n }\n\n}\n')),(0,s.kt)("h2",{id:"excelmapper"},"ExcelMapper"),(0,s.kt)("p",null,"ExcelMapper is used to parse Excel sheet to Stream of entity classes."),(0,s.kt)("p",null,"Here is an example usage of reading Excel sheet."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class ReadExcelTest { \n @Data\n @DataFile(fileName = "TestData.xlsx", sheetName = "Yahoo")\n static class TestData {\n @Key(name = "First Name")\n String firstName;\n @Key(name = "Last Name")\n String lastName;\n @Key(name = "DOB", format = "MM-dd-yyyy")\n LocalDate dob;\n String location;\n\n }\n\n @Test\n public void excelMapperTest() {\n Stream dataStream = ExcelMapper.parse(TestData.class);\n dataStream.forEach(System.out::println);\n }\n}\n')),(0,s.kt)("p",null,"In the above example, We have provided Excel file name and sheet name as input in ",(0,s.kt)("inlineCode",{parentName:"p"},"@DataFile")," annotation. "),(0,s.kt)("p",null,"As explained in the ",(0,s.kt)("inlineCode",{parentName:"p"},"DataMapper")," section, the fileName attribute is optional - by default, ExcelMapper will look for a datafile name as the SnakeCase of the entity class name followed by xlsx as a suffix. The sheetName attribute is also optional. By default, the first sheet name in the Excel file is used."),(0,s.kt)("p",null,"To map fields, you can use ",(0,s.kt)("inlineCode",{parentName:"p"},"@Key")," annotation."),(0,s.kt)("h3",{id:"converter"},"Converter"),(0,s.kt)("p",null,"ExcelMapper provides way to convert field values with custom converter."),(0,s.kt)("p",null,"To use custom converter, you should specify its class via ",(0,s.kt)("inlineCode",{parentName:"p"},"@Key")," annotation."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'@Key(name = "Tags", converter = ListOfStringConverter.class)\nprivate List data;\n')),(0,s.kt)("p",null,"And the actual implementation may look like the following:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class ListOfStringConverter extends DefaultConverter> {\n @Override\n public List convert(final String value) {\n return asList(value.split(","));\n }\n}\n')),(0,s.kt)("p",null,"Custom converters must extend ",(0,s.kt)("inlineCode",{parentName:"p"},"DefaultConverter")," class.\nAlso note that by default ",(0,s.kt)("inlineCode",{parentName:"p"},"ExcelMapper")," uses an implicit conversion based on the field type.\nSo you don't have to explicitly specify a converter if it's among the defaults."),(0,s.kt)("h3",{id:"substitutor"},"Substitutor"),(0,s.kt)("p",null,"Similar to converters, ",(0,s.kt)("inlineCode",{parentName:"p"},"ExcelMapper")," allows you to substitute field value prior to parsing Excel sheet"),(0,s.kt)("p",null,"Consider, we have given Excel field values as ",(0,s.kt)("inlineCode",{parentName:"p"},"${DATE}")," in Excel file. On the fly this field value will be converted to current date and ensure the value assigned to respective field."),(0,s.kt)("p",null,"This can be achieved with the help of ",(0,s.kt)("inlineCode",{parentName:"p"},"@Interpolate")," annotation. "),(0,s.kt)("p",null,"ExcelMapper allows you to use custom substitutor."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},"public class FakerDataSubstitutor extends DefaultSubstitutor {\n @Override\n public String replace(String strToReplace, final String format) {\n\n return FakerUtils.substitute(strToReplace);\n }\n}\n")),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class ReadExcelTest {\n @Interpolate(substitutor = FakerDataSubstitutor.class)\n @Data\n @DataFile(fileName = "TestData.xlsx", sheetName = "Yahoo")\n static class TestData {\n @Key(name = "First Name")\n String firstName;\n @Key(name = "Last Name")\n String lastName;\n @Key(name = "DOB", format = "MM-dd-yyyy")\n LocalDate dob;\n String location;\n\n }\n\n @Test\n public void interpolateExcelMapperTest() {\n Stream dataStream = ExcelMapper.parse(TestData.class);\n dataStream.forEach(System.out::println);\n }\n}\n')),(0,s.kt)("h2",{id:"propertiesmapper"},"PropertiesMapper"),(0,s.kt)("p",null,"PropertiesMapper is used to parse a ",(0,s.kt)("inlineCode",{parentName:"p"},".properties")," file into a set of entity classes."),(0,s.kt)("p",null,"In the following example, we have a ",(0,s.kt)("inlineCode",{parentName:"p"},"test_config.properties")," file containing some properties:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-properties",metastring:'title="test_config.properties"',title:'"test_config.properties"'},"userName=Ramesh\npassword=make\nisTest=true\nosName=${os.name}\ndate=${date}\nhelloDate=12/12/2022\nselcukes.jim=50\nmass=jim,jil\n")),(0,s.kt)("p",null,"We can then use ",(0,s.kt)("inlineCode",{parentName:"p"},"PropertiesMapper")," to map these properties to a TestConfig object:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'public class PropertiesMapperTest {\n\n @Test\n public void testProperties() {\n var testConfig = PropertiesMapper.parse(TestConfig.class);\n System.out.println(testConfig.getUserName());\n if (testConfig.isTest())\n System.out.println(testConfig.getDate());\n System.out.println(testConfig.getOsName());\n System.out.println(testConfig.getJim());\n System.out.println(testConfig.getMass());\n System.out.println(testConfig.getHelloDate());\n\n }\n\n @Interpolate(substitutor = StringSubstitutor.class)\n @DataFile\n @Data\n static class TestConfig {\n String userName;\n String password;\n boolean isTest;\n String osName;\n LocalDate date;\n @Key(name = "helloDate", format = "MM/dd/yyyy")\n LocalDate helloDate;\n @Key(name = "selcukes.jim")\n int jim;\n @Key(name = "mass", converter = ListOfStringConverter.class)\n List mass;\n }\n\n}\n')),(0,s.kt)("p",null,"In this example, we have defined a TestConfig class with properties that match those defined in the test_config.properties file. We have also used the @Interpolate annotation to enable property interpolation using the StringSubstitutor class."),(0,s.kt)("p",null,"We can then call PropertiesMapper.parse(TestConfig.class) to parse the properties file into a TestConfig object."),(0,s.kt)("p",null,"Note that we have also used the @Key annotation to specify the mapping between property names and class fields. We have also used the @DataFile annotation to indicate that the data source is a file. Finally, we have used the @Data annotation to indicate that this is a data object that should be parsed by PropertiesMapper."),(0,s.kt)("h2",{id:"csvmapper"},"CsvMapper"),(0,s.kt)("p",null,"CsvMapper is a utility class that provides methods to parse CSV files into DataTables. "),(0,s.kt)("h3",{id:"parsing-csv-files"},"Parsing CSV Files"),(0,s.kt)("p",null,"To parse a CSV file, call the parse method, passing in the file path and, optionally, a regular expression to split the CSV lines by:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'Path filePath = Paths.get("path/to/file.csv");\nDataTable dataTable = CsvMapper.parse(filePath);\n')),(0,s.kt)("p",null,"Optionally, you can specify the regex to split the line by:"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-java"},'Path filePath = Paths.get("path/to/file.csv");\nDataTable dataTable = CsvMapper.parse(filePath, CsvMapper.CSV_REGEX);\n')),(0,s.kt)("admonition",{type:"note"},(0,s.kt)("p",{parentName:"admonition"},"The parse method throws a DataMapperException if an error occurs while parsing the file. Make sure to handle this exception accordingly.")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/17896441.8d445331.js b/assets/js/17896441.8d445331.js new file mode 100644 index 0000000..293ead7 --- /dev/null +++ b/assets/js/17896441.8d445331.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[918],{8945:function(e,t,a){a.r(t),a.d(t,{default:function(){return he}});var n=a(7294),r=a(1944),l=a(9688),i=n.createContext(null);function o(e){var t=e.children,a=function(e){return(0,n.useMemo)((function(){return{metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc}}),[e])}(e.content);return n.createElement(i.Provider,{value:a},t)}function s(){var e=(0,n.useContext)(i);if(null===e)throw new l.i6("DocProvider");return e}function c(){var e,t=s(),a=t.metadata,l=t.frontMatter,i=t.assets;return n.createElement(r.d,{title:a.title,description:a.description,keywords:l.keywords,image:null!=(e=i.image)?e:l.image})}var d=a(4334),m=a(7524),u=a(7462),v=a(5999),f=a(2244);function h(e){var t=e.previous,a=e.next;return n.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,v.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"})},t&&n.createElement(f.Z,(0,u.Z)({},t,{subLabel:n.createElement(v.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),a&&n.createElement(f.Z,(0,u.Z)({},a,{subLabel:n.createElement(v.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}function b(){var e=s().metadata;return n.createElement(h,{previous:e.previous,next:e.next})}var p=a(2263),E=a(9960),g=a(143),L=a(5281),N=a(373),k=a(4477);var Z={unreleased:function(e){var t=e.siteTitle,a=e.versionMetadata;return n.createElement(v.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:n.createElement("b",null,a.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){var t=e.siteTitle,a=e.versionMetadata;return n.createElement(v.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:n.createElement("b",null,a.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function _(e){var t=Z[e.versionMetadata.banner];return n.createElement(t,e)}function C(e){var t=e.versionLabel,a=e.to,r=e.onClick;return n.createElement(v.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:n.createElement("b",null,n.createElement(E.Z,{to:a,onClick:r},n.createElement(v.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 x(e){var t,a=e.className,r=e.versionMetadata,l=(0,p.Z)().siteConfig.title,i=(0,g.gA)({failfast:!0}).pluginId,o=(0,N.J)(i).savePreferredVersionName,s=(0,g.Jo)(i),c=s.latestDocSuggestion,m=s.latestVersionSuggestion,u=null!=c?c:(t=m).docs.find((function(e){return e.id===t.mainDocId}));return n.createElement("div",{className:(0,d.Z)(a,L.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},n.createElement("div",null,n.createElement(_,{siteTitle:l,versionMetadata:r})),n.createElement("div",{className:"margin-top--md"},n.createElement(C,{versionLabel:m.label,to:u.path,onClick:function(){return o(m.name)}})))}function T(e){var t=e.className,a=(0,k.E)();return a.banner?n.createElement(x,{className:t,versionMetadata:a}):null}function H(e){var t=e.className,a=(0,k.E)();return a.badge?n.createElement("span",{className:(0,d.Z)(t,L.k.docs.docVersionBadge,"badge badge--secondary")},n.createElement(v.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:a.label}},"Version: {versionLabel}")):null}function U(e){var t=e.lastUpdatedAt,a=e.formattedLastUpdatedAt;return n.createElement(v.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:n.createElement("b",null,n.createElement("time",{dateTime:new Date(1e3*t).toISOString()},a))}}," on {date}")}function y(e){var t=e.lastUpdatedBy;return n.createElement(v.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:n.createElement("b",null,t)}}," by {user}")}function A(e){var t=e.lastUpdatedAt,a=e.formattedLastUpdatedAt,r=e.lastUpdatedBy;return n.createElement("span",{className:L.k.common.lastUpdated},n.createElement(v.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&a?n.createElement(U,{lastUpdatedAt:t,formattedLastUpdatedAt:a}):"",byUser:r?n.createElement(y,{lastUpdatedBy:r}):""}},"Last updated{atDate}{byUser}"),!1)}var w=a(4881),M=a(6233),I="lastUpdated_vwxv";function B(e){return n.createElement("div",{className:(0,d.Z)(L.k.docs.docFooterTagsRow,"row margin-bottom--sm")},n.createElement("div",{className:"col"},n.createElement(M.Z,e)))}function O(e){var t=e.editUrl,a=e.lastUpdatedAt,r=e.lastUpdatedBy,l=e.formattedLastUpdatedAt;return n.createElement("div",{className:(0,d.Z)(L.k.docs.docFooterEditMetaRow,"row")},n.createElement("div",{className:"col"},t&&n.createElement(w.Z,{editUrl:t})),n.createElement("div",{className:(0,d.Z)("col",I)},(a||r)&&n.createElement(A,{lastUpdatedAt:a,formattedLastUpdatedAt:l,lastUpdatedBy:r})))}function S(){var e=s().metadata,t=e.editUrl,a=e.lastUpdatedAt,r=e.formattedLastUpdatedAt,l=e.lastUpdatedBy,i=e.tags,o=i.length>0,c=!!(t||a||l);return o||c?n.createElement("footer",{className:(0,d.Z)(L.k.docs.docFooter,"docusaurus-mt-lg")},o&&n.createElement(B,{tags:i}),c&&n.createElement(O,{editUrl:t,lastUpdatedAt:a,lastUpdatedBy:l,formattedLastUpdatedAt:r})):null}var V=a(6043),P=a(3743),D=a(3366),R="tocCollapsibleButton_TO0P",F="tocCollapsibleButtonExpanded_MG3E",j=["collapsed"];function z(e){var t=e.collapsed,a=(0,D.Z)(e,j);return n.createElement("button",(0,u.Z)({type:"button"},a,{className:(0,d.Z)("clean-btn",R,!t&&F,a.className)}),n.createElement(v.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}var q="tocCollapsible_ETCw",G="tocCollapsibleContent_vkbj",J="tocCollapsibleExpanded_sAul";function Y(e){var t=e.toc,a=e.className,r=e.minHeadingLevel,l=e.maxHeadingLevel,i=(0,V.u)({initialState:!0}),o=i.collapsed,s=i.toggleCollapsed;return n.createElement("div",{className:(0,d.Z)(q,!o&&J,a)},n.createElement(z,{collapsed:o,onClick:s}),n.createElement(V.z,{lazy:!0,className:G,collapsed:o},n.createElement(P.Z,{toc:t,minHeadingLevel:r,maxHeadingLevel:l})))}var K="tocMobile_ITEo";function Q(){var e=s(),t=e.toc,a=e.frontMatter;return n.createElement(Y,{toc:t,minHeadingLevel:a.toc_min_heading_level,maxHeadingLevel:a.toc_max_heading_level,className:(0,d.Z)(L.k.docs.docTocMobile,K)})}var W=a(9407);function X(){var e=s(),t=e.toc,a=e.frontMatter;return n.createElement(W.Z,{toc:t,minHeadingLevel:a.toc_min_heading_level,maxHeadingLevel:a.toc_max_heading_level,className:L.k.docs.docTocDesktop})}var $=a(7955),ee=a(8718);function te(e){var t,a,r,l,i=e.children,o=(t=s(),a=t.metadata,r=t.frontMatter,l=t.contentTitle,r.hide_title||void 0!==l?null:a.title);return n.createElement("div",{className:(0,d.Z)(L.k.docs.docMarkdown,"markdown")},o&&n.createElement("header",null,n.createElement($.Z,{as:"h1"},o)),n.createElement(ee.Z,null,i))}var ae=a(3791),ne=a(8596),re=a(4996);function le(e){return n.createElement("svg",(0,u.Z)({viewBox:"0 0 24 24"},e),n.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"}))}var ie="breadcrumbHomeIcon_YNFT";function oe(){var e=(0,re.Z)("/");return n.createElement("li",{className:"breadcrumbs__item"},n.createElement(E.Z,{"aria-label":(0,v.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},n.createElement(le,{className:ie})))}var se="breadcrumbsContainer_Z_bl";function ce(e){var t=e.children,a=e.href,r="breadcrumbs__link";return e.isLast?n.createElement("span",{className:r,itemProp:"name"},t):a?n.createElement(E.Z,{className:r,href:a,itemProp:"item"},n.createElement("span",{itemProp:"name"},t)):n.createElement("span",{className:r},t)}function de(e){var t=e.children,a=e.active,r=e.index,l=e.addMicrodata;return n.createElement("li",(0,u.Z)({},l&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,d.Z)("breadcrumbs__item",{"breadcrumbs__item--active":a})}),t,n.createElement("meta",{itemProp:"position",content:String(r+1)}))}function me(){var e=(0,ae.s1)(),t=(0,ne.Ns)();return e?n.createElement("nav",{className:(0,d.Z)(L.k.docs.docBreadcrumbs,se),"aria-label":(0,v.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},n.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&n.createElement(oe,null),e.map((function(t,a){var r=a===e.length-1;return n.createElement(de,{key:a,active:r,index:a,addMicrodata:!!t.href},n.createElement(ce,{href:t.href,isLast:r},t.label))})))):null}var ue="docItemContainer_Djhp",ve="docItemCol_VOVn";function fe(e){var t,a,r,l,i,o,c=e.children,u=(t=s(),a=t.frontMatter,r=t.toc,l=(0,m.i)(),i=a.hide_table_of_contents,o=!i&&r.length>0,{hidden:i,mobile:o?n.createElement(Q,null):void 0,desktop:!o||"desktop"!==l&&"ssr"!==l?void 0:n.createElement(X,null)});return n.createElement("div",{className:"row"},n.createElement("div",{className:(0,d.Z)("col",!u.hidden&&ve)},n.createElement(T,null),n.createElement("div",{className:ue},n.createElement("article",null,n.createElement(me,null),n.createElement(H,null),u.mobile,n.createElement(te,null,c),n.createElement(S,null)),n.createElement(b,null))),u.desktop&&n.createElement("div",{className:"col col--3"},u.desktop))}function he(e){var t="docs-doc-id-"+e.content.metadata.unversionedId,a=e.content;return n.createElement(o,{content:e.content},n.createElement(r.FG,{className:t},n.createElement(c,null),n.createElement(fe,null,n.createElement(a,null))))}},9407:function(e,t,a){a.d(t,{Z:function(){return d}});var n=a(7462),r=a(3366),l=a(7294),i=a(4334),o=a(3743),s="tableOfContents_bqdL",c=["className"];function d(e){var t=e.className,a=(0,r.Z)(e,c);return l.createElement("div",{className:(0,i.Z)(s,"thin-scrollbar",t)},l.createElement(o.Z,(0,n.Z)({},a,{linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})))}},3743:function(e,t,a){a.d(t,{Z:function(){return p}});var n=a(7462),r=a(3366),l=a(7294),i=a(6668),o=["parentIndex"];function s(e){var t=e.map((function(e){return Object.assign({},e,{parentIndex:-1,children:[]})})),a=Array(7).fill(-1);t.forEach((function(e,t){var n=a.slice(2,e.level);e.parentIndex=Math.max.apply(Math,n),a[e.level]=t}));var n=[];return t.forEach((function(e){var a=e.parentIndex,l=(0,r.Z)(e,o);a>=0?t[a].children.push(l):n.push(l)})),n}function c(e){var t=e.toc,a=e.minHeadingLevel,n=e.maxHeadingLevel;return t.flatMap((function(e){var t=c({toc:e.children,minHeadingLevel:a,maxHeadingLevel:n});return function(e){return e.level>=a&&e.level<=n}(e)?[Object.assign({},e,{children:t})]:t}))}function d(e){var t=e.getBoundingClientRect();return t.top===t.bottom?d(e.parentNode):t}function m(e,t){var a,n,r=t.anchorTopOffset,l=e.find((function(e){return d(e).top>=r}));return l?function(e){return e.top>0&&e.bottom=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),s=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={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,a=e.mdxType,o=e.originalType,c=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=s(n),p=a,f=d["".concat(c,".").concat(p)]||d[p]||m[p]||o;return n?r.createElement(f,l(l({ref:t},u),{},{components:n})):r.createElement(f,l({ref:t},u))}));function p(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,l[1]=i;for(var s=2;s0})).map((function(e){return[e-1,[i]]}));return{lineClassNames:Object.fromEntries(c),code:n}}if(void 0===r)return{lineClassNames:{},code:n};for(var s=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return k(["js","jsBlock"],t);case"jsx":case"tsx":return k(["js","jsBlock","jsx"],t);case"html":return k(["js","jsBlock","html"],t);case"python":case"py":case"bash":return k(["bash"],t);case"markdown":case"md":return k(["html","jsx","bash"],t);default:return k(Object.keys(E),t)}}(r,a),u=n.split("\n"),m=Object.fromEntries(a.map((function(e){return[e.className,{start:0,range:""}]}))),d=Object.fromEntries(a.filter((function(e){return e.line})).map((function(e){var t=e.className;return[e.line,t]}))),p=Object.fromEntries(a.filter((function(e){return e.block})).map((function(e){var t=e.className;return[e.block.start,t]}))),f=Object.fromEntries(a.filter((function(e){return e.block})).map((function(e){var t=e.className;return[e.block.end,t]}))),v=0;v0&&e[n-1]===t?e:e.concat(t)},M=function(e,t){var n=e.plain,r=Object.create(null),a=e.styles.reduce((function(e,n){var r=n.languages,a=n.style;return r&&!r.includes(t)||n.types.forEach((function(t){var n=P({},e[t],a);e[t]=n})),e}),r);return a.root=n,a.plain=P({},n,{backgroundColor:null}),a};function D(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&-1===t.indexOf(r)&&(n[r]=e[r]);return n}var H=function(e){function t(){for(var t=this,n=[],r=arguments.length;r--;)n[r]=arguments[r];e.apply(this,n),S(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?M(e.theme,e.language):void 0;return t.themeDict=n})),S(this,"getLineProps",(function(e){var n=e.key,r=e.className,a=e.style,o=P({},D(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(o.style=l.plain),void 0!==a&&(o.style=void 0!==o.style?P({},o.style,a):a),void 0!==n&&(o.key=n),r&&(o.className+=" "+r),o})),S(this,"getStyleForToken",(function(e){var n=e.types,r=e.empty,a=n.length,o=t.getThemeDict(t.props);if(void 0!==o){if(1===a&&"plain"===n[0])return r?{display:"inline-block"}:void 0;if(1===a&&!r)return o[n[0]];var l=r?{display:"inline-block"}:{},i=n.map((function(e){return o[e]}));return Object.assign.apply(Object,[l].concat(i))}})),S(this,"getTokenProps",(function(e){var n=e.key,r=e.className,a=e.style,o=e.token,l=P({},D(e,["key","className","style","token"]),{className:"token "+o.types.join(" "),children:o.content,style:t.getStyleForToken(o),key:void 0});return void 0!==a&&(l.style=void 0!==l.style?P({},l.style,a):a),void 0!==n&&(l.key=n),r&&(l.className+=" "+r),l})),S(this,"tokenize",(function(e,t,n,r){var a={code:t,grammar:n,language:r,tokens:[]};e.hooks.run("before-tokenize",a);var o=a.tokens=e.tokenize(a.code,a.grammar,a.language);return e.hooks.run("after-tokenize",a),o}))}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,r=e.code,a=e.children,o=this.getThemeDict(this.props),l=t.languages[n];return a({tokens:function(e){for(var t=[[]],n=[e],r=[0],a=[e.length],o=0,l=0,i=[],c=[i];l>-1;){for(;(o=r[l]++)0?u:["plain"],s=m):(u=I(u,m.type),m.alias&&(u=I(u,m.alias)),s=m.content),"string"==typeof s){var d=s.split(z),p=d.length;i.push({types:u,content:d[0]});for(var f=1;f0&&(i=l.getRangeAt(0)),r.append(a),a.select(),a.selectionStart=0,a.selectionEnd=e.length;var c=!1;try{c=document.execCommand("copy")}catch(s){}a.remove(),i&&(l.removeAllRanges(),l.addRange(i)),o&&o.focus()}(t),l(!0),i.current=window.setTimeout((function(){l(!1)}),1e3)}),[t]);return(0,r.useEffect)((function(){return function(){return window.clearTimeout(i.current)}}),[]),r.createElement("button",{type:"button","aria-label":o?(0,G.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,G.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,G.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.Z)("clean-btn",n,Q.copyButton,o&&Q.copyButtonCopied),onClick:c},r.createElement("span",{className:Q.copyButtonIcons,"aria-hidden":"true"},r.createElement(U,{className:Q.copyButtonIcon}),r.createElement($,{className:Q.copyButtonSuccessIcon})))}function Y(e){return r.createElement("svg",(0,o.Z)({viewBox:"0 0 24 24"},e),r.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"}))}var J="wordWrapButtonIcon_Bwma",K="wordWrapButtonEnabled_EoeP";function ee(e){var t=e.className,n=e.onClick,a=e.isEnabled,o=(0,G.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return r.createElement("button",{type:"button",onClick:n,className:(0,u.Z)("clean-btn",t,a&&K),"aria-label":o,title:o},r.createElement(Y,{className:J,"aria-hidden":"true"}))}function te(e){var t,n,a,l,i,c,s,m,f,v,h,g=e.children,b=e.className,E=void 0===b?"":b,k=e.metastring,C=e.title,Z=e.showLineNumbers,B=e.language,j=(0,d.L)().prism,_=j.defaultLanguage,O=j.magicComments,S=null!=(t=null!=B?B:null==(n=E.split(" ").find((function(e){return e.startsWith("language-")})))?void 0:n.replace(/language-/,""))?t:_,P=p(),z=(a=(0,r.useState)(!1),l=a[0],i=a[1],c=(0,r.useState)(!1),s=c[0],m=c[1],f=(0,r.useRef)(null),v=(0,r.useCallback)((function(){var e=f.current.querySelector("code");l?e.removeAttribute("style"):(e.style.whiteSpace="pre-wrap",e.style.overflowWrap="anywhere"),i((function(e){return!e}))}),[f,l]),h=(0,r.useCallback)((function(){var e=f.current,t=e.scrollWidth>e.clientWidth||f.current.querySelector("code").hasAttribute("style");m(t)}),[f]),L(f,h),(0,r.useEffect)((function(){h()}),[l,h]),(0,r.useEffect)((function(){return window.addEventListener("resize",h,{passive:!0}),function(){window.removeEventListener("resize",h)}}),[h]),{codeBlockRef:f,isEnabled:l,isCodeScrollable:s,toggle:v}),A=function(e){var t,n;return null!=(t=null==e||null==(n=e.match(y))?void 0:n.groups.title)?t:""}(k)||C,I=N(g,{metastring:k,language:S,magicComments:O}),M=I.lineClassNames,D=I.code,H=null!=Z?Z:function(e){return Boolean(null==e?void 0:e.includes("showLineNumbers"))}(k);return r.createElement(w,{as:"div",className:(0,u.Z)(E,S&&!E.includes("language-"+S)&&"language-"+S)},A&&r.createElement("div",{className:T.codeBlockTitle},A),r.createElement("div",{className:T.codeBlockContent},r.createElement(V,(0,o.Z)({},x,{theme:P,code:D,language:null!=S?S:"text"}),(function(e){var t=e.className,n=e.tokens,a=e.getLineProps,o=e.getTokenProps;return r.createElement("pre",{tabIndex:0,ref:z.codeBlockRef,className:(0,u.Z)(t,T.codeBlock,"thin-scrollbar")},r.createElement("code",{className:(0,u.Z)(T.codeBlockLines,H&&T.codeBlockLinesWithNumbering)},n.map((function(e,t){return r.createElement(q,{key:t,line:e,getLineProps:a,getTokenProps:o,classNames:M[t],showLineNumbers:H})}))))})),r.createElement("div",{className:T.buttonGroup},(z.isEnabled||z.isCodeScrollable)&&r.createElement(ee,{className:T.codeButton,onClick:function(){return z.toggle()},isEnabled:z.isEnabled}),r.createElement(X,{className:T.codeButton,code:D}))))}var ne=["children"];function re(e){var t=e.children,n=(0,l.Z)(e,ne),a=(0,s.Z)(),i=function(e){return r.Children.toArray(e).some((function(e){return(0,r.isValidElement)(e)}))?e:Array.isArray(e)?e.join(""):e}(t),c="string"==typeof i?te:B;return r.createElement(c,(0,o.Z)({key:String(a)},n),i)}var ae=n(9960);var oe=n(7459),le=n(6043),ie="details_lb9f",ce="isBrowser_bmU9",se="collapsibleContent_i85q",ue=["summary","children"];function me(e){return!!e&&("SUMMARY"===e.tagName||me(e.parentElement))}function de(e,t){return!!e&&(e===t||de(e.parentElement,t))}function pe(e){var t=e.summary,n=e.children,a=(0,l.Z)(e,ue),i=(0,s.Z)(),c=(0,r.useRef)(null),u=(0,le.u)({initialState:!a.open}),m=u.collapsed,d=u.setCollapsed,p=(0,r.useState)(a.open),f=p[0],v=p[1],h=r.isValidElement(t)?t:r.createElement("summary",null,null!=t?t:"Details");return r.createElement("details",(0,o.Z)({},a,{ref:c,open:f,"data-collapsed":m,className:(0,oe.Z)(ie,i&&ce,a.className),onMouseDown:function(e){me(e.target)&&e.detail>1&&e.preventDefault()},onClick:function(e){e.stopPropagation();var t=e.target;me(t)&&de(t,c.current)&&(e.preventDefault(),m?(d(!1),v(!0)):d(!0))}}),h,r.createElement(le.z,{lazy:!1,collapsed:m,disableSSRStyle:!0,onCollapseTransitionEnd:function(e){d(e),v(!e)}},r.createElement("div",{className:se},n)))}var fe="details_b_Ee";function ve(e){var t=Object.assign({},e);return r.createElement(pe,(0,o.Z)({},t,{className:(0,u.Z)("alert alert--info",fe,t.className)}))}var he=n(7955);function ge(e){return r.createElement(he.Z,e)}var ye="containsTaskList_mC6p";function be(e){if(void 0!==e)return(0,u.Z)(e,(null==e?void 0:e.includes("contains-task-list"))&&ye)}var Ee="img_ev3q";var ke="admonition_LlT9",Ne="admonitionHeading_tbUL",Ce="admonitionIcon_kALy",Ze="admonitionContent_S0QG";var we={note:{infimaClassName:"secondary",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 14 16"},r.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:r.createElement(G.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 12 16"},r.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:r.createElement(G.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 12 16"},r.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:r.createElement(G.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 14 16"},r.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:r.createElement(G.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 16 16"},r.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:r.createElement(G.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},Te={secondary:"note",important:"info",success:"tip",warning:"danger"};function Be(e){var t,n=function(e){var t=r.Children.toArray(e),n=t.find((function(e){var t;return r.isValidElement(e)&&"mdxAdmonitionTitle"===(null==(t=e.props)?void 0:t.mdxType)})),a=r.createElement(r.Fragment,null,t.filter((function(e){return e!==n})));return{mdxAdmonitionTitle:n,rest:a}}(e.children),a=n.mdxAdmonitionTitle,o=n.rest;return Object.assign({},e,{title:null!=(t=e.title)?t:a,children:o})}var je={head:function(e){var t=r.Children.map(e.children,(function(e){return r.isValidElement(e)?function(e){var t;if(null!=(t=e.props)&&t.mdxType&&e.props.originalType){var n=e.props,a=(n.mdxType,n.originalType,(0,l.Z)(n,c));return r.createElement(e.props.originalType,a)}return e}(e):e}));return r.createElement(i.Z,e,t)},code:function(e){var 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 r.Children.toArray(e.children).every((function(e){var n;return"string"==typeof e&&!e.includes("\n")||(0,r.isValidElement)(e)&&t.includes(null==(n=e.props)?void 0:n.mdxType)}))?r.createElement("code",e):r.createElement(re,e)},a:function(e){return r.createElement(ae.Z,e)},pre:function(e){var t;return r.createElement(re,(0,r.isValidElement)(e.children)&&"code"===(null==(t=e.children.props)?void 0:t.originalType)?e.children.props:Object.assign({},e))},details:function(e){var t=r.Children.toArray(e.children),n=t.find((function(e){var t;return r.isValidElement(e)&&"summary"===(null==(t=e.props)?void 0:t.mdxType)})),a=r.createElement(r.Fragment,null,t.filter((function(e){return e!==n})));return r.createElement(ve,(0,o.Z)({},e,{summary:n}),a)},ul:function(e){return r.createElement("ul",(0,o.Z)({},e,{className:be(e.className)}))},img:function(e){return r.createElement("img",(0,o.Z)({loading:"lazy"},e,{className:(t=e.className,(0,u.Z)(t,Ee))}));var t},h1:function(e){return r.createElement(ge,(0,o.Z)({as:"h1"},e))},h2:function(e){return r.createElement(ge,(0,o.Z)({as:"h2"},e))},h3:function(e){return r.createElement(ge,(0,o.Z)({as:"h3"},e))},h4:function(e){return r.createElement(ge,(0,o.Z)({as:"h4"},e))},h5:function(e){return r.createElement(ge,(0,o.Z)({as:"h5"},e))},h6:function(e){return r.createElement(ge,(0,o.Z)({as:"h6"},e))},admonition:function(e){var t=Be(e),n=t.children,a=t.type,o=t.title,l=t.icon,i=function(e){var t,n=null!=(t=Te[e])?t:e;return we[n]||(console.warn('No admonition config found for admonition type "'+n+'". Using Info as fallback.'),we.info)}(a),c=null!=o?o:i.label,s=i.iconComponent,m=null!=l?l:r.createElement(s,null);return r.createElement("div",{className:(0,u.Z)(f.k.common.admonition,f.k.common.admonitionType(e.type),"alert","alert--"+i.infimaClassName,ke)},r.createElement("div",{className:Ne},r.createElement("span",{className:Ce},m),c),r.createElement("div",{className:Ze},n))},mermaid:function(){return null}};function _e(e){var t=e.children;return r.createElement(a.Zo,{components:je},t)}},2244:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(7294),a=n(4334),o=n(9960);function l(e){var t=e.permalink,n=e.title,l=e.subLabel,i=e.isNext;return r.createElement(o.Z,{className:(0,a.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},l&&r.createElement("div",{className:"pagination-nav__sublabel"},l),r.createElement("div",{className:"pagination-nav__label"},n))}},6233:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(7294),a=n(4334),o=n(5999),l=n(9960),i="tag_zVej",c="tagRegular_sFm0",s="tagWithCount_h2kH";function u(e){var t=e.permalink,n=e.label,o=e.count;return r.createElement(l.Z,{href:t,className:(0,a.Z)(i,o?s:c)},n,o&&r.createElement("span",null,o))}var m="tags_jXut",d="tag_QGVx";function p(e){var t=e.tags;return r.createElement(r.Fragment,null,r.createElement("b",null,r.createElement(o.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),r.createElement("ul",{className:(0,a.Z)(m,"padding--none","margin-left--sm")},t.map((function(e){var t=e.label,n=e.permalink;return r.createElement("li",{key:n,className:d},r.createElement(u,{label:t,permalink:n}))}))))}},7594:function(e,t){function n(e){let t,n=[];for(let r of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(r))n.push(parseInt(r,10));else if(t=r.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,r,a,o]=t;if(r&&o){r=parseInt(r),o=parseInt(o);const e=r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},l=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,s=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),m=p(n),d=i,f=m["".concat(s,".").concat(d)]||m[d]||u[d]||o;return n?r.createElement(f,a(a({ref:t},l),{},{components:n})):r.createElement(f,a({ref:t},l))}));function d(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,a=new Array(o);a[0]=m;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:i,a[1]=c;for(var p=2;p=r?(d(),l(!1)):a=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,s=c(e,o);return n.createElement("svg",a({width:36,height:36,viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},s),t?n.createElement("title",{id:r},t):null,l||(l=n.createElement("path",{d:"M27.258 11.885H8.996a.735.735 0 0 0-.736.736v15.314c0 .406.33.736.736.736h3.255v5.16a2.168 2.168 0 0 0 4.337 0v-5.16h3.033v5.16a2.168 2.168 0 0 0 4.336 0v-5.16h3.301c.406 0 .736-.33.736-.736V12.621a.736.736 0 0 0-.736-.736ZM5.168 11.882c-1.197 0-2.168.97-2.168 2.168v8.807a2.168 2.168 0 1 0 4.337 0V14.05c0-1.197-.971-2.168-2.169-2.168ZM31.086 11.882c-1.198 0-2.168.97-2.168 2.168v8.807a2.168 2.168 0 1 0 4.336 0V14.05c0-1.197-.97-2.168-2.168-2.168ZM9.144 10.811h17.923c.468 0 .817-.43.72-.888a9.907 9.907 0 0 0-4.833-6.583L24.486.575A.388.388 0 0 0 23.81.2l-1.544 2.785a9.856 9.856 0 0 0-4.16-.914 9.856 9.856 0 0 0-4.16.914L12.403.2a.388.388 0 0 0-.678.375l1.532 2.765a9.908 9.908 0 0 0-4.833 6.583.737.737 0 0 0 .72.888Zm14.31-4.12a.833.833 0 1 1-1.667 0 .833.833 0 0 1 1.666 0Zm-9.864-.833a.833.833 0 1 1 0 1.666.833.833 0 0 1 0-1.666Z",fill:"#AAC148"})))}},5827:function(e,t,r){var l,n,o,a,c,s,i,p,f,m,u=r(7294),d=["title","titleId"];function E(){return E=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,y=h(e,d);return u.createElement("svg",E({width:36,height:36,viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},y),t?u.createElement("title",{id:r},t):null,l||(l=u.createElement("path",{d:"M36 18c0 9.94-8.06 18-18 18S0 27.94 0 18 8.06 0 18 0s18 8.06 18 18Z",fill:"#4CAF50"})),n||(n=u.createElement("path",{d:"M18 0v18l7.2 3.6L17.24 36H18c9.948 0 18-8.052 18-18S27.948 0 18 0Z",fill:"#FFC107"})),o||(o=u.createElement("path",{d:"M36 18c0 9.94-8.06 18-18 18S0 27.94 0 18 8.06 0 18 0s18 8.06 18 18Z",fill:"#4CAF50"})),a||(a=u.createElement("path",{d:"M18 0v18l7.2 3.6L17.24 36H18c9.948 0 18-8.052 18-18S27.948 0 18 0Z",fill:"#FFC107"})),c||(c=u.createElement("path",{d:"M34.056 9.9H18v11.7l-2.7-.9L2.844 8.334h-.018A17.95 17.95 0 0 1 18 0c7.02 0 13.095 4.032 16.056 9.9Z",fill:"#F44336"})),s||(s=u.createElement("path",{d:"m2.842 8.338 7.959 13.375L15.3 20.7 2.842 8.338Z",fill:"#DD2C00"})),i||(i=u.createElement("path",{d:"m17.241 36 8.04-14.453L21.6 18.9 17.24 36Z",fill:"#558B2F"})),p||(p=u.createElement("path",{d:"M34.079 9.9H18l-1.42 4.122L34.078 9.9Z",fill:"#F9A825"})),f||(f=u.createElement("path",{d:"M26.1 18c0 4.472-3.628 8.1-8.1 8.1A8.102 8.102 0 0 1 9.9 18c0-4.472 3.628-8.1 8.1-8.1 4.472 0 8.1 3.628 8.1 8.1Z",fill:"#fff"})),m||(m=u.createElement("path",{d:"M24.3 18c0 3.48-2.82 6.3-6.3 6.3s-6.3-2.82-6.3-6.3 2.82-6.3 6.3-6.3 6.3 2.82 6.3 6.3Z",fill:"#2196F3"})))}},587:function(e,t,r){var l=r(7294),n=["title","titleId"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,c=a(e,n);return l.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 300 300",style:{enableBackground:"new 0 0 300 300"},xmlSpace:"preserve",width:50,height:50,"aria-labelledby":r},c),t?l.createElement("title",{id:r},t):null,l.createElement("path",{style:{fill:"#c4c8c4"},d:"M184 101.25v164h-68v-164h68z"}),l.createElement("path",{style:{fill:"#a5a9a6"},d:"M116 101.25h34v164h-34z"}),l.createElement("path",{style:{fill:"#1c7287"},d:"M277.87 198.75H22.13C9.908 198.75 0 188.842 0 176.62V36.88c0-12.222 9.908-22.13 22.13-22.13h255.74c12.222 0 22.13 9.908 22.13 22.13v139.74c0 12.222-9.908 22.13-22.13 22.13z"}),l.createElement("path",{style:{fill:"#165c6c"},d:"M150 198.75H22.13C9.908 198.75 0 188.842 0 176.62V36.88c0-12.222 9.908-22.13 22.13-22.13H150v184z"}),l.createElement("path",{style:{fill:"#32a5b9"},d:"M26 41.818h248v129.865H26z"}),l.createElement("path",{style:{fill:"#2b8a9a"},d:"M26 41.818h124v129.865H26z"}),l.createElement("path",{style:{fill:"#1c7287"},d:"M219 285.25H81c-8.284 0-15-6.716-15-15s6.716-15 15-15h138c8.284 0 15 6.716 15 15s-6.716 15-15 15z"}),l.createElement("path",{style:{fill:"#165c6c"},d:"M150 285.25H81c-8.284 0-15-6.716-15-15s6.716-15 15-15h69v30z"}))}},1505:function(e,t,r){var l,n,o,a,c,s=r(7294),i=["title","titleId"];function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,m=f(e,i);return s.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:48,height:48,"aria-labelledby":r},m),t?s.createElement("title",{id:r},t):null,l||(l=s.createElement("path",{fill:"#1e88e5",d:"M40.69 35.42c-9.15 11.88-21.41 8.8-26.23 6.1-7.35-4.11-12.5-13.68-9.44-23.25.9-2.82 2.27-5.23 3.98-7.23 1.67.13 3.65.13 6-.04 14-1 18 11 17 14-.51 1.53-2.32 2.02-3.97 2.13.16-.22.36-.54.64-1.02.87-1.54.98-4.49-1.73-6.27-2.61-1.7-5.43-.65-6.88 1.28-1.45 1.92-.88 4.81-.37 6.09 2.2 5.52 6.26 6.95 9.02 7.78 2.76.83 6.86.71 9.05-.19 2.18-.91 2.8-1.43 3.22-.97.43.46.13.99-.29 1.59z"})),n||(n=s.createElement("path",{fill:"#0d47a1",d:"M40.732 35.42c-3.48 4.52-7.41 6.87-11.21 7.91-.03.01-.06.01-.08.02-2.2.42-3.95.08-5.85-.29-3.09-.6-7.35-4.01-8.38-10.18-.88-5.31 1.63-9.81 5.59-12.54-.26.24-.49.5-.7.78-1.45 1.92-.88 4.81-.37 6.09 2.2 5.52 6.26 6.95 9.02 7.78 2.76.83 6.86.71 9.05-.19 2.18-.91 2.8-1.43 3.22-.97.43.46.13.99-.29 1.59z"})),o||(o=s.createElement("path",{fill:"#00e5ff",d:"M26.94 4.25a11.89 11.89 0 0 1-4.45 10.13c-1.02-.52-2.21-.94-3.65-1.22-4.07-.78-10.63 1.1-13.3 5.77-.88 1.53-1.25 3.1-1.41 4.55.04-1.71.33-3.46.89-5.21C8.31 8.01 17.86 3.05 26.94 4.25z"})),a||(a=s.createElement("path",{fill:"#00e676",d:"M41.4 27.89c-2.76 2.78-6.27 2.86-8.67 2.73-2.41-.12-3.59-.82-4.69-1.5-1.11-.69-.48-1.37-.37-1.52.11-.15.38-.41 1-1.49.29-.51.5-1.18.54-1.91 4.62-3.43 7.96-8.49 9.16-14.34 2.92 2.95 4.3 6.21 4.79 7.61.88 2.52 1.55 7.09-1.76 10.42z"})),c||(c=s.createElement("path",{fill:"#1de9b6",d:"M38.37 9.85v.01c-1.2 5.85-4.54 10.91-9.16 14.34.03-.42 0-.87-.1-1.32 0-.02-.01-.04-.01-.05-.25-1.47-.99-3.33-2.22-4.77-1.22-1.44-2.52-2.73-4.39-3.68a11.89 11.89 0 0 0 4.45-10.13c.4.05.79.11 1.19.19 4.61.89 7.91 3.05 10.24 5.41z"})))}},877:function(e,t,r){var l,n,o,a,c,s,i,p,f,m,u,d,E,h,y,g=r(7294),v=["title","titleId"];function b(){return b=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,F=O(e,v);return g.createElement("svg",b({width:36,height:36,viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},F),t?g.createElement("title",{id:r},t):null,l||(l=g.createElement("path",{d:"M29.087 3.35c-.904 1.02-1.326 3.316-.409 5.643.917 2.328 2.322 1.822 3.199 4.196 1.156 3.131.618 7.338.618 7.338s1.39 3.9 2.358-.242c2.145-7.782-5.766-15.019-5.766-16.935Z",fill:"url(#a)"})),n||(n=g.createElement("path",{d:"M18.053 35.657c9.26 0 16.762-7.307 16.762-16.318 0-9.01-7.502-16.318-16.753-16.318-9.252 0-16.753 7.308-16.753 16.318C1.29 28.36 8.8 35.658 18.053 35.658Z",fill:"url(#b)"})),o||(o=g.createElement("path",{d:"M30.612 29.401c-.362.248-.743.47-1.138.666a25.603 25.603 0 0 0 1.447-2.304c.357-.383.684-.755.95-1.158.13-.198.277-.442.432-.725.94-1.643 1.979-4.301 2.008-7.032V18.64a9.148 9.148 0 0 0-.215-2.04l.02.157-.024-.12c.014.074.025.145.037.218.193 1.581.056 3.123-.63 4.26l-.032.049c.355-1.728.474-3.636.078-5.547 0 0-.158-.928-1.335-3.747-.678-1.623-1.882-2.953-2.946-3.923-.932-1.117-1.779-1.867-2.246-2.343-.975-.995-1.383-1.74-1.551-2.227-.146-.07-2.006-1.822-2.154-1.889-.813 1.22-3.367 5.037-2.152 8.603.55 1.616 1.943 3.293 3.401 4.234.064.071.867.916 1.25 2.823.394 1.97.186 3.507-.625 5.78-.955 1.994-3.402 3.965-5.692 4.167-4.897.43-6.69-2.382-6.69-2.382 1.75.678 3.685.536 4.861-.167 1.186-.71 1.903-1.237 2.486-1.03.573.207 1.03-.393.62-1.015a2.942 2.942 0 0 0-1.302-1.07 3.052 3.052 0 0 0-1.696-.195c-1.187.187-2.274 1.098-3.83.215a3.237 3.237 0 0 1-.291-.185c-.103-.065.333.1.231.025-.302-.159-.838-.506-.977-.63-.023-.02.235.08.212.06-1.454-1.16-1.273-1.944-1.227-2.436.037-.393.3-.897.746-1.102.215.114.349.2.349.2l-.141-.276c.017-.008.034-.006.05-.013.177.083.566.297.771.427.268.183.353.345.353.345s.07-.037.018-.196c-.019-.066-.1-.273-.365-.482l.017.002c.158.087.308.188.448.301.075-.263.209-.537.18-1.028-.019-.345-.01-.434-.073-.567-.056-.115.031-.16.129-.04a1.174 1.174 0 0 0-.084-.271l.001-.01c.122-.41 2.578-1.48 2.756-1.605.294-.2.54-.46.723-.76.136-.211.239-.507.264-.956.013-.323-.142-.539-2.625-.79-.679-.066-1.077-.542-1.303-.982a6.271 6.271 0 0 0-.126-.266c-.04-.1-.072-.204-.097-.309.406-1.13 1.088-2.084 2.091-2.806.055-.048-.218.012-.164-.036.064-.056.48-.219.559-.255.096-.044-.411-.253-.859-.202-.455.05-.552.103-.795.203.1-.098.422-.225.346-.225-.491.073-1.101.35-1.623.663a.382.382 0 0 1 .031-.159c-.243.1-.84.505-1.014.847.007-.066.01-.131.01-.197-.186.15-.353.319-.498.505l-.01.008c-1.41-.55-2.652-.586-3.702-.34-.23-.223-.342-.06-.865-1.173-.036-.067.027.067 0 0-.086-.215.052.288 0 0-.88.673-2.036 1.434-2.592 1.972-.006.021.648-.18 0 0-.226.063-.211.193-.246 1.372-.008.09 0 .19-.008.27-.444.548-.746 1.011-.86 1.252-.574.957-1.206 2.45-1.818 4.812.27-.64.596-1.257.974-1.844-.51 1.254-1.002 3.223-1.1 6.254a17.24 17.24 0 0 1 .473-1.853 16.827 16.827 0 0 0 1.312 7.356c.352.835.935 2.102 1.926 3.49 3.117 3.177 7.513 5.155 12.38 5.155 5.082 0 9.645-2.154 12.78-5.575Z",fill:"url(#c)"})),a||(a=g.createElement("path",{d:"M26.852 31.709c6.15-.69 8.872-6.83 5.376-6.951-3.158-.098-8.29 7.277-5.376 6.95Z",fill:"url(#d)"})),c||(c=g.createElement("path",{d:"M32.671 23.503c4.231-2.386 3.128-7.54 3.128-7.54s-1.633 1.839-2.742 4.769c-1.096 2.9-2.93 4.212-.386 2.771Z",fill:"url(#e)"})),s||(s=g.createElement("path",{d:"M19.238 34.758c5.9 1.824 10.97-2.678 7.845-4.182-2.842-1.356-10.644 3.32-7.845 4.182Z",fill:"url(#f)"})),i||(i=g.createElement("path",{d:"M33.11 25.692c.144-.197.338-.825.51-1.106 1.041-1.629 1.049-2.927 1.049-2.957.629-3.045.572-4.288.185-6.587-.312-1.851-1.674-4.503-2.854-5.78-1.216-1.316-.36-.888-1.537-1.849-1.032-1.108-2.032-2.206-2.577-2.647C23.95 1.576 24.038.899 24.113.784a4.105 4.105 0 0 0-.055.06c-.047-.18-.08-.332-.08-.332s-2.152 2.086-2.605 5.561c-.296 2.27.58 4.635 1.85 6.146a14.197 14.197 0 0 0 2.228 2.123v-.002c.959 1.335 1.487 2.982 1.487 4.753 0 4.436-3.713 8.032-8.294 8.032a8.581 8.581 0 0 1-1.856-.202c-2.161-.4-3.41-1.455-4.031-2.172-.357-.412-.509-.711-.509-.711 1.937.672 4.078.531 5.38-.165 1.312-.705 2.106-1.228 2.75-1.022.635.205 1.141-.39.687-1.007-.444-.616-1.6-1.499-3.318-1.255-1.314.186-2.517 1.09-4.238.214a3.64 3.64 0 0 1-.323-.183c-.114-.065.369.098.256.025-.335-.158-.928-.503-1.082-.625-.025-.02.26.08.235.059-1.61-1.151-1.409-1.928-1.358-2.416.04-.39.333-.89.825-1.092.238.113.386.199.386.199l-.156-.275c.02-.007.037-.006.057-.013.194.082.626.294.852.424.296.18.39.342.39.342s.078-.037.02-.195c-.02-.065-.11-.27-.403-.478l.018.002c.174.086.34.186.496.299.083-.26.231-.533.199-1.02-.02-.342-.011-.43-.08-.562-.063-.114.034-.158.142-.04a1.071 1.071 0 0 0-.092-.269l.001-.009c.135-.407 2.852-1.468 3.05-1.592.319-.193.591-.45.8-.754.15-.21.264-.503.292-.948.01-.2-.054-.359-.774-.51-.432-.092-1.1-.18-2.13-.274-.752-.064-1.193-.537-1.444-.973a5.94 5.94 0 0 0-.139-.264 1.894 1.894 0 0 1-.107-.306 5.836 5.836 0 0 1 2.314-2.783c.06-.048-.241.012-.18-.036.07-.055.53-.217.617-.253.106-.043-.455-.25-.95-.2-.504.05-.611.102-.88.2.111-.096.466-.222.383-.221-.544.072-1.22.346-1.797.657a.346.346 0 0 1 .035-.158c-.27.1-.93.5-1.123.84.008-.065.012-.13.01-.196a3.307 3.307 0 0 0-.55.501l-.01.008C9.747 7.17 8.373 7.135 7.21 7.38c-.255-.222-.664-.557-1.242-1.661-.04-.067-.06.137-.091.072-.225-.506-.36-1.334-.339-1.905 0 0-.465.206-.85 1.064-.071.154-.117.239-.163.324-.02.025.048-.282.037-.265-.067.11-.24.263-.316.462-.052.147-.126.23-.172.413l-.011.016c-.004-.054.013-.222 0-.188A8.49 8.49 0 0 0 3.6 6.804a9.894 9.894 0 0 0-.487 2.728c-.01.089-.001.188-.01.268-.49.543-.825 1.003-.951 1.241-.635.95-1.334 2.431-2.012 4.773.302-.64.662-1.252 1.078-1.829C.654 15.23.108 17.181 0 20.189c.137-.622.312-1.236.524-1.838-.098 2.005.143 4.49 1.452 7.295.776 1.65 2.564 4.999 6.933 7.613 0 0 1.486 1.072 4.041 1.876.189.066.38.131.575.195a3.796 3.796 0 0 1-.178-.075c1.7.493 3.466.745 5.242.746 6.614.005 8.565-2.568 8.565-2.568l-.019.014c.093-.086.183-.174.27-.266-1.044.955-3.426 1.018-4.316.95 1.519-.433 2.518-.798 4.462-1.52.228-.081.46-.175.698-.28l.078-.033.14-.064a13.255 13.255 0 0 0 2.654-1.61c1.952-1.51 2.377-2.983 2.6-3.954-.032.093-.128.31-.196.45-.503 1.042-1.618 1.682-2.829 2.23a25.162 25.162 0 0 0 1.6-2.284c.396-.38.52-.974.815-1.373Z",fill:"url(#g)"})),p||(p=g.createElement("path",{d:"M30.735 29.304c.796-.85 1.51-1.823 2.052-2.925 1.393-2.839 3.547-7.558 1.85-12.487-1.34-3.896-3.181-6.026-5.52-8.107C25.322 2.405 24.262.897 24.262 0c0 0-4.384 4.734-2.483 9.672 1.901 4.938 5.795 4.757 8.371 9.91 3.031 6.064-2.452 12.681-6.987 14.534.277-.06 10.08-2.21 10.596-7.642-.012.1-.233 1.602-3.024 2.83Z",fill:"url(#h)"})),f||(f=g.createElement("path",{d:"M18.034 11.684c.015-.32-.157-.536-2.895-.785-1.127-.1-1.558-1.11-1.69-1.534-.4 1.008-.566 2.066-.477 3.346.06.839.642 1.739.92 2.268 0 0 .062-.078.09-.107.524-.528 2.717-1.332 2.923-1.447.227-.139 1.091-.75 1.13-1.74Z",fill:"url(#i)"})),m||(m=g.createElement("path",{d:"M5.979 5.724c-.04-.066-.06.138-.091.072-.225-.505-.362-1.324-.33-1.903 0 0-.465.205-.85 1.063-.071.154-.117.24-.163.324-.02.025.048-.281.037-.265-.067.11-.24.264-.315.453-.062.155-.126.239-.174.43-.015.053.015-.23.002-.196-.896 1.677-1.066 4.212-.972 4.104 1.906-1.972 4.09-2.44 4.09-2.44-.232-.165-.737-.644-1.234-1.642Z",fill:"url(#j)"})),u||(u=g.createElement("path",{d:"M13.21 26.345c-2.633-1.089-5.626-2.625-5.513-6.115.154-4.596 4.424-3.687 4.424-3.687-.161.038-.592.335-.745.652-.161.396-.456 1.29.436 2.228 1.4 1.47-2.877 3.489 3.726 7.301.166.088-1.548-.052-2.328-.379Z",fill:"url(#k)"})),d||(d=g.createElement("path",{d:"M12.275 24.055c1.867.63 4.042.52 5.344-.178.872-.47 1.99-1.223 2.678-1.037-.595-.228-1.047-.335-1.59-.36-.092 0-.203-.003-.303-.013-.2 0-.398.01-.595.032-.336.03-.709.235-1.048.202-.018-.001.329-.138.3-.131-.179.036-.374.044-.58.068-.13.014-.243.03-.373.035-3.889.32-7.175-2.041-7.175-2.041-.28.912 1.252 2.718 3.342 3.423Z",fill:"url(#l)"})),E||(E=g.createElement("path",{d:"M30.728 29.328c3.933-3.741 5.923-8.29 5.082-13.39 0 0 .336 2.615-.939 5.29.612-2.611.684-5.857-.943-9.218-2.17-4.487-5.741-6.848-7.104-7.832-2.066-1.493-2.922-3.012-2.937-3.326-.617 1.225-2.484 5.422-.2 9.037 2.138 3.386 5.507 4.392 7.866 7.498 4.345 5.723-.825 11.941-.825 11.941Z",fill:"url(#m)"})),h||(h=g.createElement("path",{d:"M30.164 19.593c-1.374-2.75-3.09-3.95-4.713-5.251.189.256.235.346.34.512 1.428 1.475 3.535 5.073 2.005 9.589-2.878 8.501-14.392 4.498-15.599 3.374.488 4.92 8.989 7.274 14.523 4.084 3.15-2.889 5.697-7.799 3.444-12.308Z",fill:"url(#n)"})),y||(y=g.createElement("defs",null,g.createElement("radialGradient",{id:"a",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(12.97338 .56084 -.79877 18.47714 34.294 9.007)"},g.createElement("stop",{offset:.045,stopColor:"#FFEA00"}),g.createElement("stop",{offset:.12,stopColor:"#FFDE00"}),g.createElement("stop",{offset:.254,stopColor:"#FFBF00"}),g.createElement("stop",{offset:.429,stopColor:"#FF8E00"}),g.createElement("stop",{offset:.769,stopColor:"#FF272D"}),g.createElement("stop",{offset:.872,stopColor:"#E0255A"}),g.createElement("stop",{offset:.953,stopColor:"#CC2477"}),g.createElement("stop",{offset:1,stopColor:"#C42482"})),g.createElement("radialGradient",{id:"b",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(36.6 0 0 35.4606 25.04 7.066)"},g.createElement("stop",{stopColor:"#00CCDA"}),g.createElement("stop",{offset:.22,stopColor:"#0083FF"}),g.createElement("stop",{offset:.261,stopColor:"#007AF9"}),g.createElement("stop",{offset:.33,stopColor:"#0060E8"}),g.createElement("stop",{offset:.333,stopColor:"#005FE7"}),g.createElement("stop",{offset:.438,stopColor:"#2639AD"}),g.createElement("stop",{offset:.522,stopColor:"#401E84"}),g.createElement("stop",{offset:.566,stopColor:"#4A1475"})),g.createElement("radialGradient",{id:"d",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(12.28493 1.20099 -1.16432 11.90982 37.486 23.248)"},g.createElement("stop",{offset:.003,stopColor:"#FFEA00"}),g.createElement("stop",{offset:.497,stopColor:"#FF272D"}),g.createElement("stop",{offset:1,stopColor:"#C42482"})),g.createElement("radialGradient",{id:"e",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(20.5148 2.00555 -1.9443 19.88839 37.563 11.726)"},g.createElement("stop",{offset:.003,stopColor:"#FFE900"}),g.createElement("stop",{offset:.157,stopColor:"#FFAF0E"}),g.createElement("stop",{offset:.316,stopColor:"#FF7A1B"}),g.createElement("stop",{offset:.472,stopColor:"#FF4E26"}),g.createElement("stop",{offset:.621,stopColor:"#FF2C2E"}),g.createElement("stop",{offset:.762,stopColor:"#FF1434"}),g.createElement("stop",{offset:.892,stopColor:"#FF0538"}),g.createElement("stop",{offset:1,stopColor:"#FF0039"})),g.createElement("radialGradient",{id:"f",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"rotate(5.584 -292.79 410.445) scale(18.9143 18.3368)"},g.createElement("stop",{offset:.003,stopColor:"#FF272D"}),g.createElement("stop",{offset:.497,stopColor:"#C42482"}),g.createElement("stop",{offset:.986,stopColor:"#620700"})),g.createElement("radialGradient",{id:"g",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(29.5359 0 0 28.6163 27.006 14.416)"},g.createElement("stop",{offset:.156,stopColor:"#FFEA00"}),g.createElement("stop",{offset:.231,stopColor:"#FFDE00"}),g.createElement("stop",{offset:.365,stopColor:"#FFBF00"}),g.createElement("stop",{offset:.541,stopColor:"#FF8E00"}),g.createElement("stop",{offset:.763,stopColor:"#FF272D"}),g.createElement("stop",{offset:.796,stopColor:"#F92433"}),g.createElement("stop",{offset:.841,stopColor:"#E91C45"}),g.createElement("stop",{offset:.893,stopColor:"#CF0E62"}),g.createElement("stop",{offset:.935,stopColor:"#B5007F"})),g.createElement("radialGradient",{id:"h",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(34.8766 0 0 33.7908 24.784 .047)"},g.createElement("stop",{offset:.279,stopColor:"#FFEA00"}),g.createElement("stop",{offset:.402,stopColor:"#FD0"}),g.createElement("stop",{offset:.63,stopColor:"#FFBA00"}),g.createElement("stop",{offset:.856,stopColor:"#FF9100"}),g.createElement("stop",{offset:.933,stopColor:"#FF6711"}),g.createElement("stop",{offset:.994,stopColor:"#FF4A1D"})),g.createElement("linearGradient",{id:"c",x1:20.416,y1:26.678,x2:13.595,y2:3.646,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#000F43",stopOpacity:.4}),g.createElement("stop",{offset:.485,stopColor:"#001962",stopOpacity:.173}),g.createElement("stop",{offset:1,stopColor:"#002079",stopOpacity:0})),g.createElement("linearGradient",{id:"i",x1:6.763,y1:12.983,x2:20.17,y2:10.906,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#C42482",stopOpacity:.5}),g.createElement("stop",{offset:.474,stopColor:"#FF272D",stopOpacity:.5}),g.createElement("stop",{offset:.486,stopColor:"#FF2C2C",stopOpacity:.513}),g.createElement("stop",{offset:.675,stopColor:"#FF7A1A",stopOpacity:.72}),g.createElement("stop",{offset:.829,stopColor:"#FFB20D",stopOpacity:.871}),g.createElement("stop",{offset:.942,stopColor:"#FFD605",stopOpacity:.964}),g.createElement("stop",{offset:1,stopColor:"#FFE302"})),g.createElement("linearGradient",{id:"j",x1:5.424,y1:9.507,x2:3.989,y2:4.194,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#891551",stopOpacity:.6}),g.createElement("stop",{offset:1,stopColor:"#C42482",stopOpacity:0})),g.createElement("linearGradient",{id:"k",x1:8.326,y1:17.157,x2:11.328,y2:21.483,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{offset:.005,stopColor:"#891551",stopOpacity:.5}),g.createElement("stop",{offset:.484,stopColor:"#FF272D",stopOpacity:.5}),g.createElement("stop",{offset:1,stopColor:"#FF272D",stopOpacity:0})),g.createElement("linearGradient",{id:"l",x1:14.315,y1:24.572,x2:14.582,y2:21.848,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#C42482"}),g.createElement("stop",{offset:.083,stopColor:"#C42482",stopOpacity:.81}),g.createElement("stop",{offset:.206,stopColor:"#C42482",stopOpacity:.565}),g.createElement("stop",{offset:.328,stopColor:"#C42482",stopOpacity:.362}),g.createElement("stop",{offset:.447,stopColor:"#C42482",stopOpacity:.204}),g.createElement("stop",{offset:.562,stopColor:"#C42482",stopOpacity:.091}),g.createElement("stop",{offset:.673,stopColor:"#C42482",stopOpacity:.023}),g.createElement("stop",{offset:.773,stopColor:"#C42482",stopOpacity:0})),g.createElement("linearGradient",{id:"m",x1:23.432,y1:1.321,x2:34.378,y2:26.585,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#FFF14F"}),g.createElement("stop",{offset:.268,stopColor:"#FFEE4C"}),g.createElement("stop",{offset:.452,stopColor:"#FFE643"}),g.createElement("stop",{offset:.612,stopColor:"#FFD834"}),g.createElement("stop",{offset:.757,stopColor:"#FFC41E"}),g.createElement("stop",{offset:.892,stopColor:"#FFAB02"}),g.createElement("stop",{offset:.902,stopColor:"#FFA900"}),g.createElement("stop",{offset:.949,stopColor:"#FFA000"}),g.createElement("stop",{offset:1,stopColor:"#FF9100"})),g.createElement("linearGradient",{id:"n",x1:25.711,y1:15.703,x2:20.54,y2:30.032,gradientUnits:"userSpaceOnUse"},g.createElement("stop",{stopColor:"#FF8E00"}),g.createElement("stop",{offset:.04,stopColor:"#FF8E00",stopOpacity:.858}),g.createElement("stop",{offset:.084,stopColor:"#FF8E00",stopOpacity:.729}),g.createElement("stop",{offset:.13,stopColor:"#FF8E00",stopOpacity:.628}),g.createElement("stop",{offset:.178,stopColor:"#FF8E00",stopOpacity:.557}),g.createElement("stop",{offset:.227,stopColor:"#FF8E00",stopOpacity:.514}),g.createElement("stop",{offset:.282,stopColor:"#FF8E00",stopOpacity:.5}),g.createElement("stop",{offset:.389,stopColor:"#FF8E00",stopOpacity:.478}),g.createElement("stop",{offset:.524,stopColor:"#FF8E00",stopOpacity:.416}),g.createElement("stop",{offset:.676,stopColor:"#FF8E00",stopOpacity:.314}),g.createElement("stop",{offset:.838,stopColor:"#FF8E00",stopOpacity:.172}),g.createElement("stop",{offset:1,stopColor:"#FF8E00",stopOpacity:0})))))}},162:function(e,t,r){var l,n,o=r(7294),a=["title","titleId"];function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,i=s(e,a);return o.createElement("svg",c({width:36,height:36,viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),t?o.createElement("title",{id:r},t):null,l||(l=o.createElement("path",{d:"M12.847 20.961c0 1.24.514 2.283 1.092 3.392.642 1.174 1.541 2.087 2.698 2.804 1.156.718 2.376 1.044 3.79 1.044 1.349 0 2.633-.326 3.79-1.044 1.156-.717 1.99-1.76 2.697-2.935h8.993c-1.156 3.327-3.147 6.196-6.038 8.283-2.89 2.088-6.102 3.196-9.635 3.196-2.634 0-5.203-.587-7.516-1.76-5.267 2.608-9.057 2.739-11.37.39C.386 33.55 0 32.245 0 30.484c0-1.76.321-3.782 1.028-5.935.706-2.217 1.798-4.565 3.404-7.24 1.22-2.087 2.12-3.717 5.589-7.109 1.284-1.304 1.862-1.956 2.183-2.283-3.083 1.5-7.065 4.305-10.277 7.175 1.927-4.826 4.625-7.305 7.9-9.392 3.534-2.152 6.424-3.587 10.278-3.587.386 0 .771 0 1.22.065C24.153.872 26.723.22 29.036.024c2.311-.13 3.917.261 4.88 1.174 1.928 1.957 2.056 5.088.515 9.327 1.477 2.61 1.541 5.544 1.541 8.545 0 .717.065 1.37 0 1.956H12.848v-.065Z",fill:"#00C8F6"})),n||(n=o.createElement("path",{d:"M10.278 32.049c-3.34-2.087-4.497-3.783-5.846-7.5-2.248 4.434-2.89 6.456-1.22 8.152 1.477 1.5 3.212 1.109 7.066-.652ZM26.979 16.395c-.129-1.826-.771-3.456-2.12-4.696-1.349-1.304-2.955-1.826-4.753-1.826-1.863 0-3.405.522-4.754 1.826-1.349 1.305-2.312 2.87-2.44 4.696h14.067ZM26.208 3.285c3.083 1.566 3.597 1.827 5.91 4.631.77-2.152.899-2.74.578-3.391-.322-.783-.964-1.37-1.67-1.761-1.157-.653-1.928-.653-4.818.521Z",fill:"#fff"})))}},2018:function(e,t,r){var l,n=r(7294),o=["title","titleId"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,s=c(e,o);return n.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 32 32","aria-labelledby":r},s),t?n.createElement("title",{id:r},t):null,l||(l=n.createElement("path",{d:"M31.333 29.333H.666a.668.668 0 0 1-.667-.667V3.333c0-.367.299-.667.667-.667h30.667c.367 0 .667.3.667.667v25.333c0 .367-.3.667-.667.667zM1.333 28h29.333V4H1.333v24zM30.667 9.333H1.334a.668.668 0 0 1 0-1.334h29.333c.367 0 .667.3.667.667s-.3.667-.667.667zm-7.083 16.834c-2.575 0-4.667-2.093-4.667-4.667s2.092-4.667 4.667-4.667c2.573 0 4.667 2.093 4.667 4.667s-2.095 4.667-4.667 4.667zm0-8c-1.839 0-3.333 1.495-3.333 3.333s1.495 3.333 3.333 3.333c1.836 0 3.333-1.495 3.333-3.333s-1.496-3.333-3.333-3.333zM24 23.391a.659.659 0 0 1-.451-.176l-1.333-1.224a.665.665 0 1 1 .901-.98l.868.8 4.881-4.783a.672.672 0 0 1 .943.011.67.67 0 0 1-.008.943l-5.333 5.224a.693.693 0 0 1-.468.185zM4 6a.667.667 0 1 1-1.335-.001A.667.667 0 0 1 4 6zm2.667 0a.667.667 0 1 1-1.335-.001A.667.667 0 0 1 6.667 6zm2.666 0a.667.667 0 1 1-1.335-.001A.667.667 0 0 1 9.333 6z"})))}},4896:function(e,t,r){var l,n=r(7294),o=["title","titleId"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,s=c(e,o);return n.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 32 32","aria-labelledby":r},s),t?n.createElement("title",{id:r},t):null,l||(l=n.createElement("path",{d:"M22.004 23.327h-8a.667.667 0 0 1-.667-.667v-6.667c0-.368.299-.667.667-.667h8c.368 0 .667.299.667.667v6.667a.667.667 0 0 1-.667.667zm-7.333-1.334h6.667V16.66h-6.667v5.333zm6-6a.667.667 0 0 1-.667-.667v-1.277c0-1.008-.916-1.861-2-1.861-1.065 0-2 .896-2 1.917v1.221a.667.667 0 0 1-1.334 0v-1.221c0-1.761 1.527-3.251 3.333-3.251 1.805 0 3.333 1.463 3.333 3.195v1.277a.667.667 0 0 1-.667.667zm-3.334 5.46a.667.667 0 0 1-.465-.189l-1.333-1.293a.668.668 0 0 1 .928-.959l.876.849 2.328-2.189a.667.667 0 0 1 .915.969l-2.792 2.627a.652.652 0 0 1-.456.185zM26 27.327H7.333C3.289 27.327 0 24.04 0 20c0-3.988 3.205-7.243 7.179-7.325a11.314 11.314 0 0 1 10.823-8.001c6.249 0 11.332 5.084 11.332 11.333 0 .121-.004.243-.011.363A5.995 5.995 0 0 1 32 21.335c0 3.304-2.693 5.992-6 5.992zM7.408 14.017c-3.393 0-6.075 2.685-6.075 5.983 0 3.305 2.692 5.993 6 5.993H26a4.668 4.668 0 0 0 4.667-4.66c0-1.676-.885-3.185-2.367-4.031a.663.663 0 0 1-.333-.623c.02-.305.033-.488.033-.675 0-5.513-4.485-10-9.999-10a9.983 9.983 0 0 0-9.681 7.532.656.656 0 0 1-.676.501 1.954 1.954 0 0 1-.216-.024c-.007.003-.013.003-.02.003z"})))}},5809:function(e,t,r){var l,n=r(7294),o=["title","titleId"];function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,s=c(e,o);return n.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",width:32,height:32,viewBox:"0 0 32 32","aria-labelledby":r},s),t?n.createElement("title",{id:r},t):null,l||(l=n.createElement("path",{d:"M28.947 31.905a.676.676 0 0 1-.472-.195l-7.481-7.488-3.396 3.789a.666.666 0 0 1-1.109-.183L8.59 9.296a.667.667 0 0 1 .874-.874l18.473 7.895a.667.667 0 0 1 .179 1.114l-3.952 3.475 7.553 7.559c.26.259.26.683 0 .943l-2.301 2.303a.66.66 0 0 1-.469.195zm-7.978-9.321c.176 0 .347.071.472.195l7.507 7.516 1.36-1.361-7.584-7.588a.668.668 0 0 1 .03-.972l3.691-3.247-15.977-6.829 6.837 16.041 3.168-3.535a.673.673 0 0 1 .479-.223c.005.003.012.003.017.003zm-11.09-4.661a.642.642 0 0 1-.151-.017 6.767 6.767 0 0 1-5.245-6.617 6.803 6.803 0 0 1 6.796-6.796c3.196 0 5.993 2.267 6.651 5.391a.665.665 0 1 1-1.304.274 5.481 5.481 0 0 0-5.345-4.331 5.47 5.47 0 0 0-5.463 5.463 5.437 5.437 0 0 0 4.213 5.319.666.666 0 0 1-.152 1.314zm1.4 4.557C5.107 22.48.086 17.459.086 11.288.086 5.116 5.107.095 11.279.095c6.173 0 11.195 5.021 11.195 11.193a.667.667 0 0 1-1.334 0c0-5.436-4.423-9.86-9.861-9.86-5.436 0-9.86 4.423-9.86 9.86 0 5.439 4.423 9.859 9.86 9.859a.667.667 0 0 1 0 1.334z"})))}},6672:function(e,t,r){var l=r(7294),n=["title","titleId"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,c=a(e,n);return l.createElement("svg",o({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 122.88 79.09","aria-labelledby":r},c),void 0===t?l.createElement("title",{id:r},"monitoring-system"):t?l.createElement("title",{id:r},t):null,l.createElement("path",{d:"M99.61 0v21.93h-1c-.87 0-1.74.05-2.59.13V3.56H3.56v50h69.61a26.37 26.37 0 0 0 1.39 4.39 26 26 0 0 0 5.34 8.18H65.52v6.66h10v6.34h-51.6v-6.38h10.67v-6.66H0V0Zm-.81 29a19.18 19.18 0 0 1 16.42 29l7.42 8.08a.92.92 0 0 1-.06 1.3l-5.44 5a.93.93 0 0 1-1.3-.06l-7.09-7.81a19.08 19.08 0 0 1-10 2.79 19.06 19.06 0 0 1-7.33-1.46 19.17 19.17 0 0 1-10.34-25 19.23 19.23 0 0 1 10.39-10.39A19.05 19.05 0 0 1 98.8 29Zm10.77 8.3a15.31 15.31 0 0 0-24.9 5 15.35 15.35 0 0 0-1.14 5.81A15.1 15.1 0 0 0 84.67 54 15.26 15.26 0 0 0 88 59a15.49 15.49 0 0 0 5 3.32A15.3 15.3 0 0 0 112.93 54a15.27 15.27 0 0 0-3.34-16.61v-.05Zm-33.11-3h-1.57a1.4 1.4 0 0 1-1.38-1.17l-2.2-11-3.16 11.52a1.39 1.39 0 0 1-1.7 1 1.37 1.37 0 0 1-.9-.77L62.44 27l-2.26 5.54a1.39 1.39 0 0 1-1.29.87h-4.08a1.4 1.4 0 0 1-1.32-.94L51.26 27l-3.1 6.85a1.39 1.39 0 0 1-2.64-.3L42.39 22.1l-4.5 22.57a1.4 1.4 0 0 1-2.73 0l-4.58-14.2-1 2.51a1.39 1.39 0 0 1-1.29.87H11.74a1.4 1.4 0 1 1 0-2.79h15.61l2.09-5.22a1.39 1.39 0 0 1 2.61.09l4.15 12.93 4.61-23.09a1.41 1.41 0 0 1 1-1.07 1.38 1.38 0 0 1 1.7 1l3.7 13.5 2.84-6.27a1.36 1.36 0 0 1 .76-.73 1.38 1.38 0 0 1 1.81.77l3.13 7.66H58L61.08 23a1.36 1.36 0 0 1 .72-.75 1.39 1.39 0 0 1 1.84.7l2.85 6.28 3.66-13.41a1.39 1.39 0 0 1 2.74 0L76 31.52h2.41a27.09 27.09 0 0 0-2 2.79Zm-30 23.06h6.58a1.25 1.25 0 0 1 1.26 1.26 1.27 1.27 0 0 1-1.26 1.26h-6.55a1.27 1.27 0 0 1-1.26-1.26 1.26 1.26 0 0 1 1.26-1.26Zm11.38 0h1.21a1.26 1.26 0 0 1 1.27 1.26 1.27 1.27 0 0 1-1.27 1.26h-1.18a1.27 1.27 0 0 1-1.26-1.26 1.26 1.26 0 0 1 1.26-1.26Zm-17.34 0h1.21A1.25 1.25 0 0 1 43 58.63a1.26 1.26 0 0 1-1.26 1.26h-1.21a1.27 1.27 0 0 1-1.26-1.26 1.26 1.26 0 0 1 1.26-1.26Z",style:{fillRule:"evenodd"}}))}},2918:function(e,t,r){var l=r(7294),n=["title","titleId"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,c=a(e,n);return l.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 122.88 91.86",style:{enableBackground:"new 0 0 122.88 91.86"},xmlSpace:"preserve","aria-labelledby":r},c),t?l.createElement("title",{id:r},t):null,l.createElement("path",{d:"m111.89 75.94-6.59 6.59c-1.73 1.73-4.58 1.73-6.31 0l-5.31-5.31a35.944 35.944 0 0 1-8.78 3.3v6.88c0 2.45-2.01 4.46-4.46 4.46h-9.32c-2.45 0-4.46-2.01-4.46-4.46v-7.51c-3.04-.92-5.91-2.23-8.54-3.89l-4.87 4.87c-1.73 1.73-4.58 1.73-6.31 0l-2.98-2.97.08-.09 13.07-14.96c4.78 5.6 11.9 9.16 19.84 9.16 14.4 0 26.08-11.68 26.08-26.07 0-14.4-11.68-26.08-26.08-26.08-7.21 0-13.74 2.93-18.46 7.66l-4.81-.18L41.51 16.5c.15-.21.31-.4.49-.59l6.59-6.59c1.73-1.73 4.58-1.73 6.31 0l5.31 5.31c2.74-1.47 5.68-2.59 8.78-3.3V4.45C69.01 2.01 71.02 0 73.47 0h9.31c2.45 0 4.46 2.01 4.46 4.46v7.51c3.04.92 5.91 2.24 8.54 3.89l4.87-4.87c1.73-1.73 4.58-1.73 6.31 0l6.59 6.59c1.73 1.73 1.73 4.58 0 6.31l-5.31 5.31c1.47 2.74 2.59 5.68 3.3 8.78h6.88c2.44 0 4.46 2.01 4.46 4.46v9.32c0 2.45-2.01 4.46-4.46 4.46h-7.5c-.92 3.04-2.23 5.91-3.89 8.54l4.87 4.87c1.73 1.73 1.73 4.57-.01 6.31zM77.03 37.46c4.68 0 8.47 3.79 8.47 8.47 0 4.68-3.79 8.47-8.47 8.47-4.68 0-8.47-3.79-8.47-8.47 0-4.68 3.8-8.47 8.47-8.47zm-16.89 7.95L37.13 71.76l-.77-12.36C20.63 57.15 8.58 61.47 0 73.87c.1-24.4 15.96-37.16 34.82-39.12l-.79-12.61 26.11 23.27z",style:{fillRule:"evenodd",clipRule:"evenodd"}}))}},5967:function(e,t,r){var l,n,o,a=r(7294),c=["title","titleId"];function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}t.Z=function(e){var t=e.title,r=e.titleId,p=i(e,c);return a.createElement("svg",s({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 511.996 511.996","aria-labelledby":r},p),t?a.createElement("title",{id:r},t):null,l||(l=a.createElement("path",{d:"M320.107 202.568a10.63 10.63 0 0 0 7.531-3.117l117.78-117.772c4.156-4.164 4.156-10.914 0-15.078-4.172-4.164-10.922-4.164-15.094 0L312.56 184.365c-4.172 4.164-4.172 10.922 0 15.086a10.64 10.64 0 0 0 7.547 3.117z"})),n||(n=a.createElement("path",{d:"M344.686 257.81 505.73 96.765a21.2 21.2 0 0 0 6.25-15.086 21.167 21.167 0 0 0-6.25-15.078L445.402 6.273c-4.016-4.031-9.375-6.25-15.078-6.25s-11.047 2.219-15.077 6.242L252.232 169.287a20.821 20.821 0 0 0-3.094 3.914c-12.047-10.664-21.438-18.968-26.906-23.812 4.546-17.422 13.484-63.75-9.094-97.375-12.359-18.406-26.828-32.14-43.016-40.819C156.263 3.765 141.107 0 125.076 0 85.717 0 54.295 22.68 52.983 23.648l-12.312 9.015 80.953 53.961 2.031 18.242-15.422 22.281-31.343.008L1.781 89.601l1.641 18.977c.078.969 2.203 24.109 14.766 47.43 10.266 19.054 24.453 32.741 41.89 40.71l-12.422 17.938 96.906 8.812c6.734 7.68 23.921 27.266 46.171 52.562L81.812 384.949v.016l-6.312 6.312-30.984 15.484-44.5 62.297 42.937 42.938 62.296-44.5 15.484-30.969 6.328-6.328 106.03-106.047c61.609 69.906 134.062 151.703 148.233 165.875 14.094 14.094 32.844 21.844 52.78 21.844 19.938 0 38.688-7.75 52.781-21.844 29.109-29.125 29.109-76.469 0-105.594-4.342-4.343-74.482-66.624-142.199-126.623zm-62.298-88.523c2.094 2.078 4.812 3.117 7.547 3.117s5.453-1.039 7.547-3.117L415.247 51.515c4.155-4.164 4.155-10.914 0-15.078l15.077-15.085 60.328 60.327-15.078 15.086c-4.172-4.164-10.922-4.164-15.078 0L342.732 214.529c-4.172 4.164-4.172 10.922 0 15.086l-14.031 14.031c-6.25-5.539-12.422-11.008-18.484-16.375l-42.907-42.906 15.078-15.078zm-162.389-21.655 17.422 9.531-5.828 8.483-17.453-9.554 5.859-8.46zm12.203-17.633 5.797-8.375 17.328 9.484-5.766 8.391-17.359-9.5zm-94.937 16.437c-3.641-6.641-6.25-13.344-8.125-19.305l42.718 21.359 21.609-.008-20.984 30.296c-14.765-5.71-26.562-16.514-35.218-32.342zm65.937 277.435-14.671 29.344-43.266 30.922-17.39-17.391 30.906-43.281 29.344-14.656 1.234-1.234 15.078 15.078-1.235 1.218zm16.313-16.297-15.078-15.078L204.843 292.09c4.578 5.188 9.297 10.562 14.125 16.031l-99.453 99.453zm352.294 67.36c-10.078 10.062-23.453 15.625-37.703 15.625s-27.64-5.562-37.702-15.625c-24.469-24.469-236.467-266.295-238.607-268.732l-2.814-3.204-68.984-6.273 15.921-23 27.891 15.258a10.628 10.628 0 0 0 5.109 1.312c3.406 0 6.734-1.641 8.797-4.633l35.875-52.202c1.703-2.492 2.281-5.578 1.578-8.516s-2.609-5.438-5.25-6.883l-31.234-17.094-2.953-26.578-62.296-41.531c10.984-5.39 27.484-11.53 45.64-11.53 27.719 0 51.39 14.327 70.359 42.577 21.828 32.516 4.734 85.094 4.562 85.609l-2.25 6.703 5.297 4.679c72.437 64.07 261.935 231.834 268.763 238.631 20.797 20.782 20.797 54.625.001 75.407z"})),o||(o=a.createElement("path",{d:"M239.248 224.881c-4.172-4.164-10.922-4.164-15.094 0-4.156 4.164-4.156 10.914 0 15.078l150.827 150.818a10.572 10.572 0 0 0 7.531 3.125c2.734 0 5.469-1.031 7.547-3.125 4.172-4.156 4.172-10.906 0-15.078L239.248 224.881zm196.061 179.146c-8.547 0-16.578 3.344-22.624 9.375-6.047 6.047-9.375 14.078-9.375 22.625s3.328 16.578 9.375 22.625c6.046 6.031 14.077 9.375 22.624 9.375s16.578-3.344 22.625-9.375c12.469-12.469 12.469-32.781 0-45.25-6.047-6.031-14.079-9.375-22.625-9.375zm7.546 39.532c-2.016 2.031-4.703 3.125-7.547 3.125s-5.531-1.094-7.547-3.125c-2.016-2-3.125-4.688-3.125-7.531s1.109-5.531 3.125-7.547 4.703-3.109 7.547-3.109 5.531 1.094 7.547 3.109c4.157 4.171 4.157 10.921 0 15.078z"})))}},6390:function(e,t,r){r.r(t),r.d(t,{default:function(){return S}});var l=r(5742),n=r(7462),o=r(7294),a={root:"root_AhId",heading:"heading_fnW7",subheading:"subheading_cJ8g",features:"features_ez_S",featureIcon:"featureIcon_fDSv",featureTitle:"featureTitle_ubQv",featureDescription:"featureDescription_d4Zi"},c=[{title:"Open Source",link:"/",icon:r(5967).Z,description:o.createElement(o.Fragment,null,"As an open source company, we're passionately engaged in numerous projects, initiatives and standards where we represent the needs and requirements of our many customers and partners.")},{title:"Test Everything",link:"/",icon:r(4896).Z,description:o.createElement(o.Fragment,null,"Web, Mobile, Desktop, and API services..")},{title:"Unified Framework API",link:"/",icon:r(5809).Z,description:o.createElement(o.Fragment,null,"All features that we provide- use the same syntax. Once you learn how to write tests for the web, you can start immediately writing for mobile, desktop, or API.")},{title:"Integrations",link:"/",icon:r(2918).Z,description:o.createElement(o.Fragment,null,"Seamlessly integrate the framework with your existing tools and processes. Execute tests in the clouds, distributed and publish test results in reporting solutions.")},{title:"Automatic waiting",link:"/",icon:r(2018).Z,description:o.createElement(o.Fragment,null,"Never add waits or sleeps to your tests. Selcukes automatically waits for commands and assertions before moving on. No more async hell.")},{title:"Debug",link:"/",icon:r(6672).Z,description:o.createElement(o.Fragment,null,"Stop guessing why your tests are failing. Our readable errors and stack traces make debugging lightning fast..")}];function s(e){var t=e.title,r=(e.link,e.icon),l=e.description;return o.createElement("div",{className:a.feature},o.createElement(r,{className:a.featureIcon,role:"img"}),o.createElement("h3",{className:a.featureTitle},t),o.createElement("p",{className:a.featureDescription},l))}function i(){return o.createElement("section",{className:a.root},o.createElement("div",{className:"container"},o.createElement("h2",{className:a.heading},"All-in-one Framework"),o.createElement("h3",{className:a.subheading},"Everything you need, ",o.createElement("br",{className:"hidden--lg"})," in one framework"),o.createElement("div",{className:a.features},c.map((function(e,t){return o.createElement(s,(0,n.Z)({key:t},e))})))))}var p=r(9960),f=r(512),m="root_Vlw6",u="wrapper_dohI",d="heading_NDJj",E="supheading_Wqow",h="subheading_epWx",y="buttons_lPY8",g="panelImage_wYPY";function v(){return o.createElement("section",{className:m},o.createElement("div",{className:(0,f.Z)("container",u)},o.createElement("div",null,o.createElement("p",{className:E},"What is "),o.createElement("h1",{className:d},"Selcukes ?",o.createElement("br",null)),o.createElement("h2",{className:h},"One stop automation solution for Web, Desktop, Mobile and API."),o.createElement("div",{className:y},o.createElement(p.Z,{className:"button button--lg button--primary",to:"/docs"},"Get Started"),o.createElement(p.Z,{className:"button button--lg button--secondary button--outline margin-left--md",href:"/"},"Book Demo"))),o.createElement("div",{className:g},o.createElement(p.Z,{href:"https://selcukes.github.io/",target:"_blank"},o.createElement("img",{src:"/img/programmer.png"})))))}var b="root_rQXT",O="heading_unpT",F="languages_YWkp",C="language_Pd3C",w="languageIcon_eeCc",j="languageName_kgzU",x=[{name:"Chrome",link:"/docs",icon:r(5827).Z},{name:"Firefox",link:"/docs",icon:r(877).Z},{name:"Edge",link:"/docs",icon:r(1505).Z},{name:"IE",link:"/docs",icon:r(162).Z},{name:"Android",link:"/docs",icon:r(3202).Z},{name:"Desktop",link:"/docs",icon:r(587).Z}];function Z(e){var t=e.name,r=e.link,l=e.icon;return o.createElement(p.Z,{className:C,to:r},o.createElement(l,{className:w,role:"img"}),o.createElement("h3",{className:j},t))}function M(){return o.createElement("section",{className:b},o.createElement("div",{className:"container"},o.createElement("h2",{className:O},"Supported Devices"),o.createElement("div",{className:F},x.map((function(e,t){return o.createElement(Z,(0,n.Z)({key:t},e))})))))}var k=r(1899);function S(){return o.createElement(k.Z,{description:"One stop automation solution for Web, Desktop, Mobile and API"},o.createElement(l.Z,null,o.createElement("title",null,"Selcukes")),o.createElement(v,null),o.createElement(M,null),o.createElement(i,null))}}}]); \ No newline at end of file diff --git a/assets/js/218.923d990c.js b/assets/js/218.923d990c.js new file mode 100644 index 0000000..4995897 --- /dev/null +++ b/assets/js/218.923d990c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[218],{9058:function(e,t,a){a.d(t,{Z:function(){return _}});var r=a(3366),n=a(7294),l=a(4334),o=a(1899),i=a(7524),s=a(9960),m=a(5999),c="sidebar_re4s",u="sidebarItemTitle_pO2u",d="sidebarItemList_Yudw",g="sidebarItem__DBe",p="sidebarItemLink_mo7H",f="sidebarItemLinkActive_I1ZP";function v(e){var t=e.sidebar;return n.createElement("aside",{className:"col col--3"},n.createElement("nav",{className:(0,l.Z)(c,"thin-scrollbar"),"aria-label":(0,m.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"})},n.createElement("div",{className:(0,l.Z)(u,"margin-bottom--md")},t.title),n.createElement("ul",{className:(0,l.Z)(d,"clean-list")},t.items.map((function(e){return n.createElement("li",{key:e.permalink,className:g},n.createElement(s.Z,{isNavLink:!0,to:e.permalink,className:p,activeClassName:f},e.title))})))))}var h=a(3102);function E(e){var t=e.sidebar;return n.createElement("ul",{className:"menu__list"},t.items.map((function(e){return n.createElement("li",{key:e.permalink,className:"menu__list-item"},n.createElement(s.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active"},e.title))})))}function b(e){return n.createElement(h.Zo,{component:E,props:e})}function P(e){var t=e.sidebar,a=(0,i.i)();return null!=t&&t.items.length?"mobile"===a?n.createElement(b,{sidebar:t}):n.createElement(v,{sidebar:t}):null}var N=["sidebar","toc","children"];function _(e){var t=e.sidebar,a=e.toc,i=e.children,s=(0,r.Z)(e,N),m=t&&t.items.length>0;return n.createElement(o.Z,s,n.createElement("div",{className:"container margin-vert--lg"},n.createElement("div",{className:"row"},n.createElement(P,{sidebar:t}),n.createElement("main",{className:(0,l.Z)("col",{"col--7":m,"col--9 col--offset-1":!m}),itemScope:!0,itemType:"http://schema.org/Blog"},i),a&&n.createElement("div",{className:"col col--2"},a))))}},756:function(e,t,a){a.d(t,{Z:function(){return H}});var r=a(7294),n=a(4334),l=a(9460),o=a(4996);function i(e){var t,a,n=e.children,i=e.className,s=(0,l.C)(),m=s.frontMatter,c=s.assets,u=s.metadata.description,d=(0,o.C)().withBaseUrl,g=null!=(t=c.image)?t:m.image,p=null!=(a=m.keywords)?a:[];return r.createElement("article",{className:i,itemProp:"blogPost",itemScope:!0,itemType:"http://schema.org/BlogPosting"},u&&r.createElement("meta",{itemProp:"description",content:u}),g&&r.createElement("link",{itemProp:"image",href:d(g,{absolute:!0})}),p.length>0&&r.createElement("meta",{itemProp:"keywords",content:p.join(",")}),n)}var s=a(9960),m="title_f1Hy";function c(e){var t=e.className,a=(0,l.C)(),o=a.metadata,i=a.isBlogPostPage,c=o.permalink,u=o.title,d=i?"h1":"h2";return r.createElement(d,{className:(0,n.Z)(m,t),itemProp:"headline"},i?u:r.createElement(s.Z,{itemProp:"url",to:c},u))}var u=a(5999),d=a(2263),g=["zero","one","two","few","many","other"];function p(e){return g.filter((function(t){return e.includes(t)}))}var f={locale:"en",pluralForms:p(["one","other"]),select:function(e){return 1===e?"one":"other"}};function v(){var e=(0,d.Z)().i18n.currentLocale;return(0,r.useMemo)((function(){try{return t=e,a=new Intl.PluralRules(t),{locale:t,pluralForms:p(a.resolvedOptions().pluralCategories),select:function(e){return a.select(e)}}}catch(r){return console.error('Failed to use Intl.PluralRules for locale "'+e+'".\nDocusaurus will fallback to the default (English) implementation.\nError: '+r.message+"\n"),f}var t,a}),[e])}function h(){var e=v();return{selectMessage:function(t,a){return function(e,t,a){var r=e.split("|");if(1===r.length)return r[0];r.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 "+r.length+": "+e);var n=a.select(t),l=a.pluralForms.indexOf(n);return r[Math.min(l,r.length-1)]}(a,t,e)}}}var E="container_mt6G";function b(e){var t,a=e.readingTime,n=(t=h().selectMessage,function(e){var a=Math.ceil(e);return t(a,(0,u.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". 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)',message:"One min read|{readingTime} min read"},{readingTime:a}))});return r.createElement(r.Fragment,null,n(a))}function P(e){var t=e.date,a=e.formattedDate;return r.createElement("time",{dateTime:t,itemProp:"datePublished"},a)}function N(){return r.createElement(r.Fragment,null," \xb7 ")}function _(e){var t=e.className,a=(0,l.C)().metadata,o=a.date,i=a.formattedDate,s=a.readingTime;return r.createElement("div",{className:(0,n.Z)(E,"margin-vert--md",t)},r.createElement(P,{date:o,formattedDate:i}),void 0!==s&&r.createElement(r.Fragment,null,r.createElement(N,null),r.createElement(b,{readingTime:s})))}function Z(e){return e.href?r.createElement(s.Z,e):r.createElement(r.Fragment,null,e.children)}function k(e){var t=e.author,a=e.className,l=t.name,o=t.title,i=t.url,s=t.imageURL,m=t.email,c=i||m&&"mailto:"+m||void 0;return r.createElement("div",{className:(0,n.Z)("avatar margin-bottom--sm",a)},s&&r.createElement(Z,{href:c,className:"avatar__photo-link"},r.createElement("img",{className:"avatar__photo",src:s,alt:l,itemProp:"image"})),l&&r.createElement("div",{className:"avatar__intro",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person"},r.createElement("div",{className:"avatar__name"},r.createElement(Z,{href:c,itemProp:"url"},r.createElement("span",{itemProp:"name"},l))),o&&r.createElement("small",{className:"avatar__subtitle",itemProp:"description"},o)))}var w="authorCol_Hf19",C="imageOnlyAuthorRow_pa_O",T="imageOnlyAuthorCol_G86a";function y(e){var t=e.className,a=(0,l.C)(),o=a.metadata.authors,i=a.assets;if(0===o.length)return null;var s=o.every((function(e){return!e.name}));return r.createElement("div",{className:(0,n.Z)("margin-top--md margin-bottom--sm",s?C:"row",t)},o.map((function(e,t){var a;return r.createElement("div",{className:(0,n.Z)(!s&&"col col--6",s?T:w),key:t},r.createElement(k,{author:Object.assign({},e,{imageURL:null!=(a=i.authorsImageUrls[t])?a:e.imageURL})}))})))}function B(){return r.createElement("header",null,r.createElement(c,null),r.createElement(_,null),r.createElement(y,null))}var I=a(8780),F=a(8718);function M(e){var t=e.children,a=e.className,o=(0,l.C)().isBlogPostPage;return r.createElement("div",{id:o?I.blogPostContainerID:void 0,className:(0,n.Z)("markdown",a),itemProp:"articleBody"},r.createElement(F.Z,null,t))}var L=a(4881),R=a(6233),x=a(7462),A=a(3366),O=["blogPostTitle"];function U(){return r.createElement("b",null,r.createElement(u.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts"},"Read More"))}function D(e){var t=e.blogPostTitle,a=(0,A.Z)(e,O);return r.createElement(s.Z,(0,x.Z)({"aria-label":(0,u.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t})},a),r.createElement(U,null))}var S="blogPostFooterDetailsFull_mRVl";function j(){var e=(0,l.C)(),t=e.metadata,a=e.isBlogPostPage,o=t.tags,i=t.title,s=t.editUrl,m=t.hasTruncateMarker,c=!a&&m,u=o.length>0;return u||c||s?r.createElement("footer",{className:(0,n.Z)("row docusaurus-mt-lg",a&&S)},u&&r.createElement("div",{className:(0,n.Z)("col",{"col--9":c})},r.createElement(R.Z,{tags:o})),a&&s&&r.createElement("div",{className:"col margin-top--sm"},r.createElement(L.Z,{editUrl:s})),c&&r.createElement("div",{className:(0,n.Z)("col text--right",{"col--3":u})},r.createElement(D,{blogPostTitle:i,to:t.permalink}))):null}function H(e){var t=e.children,a=e.className,o=(0,l.C)().isBlogPostPage?void 0:"margin-bottom--xl";return r.createElement(i,{className:(0,n.Z)(o,a)},r.createElement(B,null),r.createElement(M,null,t),r.createElement(j,null))}},9460:function(e,t,a){a.d(t,{C:function(){return i},n:function(){return o}});var r=a(7294),n=a(9688),l=r.createContext(null);function o(e){var t=e.children,a=e.content,n=e.isBlogPostPage,o=function(e){var t=e.content,a=e.isBlogPostPage;return(0,r.useMemo)((function(){return{metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a}}),[t,a])}({content:a,isBlogPostPage:void 0!==n&&n});return r.createElement(l.Provider,{value:o},t)}function i(){var e=(0,r.useContext)(l);if(null===e)throw new n.i6("BlogPostProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/3d285c18.58cf10db.js b/assets/js/3d285c18.58cf10db.js new file mode 100644 index 0000000..d163bb5 --- /dev/null +++ b/assets/js/3d285c18.58cf10db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[150],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return d}});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 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 u(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=r.createContext({}),o=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},c=function(e){var t=o(e.components);return r.createElement(s.Provider,{value:t},e.children)},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,l=e.mdxType,a=e.originalType,s=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),f=o(n),d=l,m=f["".concat(s,".").concat(d)]||f[d]||p[d]||a;return n?r.createElement(m,u(u({ref:t},c),{},{components:n})):r.createElement(m,u({ref:t},c))}));function d(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,u=new Array(a);u[0]=f;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:l,u[1]=i;for(var o=2;o child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,l.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,s.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function f(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function d(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,a=(0,u.k6)(),s=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,i._X)(s),(0,l.useCallback)((function(e){if(s){var t=new URLSearchParams(a.location.search);t.set(s,e),a.replace(Object.assign({},a.location,{search:t.toString()}))}}),[s,a])]}function m(e){var t,n,r,a,u=e.defaultValue,i=e.queryString,s=void 0!==i&&i,c=e.groupId,m=p(e),h=(0,l.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!f({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var l=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!l)throw new Error("Unexpected error: 0 tabValues");return l.value}({defaultValue:u,tabValues:m})})),v=h[0],b=h[1],k=d({queryString:s,groupId:c}),g=k[0],x=k[1],y=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,o.Nk)(t),r=n[0],a=n[1],[r,(0,l.useCallback)((function(e){t&&a.set(e)}),[t,a])]),T=y[0],E=y[1],w=function(){var e=null!=g?g:T;return f({value:e,tabValues:m})?e:null}();return(0,l.useLayoutEffect)((function(){w&&b(w)}),[w]),{selectedValue:v,selectValue:(0,l.useCallback)((function(e){if(!f({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);b(e),x(e),E(e)}),[x,E,m]),tabValues:m}}var h=n(2466),v=n(2389),b="tabList__CuJ",k="tabItem_LNqP";function g(e){var t=e.className,n=e.block,u=e.selectedValue,i=e.selectValue,s=e.tabValues,o=[],c=(0,h.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=o.indexOf(t),r=s[n].value;r!==u&&(c(t),i(r))},f=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,l=o.indexOf(e.currentTarget)+1;n=null!=(r=o[l])?r:o[0];break;case"ArrowLeft":var a,u=o.indexOf(e.currentTarget)-1;n=null!=(a=o[u])?a:o[o.length-1]}null==(t=n)||t.focus()};return l.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t)},s.map((function(e){var t=e.value,n=e.label,i=e.attributes;return l.createElement("li",(0,r.Z)({role:"tab",tabIndex:u===t?0:-1,"aria-selected":u===t,key:t,ref:function(e){return o.push(e)},onKeyDown:f,onClick:p},i,{className:(0,a.Z)("tabs__item",k,null==i?void 0:i.className,{"tabs__item--active":u===t})}),null!=n?n:t)})))}function x(e){var t=e.lazy,n=e.children,r=e.selectedValue,a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var u=a.find((function(e){return e.props.value===r}));return u?(0,l.cloneElement)(u,{className:"margin-top--md"}):null}return l.createElement("div",{className:"margin-top--md"},a.map((function(e,t){return(0,l.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function y(e){var t=m(e);return l.createElement("div",{className:(0,a.Z)("tabs-container",b)},l.createElement(g,(0,r.Z)({},e,t)),l.createElement(x,(0,r.Z)({},e,t)))}function T(e){var t=(0,v.Z)();return l.createElement(y,(0,r.Z)({key:String(t)},e))}},5019:function(e,t,n){n.r(t),n.d(t,{assets:function(){return f},contentTitle:function(){return c},default:function(){return h},frontMatter:function(){return o},metadata:function(){return p},toc:function(){return d}});var r=n(7462),l=n(3366),a=(n(7294),n(3905)),u=n(4866),i=n(5162),s=["components"],o={id:"excel-runner",title:"Selcukes Excel Runner",sidebar_position:4},c=void 0,p={unversionedId:"guides/excel-runner",id:"guides/excel-runner",title:"Selcukes Excel Runner",description:"Selcukes Excel Runner is an Excel driven cucumber runner which helps to",source:"@site/docs/03_guides/excel-runner.md",sourceDirName:"03_guides",slug:"/guides/excel-runner",permalink:"/docs/guides/excel-runner",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/excel-runner.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"excel-runner",title:"Selcukes Excel Runner",sidebar_position:4},sidebar:"defaultSidebar",previous:{title:"Selcukes Notifier",permalink:"/docs/guides/selcukes-notifier"},next:{title:"Selcukes TestNG",permalink:"/docs/guides/selcukes-testng"}},f={},d=[{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2},{value:"Single Excel File Tests",id:"single-excel-file-tests",level:3},{value:"Multi Excel File Tests",id:"multi-excel-file-tests",level:3}],m={toc:d};function h(e){var t=e.components,n=(0,l.Z)(e,s);return(0,a.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-excel-runner"},"Selcukes Excel Runner")," is an Excel driven cucumber runner which helps to"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Execute cucumber scenarios in required order"),(0,a.kt)("li",{parentName:"ol"},"Execute only specific examples in a Scenario Outline")),(0,a.kt)("h2",{id:"setup"},"Setup"),(0,a.kt)("p",null,"Selcukes Excel Runner is primarily used as a Java dependency . We typically use a ",(0,a.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,a.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,a.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Excel Runner dependency."),(0,a.kt)(u.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,a.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-excel-runner\n ${selcukes.version}\n\n"))),(0,a.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-excel-runner:${selcukes.version}")\n }\n')))),(0,a.kt)("h2",{id:"usage"},"Usage"),(0,a.kt)("p",null,"ExcelTestRunner supports both single-excel-file and multi-excel file."),(0,a.kt)("h3",{id:"single-excel-file-tests"},"Single Excel File Tests"),(0,a.kt)("p",null,'Single Excel file tests hold both suite details and testdata details in same excel file.\nTo run cucumber tests from a single Excel file, you will need to create a "Test Suite" sheet, that will contain the following information:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Screen: The name of the screen"),(0,a.kt)("li",{parentName:"ul"},"Feature: The name of the feature that the test belongs to."),(0,a.kt)("li",{parentName:"ul"},"Test: The name of the test or Scenario."),(0,a.kt)("li",{parentName:"ul"},"Run: Indicates that the test should be run.")),(0,a.kt)("p",null,"And Have the separate sheets for each screen will contain the following mandatory column:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Test: The name of the test or Scenario."),(0,a.kt)("li",{parentName:"ul"},"Example: The cucumber example."),(0,a.kt)("li",{parentName:"ul"},"Run: Indicates that the test should be run.")),(0,a.kt)("p",null,"In additions to above three column, you have your screen specific field column."),(0,a.kt)("p",null,"Here is exmple of Single excel file test ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/blob/main/selcukes-excel-runner/src/test/resources/TestData.xlsx"},"TestData.xlsx")),(0,a.kt)("h3",{id:"multi-excel-file-tests"},"Multi Excel File Tests"),(0,a.kt)("p",null,'To run cucumber tests from multiple Excel files, you will need to create a "TestSuite.xlsx" file with multiple test suite sheets like Regression, Smoke, etc. Each test suite sheet will contain the following information:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Screen: The name of the screen"),(0,a.kt)("li",{parentName:"ul"},"Feature: The name of the feature that the test belongs to."),(0,a.kt)("li",{parentName:"ul"},"Test: The name of the test or Scenario."),(0,a.kt)("li",{parentName:"ul"},"Run: Indicates that the test should be run."),(0,a.kt)("li",{parentName:"ul"},"DataFile: The path to the file that contains the respective screen test data.")),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"DataFile")," column is new in multi-excel file concept. It specifies the path to the file that contains the test data for the respective screen. The test data is similar to single-excel file test approach, only thing here, each screen has dedicated excel file instead of sheet."),(0,a.kt)("p",null,"Here is exmple of Multi excel file Tests"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Suite file ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/selcukes/selcukes-java/blob/main/selcukes-excel-runner/src/test/resources/TestSuite.xlsx"},"TestSuite.xlsx")),(0,a.kt)("li",{parentName:"ul"},"Google screen file ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/selcukes/selcukes-java/blob/main/selcukes-excel-runner/src/test/resources/Google.xlsx"},"Google.xlsx"))))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4464155c.6dcb6248.js b/assets/js/4464155c.6dcb6248.js new file mode 100644 index 0000000..78d2a58 --- /dev/null +++ b/assets/js/4464155c.6dcb6248.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[635],{3905:function(e,r,t){t.d(r,{Zo:function(){return c},kt:function(){return v}});var n=t(7294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),u=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},c=function(e){var r=u(e.components);return n.createElement(l.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},p=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(t),v=a,m=p["".concat(l,".").concat(v)]||p[v]||d[v]||i;return t?n.createElement(m,o(o({ref:r},c),{},{components:t})):n.createElement(m,o({ref:r},c))}));function v(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=p;var s={};for(var l in r)hasOwnProperty.call(r,l)&&(s[l]=r[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var u=2;u child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:t.filter(Boolean))?r:[]}(e).map((function(e){var r=e.props;return{value:r.value,label:r.label,attributes:r.attributes,default:r.default}}))}function d(e){var r=e.values,t=e.children;return(0,a.useMemo)((function(){var e=null!=r?r:c(t);return function(e){var r=(0,l.l)(e,(function(e,r){return e.value===r.value}));if(r.length>0)throw new Error('Docusaurus error: Duplicate values "'+r.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[r,t])}function p(e){var r=e.value;return e.tabValues.some((function(e){return e.value===r}))}function v(e){var r=e.queryString,t=void 0!==r&&r,n=e.groupId,i=(0,o.k6)(),l=function(e){var r=e.queryString,t=void 0!==r&&r,n=e.groupId;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:t,groupId:n});return[(0,s._X)(l),(0,a.useCallback)((function(e){if(l){var r=new URLSearchParams(i.location.search);r.set(l,e),i.replace(Object.assign({},i.location,{search:r.toString()}))}}),[l,i])]}function m(e){var r,t,n,i,o=e.defaultValue,s=e.queryString,l=void 0!==s&&s,c=e.groupId,m=d(e),h=(0,a.useState)((function(){return function(e){var r,t=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+t+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return t}var a=null!=(r=n.find((function(e){return e.default})))?r:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:o,tabValues:m})})),b=h[0],f=h[1],g=v({queryString:l,groupId:c}),y=g[0],w=g[1],k=(r=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),t=(0,u.Nk)(r),n=t[0],i=t[1],[n,(0,a.useCallback)((function(e){r&&i.set(e)}),[r,i])]),D=k[0],N=k[1],T=function(){var e=null!=y?y:D;return p({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){T&&f(T)}),[T]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!p({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);f(e),w(e),N(e)}),[w,N,m]),tabValues:m}}var h=t(2466),b=t(2389),f="tabList__CuJ",g="tabItem_LNqP";function y(e){var r=e.className,t=e.block,o=e.selectedValue,s=e.selectValue,l=e.tabValues,u=[],c=(0,h.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var r=e.currentTarget,t=u.indexOf(r),n=l[t].value;n!==o&&(c(r),s(n))},p=function(e){var r,t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var n,a=u.indexOf(e.currentTarget)+1;t=null!=(n=u[a])?n:u[0];break;case"ArrowLeft":var i,o=u.indexOf(e.currentTarget)-1;t=null!=(i=u[o])?i:u[u.length-1]}null==(r=t)||r.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},r)},l.map((function(e){var r=e.value,t=e.label,s=e.attributes;return a.createElement("li",(0,n.Z)({role:"tab",tabIndex:o===r?0:-1,"aria-selected":o===r,key:r,ref:function(e){return u.push(e)},onKeyDown:p,onClick:d},s,{className:(0,i.Z)("tabs__item",g,null==s?void 0:s.className,{"tabs__item--active":o===r})}),null!=t?t:r)})))}function w(e){var r=e.lazy,t=e.children,n=e.selectedValue,i=(Array.isArray(t)?t:[t]).filter(Boolean);if(r){var o=i.find((function(e){return e.props.value===n}));return o?(0,a.cloneElement)(o,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},i.map((function(e,r){return(0,a.cloneElement)(e,{key:r,hidden:e.props.value!==n})})))}function k(e){var r=m(e);return a.createElement("div",{className:(0,i.Z)("tabs-container",f)},a.createElement(y,(0,n.Z)({},e,r)),a.createElement(w,(0,n.Z)({},e,r)))}function D(e){var r=(0,b.Z)();return a.createElement(k,(0,n.Z)({key:String(r)},e))}},4885:function(e,r,t){t.r(r),t.d(r,{assets:function(){return p},contentTitle:function(){return c},default:function(){return h},frontMatter:function(){return u},metadata:function(){return d},toc:function(){return v}});var n=t(7462),a=t(3366),i=(t(7294),t(3905)),o=t(4866),s=t(5162),l=["components"],u={id:"webdriver-binaries",title:"WebDriver Binaries",sidebar_position:10},c=void 0,d={unversionedId:"guides/webdriver-binaries",id:"guides/webdriver-binaries",title:"WebDriver Binaries",description:"WebDriver Binaries is an open-source Java",source:"@site/docs/03_guides/webdriver-binaries.md",sourceDirName:"03_guides",slug:"/guides/webdriver-binaries",permalink:"/docs/guides/webdriver-binaries",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/webdriver-binaries.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{id:"webdriver-binaries",title:"WebDriver Binaries",sidebar_position:10},sidebar:"defaultSidebar",previous:{title:"Selcukes logger",permalink:"/docs/guides/logger"},next:{title:"Selcukes Collections",permalink:"/docs/guides/collections"}},p={},v=[{value:"Motivation",id:"motivation",level:2},{value:"Setup",id:"setup",level:2},{value:"Driver Management",id:"driver-management",level:2},{value:"Resolution Algorithm",id:"resolution-algorithm",level:2},{value:"Advanced Configuration",id:"advanced-configuration",level:2}],m={toc:v};function h(e){var r=e.components,u=(0,a.Z)(e,l);return(0,i.kt)("wrapper",(0,n.Z)({},m,u,{components:r,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/webdriver-binaries"},"WebDriver Binaries")," is an open-source Java\nlibrary that automatically downloads and configures the binary drivers (e.g., chromedriver, geckodriver, msedgedriver,\netc.) required by Selenium WebDriver."),(0,i.kt)("h2",{id:"motivation"},"Motivation"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://www.selenium.dev/documentation/webdriver/"},"Selenium WebDriver")," is a library that allows controlling web\nbrowsers programmatically. It provides a cross-browser API that can be used to drive web browsers (e.g., Chrome, Edge,\nor Firefox, among others) using different programming languages (e.g., Java, JavaScript, Python, C#, or Ruby). The\nprimary use of Selenium WebDriver is implementing automated tests for web applications."),(0,i.kt)("p",null,"Selenium WebDriver carries out the automation using the native support of each browser. For this reason, we need to\nplace a binary file called ",(0,i.kt)("em",{parentName:"p"},"driver")," between the test using the Selenium WebDriver API and the browser to be controlled.\nExamples of drivers for major web browsers nowadays are ",(0,i.kt)("a",{parentName:"p",href:"https://chromedriver.chromium.org/"},"chromedriver")," (for Chrome)\n, ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/mozilla/geckodriver/"},"geckodriver")," (for Firefox),\nor ",(0,i.kt)("a",{parentName:"p",href:"https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/"},"msedgedriver")," (for Edge). As you can see in\nthe following picture, the communication between the WebDriver API and the driver binary is done using a standard\nprotocol called ",(0,i.kt)("a",{parentName:"p",href:"https://www.w3.org/TR/webdriver/"},"W3C WebDriver")," (formerly the so-called ",(0,i.kt)("em",{parentName:"p"},"JSON Wire Protocol"),"). Then,\nthe communication between the driver and the browser is done using the native capabilities of each browser."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Architecture",src:t(534).Z,width:"718",height:"189"})),(0,i.kt)("p",null,"From a practical point of view, we need to make a ",(0,i.kt)("em",{parentName:"p"},"driver management process")," to use Selenium WebDriver. This process\nconsists on:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Download. Drivers are platform-specific binary files. To download the proper driver, we have to identify the driver\ntype we need (e.g., chromedriver if we want to use Chrome), the operating system (typically, Windows, Linux, or Mac\nOS), the architecture (typically, 32 or 64 bits), and very important, the driver version. Concerning the version,\neach driver release is usually compatible with a given browser version(s). For this reason, we need to discover the\ncorrect driver version for a specific browser release (typically reading the driver documentation or release notes)."),(0,i.kt)("li",{parentName:"ol"},"Setup. Once we have downloaded the driver to our computer, we need to provide a way to locate this driver from our\nSelenium WebDriver tests. In Java, this setup can be done in two different ways. First, we can add the driver\nlocation to our ",(0,i.kt)("inlineCode",{parentName:"li"},"PATH")," environmental variable. Second, we can use ",(0,i.kt)("em",{parentName:"li"},"Java system properties")," to export the driver path.\nEach driver path should be identified using a given system property, as follows:")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},'System.setProperty("webdriver.chrome.driver","/path/to/chromedriver");\nSystem.setProperty("webdriver.gecko.driver","/path/to/geckodriver");\nSystem.setProperty("webdriver.edge.driver","/path/to/msedgedriver");\nSystem.setProperty("webdriver.opera.driver","/path/to/operadriver");\nSystem.setProperty("webdriver.ie.driver","C:/path/to/IEDriverServer.exe");\n')),(0,i.kt)("ol",{start:3},(0,i.kt)("li",{parentName:"ol"},"Maintenance. Last but not least, we need to warranty the compatibility between driver and browser in time. This step\nis relevant since modern browsers automatically upgrade themselves (i.e., they are ",(0,i.kt)("em",{parentName:"li"},"evergreen"),' browsers), and for\nthis reason, the compatibility driver-browser is not warranted in the long run. For instance, when a WebDriver test\nusing Chrome faces a driver incompatibility, it reports the following error message: "',(0,i.kt)("em",{parentName:"li"},"this version of chromedriver\nonly supports chrome version N"),'." As you can see\nin',(0,i.kt)("a",{parentName:"li",href:"https://stackoverflow.com/search?q=this+version+of+chromedriver+only+supports+Chrome+version"},"StackOverflow"),",\nthis is a recurrent problem for manually managed drivers (chromedriver in this case).")),(0,i.kt)("h2",{id:"setup"},"Setup"),(0,i.kt)("p",null,"WebDriver Binaries is primarily used as a Java dependency . We typically use a ",(0,i.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,i.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,i.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the WebDriver Binaries dependency."),(0,i.kt)(o.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,i.kt)(s.Z,{value:"maven",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n webdriver-binaries\n ${selcukes.version}\n test\n\n"))),(0,i.kt)(s.Z,{value:"gradle",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n testImplementation("io.github.selcukes:webdriver-binaries:${selcukes.version}")\n}\n')))),(0,i.kt)("h2",{id:"driver-management"},"Driver Management"),(0,i.kt)("p",null,"The primary use of WebDriver Binaries is the automation of driver management. For using this feature, you need to select\na given driver in the WebDriver Binaries API (e.g., ",(0,i.kt)("inlineCode",{parentName:"p"},"chromeDriver()")," for Chrome) and invoke the method ",(0,i.kt)("inlineCode",{parentName:"p"},"setup()"),". The\nfollowing example shows a test case using ",(0,i.kt)("a",{parentName:"p",href:"https://testng.org/doc/"},"TestNG"),", Selenium WebDriver, WebDriver Binaries. In\nthis test, we invoke WebDriver Binaries in the setup method for all tests (",(0,i.kt)("inlineCode",{parentName:"p"},"@BeforeClass"),"). This way, the required\nbinary (chromeDriver) will be available for all the WebDriver tests using Chrome in this class."),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},"public class WebDriverTest {\n\n private WebDriver driver;\n\n @BeforeClass\n public static void setupClass() {\n WebDriverBinary.chromeDriver().setup();\n }\n\n @Before\n public void setupTest() {\n driver = new ChromeDriver();\n }\n\n @After\n public void teardown() {\n if (driver != null) {\n driver.quit();\n }\n }\n\n @Test\n public void test() {\n // Your test code here\n }\n\n}\n")),(0,i.kt)("p",null,"WebDriver Binaries provides a set of ",(0,i.kt)("em",{parentName:"p"},"binaries")," for Chrome, Firefox, Edge, Opera, Chromium, and Internet Explorer. The\nbasic use of these binary is the following:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},"WebDriverBinary.chromeDriver().setup();\nWebDriverBinary.firefoxDriver().setup();\nWebDriverBinary.ieDriver().setup();\nWebDriverBinary.edgeDriver().setup();\n WebDriverBinary.operaDriver().setup();\n")),(0,i.kt)("h2",{id:"resolution-algorithm"},"Resolution Algorithm"),(0,i.kt)("p",null,"WebDriver Binaries executes a ",(0,i.kt)("em",{parentName:"p"},"resolution algorithm")," when calling to ",(0,i.kt)("inlineCode",{parentName:"p"},"setup()")," in a given manager. The most relevant\nparts of this algorithm are the following:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"WebDriverBinary tries to find the browser version. To this aim, WebDriverBinary uses internally a knowledge database\ncalled commands' database. This database is a collection of shell commands used to discover the version of a given\nbrowser in the different operating systems (e.g., ",(0,i.kt)("inlineCode",{parentName:"li"},"google-chrome --version")," for Chrome in Linux)."),(0,i.kt)("li",{parentName:"ol"},"Using the browser version, it tries to find the proper driver version. This process is different for each browser. In\nChrome and Edge, their respective drivers (chromedriver and msedgedriver) maintainers also publish resources to\nidentify the suitable driver version for a given major browser release. For instance, to find out the version of\nchromedriver required for Chrome 100, we need to read the\nfollowing ",(0,i.kt)("a",{parentName:"li",href:"https://chromedriver.storage.googleapis.com/LATEST_RELEASE_100"},"file"),"."),(0,i.kt)("li",{parentName:"ol"},"Once the driver version is discovered, WebDriverBinary downloads this driver to a local cache (located\nat ",(0,i.kt)("inlineCode",{parentName:"li"},"%temp%/webdrivers")," by default). These drivers are reused in subsequent calls."),(0,i.kt)("li",{parentName:"ol"},"Finally, WebDriverBinary exports the driver path using Java system properties (e.g., ",(0,i.kt)("inlineCode",{parentName:"li"},"webdriver.chrome.driver")," in the\ncase of the Chrome manager).")),(0,i.kt)("p",null,"This process automated the first two stages of the driver management previously introduced, i.e., download and setup. To\nsupport the third stage (i.e., maintenance), WebDriverBinary implements ",(0,i.kt)("em",{parentName:"p"},"resolution cache"),". This cache (called by\ndefault ",(0,i.kt)("inlineCode",{parentName:"p"},"version.properties")," and stored in the root of the driver cache) is a file that stores the relationship between\nthe resolved driver and browser versions. This relationship is valid during a given ",(0,i.kt)("em",{parentName:"p"},"time-to-live")," (TTL). The default\nvalue for this TTL is 1 hour for browsers and drivers. In other words, the discovered browser version is valid for 1\nhour. This mechanism improves the performance dramatically since the second (and following) calls to the resolution\nalgorithm for the same browser are resolved using only local resources (i.e., without using the shell nor requesting\nexternal services)."),(0,i.kt)("h2",{id:"advanced-configuration"},"Advanced Configuration"),(0,i.kt)("p",null,"WebDriver Binaries provides different ways of configuration. First, by using its ",(0,i.kt)("em",{parentName:"p"},"Java API"),". To that aim, each manager (\ne.g., ",(0,i.kt)("inlineCode",{parentName:"p"},"chromeDriver()"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"firefoxDriver()"),", etc., allows to concatenate different methods of this API to specify custom\noptions or preferences. For example (the explanation of these methods and the other possibilities are explained in the\ntables at the end of this section):"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Description"),(0,i.kt)("th",{parentName:"tr",align:null},"Method"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Download the latest binary"),(0,i.kt)("td",{parentName:"tr",align:null},"WebDriverBinary.chromeDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.firefoxDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.ieDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.edgeDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.edgeDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.operaDriver().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.grid().setup();")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Download binaries for specific architecture"),(0,i.kt)("td",{parentName:"tr",align:null},"WebDriverBinary.chromeDriver().arch64().setup(); ",(0,i.kt)("br",null)," WebDriverBinary.firefoxDriver().arch32().setup();")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Download binaries by specifying custom download location"),(0,i.kt)("td",{parentName:"tr",align:null},'WebDriverBinary.chromeDriver().targetPath("temp").setup(); WebDriverBinary.firefoxDriver().targetPath("downloadLocation").setup();')),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Download binaries for a specific release version"),(0,i.kt)("td",{parentName:"tr",align:null},'WebDriverBinary.firefoxDriver().version("v0.26.0").setup();')))))}h.isMDXComponent=!0},534:function(e,r,t){r.Z=t.p+"assets/images/selenium-webdriver-architecture-dfeb30760c997a9cbe6ccb4a963b4d3c.png"}}]); \ No newline at end of file diff --git a/assets/js/580fd761.7935b156.js b/assets/js/580fd761.7935b156.js new file mode 100644 index 0000000..464e0b5 --- /dev/null +++ b/assets/js/580fd761.7935b156.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[607],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return f}});var o=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 o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),l=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=l(e.components);return o.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=l(n),f=r,m=d["".concat(s,".").concat(f)]||d[f]||p[f]||i;return n?o.createElement(m,a(a({ref:t},u),{},{components:n})):o.createElement(m,a({ref:t},u))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,a[1]=c;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),c=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),p=c(n),d=o,m=p["".concat(s,".").concat(d)]||p[d]||g[d]||i;return n?r.createElement(m,l(l({ref:t},u),{},{components:n})):r.createElement(m,l({ref:t},u))}));function d(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,l=new Array(i);l[0]=p;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a.mdxType="string"==typeof e?e:o,l[1]=a;for(var c=2;c\n org.projectlombok\n lombok\n LATEST\n provided\n\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Create ",(0,i.kt)("inlineCode",{parentName:"li"},"lombok.config")," file in project parent folder and add below properties")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-properties",metastring:'title="lombok.config"',title:'"lombok.config"'},"lombok.log.fieldName = logger\nlombok.log.custom.declaration = io.github.selcukes.commons.logging.Logger io.github.selcukes.commons.logging.LoggerFactory.getLogger(TYPE)\n")),(0,i.kt)("h3",{id:"usage"},"Usage"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},'package io.github.selcukes.java;\n\nimport lombok.CustomLog;\nimport org.testng.annotations.Test;\n\n@CustomLog\npublic class LoggerTest {\n @Test\n public void testLogs() {\n logger.info(() -> "This is sample log");\n }\n}\n\n\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/780.573d9801.js b/assets/js/780.573d9801.js new file mode 100644 index 0000000..9c7bcd2 --- /dev/null +++ b/assets/js/780.573d9801.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[780],{6780:function(e,t,r){function n(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 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,r){var a,c=t.initialState;return{getState:function(){return c},dispatch:function(a,i){var l=function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var J,$,W,Q=null,Y=(J=-1,$=-1,W=void 0,function(e){var t=++J;return Promise.resolve(e).then((function(e){return W&&t<$?W:($=t,W=e,e)}))});function G(e){var t=e.event,r=e.nextState,n=void 0===r?{}:r,o=e.props,a=e.query,i=e.refresh,l=e.store,u=K(e,U);Q&&o.environment.clearTimeout(Q);var s=u.setCollections,f=u.setIsOpen,m=u.setQuery,p=u.setActiveItemId,d=u.setStatus;if(m(a),p(o.defaultActiveItemId),!a&&!1===o.openOnFocus){var h,v=l.getState().collections.map((function(e){return V(V({},e),{},{items:[]})}));d("idle"),s(v),f(null!==(h=n.isOpen)&&void 0!==h?h:o.shouldPanelOpen({state:l.getState()}));var y=M(Y(v).then((function(){return Promise.resolve()})));return l.pendingRequests.add(y)}d("loading"),Q=o.environment.setTimeout((function(){d("stalled")}),o.stallThreshold);var g=M(Y(o.getSources(V({query:a,refresh:i,state:l.getState()},u)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(V({query:a,refresh:i,state:l.getState()},u))).then((function(t){return R(t,e.sourceId)}))}))).then(q).then((function(t){return _(t,e)})).then((function(e){return function(e){var t=e.collections,r=e.props,n=e.state,o=t.reduce((function(e,t){return j(j({},e),{},E({},t.source.sourceId,j(j({},t.source),{},{getItems:function(){return c(t.items)}})))}),{});return c(r.reshape({sources:Object.values(o),sourcesBySourceId:o,state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:l.getState()})}))})))).then((function(e){var r;d("idle"),s(e);var c=o.shouldPanelOpen({state:l.getState()});f(null!==(r=n.isOpen)&&void 0!==r?r:o.openOnFocus&&!a&&c||c);var m=F(l.getState());if(null!==l.getState().activeItemId&&m){var p=m.item,h=m.itemInputValue,v=m.itemUrl,y=m.source;y.onActive(V({event:t,item:p,itemInputValue:h,itemUrl:v,refresh:i,source:y,state:l.getState()},u))}})).finally((function(){d("idle"),Q&&o.environment.clearTimeout(Q)}));return l.pendingRequests.add(g)}var X=["event","props","refresh","store"];function Z(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 ee(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var ne=/((gt|sm)-|galaxy nexus)|samsung[- ]/i;var oe=["props","refresh","store"],ae=["inputElement","formElement","panelElement"],ce=["inputElement"],ie=["inputElement","maxLength"],le=["item","source"];function ue(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 se(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function pe(e){var t=e.props,r=e.refresh,n=e.store,o=me(e,oe);return{getEnvironmentProps:function(e){var r=e.inputElement,o=e.formElement,a=e.panelElement;function c(e){!n.getState().isOpen&&n.pendingRequests.isEmpty()||e.target===r||!1===[o,a].some((function(t){return r=t,n=e.target,r===n||r.contains(n);var r,n}))&&(n.dispatch("blur",null),t.debug||n.pendingRequests.cancelAll())}return se({onTouchStart:c,onMouseDown:c,onTouchMove:function(e){!1!==n.getState().isOpen&&r===t.environment.document.activeElement&&e.target!==r&&r.blur()}},me(e,ae))},getRootProps:function(e){return se({role:"combobox","aria-expanded":n.getState().isOpen,"aria-haspopup":"listbox","aria-owns":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){e.inputElement;return se({action:"",noValidate:!0,role:"search",onSubmit:function(a){var c;a.preventDefault(),t.onSubmit(se({event:a,refresh:r,state:n.getState()},o)),n.dispatch("submit",null),null===(c=e.inputElement)||void 0===c||c.blur()},onReset:function(a){var c;a.preventDefault(),t.onReset(se({event:a,refresh:r,state:n.getState()},o)),n.dispatch("reset",null),null===(c=e.inputElement)||void 0===c||c.focus()}},me(e,ce))},getLabelProps:function(e){return se({htmlFor:"".concat(t.id,"-input"),id:"".concat(t.id,"-label")},e)},getInputProps:function(e){var a;function c(e){(t.openOnFocus||Boolean(n.getState().query))&&G(se({event:e,props:t,query:n.getState().completion||n.getState().query,refresh:r,store:n},o)),n.dispatch("focus",null)}var i=e||{},l=(i.inputElement,i.maxLength),u=void 0===l?512:l,s=me(i,ie),f=F(n.getState()),p=function(e){return Boolean(e&&e.match(ne))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),d=null!=f&&f.itemUrl&&!p?"go":"search";return se({"aria-autocomplete":"both","aria-activedescendant":n.getState().isOpen&&null!==n.getState().activeItemId?"".concat(t.id,"-item-").concat(n.getState().activeItemId):void 0,"aria-controls":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:n.getState().completion||n.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:d,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:u,type:"search",onChange:function(e){G(se({event:e,props:t,query:e.currentTarget.value.slice(0,u),refresh:r,store:n},o))},onKeyDown:function(e){!function(e){var t=e.event,r=e.props,n=e.refresh,o=e.store,a=re(e,X);if("ArrowUp"===t.key||"ArrowDown"===t.key){var c=function(){var e=r.environment.document.getElementById("".concat(r.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},i=function(){var e=F(o.getState());if(null!==o.getState().activeItemId&&e){var r=e.item,c=e.itemInputValue,i=e.itemUrl,l=e.source;l.onActive(ee({event:t,item:r,itemInputValue:c,itemUrl:i,refresh:n,source:l,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(r.openOnFocus||Boolean(o.getState().query))?G(ee({event:t,props:r,query:o.getState().query,refresh:n,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:r.defaultActiveItemId}),i(),setTimeout(c,0)})):(o.dispatch(t.key,{}),i(),c())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(r.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=F(o.getState()),u=l.item,s=l.itemInputValue,f=l.itemUrl,m=l.source;if(t.metaKey||t.ctrlKey)void 0!==f&&(m.onSelect(ee({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},a)),r.navigator.navigateNewTab({itemUrl:f,item:u,state:o.getState()}));else if(t.shiftKey)void 0!==f&&(m.onSelect(ee({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},a)),r.navigator.navigateNewWindow({itemUrl:f,item:u,state:o.getState()}));else if(t.altKey);else{if(void 0!==f)return m.onSelect(ee({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},a)),void r.navigator.navigate({itemUrl:f,item:u,state:o.getState()});G(ee({event:t,nextState:{isOpen:!1},props:r,query:s,refresh:n,store:o},a)).then((function(){m.onSelect(ee({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},a))}))}}}(se({event:e,props:t,refresh:r,store:n},o))},onFocus:c,onBlur:m,onClick:function(r){e.inputElement!==t.environment.document.activeElement||n.getState().isOpen||c(r)}},s)},getPanelProps:function(e){return se({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){n.dispatch("mouseleave",null)}},e)},getListProps:function(e){return se({role:"listbox","aria-labelledby":"".concat(t.id,"-label"),id:"".concat(t.id,"-list")},e)},getItemProps:function(e){var a=e.item,c=e.source,i=me(e,le);return se({id:"".concat(t.id,"-item-").concat(a.__autocomplete_id),role:"option","aria-selected":n.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==n.getState().activeItemId){n.dispatch("mousemove",a.__autocomplete_id);var t=F(n.getState());if(null!==n.getState().activeItemId&&t){var c=t.item,i=t.itemInputValue,l=t.itemUrl,u=t.source;u.onActive(se({event:e,item:c,itemInputValue:i,itemUrl:l,refresh:r,source:u,state:n.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var i=c.getItemInputValue({item:a,state:n.getState()}),l=c.getItemUrl({item:a,state:n.getState()});(l?Promise.resolve():G(se({event:e,nextState:{isOpen:!1},props:t,query:i,refresh:r,store:n},o))).then((function(){c.onSelect(se({event:e,item:a,itemInputValue:i,itemUrl:l,refresh:r,source:c,state:n.getState()},o))}))}},i)}}}var de=[{segment:"autocomplete-core",version:"1.7.1"}];function he(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 ve(e){for(var t=1;t=r?null===n?null:0:o}function Se(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 je(e){for(var t=1;t0},reshape:function(e){return e.sources}},e),{},{id:null!==(r=e.id)&&void 0!==r?r:"autocomplete-".concat(f++),plugins:o,initialState:b({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var r;null===(r=e.onStateChange)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onStateChange)||void 0===r?void 0:r.call(e,t)}))},onSubmit:function(t){var r;null===(r=e.onSubmit)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onSubmit)||void 0===r?void 0:r.call(e,t)}))},onReset:function(t){var r;null===(r=e.onReset)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onReset)||void 0===r?void 0:r.call(e,t)}))},getSources:function(r){return Promise.all([].concat(v(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return h(e,r)}))).then((function(e){return c(e)})).then((function(e){return e.map((function(e){return b(b({},e),{},{onSelect:function(r){e.onSelect(r),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,r)}))},onActive:function(r){e.onActive(r),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,r)}))}})}))}))},navigator:b({navigate:function(e){var t=e.itemUrl;n.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,r=n.open(t,"_blank","noopener");null==r||r.focus()},navigateNewWindow:function(e){var t=e.itemUrl;n.open(t,"_blank","noopener")}},e.navigator)})}(e,t),n=a(we,r,(function(e){var t=e.prevState,n=e.state;r.onStateChange(Ie({prevState:t,state:n,refresh:u},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var r=0,n=e.map((function(e){return l(l({},e),{},{items:c(e.items).map((function(e){return l(l({},e),{},{__autocomplete_id:r++})}))})}));t.dispatch("setCollections",n)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:n}),i=pe(Ie({props:r,refresh:u,store:n},o));function u(){return G(Ie({event:new Event("input"),nextState:{isOpen:n.getState().isOpen},props:r,query:n.getState().query,refresh:u,store:n},o))}return r.plugins.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,Ie(Ie({},o),{},{refresh:u,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})}}))})),function(e){var t,r,n=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(r=t.userAgent)||void 0===r?void 0:r.includes("Algolia Crawler")){var a=o.document.createElement("meta"),c=o.document.querySelector("head");a.name="algolia:metadata",setTimeout((function(){a.content=JSON.stringify(n),c.appendChild(a)}),0)}}({metadata:ge({plugins:r.plugins,options:e}),environment:r.environment}),Ie(Ie({refresh:u},i),o)}var ke=r(7294);function Ae(e){var t=e.translations,r=(void 0===t?{}:t).searchByText,n=void 0===r?"Search by":r;return ke.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},ke.createElement("span",{className:"DocSearch-Label"},n),ke.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img"},ke.createElement("path",{d:"M2.5067 0h14.0245c1.384.001 2.5058 1.1205 2.5068 2.5017V16.5c-.0014 1.3808-1.1232 2.4995-2.5068 2.5H2.5067C1.1232 18.9995.0014 17.8808 0 16.5V2.4958A2.495 2.495 0 01.735.7294 2.505 2.505 0 012.5068 0zM37.95 15.0695c-3.7068.0168-3.7068-2.986-3.7068-3.4634L34.2372.3576 36.498 0v11.1794c0 .2715 0 1.9889 1.452 1.994v1.8961zm-9.1666-1.8388c.694 0 1.2086-.0397 1.5678-.1088v-2.2934a5.3639 5.3639 0 00-1.3303-.1679 4.8283 4.8283 0 00-.758.0582 2.2845 2.2845 0 00-.688.2024c-.2029.0979-.371.2362-.4919.4142-.1268.1788-.185.2826-.185.5533 0 .5297.185.8359.5205 1.0375.3355.2016.7928.3053 1.365.3053v-.0008zm-.1969-8.1817c.7463 0 1.3768.092 1.8856.2767.5088.1838.9195.4428 1.2204.7717.3068.334.5147.7777.6423 1.251.1327.4723.196.991.196 1.5603v5.798c-.5235.1036-1.05.192-1.5787.2649-.7048.1037-1.4976.156-2.3774.156-.5832 0-1.1215-.0582-1.6016-.167a3.385 3.385 0 01-1.2432-.5364 2.6034 2.6034 0 01-.8037-.9565c-.191-.3922-.29-.9447-.29-1.5208 0-.5533.11-.905.3246-1.2863a2.7351 2.7351 0 01.8849-.9329c.376-.242.8029-.415 1.2948-.5187a7.4517 7.4517 0 011.5381-.156 7.1162 7.1162 0 011.6667.2024V8.886c0-.259-.0296-.5061-.093-.7372a1.5847 1.5847 0 00-.3245-.6158 1.5079 1.5079 0 00-.6119-.4158 2.6788 2.6788 0 00-.966-.173c-.5206 0-.9948.0634-1.4283.1384a6.5481 6.5481 0 00-1.065.259l-.2712-1.849c.2831-.0986.7048-.1964 1.2491-.2943a9.2979 9.2979 0 011.752-.1501v.0008zm44.6597 8.1193c.6947 0 1.2086-.0405 1.567-.1097v-2.2942a5.3743 5.3743 0 00-1.3303-.1679c-.2485 0-.503.0177-.7573.0582a2.2853 2.2853 0 00-.688.2024 1.2333 1.2333 0 00-.4918.4142c-.1268.1788-.1843.2826-.1843.5533 0 .5297.1843.8359.5198 1.0375.3414.2066.7927.3053 1.365.3053v.0009zm-.191-8.1767c.7463 0 1.3768.0912 1.8856.2759.5087.1847.9195.4436 1.2204.7717.3.329.5147.7786.6414 1.251a5.7248 5.7248 0 01.197 1.562v5.7972c-.3466.0742-.874.1602-1.5788.2648-.7049.1038-1.4976.1552-2.3774.1552-.5832 0-1.1215-.0573-1.6016-.167a3.385 3.385 0 01-1.2432-.5356 2.6034 2.6034 0 01-.8038-.9565c-.191-.3922-.2898-.9447-.2898-1.5216 0-.5533.1098-.905.3245-1.2854a2.7373 2.7373 0 01.8849-.9338c.376-.2412.8029-.4141 1.2947-.5178a7.4545 7.4545 0 012.325-.1097c.2781.0287.5672.081.879.156v-.3686a2.7781 2.7781 0 00-.092-.738 1.5788 1.5788 0 00-.3246-.6166 1.5079 1.5079 0 00-.612-.415 2.6797 2.6797 0 00-.966-.1729c-.5205 0-.9947.0633-1.4282.1384a6.5608 6.5608 0 00-1.065.259l-.2712-1.8498c.283-.0979.7048-.1957 1.2491-.2935a9.8597 9.8597 0 011.752-.1494zm-6.79-1.072c-.7576.001-1.373-.6103-1.3759-1.3664 0-.755.6128-1.3664 1.376-1.3664.764 0 1.3775.6115 1.3775 1.3664s-.6195 1.3664-1.3776 1.3664zm1.1393 11.1507h-2.2726V5.3409l2.2734-.3568v10.0845l-.0008.0017zm-3.984 0c-3.707.0168-3.707-2.986-3.707-3.4642L59.7069.3576 61.9685 0v11.1794c0 .2715 0 1.9889 1.452 1.994V15.0703zm-7.3512-4.979c0-.975-.2138-1.7873-.6305-2.3516-.4167-.571-.9998-.852-1.747-.852-.7454 0-1.3302.281-1.7452.852-.4166.5702-.6195 1.3765-.6195 2.3516 0 .9851.208 1.6473.6254 2.2183.4158.576.9998.8587 1.7461.8587.7454 0 1.3303-.2885 1.747-.8595.4158-.5761.6237-1.2315.6237-2.2184v.0009zm2.3132-.006c0 .7609-.1099 1.3361-.3356 1.9654a4.654 4.654 0 01-.9533 1.6076A4.214 4.214 0 0155.613 14.69c-.579.2412-1.4697.3795-1.9143.3795-.4462-.005-1.3303-.1324-1.9033-.3795a4.307 4.307 0 01-1.474-1.0316c-.4115-.4445-.7293-.9801-.9609-1.6076a5.3423 5.3423 0 01-.3465-1.9653c0-.7608.104-1.493.3356-2.1155a4.683 4.683 0 01.9719-1.5958 4.3383 4.3383 0 011.479-1.0257c.5739-.242 1.2043-.3567 1.8864-.3567.6829 0 1.3125.1197 1.8906.3567a4.1245 4.1245 0 011.4816 1.0257 4.7587 4.7587 0 01.9592 1.5958c.2426.6225.3643 1.3547.3643 2.1155zm-17.0198 0c0 .9448.208 1.9932.6238 2.431.4166.4386.955.6579 1.6142.6579.3584 0 .6998-.0523 1.0176-.1502.3186-.0978.5721-.2134.775-.3517V7.0784a8.8706 8.8706 0 00-1.4926-.1906c-.8206-.0236-1.4452.312-1.8847.8468-.4335.5365-.6533 1.476-.6533 2.3516v-.0008zm6.2863 4.4485c0 1.5385-.3938 2.662-1.1866 3.3773-.791.7136-2.0005 1.0712-3.6308 1.0712-.5958 0-1.834-.1156-2.8228-.334l.3643-1.7865c.8282.173 1.9202.2193 2.4932.2193.9077 0 1.555-.1847 1.943-.5533.388-.3686.578-.916.578-1.643v-.3687a6.8289 6.8289 0 01-.8848.3349c-.3634.1096-.786.167-1.261.167-.6246 0-1.1917-.0979-1.7055-.2944a3.5554 3.5554 0 01-1.3244-.8645c-.3642-.3796-.6541-.8579-.8561-1.4289-.2028-.571-.3068-1.59-.3068-2.339 0-.7034.1099-1.5856.3245-2.1735.2198-.5871.5316-1.0949.9542-1.515.4167-.42.9255-.743 1.5213-.98a5.5923 5.5923 0 012.052-.3855c.7353 0 1.4114.092 2.0707.2024.6592.1088 1.2204.2236 1.6776.35v8.945-.0008zM11.5026 4.2418v-.6511c-.0005-.4553-.3704-.8241-.8266-.8241H8.749c-.4561 0-.826.3688-.8265.824v.669c0 .0742.0693.1264.1445.1096a6.0346 6.0346 0 011.6768-.2362 6.125 6.125 0 011.6202.2185.1116.1116 0 00.1386-.1097zm-5.2806.852l-.3296-.3282a.8266.8266 0 00-1.168 0l-.393.3922a.8199.8199 0 000 1.164l.3237.323c.0524.0515.1268.0397.1733-.0117.191-.259.3989-.507.6305-.7372.2374-.2362.48-.4437.7462-.6335.0575-.0354.0634-.1155.017-.1687zm3.5159 2.069v2.818c0 .081.0879.1392.1622.0987l2.5102-1.2964c.0574-.0287.0752-.0987.0464-.1552a3.1237 3.1237 0 00-2.603-1.574c-.0575 0-.115.0456-.115.1097l-.0008-.0009zm.0008 6.789c-2.0933.0005-3.7915-1.6912-3.7947-3.7804C5.9468 8.0821 7.6452 6.39 9.7387 6.391c2.0932-.0005 3.7911 1.6914 3.794 3.7804a3.7783 3.7783 0 01-1.1124 2.675 3.7936 3.7936 0 01-2.6824 1.1054h.0008zM9.738 4.8002c-1.9218 0-3.6975 1.0232-4.6584 2.6841a5.359 5.359 0 000 5.3683c.9609 1.661 2.7366 2.6841 4.6584 2.6841a5.3891 5.3891 0 003.8073-1.5725 5.3675 5.3675 0 001.578-3.7987 5.3574 5.3574 0 00-1.5771-3.797A5.379 5.379 0 009.7387 4.801l-.0008-.0008z",fill:"currentColor",fillRule:"evenodd"})))}function xe(e){return ke.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},ke.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function Ne(e){var t=e.translations,r=void 0===t?{}:t,n=r.selectText,o=void 0===n?"to select":n,a=r.selectKeyAriaLabel,c=void 0===a?"Enter key":a,i=r.navigateText,l=void 0===i?"to navigate":i,u=r.navigateUpKeyAriaLabel,s=void 0===u?"Arrow up":u,f=r.navigateDownKeyAriaLabel,m=void 0===f?"Arrow down":f,p=r.closeText,d=void 0===p?"to close":p,h=r.closeKeyAriaLabel,v=void 0===h?"Escape key":h,y=r.searchByText,g=void 0===y?"Search by":y;return ke.createElement(ke.Fragment,null,ke.createElement("div",{className:"DocSearch-Logo"},ke.createElement(Ae,{translations:{searchByText:g}})),ke.createElement("ul",{className:"DocSearch-Commands"},ke.createElement("li",null,ke.createElement("kbd",{className:"DocSearch-Commands-Key"},ke.createElement(xe,{ariaLabel:c},ke.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),ke.createElement("span",{className:"DocSearch-Label"},o)),ke.createElement("li",null,ke.createElement("kbd",{className:"DocSearch-Commands-Key"},ke.createElement(xe,{ariaLabel:m},ke.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),ke.createElement("kbd",{className:"DocSearch-Commands-Key"},ke.createElement(xe,{ariaLabel:s},ke.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),ke.createElement("span",{className:"DocSearch-Label"},l)),ke.createElement("li",null,ke.createElement("kbd",{className:"DocSearch-Commands-Key"},ke.createElement(xe,{ariaLabel:v},ke.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),ke.createElement("span",{className:"DocSearch-Label"},d))))}function Re(e){var t=e.hit,r=e.children;return ke.createElement("a",{href:t.url},r)}function qe(){return ke.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function _e(e){var t=e.translations,r=void 0===t?{}:t,n=r.titleText,o=void 0===n?"Unable to fetch results":n,a=r.helpText,c=void 0===a?"You might want to check your network connection.":a;return ke.createElement("div",{className:"DocSearch-ErrorScreen"},ke.createElement("div",{className:"DocSearch-Screen-Icon"},ke.createElement(qe,null)),ke.createElement("p",{className:"DocSearch-Title"},o),ke.createElement("p",{className:"DocSearch-Help"},c))}function Te(){return ke.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("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"}))}var Le=["translations"];function Me(e){return function(e){if(Array.isArray(e))return He(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return He(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return He(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function He(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ue(e){var t=e.translations,r=void 0===t?{}:t,n=Fe(e,Le),o=r.noResultsText,a=void 0===o?"No results for":o,c=r.suggestedQueryText,i=void 0===c?"Try searching for":c,l=r.reportMissingResultsText,u=void 0===l?"Believe this query should return results?":l,s=r.reportMissingResultsLinkText,f=void 0===s?"Let us know.":s,m=n.state.context.searchSuggestions;return ke.createElement("div",{className:"DocSearch-NoResults"},ke.createElement("div",{className:"DocSearch-Screen-Icon"},ke.createElement(Te,null)),ke.createElement("p",{className:"DocSearch-Title"},a,' "',ke.createElement("strong",null,n.state.query),'"'),m&&m.length>0&&ke.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},ke.createElement("p",{className:"DocSearch-Help"},i,":"),ke.createElement("ul",null,m.slice(0,3).reduce((function(e,t){return[].concat(Me(e),[ke.createElement("li",{key:t},ke.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){n.setQuery(t.toLowerCase()+" "),n.refresh(),n.inputRef.current.focus()}},t))])}),[]))),n.getMissingResultsUrl&&ke.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),ke.createElement("a",{href:n.getMissingResultsUrl({query:n.state.query}),target:"_blank",rel:"noopener noreferrer"},f)))}var Be=function(){return ke.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},ke.createElement("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",fillRule:"evenodd",strokeLinejoin:"round"}))};function Ve(e){switch(e.type){case"lvl1":return ke.createElement(Be,null);case"content":return ke.createElement(Ke,null);default:return ke.createElement(ze,null)}}function ze(){return ke.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},ke.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Ke(){return ke.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},ke.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Je(){return ke.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},ke.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),ke.createElement("path",{d:"M8 17l-6-6 6-6"})))}var $e=["hit","attribute","tagName"];function We(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 Qe(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Xe(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function Ze(e){var t=e.hit,r=e.attribute,n=e.tagName,o=void 0===n?"span":n,a=Ge(e,$e);return(0,ke.createElement)(o,Qe(Qe({},a),{},{dangerouslySetInnerHTML:{__html:Xe(t,"_snippetResult.".concat(r,".value"))||Xe(t,r)}}))}function et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,a=[],c=!0,i=!1;try{for(r=r.call(e);!(c=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);c=!0);}catch(l){i=!0,o=l}finally{try{c||null==r.return||r.return()}finally{if(i)throw o}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return tt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return tt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r|<\/mark>)/g,ct=RegExp(at.source);function it(e){var t,r,n,o,a,c=e;if(!c.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var i=((c.__docsearch_parent?null===(t=c.__docsearch_parent)||void 0===t||null===(r=t._highlightResult)||void 0===r||null===(n=r.hierarchy)||void 0===n?void 0:n.lvl0:null===(o=e._highlightResult)||void 0===o||null===(a=o.hierarchy)||void 0===a?void 0:a.lvl0)||{}).value;return i&&ct.test(i)?i.replace(at,""):i}function lt(){return lt=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function vt(e){var t=e.translations,r=void 0===t?{}:t,n=ht(e,pt),o=r.recentSearchesTitle,a=void 0===o?"Recent":o,c=r.noRecentSearchesText,i=void 0===c?"No recent searches":c,l=r.saveRecentSearchButtonTitle,u=void 0===l?"Save this search":l,s=r.removeRecentSearchButtonTitle,f=void 0===s?"Remove this search from history":s,m=r.favoriteSearchesTitle,p=void 0===m?"Favorite":m,d=r.removeFavoriteSearchButtonTitle,h=void 0===d?"Remove this search from favorites":d;return"idle"===n.state.status&&!1===n.hasCollections?n.disableUserPersonalization?null:ke.createElement("div",{className:"DocSearch-StartScreen"},ke.createElement("p",{className:"DocSearch-Help"},i)):!1===n.hasCollections?null:ke.createElement("div",{className:"DocSearch-Dropdown-Container"},ke.createElement(nt,dt({},n,{title:a,collection:n.state.collections[0],renderIcon:function(){return ke.createElement("div",{className:"DocSearch-Hit-icon"},ke.createElement(st,null))},renderAction:function(e){var t=e.item,r=e.runFavoriteTransition,o=e.runDeleteTransition;return ke.createElement(ke.Fragment,null,ke.createElement("div",{className:"DocSearch-Hit-action"},ke.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.add(t),n.recentSearches.remove(t),n.refresh()}))}},ke.createElement(ft,null))),ke.createElement("div",{className:"DocSearch-Hit-action"},ke.createElement("button",{className:"DocSearch-Hit-action-button",title:f,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),o((function(){n.recentSearches.remove(t),n.refresh()}))}},ke.createElement(mt,null))))}})),ke.createElement(nt,dt({},n,{title:p,collection:n.state.collections[1],renderIcon:function(){return ke.createElement("div",{className:"DocSearch-Hit-icon"},ke.createElement(ft,null))},renderAction:function(e){var t=e.item,r=e.runDeleteTransition;return ke.createElement("div",{className:"DocSearch-Hit-action"},ke.createElement("button",{className:"DocSearch-Hit-action-button",title:h,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.remove(t),n.refresh()}))}},ke.createElement(mt,null)))}})))}var yt=["translations"];function gt(){return gt=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Ot=ke.memo((function(e){var t=e.translations,r=void 0===t?{}:t,n=bt(e,yt);if("error"===n.state.status)return ke.createElement(_e,{translations:null==r?void 0:r.errorScreen});var o=n.state.collections.some((function(e){return e.items.length>0}));return n.state.query?!1===o?ke.createElement(Ue,gt({},n,{translations:null==r?void 0:r.noResultsScreen})):ke.createElement(ut,n):ke.createElement(vt,gt({},n,{hasCollections:o,translations:null==r?void 0:r.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status}));function St(){return ke.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},ke.createElement("g",{fill:"none",fillRule:"evenodd"},ke.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},ke.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),ke.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},ke.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}var jt=r(830),Et=["translations"];function wt(){return wt=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function It(e){var t=e.translations,r=void 0===t?{}:t,n=Pt(e,Et),o=r.resetButtonTitle,a=void 0===o?"Clear the query":o,c=r.resetButtonAriaLabel,i=void 0===c?"Clear the query":c,l=r.cancelButtonText,u=void 0===l?"Cancel":l,s=r.cancelButtonAriaLabel,f=void 0===s?"Cancel":s,m=n.getFormProps({inputElement:n.inputRef.current}).onReset;return ke.useEffect((function(){n.autoFocus&&n.inputRef.current&&n.inputRef.current.focus()}),[n.autoFocus,n.inputRef]),ke.useEffect((function(){n.isFromSelection&&n.inputRef.current&&n.inputRef.current.select()}),[n.isFromSelection,n.inputRef]),ke.createElement(ke.Fragment,null,ke.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:m},ke.createElement("label",wt({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),ke.createElement(jt.W,null)),ke.createElement("div",{className:"DocSearch-LoadingIndicator"},ke.createElement(St,null)),ke.createElement("input",wt({className:"DocSearch-Input",ref:n.inputRef},n.getInputProps({inputElement:n.inputRef.current,autoFocus:n.autoFocus,maxLength:64}))),ke.createElement("button",{type:"reset",title:a,className:"DocSearch-Reset","aria-label":i,hidden:!n.state.query},ke.createElement(mt,null))),ke.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":f,onClick:n.onClose},u))}var Dt=["_highlightResult","_snippetResult"];function Ct(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=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function kt(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(t){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}function At(e){var t=e.key,r=e.limit,n=void 0===r?5:r,o=kt(t),a=o.getItem().slice(0,n);return{add:function(e){var t=e,r=(t._highlightResult,t._snippetResult,Ct(t,Dt)),c=a.findIndex((function(e){return e.objectID===r.objectID}));c>-1&&a.splice(c,1),a.unshift(r),a=a.slice(0,n),o.setItem(a)},remove:function(e){a=a.filter((function(t){return t.objectID!==e.objectID})),o.setItem(a)},getAll:function(){return a}}}function xt(e){const t=`algoliasearch-client-js-${e.key}`;let r;const n=()=>(void 0===r&&(r=e.localStorage||window.localStorage),r),o=()=>JSON.parse(n().getItem(t)||"{}");return{get:(e,t,r={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>{const r=JSON.stringify(e),n=o()[r];return Promise.all([n||t(),void 0!==n])})).then((([e,t])=>Promise.all([e,t||r.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve().then((()=>{const a=o();return a[JSON.stringify(e)]=r,n().setItem(t,JSON.stringify(a)),r})),delete:e=>Promise.resolve().then((()=>{const r=o();delete r[JSON.stringify(e)],n().setItem(t,JSON.stringify(r))})),clear:()=>Promise.resolve().then((()=>{n().removeItem(t)}))}}function Nt(e){const t=[...e.caches],r=t.shift();return void 0===r?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,n,o={miss:()=>Promise.resolve()})=>r.get(e,n,o).catch((()=>Nt({caches:t}).get(e,n,o))),set:(e,n)=>r.set(e,n).catch((()=>Nt({caches:t}).set(e,n))),delete:e=>r.delete(e).catch((()=>Nt({caches:t}).delete(e))),clear:()=>r.clear().catch((()=>Nt({caches:t}).clear()))}}function Rt(e={serializable:!0}){let t={};return{get(r,n,o={miss:()=>Promise.resolve()}){const a=JSON.stringify(r);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);const c=n(),i=o&&o.miss||(()=>Promise.resolve());return c.then((e=>i(e))).then((()=>c))},set:(r,n)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function qt(e){let t=e.length-1;for(;t>0;t--){const r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function _t(e,t){return t?(Object.keys(t).forEach((r=>{e[r]=t[r](e)})),e):e}function Tt(e,...t){let r=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[r++])))}const Lt="4.13.1",Mt={WithinQueryParameters:0,WithinHeaders:1};function Ht(e,t){const r=e||{},n=r.data||{};return Object.keys(r).forEach((e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}const Ft={Read:1,Write:2,Any:3},Ut=1,Bt=2,Vt=3,zt=12e4;function Kt(e,t=Ut){return{...e,status:t,lastUpdate:Date.now()}}function Jt(e){return"string"==typeof e?{protocol:"https",url:e,accept:Ft.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||Ft.Any}}const $t="GET",Wt="POST";function Qt(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(Kt(t))))))).then((e=>{const r=e.filter((e=>function(e){return e.status===Ut||Date.now()-e.lastUpdate>zt}(e))),n=e.filter((e=>function(e){return e.status===Vt&&Date.now()-e.lastUpdate<=zt}(e))),o=[...r,...n];return{getTimeout:(e,t)=>(0===n.length&&0===e?1:n.length+3+e)*t,statelessHosts:o.length>0?o.map((e=>Jt(e))):t}}))}function Yt(e,t,r,n){const o=[],a=function(e,t){if(e.method===$t||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(r,n),c=function(e,t){const r={...e.headers,...t.headers},n={};return Object.keys(r).forEach((e=>{const t=r[e];n[e.toLowerCase()]=t})),n}(e,n),i=r.method,l=r.method!==$t?{}:{...r.data,...n.data},u={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...l,...n.queryParameters};let s=0;const f=(t,l)=>{const m=t.pop();if(void 0===m)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:er(o)};const p={data:a,headers:c,method:i,url:Xt(m,r.path,u),connectTimeout:l(s,e.timeouts.connect),responseTimeout:l(s,n.timeout)},d=e=>{const r={request:p,response:e,host:m,triesLeft:t.length};return o.push(r),r},h={onSuccess:e=>function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e),onRetry(r){const n=d(r);return r.isTimedOut&&s++,Promise.all([e.logger.info("Retryable failure",tr(n)),e.hostsCache.set(m,Kt(m,r.isTimedOut?Vt:Bt))]).then((()=>f(t,l)))},onFail(e){throw d(e),function({content:e,status:t},r){let n=e;try{n=JSON.parse(e).message}catch(o){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(n,t,r)}(e,er(o))}};return e.requester.send(p).then((e=>((e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&0==~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSuccess(e):t.onFail(e))(e,h)))};return Qt(e.hostsCache,t).then((e=>f([...e.statelessHosts].reverse(),e.getTimeout)))}function Gt(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}function Xt(e,t,r){const n=Zt(r);let o=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return n.length&&(o+=`?${n}`),o}function Zt(e){return Object.keys(e).map((t=>{return Tt("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function er(e){return e.map((e=>tr(e)))}function tr(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}const rr=e=>{const t=e.appId,r=function(e,t,r){const n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:()=>e===Mt.WithinHeaders?n:{},queryParameters:()=>e===Mt.WithinQueryParameters?n:{}}}(void 0!==e.authMode?e.authMode:Mt.WithinHeaders,t,e.apiKey),n=function(e){const{hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:a,timeouts:c,userAgent:i,hosts:l,queryParameters:u,headers:s}=e,f={hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:a,timeouts:c,userAgent:i,headers:s,queryParameters:u,hosts:l.map((e=>Jt(e))),read(e,t){const r=Ht(t,f.timeouts.read),n=()=>Yt(f,f.hosts.filter((e=>0!=(e.accept&Ft.Read))),e,r);if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();const o={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(o,(()=>f.requestsCache.get(o,(()=>f.requestsCache.set(o,n()).then((e=>Promise.all([f.requestsCache.delete(o),e])),(e=>Promise.all([f.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>f.responsesCache.set(o,e)})},write:(e,t)=>Yt(f,f.hosts.filter((e=>0!=(e.accept&Ft.Write))),e,Ht(t,f.timeouts.write))};return f}({hosts:[{url:`${t}-dsn.algolia.net`,accept:Ft.Read},{url:`${t}.algolia.net`,accept:Ft.Write}].concat(qt([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),o={transporter:n,appId:t,addAlgoliaAgent(e,t){n.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{}))};return _t(o,e.methods)},nr=e=>(t,r)=>t.method===$t?e.transporter.read(t,r):e.transporter.write(t,r),or=e=>(t,r={})=>_t({transporter:e.transporter,appId:e.appId,indexName:t},r.methods),ar=e=>(t,r)=>{const n=t.map((e=>({...e,params:Zt(e.params||{})})));return e.transporter.read({method:Wt,path:"1/indexes/*/queries",data:{requests:n},cacheable:!0},r)},cr=e=>(t,r)=>Promise.all(t.map((t=>{const{facetName:n,facetQuery:o,...a}=t.params;return or(e)(t.indexName,{methods:{searchForFacetValues:ur}}).searchForFacetValues(n,o,{...r,...a})}))),ir=e=>(t,r,n)=>e.transporter.read({method:Wt,path:Tt("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n),lr=e=>(t,r)=>e.transporter.read({method:Wt,path:Tt("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),ur=e=>(t,r,n)=>e.transporter.read({method:Wt,path:Tt("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n),sr=1,fr=2,mr=3;function pr(e,t,r){const n={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:e=>new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const n=(e,n)=>setTimeout((()=>{r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e),o=n(e.connectTimeout,"Connection timeout");let a;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===a&&(clearTimeout(o),a=n(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(a),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(a),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))},logger:(o=mr,{debug:(e,t)=>(sr>=o&&console.debug(e,t),Promise.resolve()),info:(e,t)=>(fr>=o&&console.info(e,t),Promise.resolve()),error:(e,t)=>(console.error(e,t),Promise.resolve())}),responsesCache:Rt(),requestsCache:Rt({serializable:!1}),hostsCache:Nt({caches:[xt({key:`4.13.1-${e}`}),Rt()]}),userAgent:Gt(Lt).add({segment:"Browser",version:"lite"}),authMode:Mt.WithinQueryParameters};var o;return rr({...n,...r,methods:{search:ar,searchForFacetValues:cr,multipleQueries:ar,multipleSearchForFacetValues:cr,customRequest:nr,initIndex:e=>t=>or(e)(t,{methods:{search:lr,searchForFacetValues:ur,findAnswers:ir}})}})}pr.version=Lt;var dr=pr,hr="3.1.1";function vr(){}function yr(e){return e}function gr(e,t){return e.reduce((function(e,r){var n=t(r);return e.hasOwnProperty(n)||(e[n]=[]),e[n].length<5&&e[n].push(r),e}),{})}var br=["footer","searchBox"];function Or(){return Or=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Dr(e){var t=e.appId,r=e.apiKey,n=e.indexName,o=e.placeholder,a=void 0===o?"Search docs":o,c=e.searchParameters,i=e.onClose,l=void 0===i?vr:i,u=e.transformItems,s=void 0===u?yr:u,f=e.hitComponent,m=void 0===f?Re:f,p=e.resultsFooterComponent,d=void 0===p?function(){return null}:p,h=e.navigator,v=e.initialScrollY,y=void 0===v?0:v,g=e.transformSearchClient,b=void 0===g?yr:g,O=e.disableUserPersonalization,S=void 0!==O&&O,j=e.initialQuery,E=void 0===j?"":j,w=e.translations,P=void 0===w?{}:w,I=e.getMissingResultsUrl,D=P.footer,C=P.searchBox,k=Ir(P,br),A=wr(ke.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),x=A[0],N=A[1],R=ke.useRef(null),q=ke.useRef(null),_=ke.useRef(null),T=ke.useRef(null),L=ke.useRef(null),M=ke.useRef(10),H=ke.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,64):"").current,F=ke.useRef(E||H).current,U=function(e,t,r){return ke.useMemo((function(){var n=dr(e,t);return n.addAlgoliaAgent("docsearch",hr),!1===/docsearch.js \(.*\)/.test(n.transporter.userAgent.value)&&n.addAlgoliaAgent("docsearch-react",hr),r(n)}),[e,t,r])}(t,r,b),B=ke.useRef(At({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(n),limit:10})).current,V=ke.useRef(At({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(n),limit:0===B.getAll().length?7:4})).current,z=ke.useCallback((function(e){if(!S){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===B.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&V.add(t)}}),[B,V,S]),K=ke.useMemo((function(){return Ce({id:"docsearch",defaultActiveItemId:0,placeholder:a,openOnFocus:!0,initialState:{query:F,context:{searchSuggestions:[]}},navigator:h,onStateChange:function(e){N(e.state)},getSources:function(e){var t=e.query,r=e.state,o=e.setContext,a=e.setStatus;return t?U.search([{query:t,indexName:n,params:jr({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(M.current),"hierarchy.lvl2:".concat(M.current),"hierarchy.lvl3:".concat(M.current),"hierarchy.lvl4:".concat(M.current),"hierarchy.lvl5:".concat(M.current),"hierarchy.lvl6:".concat(M.current),"content:".concat(M.current)],snippetEllipsisText:"\u2026",highlightPreTag:"",highlightPostTag:"",hitsPerPage:20},c)}]).catch((function(e){throw"RetryError"===e.name&&a("error"),e})).then((function(e){var t=e.results[0],n=t.hits,a=t.nbHits,c=gr(n,(function(e){return it(e)}));return r.context.searchSuggestions.length0&&(W(),L.current&&L.current.focus())}),[F,W]),ke.useEffect((function(){function e(){if(q.current){var e=.01*window.innerHeight;q.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),ke.createElement("div",Or({ref:R},$({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===x.status&&"DocSearch-Container--Stalled","error"===x.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&l()}}),ke.createElement("div",{className:"DocSearch-Modal",ref:q},ke.createElement("header",{className:"DocSearch-SearchBar",ref:_},ke.createElement(It,Or({},K,{state:x,autoFocus:0===F.length,inputRef:L,isFromSelection:Boolean(F)&&F===H,translations:C,onClose:l}))),ke.createElement("div",{className:"DocSearch-Dropdown",ref:T},ke.createElement(Ot,Or({},K,{indexName:n,state:x,hitComponent:m,resultsFooterComponent:d,disableUserPersonalization:S,recentSearches:V,favoriteSearches:B,inputRef:L,translations:k,getMissingResultsUrl:I,onItemClick:function(e){z(e),l()}}))),ke.createElement("footer",{className:"DocSearch-Footer"},ke.createElement(Ne,{translations:D}))))}}}]); \ No newline at end of file diff --git a/assets/js/814f3328.f4875833.js b/assets/js/814f3328.f4875833.js new file mode 100644 index 0000000..e968968 --- /dev/null +++ b/assets/js/814f3328.f4875833.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[535],{5641:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Hello World","permalink":"/blog/hello-world"}]}')}}]); \ No newline at end of file diff --git a/assets/js/83f7007c.c3c37ff4.js b/assets/js/83f7007c.c3c37ff4.js new file mode 100644 index 0000000..a77f776 --- /dev/null +++ b/assets/js/83f7007c.c3c37ff4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[201],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return 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 l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),i=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=i(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={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,a=e.mdxType,o=e.originalType,s=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),d=i(n),m=a,f=d["".concat(s,".").concat(m)]||d[m]||p[m]||o;return n?r.createElement(f,l(l({ref:t},c),{},{components:n})):r.createElement(f,l({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=d;var u={};for(var s in t)hasOwnProperty.call(t,s)&&(u[s]=t[s]);u.originalType=e,u.mdxType="string"==typeof e?e:a,l[1]=u;for(var i=2;i child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,s.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,o=(0,l.k6)(),s=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,u._X)(s),(0,a.useCallback)((function(e){if(s){var t=new URLSearchParams(o.location.search);t.set(s,e),o.replace(Object.assign({},o.location,{search:t.toString()}))}}),[s,o])]}function f(e){var t,n,r,o,l=e.defaultValue,u=e.queryString,s=void 0!==u&&u,c=e.groupId,f=p(e),v=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!d({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:l,tabValues:f})})),b=v[0],g=v[1],h=m({queryString:s,groupId:c}),y=h[0],k=h[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,i.Nk)(t),r=n[0],o=n[1],[r,(0,a.useCallback)((function(e){t&&o.set(e)}),[t,o])]),T=w[0],I=w[1],j=function(){var e=null!=y?y:T;return d({value:e,tabValues:f})?e:null}();return(0,a.useLayoutEffect)((function(){j&&g(j)}),[j]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:f}))throw new Error("Can't select invalid tab value="+e);g(e),k(e),I(e)}),[k,I,f]),tabValues:f}}var v=n(2466),b=n(2389),g="tabList__CuJ",h="tabItem_LNqP";function y(e){var t=e.className,n=e.block,l=e.selectedValue,u=e.selectValue,s=e.tabValues,i=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=i.indexOf(t),r=s[n].value;r!==l&&(c(t),u(r))},d=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,a=i.indexOf(e.currentTarget)+1;n=null!=(r=i[a])?r:i[0];break;case"ArrowLeft":var o,l=i.indexOf(e.currentTarget)-1;n=null!=(o=i[l])?o:i[i.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},t)},s.map((function(e){var t=e.value,n=e.label,u=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,key:t,ref:function(e){return i.push(e)},onKeyDown:d,onClick:p},u,{className:(0,o.Z)("tabs__item",h,null==u?void 0:u.className,{"tabs__item--active":l===t})}),null!=n?n:t)})))}function k(e){var t=e.lazy,n=e.children,r=e.selectedValue,o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var l=o.find((function(e){return e.props.value===r}));return l?(0,a.cloneElement)(l,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},o.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function w(e){var t=f(e);return a.createElement("div",{className:(0,o.Z)("tabs-container",g)},a.createElement(y,(0,r.Z)({},e,t)),a.createElement(k,(0,r.Z)({},e,t)))}function T(e){var t=(0,b.Z)();return a.createElement(w,(0,r.Z)({key:String(t)},e))}},3677:function(e,t,n){n.r(t),n.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return i},metadata:function(){return p},toc:function(){return m}});var r=n(7462),a=n(3366),o=(n(7294),n(3905)),l=n(4866),u=n(5162),s=["components"],i={id:"web-test",title:"Web Test",sidebar_position:1},c=void 0,p={unversionedId:"test/web-test",id:"test/web-test",title:"Web Test",description:'The WebTest.java file is an example test class that demonstrates how to create a basic web test using Selcukes. It includes a test method called remoteWebTest() that opens the Google homepage and asserts that the page title is "Google".',source:"@site/docs/02_test/web-test.md",sourceDirName:"02_test",slug:"/test/web-test",permalink:"/docs/test/web-test",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/02_test/web-test.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"web-test",title:"Web Test",sidebar_position:1},sidebar:"defaultSidebar",previous:{title:"Introduction",permalink:"/docs/"},next:{title:"Mobile Test",permalink:"/docs/test/mobile-test"}},d={},m=[],f={toc:m};function v(e){var t=e.components,n=(0,a.Z)(e,s);return(0,o.kt)("wrapper",(0,r.Z)({},f,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"WebTest.java"),' file is an example test class that demonstrates how to create a basic web test using Selcukes. It includes a test method called remoteWebTest() that opens the Google homepage and asserts that the page title is "Google".'),(0,o.kt)("p",null,"The test class also includes a setup() method annotated with @BeforeMethod, which is executed before each test method. The setup() method initializes the WebPage object from the Pages utility class."),(0,o.kt)(l.Z,{defaultValue:"java",values:[{label:"selcukes.yaml",value:"yaml"},{label:"WebTest.java",value:"java"},{label:"pom.xml",value:"pom"}],mdxType:"Tabs"},(0,o.kt)(u.Z,{value:"yaml",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-yaml"},'web:\n remote: false\n cloud:\n browser: CHROME\n headLess: true\n serviceUrl: "http://127.0.0.1:4444"\n'))),(0,o.kt)(u.Z,{value:"java",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'package org.example;\n\nimport io.github.selcukes.commons.annotation.Lifecycle;\nimport io.github.selcukes.core.page.Pages;\nimport io.github.selcukes.core.page.WebPage;\nimport org.testng.annotations.BeforeMethod;\nimport org.testng.annotations.Test;\n\n@Lifecycle\npublic class WebTest {\n WebPage page;\n\n @BeforeMethod\n public void setup() {\n page = Pages.webPage();\n }\n\n @Test\n public void remoteWebTest() {\n page.open("https://www.google.com/")\n .assertThat().title("Google");\n }\n\n}\n'))),(0,o.kt)(u.Z,{value:"pom",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-xml"},'\n\n 4.0.0\n\n org.example\n examples\n 0.1-SNAPSHOT\n Selcukes Java Examples\n \n LATEST\n LATEST\n LATEST\n\n 11\n 11\n \n \n \n io.github.selcukes\n selcukes-java\n ${selcukes.version}\n \n \n org.projectlombok\n lombok\n ${lombok.version}\n provided\n \n \n org.apache.logging.log4j\n log4j-slf4j-impl\n ${slfj4.version}\n \n \n\n')))))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/847819a8.92ecdcce.js b/assets/js/847819a8.92ecdcce.js new file mode 100644 index 0000000..bf6845c --- /dev/null +++ b/assets/js/847819a8.92ecdcce.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[846],{3905:function(e,r,t){t.d(r,{Zo:function(){return c},kt:function(){return f}});var n=t(7294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function u(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),s=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):u(u({},r),e)),t},c=function(e){var r=s(e.components);return n.createElement(l.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},p=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),p=s(t),f=a,v=p["".concat(l,".").concat(f)]||p[f]||d[f]||o;return t?n.createElement(v,u(u({ref:r},c),{},{components:t})):n.createElement(v,u({ref:r},c))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,u=new Array(o);u[0]=p;var i={};for(var l in r)hasOwnProperty.call(r,l)&&(i[l]=r[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,u[1]=i;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:t.filter(Boolean))?r:[]}(e).map((function(e){var r=e.props;return{value:r.value,label:r.label,attributes:r.attributes,default:r.default}}))}function d(e){var r=e.values,t=e.children;return(0,a.useMemo)((function(){var e=null!=r?r:c(t);return function(e){var r=(0,l.l)(e,(function(e,r){return e.value===r.value}));if(r.length>0)throw new Error('Docusaurus error: Duplicate values "'+r.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[r,t])}function p(e){var r=e.value;return e.tabValues.some((function(e){return e.value===r}))}function f(e){var r=e.queryString,t=void 0!==r&&r,n=e.groupId,o=(0,u.k6)(),l=function(e){var r=e.queryString,t=void 0!==r&&r,n=e.groupId;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:t,groupId:n});return[(0,i._X)(l),(0,a.useCallback)((function(e){if(l){var r=new URLSearchParams(o.location.search);r.set(l,e),o.replace(Object.assign({},o.location,{search:r.toString()}))}}),[l,o])]}function v(e){var r,t,n,o,u=e.defaultValue,i=e.queryString,l=void 0!==i&&i,c=e.groupId,v=d(e),m=(0,a.useState)((function(){return function(e){var r,t=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+t+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return t}var a=null!=(r=n.find((function(e){return e.default})))?r:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:u,tabValues:v})})),b=m[0],g=m[1],y=f({queryString:l,groupId:c}),h=y[0],k=y[1],w=(r=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),t=(0,s.Nk)(r),n=t[0],o=t[1],[n,(0,a.useCallback)((function(e){r&&o.set(e)}),[r,o])]),N=w[0],T=w[1],E=function(){var e=null!=h?h:N;return p({value:e,tabValues:v})?e:null}();return(0,a.useLayoutEffect)((function(){E&&g(E)}),[E]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!p({value:e,tabValues:v}))throw new Error("Can't select invalid tab value="+e);g(e),k(e),T(e)}),[k,T,v]),tabValues:v}}var m=t(2466),b=t(2389),g="tabList__CuJ",y="tabItem_LNqP";function h(e){var r=e.className,t=e.block,u=e.selectedValue,i=e.selectValue,l=e.tabValues,s=[],c=(0,m.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var r=e.currentTarget,t=s.indexOf(r),n=l[t].value;n!==u&&(c(r),i(n))},p=function(e){var r,t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var n,a=s.indexOf(e.currentTarget)+1;t=null!=(n=s[a])?n:s[0];break;case"ArrowLeft":var o,u=s.indexOf(e.currentTarget)-1;t=null!=(o=s[u])?o:s[s.length-1]}null==(r=t)||r.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":t},r)},l.map((function(e){var r=e.value,t=e.label,i=e.attributes;return a.createElement("li",(0,n.Z)({role:"tab",tabIndex:u===r?0:-1,"aria-selected":u===r,key:r,ref:function(e){return s.push(e)},onKeyDown:p,onClick:d},i,{className:(0,o.Z)("tabs__item",y,null==i?void 0:i.className,{"tabs__item--active":u===r})}),null!=t?t:r)})))}function k(e){var r=e.lazy,t=e.children,n=e.selectedValue,o=(Array.isArray(t)?t:[t]).filter(Boolean);if(r){var u=o.find((function(e){return e.props.value===n}));return u?(0,a.cloneElement)(u,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},o.map((function(e,r){return(0,a.cloneElement)(e,{key:r,hidden:e.props.value!==n})})))}function w(e){var r=v(e);return a.createElement("div",{className:(0,o.Z)("tabs-container",g)},a.createElement(h,(0,n.Z)({},e,r)),a.createElement(k,(0,n.Z)({},e,r)))}function N(e){var r=(0,b.Z)();return a.createElement(w,(0,n.Z)({key:String(r)},e))}},4574:function(e,r,t){t.r(r),t.d(r,{assets:function(){return p},contentTitle:function(){return c},default:function(){return m},frontMatter:function(){return s},metadata:function(){return d},toc:function(){return f}});var n=t(7462),a=t(3366),o=(t(7294),t(3905)),u=t(4866),i=t(5162),l=["components"],s={id:"video-recorder",title:"Video Recorder",sidebar_position:7},c=void 0,d={unversionedId:"guides/video-recorder",id:"guides/video-recorder",title:"Video Recorder",description:"Video Recorder allows recording video of your",source:"@site/docs/03_guides/video-recorder.md",sourceDirName:"03_guides",slug:"/guides/video-recorder",permalink:"/docs/guides/video-recorder",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/video-recorder.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{id:"video-recorder",title:"Video Recorder",sidebar_position:7},sidebar:"defaultSidebar",previous:{title:"Selcukes Reports",permalink:"/docs/guides/selcukes-reports"},next:{title:"Selcukes Properties",permalink:"/docs/guides/properties"}},p={},f=[{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],v={toc:f};function m(e){var r=e.components,t=(0,a.Z)(e,l);return(0,o.kt)("wrapper",(0,n.Z)({},v,t,{components:r,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/video-recorder"},"Video Recorder")," allows recording video of your\ntests with minimal configurations."),(0,o.kt)("h2",{id:"setup"},"Setup"),(0,o.kt)("p",null,"Video Recorder is primarily used as a Java dependency . We typically use a ",(0,o.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,o.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,o.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Video Recorder dependency."),(0,o.kt)(u.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,o.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n video-recorder\n ${selcukes.version}\n\n"))),(0,o.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:video-recorder:${selcukes.version}")\n }\n')))),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"Video Recorder is a transitive Dependency of ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports"),".If you are using ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports"),",\nthen ignore adding this dependency explicitly.")),(0,o.kt)("admonition",{type:"warning"},(0,o.kt)("p",{parentName:"admonition"},"If you are using ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports")," then refer ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/selcukes-reports"},"Selcukes TestNG")," for video configuration\nintegration")),(0,o.kt)("h2",{id:"usage"},"Usage"),(0,o.kt)("p",null,"Add ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," file in ",(0,o.kt)("inlineCode",{parentName:"p"},"src/test/resource")," folder and update below video configuration as required"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-yaml"},"video:\n recording: true\n recorderType: MONTE\n ffmpegPath:\n watermarkStatus: false\n")),(0,o.kt)("p",null,"Create a test class as follows"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'public class VideoTest {\n @Test\n public void recordVideo() {\n Recorder recorder = RecorderFactory.getRecorder(RecorderType.MONTE);\n recorder.start();\n Await.until(5);\n File file = recorder.stopAndSave("test");\n Assert.assertTrue(file.getAbsolutePath().contains("mp4"));\n }\n}\n')))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/894.d4c8f375.js b/assets/js/894.d4c8f375.js new file mode 100644 index 0000000..f9a0296 --- /dev/null +++ b/assets/js/894.d4c8f375.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[894],{8894:function(e,s,u){u.r(s)}}]); \ No newline at end of file diff --git a/assets/js/8d28010c.61c8640a.js b/assets/js/8d28010c.61c8640a.js new file mode 100644 index 0000000..0bd00e1 --- /dev/null +++ b/assets/js/8d28010c.61c8640a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[511],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return f}});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 l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=r.createContext({}),c=function(e){var t=r.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=c(e.components);return r.createElement(i.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=c(n),f=a,m=p["".concat(i,".").concat(f)]||p[f]||d[f]||l;return n?r.createElement(m,o(o({ref:t},s),{},{components:n})):r.createElement(m,o({ref:t},s))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=p;var u={};for(var i in t)hasOwnProperty.call(t,i)&&(u[i]=t[i]);u.originalType=e,u.mdxType="string"==typeof e?e:a,o[1]=u;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function d(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:s(n);return function(e){var t=(0,i.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function p(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,l=(0,o.k6)(),i=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,u._X)(i),(0,a.useCallback)((function(e){if(i){var t=new URLSearchParams(l.location.search);t.set(i,e),l.replace(Object.assign({},l.location,{search:t.toString()}))}}),[i,l])]}function m(e){var t,n,r,l,o=e.defaultValue,u=e.queryString,i=void 0!==u&&u,s=e.groupId,m=d(e),v=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:o,tabValues:m})})),b=v[0],g=v[1],h=f({queryString:i,groupId:s}),y=h[0],k=h[1],T=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:s}.groupId),n=(0,c.Nk)(t),r=n[0],l=n[1],[r,(0,a.useCallback)((function(e){t&&l.set(e)}),[t,l])]),w=T[0],x=T[1],E=function(){var e=null!=y?y:w;return p({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){E&&g(E)}),[E]),{selectedValue:b,selectValue:(0,a.useCallback)((function(e){if(!p({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);g(e),k(e),x(e)}),[k,x,m]),tabValues:m}}var v=n(2466),b=n(2389),g="tabList__CuJ",h="tabItem_LNqP";function y(e){var t=e.className,n=e.block,o=e.selectedValue,u=e.selectValue,i=e.tabValues,c=[],s=(0,v.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var t=e.currentTarget,n=c.indexOf(t),r=i[n].value;r!==o&&(s(t),u(r))},p=function(e){var t,n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var r,a=c.indexOf(e.currentTarget)+1;n=null!=(r=c[a])?r:c[0];break;case"ArrowLeft":var l,o=c.indexOf(e.currentTarget)-1;n=null!=(l=c[o])?l:c[c.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},t)},i.map((function(e){var t=e.value,n=e.label,u=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:function(e){return c.push(e)},onKeyDown:p,onClick:d},u,{className:(0,l.Z)("tabs__item",h,null==u?void 0:u.className,{"tabs__item--active":o===t})}),null!=n?n:t)})))}function k(e){var t=e.lazy,n=e.children,r=e.selectedValue,l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=l.find((function(e){return e.props.value===r}));return o?(0,a.cloneElement)(o,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},l.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function T(e){var t=m(e);return a.createElement("div",{className:(0,l.Z)("tabs-container",g)},a.createElement(y,(0,r.Z)({},e,t)),a.createElement(k,(0,r.Z)({},e,t)))}function w(e){var t=(0,b.Z)();return a.createElement(T,(0,r.Z)({key:String(t)},e))}},7788:function(e,t,n){n.r(t),n.d(t,{Highlight:function(){return f},assets:function(){return p},contentTitle:function(){return s},default:function(){return b},frontMatter:function(){return c},metadata:function(){return d},toc:function(){return m}});var r=n(7462),a=n(3366),l=(n(7294),n(3905)),o=n(4866),u=n(5162),i=["components"],c={id:"adv-examples",title:"Advanced Examples"},s=void 0,d={unversionedId:"contributing/adv-examples",id:"contributing/adv-examples",title:"Advanced Examples",description:"Powered by MDX",source:"@site/docs/contributing/adv-examples.md",sourceDirName:"contributing",slug:"/contributing/adv-examples",permalink:"/docs/contributing/adv-examples",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/contributing/adv-examples.md",tags:[],version:"current",frontMatter:{id:"adv-examples",title:"Advanced Examples"},sidebar:"defaultSidebar",previous:{title:"Selenoid Grid Test",permalink:"/docs/docker/selenoid-grid-test"},next:{title:"Code of Conduct",permalink:"/docs/contributing/code-of-conduct"}},p={},f=function(e){var t=e.children,n=e.color;return(0,l.kt)("span",{style:{backgroundColor:n,borderRadius:"2px",color:"#fff",padding:"0.2rem"}},t)},m=[{value:"Powered by MDX",id:"powered-by-mdx",level:2},{value:"Tabs",id:"tabs",level:2},{value:"Code Box with Title",id:"code-box-with-title",level:2},{value:"Tabbed Code Box",id:"tabbed-code-box",level:2}],v={Highlight:f,toc:m};function b(e){var t=e.components,n=(0,a.Z)(e,i);return(0,l.kt)("wrapper",(0,r.Z)({},v,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"powered-by-mdx"},"Powered by MDX"),(0,l.kt)("p",null,"With Docusuarus, you can write JSX and use React components within your Markdown thanks to ",(0,l.kt)("a",{parentName:"p",href:"https://mdxjs.com/"},"MDX"),"."),(0,l.kt)(f,{color:"#25c2a0",mdxType:"Highlight"},"Docusaurus green")," and ",(0,l.kt)(f,{color:"#1877F2",mdxType:"Highlight"},"Facebook blue")," are my favorite colors.",(0,l.kt)("p",null,"I can write ",(0,l.kt)("strong",{parentName:"p"},"Markdown")," alongside my ",(0,l.kt)("em",{parentName:"p"},"JSX"),"!"),(0,l.kt)("h2",{id:"tabs"},"Tabs"),(0,l.kt)(o.Z,{defaultValue:"apple",values:[{label:"Apple",value:"apple"},{label:"Orange",value:"orange"},{label:"Banana",value:"banana"}],mdxType:"Tabs"},(0,l.kt)(u.Z,{value:"apple",mdxType:"TabItem"},"This is an apple \ud83c\udf4e"),(0,l.kt)(u.Z,{value:"orange",mdxType:"TabItem"},"This is an orange \ud83c\udf4a"),(0,l.kt)(u.Z,{value:"banana",mdxType:"TabItem"},"This is a banana \ud83c\udf4c")),(0,l.kt)("h2",{id:"code-box-with-title"},"Code Box with Title"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx",metastring:'title="/src/components/HelloCodeTitle.js"',title:'"/src/components/HelloCodeTitle.js"'},"function HelloCodeTitle(props) {\n return

Hello, {props.name}

;\n}\n")),(0,l.kt)("h2",{id:"tabbed-code-box"},"Tabbed Code Box"),(0,l.kt)(o.Z,{defaultValue:"js",values:[{label:"JavaScript",value:"js"},{label:"Python",value:"py"},{label:"Java",value:"java"}],mdxType:"Tabs"},(0,l.kt)(u.Z,{value:"js",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"function helloWorld() {\n console.log('Hello, world!');\n}\n"))),(0,l.kt)(u.Z,{value:"py",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-py"},"def hello_world():\n print 'Hello, world!'\n"))),(0,l.kt)(u.Z,{value:"java",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-java"},'class HelloWorld {\n public static void main(String args[]) {\n System.out.println("Hello, World");\n }\n}\n')))))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.73e61023.js b/assets/js/935f2afb.73e61023.js new file mode 100644 index 0000000..6458916 --- /dev/null +++ b/assets/js/935f2afb.73e61023.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[53],{1109:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"link","label":"Introduction","href":"/docs/","docId":"intro"},{"type":"category","label":"Selcukes Test","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Web Test","href":"/docs/test/web-test","docId":"test/web-test"},{"type":"link","label":"Mobile Test","href":"/docs/test/mobile-test","docId":"test/mobile-test"},{"type":"link","label":"Desktop Test","href":"/docs/test/desktop-test","docId":"test/desktop-test"},{"type":"link","label":"Api Test","href":"/docs/test/api-test","docId":"test/api-test"}]},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Selcukes Databind","href":"/docs/guides/data-bind","docId":"guides/data-bind"},{"type":"link","label":"Extent Reports","href":"/docs/guides/extent-reports","docId":"guides/extent-reports"},{"type":"link","label":"Selcukes Notifier","href":"/docs/guides/selcukes-notifier","docId":"guides/selcukes-notifier"},{"type":"link","label":"Selcukes Excel Runner","href":"/docs/guides/excel-runner","docId":"guides/excel-runner"},{"type":"link","label":"Selcukes TestNG","href":"/docs/guides/selcukes-testng","docId":"guides/selcukes-testng"},{"type":"link","label":"Selcukes Reports","href":"/docs/guides/selcukes-reports","docId":"guides/selcukes-reports"},{"type":"link","label":"Video Recorder","href":"/docs/guides/video-recorder","docId":"guides/video-recorder"},{"type":"link","label":"Selcukes Properties","href":"/docs/guides/properties","docId":"guides/properties"},{"type":"link","label":"Selcukes logger","href":"/docs/guides/logger","docId":"guides/logger"},{"type":"link","label":"WebDriver Binaries","href":"/docs/guides/webdriver-binaries","docId":"guides/webdriver-binaries"},{"type":"link","label":"Selcukes Collections","href":"/docs/guides/collections","docId":"guides/collections"}]},{"type":"category","label":"Docker Test","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Selenoid Grid Test","href":"/docs/docker/selenoid-grid-test","docId":"docker/selenoid-grid-test"}]},{"type":"category","label":"contributing","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Advanced Examples","href":"/docs/contributing/adv-examples","docId":"contributing/adv-examples"},{"type":"link","label":"Code of Conduct","href":"/docs/contributing/code-of-conduct","docId":"contributing/code-of-conduct"},{"type":"link","label":"Style Guide","href":"/docs/contributing/style-guide","docId":"contributing/style-guide"}]}]},"docs":{"contributing/adv-examples":{"id":"contributing/adv-examples","title":"Advanced Examples","description":"Powered by MDX","sidebar":"defaultSidebar"},"contributing/code-of-conduct":{"id":"contributing/code-of-conduct","title":"Contributor Covenant Code of Conduct","description":"Our Pledge","sidebar":"defaultSidebar"},"contributing/style-guide":{"id":"contributing/style-guide","title":"Style Guide","description":"The Selcukes Documentation Style Guide","sidebar":"defaultSidebar"},"docker/selenoid-grid-test":{"id":"docker/selenoid-grid-test","title":"Selenoid Grid Test","description":"=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),i=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=i(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={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,a=e.mdxType,u=e.originalType,s=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),d=i(n),f=a,m=d["".concat(s,".").concat(f)]||d[f]||p[f]||u;return n?r.createElement(m,l(l({ref:t},c),{},{components:n})):r.createElement(m,l({ref:t},c))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var u=n.length,l=new Array(u);l[0]=d;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var i=2;i child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,s.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,u=(0,l.k6)(),s=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,o._X)(s),(0,a.useCallback)((function(e){if(s){var t=new URLSearchParams(u.location.search);t.set(s,e),u.replace(Object.assign({},u.location,{search:t.toString()}))}}),[s,u])]}function m(e){var t,n,r,u,l=e.defaultValue,o=e.queryString,s=void 0!==o&&o,c=e.groupId,m=p(e),v=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!d({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:l,tabValues:m})})),g=v[0],b=v[1],k=f({queryString:s,groupId:c}),h=k[0],y=k[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,i.Nk)(t),r=n[0],u=n[1],[r,(0,a.useCallback)((function(e){t&&u.set(e)}),[t,u])]),N=w[0],T=w[1],E=function(){var e=null!=h?h:N;return d({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){E&&b(E)}),[E]),{selectedValue:g,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);b(e),y(e),T(e)}),[y,T,m]),tabValues:m}}var v=n(2466),g=n(2389),b="tabList__CuJ",k="tabItem_LNqP";function h(e){var t=e.className,n=e.block,l=e.selectedValue,o=e.selectValue,s=e.tabValues,i=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=i.indexOf(t),r=s[n].value;r!==l&&(c(t),o(r))},d=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,a=i.indexOf(e.currentTarget)+1;n=null!=(r=i[a])?r:i[0];break;case"ArrowLeft":var u,l=i.indexOf(e.currentTarget)-1;n=null!=(u=i[l])?u:i[i.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,u.Z)("tabs",{"tabs--block":n},t)},s.map((function(e){var t=e.value,n=e.label,o=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,key:t,ref:function(e){return i.push(e)},onKeyDown:d,onClick:p},o,{className:(0,u.Z)("tabs__item",k,null==o?void 0:o.className,{"tabs__item--active":l===t})}),null!=n?n:t)})))}function y(e){var t=e.lazy,n=e.children,r=e.selectedValue,u=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var l=u.find((function(e){return e.props.value===r}));return l?(0,a.cloneElement)(l,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},u.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function w(e){var t=m(e);return a.createElement("div",{className:(0,u.Z)("tabs-container",b)},a.createElement(h,(0,r.Z)({},e,t)),a.createElement(y,(0,r.Z)({},e,t)))}function N(e){var t=(0,g.Z)();return a.createElement(w,(0,r.Z)({key:String(t)},e))}},334:function(e,t,n){n.r(t),n.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return i},metadata:function(){return p},toc:function(){return f}});var r=n(7462),a=n(3366),u=(n(7294),n(3905)),l=n(4866),o=n(5162),s=["components"],i={id:"selcukes-testng",title:"Selcukes TestNG",sidebar_position:5},c=void 0,p={unversionedId:"guides/selcukes-testng",id:"guides/selcukes-testng",title:"Selcukes TestNG",description:"Selcukes TestNG is used to run cucumber testng",source:"@site/docs/03_guides/selcukes-testng.md",sourceDirName:"03_guides",slug:"/guides/selcukes-testng",permalink:"/docs/guides/selcukes-testng",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/selcukes-testng.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{id:"selcukes-testng",title:"Selcukes TestNG",sidebar_position:5},sidebar:"defaultSidebar",previous:{title:"Selcukes Excel Runner",permalink:"/docs/guides/excel-runner"},next:{title:"Selcukes Reports",permalink:"/docs/guides/selcukes-reports"}},d={},f=[{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],m={toc:f};function v(e){var t=e.components,n=(0,a.Z)(e,s);return(0,u.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,u.kt)("p",null,(0,u.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-testng"},"Selcukes TestNG")," is used to run cucumber testng\ntests with easy runtime configurations for different modules."),(0,u.kt)("h2",{id:"setup"},"Setup"),(0,u.kt)("p",null,"Selcukes TestNG is primarily used as a Java dependency . We typically use a ",(0,u.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,u.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,u.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes TestNG dependency."),(0,u.kt)(l.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,u.kt)(o.Z,{value:"maven",mdxType:"TabItem"},(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-testng\n ${selcukes.version}\n\n"))),(0,u.kt)(o.Z,{value:"gradle",mdxType:"TabItem"},(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-testng:${selcukes.version}")\n}\n')))),(0,u.kt)("admonition",{type:"note"},(0,u.kt)("p",{parentName:"admonition"},"Selcukes TestNG is a transitive Dependency of ",(0,u.kt)("inlineCode",{parentName:"p"},"selcukes-excel-runner"),".If you are using ",(0,u.kt)("inlineCode",{parentName:"p"},"excel-runner"),", then\nignore adding this dependency explicitly.")),(0,u.kt)("h2",{id:"usage"},"Usage"),(0,u.kt)("p",null,"Add ",(0,u.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," file in ",(0,u.kt)("inlineCode",{parentName:"p"},"src/test/resource")," folder and update below cucumber options as required"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-yaml"},"cucumber:\n module: google\n features: src/test/resources/features/${module}\n glue: io.github.selcukes.testng.tests\n tags:\n plugin:\n")),(0,u.kt)("p",null,"Also add report options as follows"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-yaml"},"reports:\n emailReport: true\n htmlReport: true\n reportsPath:\n")),(0,u.kt)("admonition",{type:"tip"},(0,u.kt)("p",{parentName:"admonition"},"Here emailReport means extent reports, which will created automatically without any additional configurations.")),(0,u.kt)("p",null,"Create your own Test runner by extending ",(0,u.kt)("inlineCode",{parentName:"p"},"SelcukesTestNGRunner")),(0,u.kt)("p",null,"Add By default, all scenarios will execute in sequential. To enable scenario to run in parallel use ",(0,u.kt)("inlineCode",{parentName:"p"},"@parallel"),"\nannotation to the scenarios as follows"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre"},"@parallel\nScenario: Maker starts a game\nWhen the Maker starts a game\nThen the Maker waits for a Breaker to join\n")))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9ae3ff0c.28021c09.js b/assets/js/9ae3ff0c.28021c09.js new file mode 100644 index 0000000..d9b1868 --- /dev/null +++ b/assets/js/9ae3ff0c.28021c09.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[254],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});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 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=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),u=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,l=e.originalType,s=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),g=u(r),d=o,m=g["".concat(s,".").concat(d)]||g[d]||c[d]||l;return r?n.createElement(m,i(i({ref:t},p),{},{components:r})):n.createElement(m,i({ref:t},p))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=r.length,i=new Array(l);i[0]=g;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a.mdxType="string"==typeof e?e:o,i[1]=a;for(var u=2;u0&&r.createElement(s,{years:u}))))}}}]); \ No newline at end of file diff --git a/assets/js/a2a53b7f.60c344bb.js b/assets/js/a2a53b7f.60c344bb.js new file mode 100644 index 0000000..26ffa21 --- /dev/null +++ b/assets/js/a2a53b7f.60c344bb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[841],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return 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 s(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=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=r.createContext({}),c=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(p.Provider,{value:t},e.children)},l={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,s=e.originalType,p=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),f=c(n),m=o,d=f["".concat(p,".").concat(m)]||f[m]||l[m]||s;return n?r.createElement(d,i(i({ref:t},u),{},{components:n})):r.createElement(d,i({ref:t},u))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var s=n.length,i=new Array(s);i[0]=f;var a={};for(var p in t)hasOwnProperty.call(t,p)&&(a[p]=t[p]);a.originalType=e,a.mdxType="string"==typeof e?e:o,i[1]=a;for(var c=2;c "Token is: " + response.bodyAs(ResponseBody.class).getToken());\n }\n\n @Data\n static class ResponseBody {\n String id;\n String token;\n }\n}\n\n')))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.03288348.js b/assets/js/a6aa9e1f.03288348.js new file mode 100644 index 0000000..5b8860e --- /dev/null +++ b/assets/js/a6aa9e1f.03288348.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[89],{3269:function(e,t,a){a.r(t),a.d(t,{default:function(){return f}});var n=a(7294),r=a(4334),l=a(2263),i=a(1944),o=a(5281),s=a(9058),c=a(5999),m=a(2244);function g(e){var t=e.metadata,a=t.previousPage,r=t.nextPage;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,c.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&n.createElement(m.Z,{permalink:a,title:n.createElement(c.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)"},"Newer Entries")}),r&&n.createElement(m.Z,{permalink:r,title:n.createElement(c.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)"},"Older Entries"),isNext:!0}))}var p=a(197),u=a(9460),d=a(756);function E(e){var t=e.items,a=e.component,r=void 0===a?d.Z:a;return n.createElement(n.Fragment,null,t.map((function(e){var t=e.content;return n.createElement(u.n,{key:t.metadata.permalink,content:t},n.createElement(r,null,n.createElement(t,null)))})))}function b(e){var t=e.metadata,a=(0,l.Z)().siteConfig.title,r=t.blogDescription,o=t.blogTitle,s="/"===t.permalink?a:o;return n.createElement(n.Fragment,null,n.createElement(i.d,{title:s,description:r}),n.createElement(p.Z,{tag:"blog_posts_list"}))}function v(e){var t=e.metadata,a=e.items,r=e.sidebar;return n.createElement(s.Z,{sidebar:r},n.createElement(E,{items:a}),n.createElement(g,{metadata:t}))}function f(e){return n.createElement(i.FG,{className:(0,r.Z)(o.k.wrapper.blogPages,o.k.page.blogListPage)},n.createElement(b,e),n.createElement(v,e))}}}]); \ No newline at end of file diff --git a/assets/js/a89f6586.0cc48294.js b/assets/js/a89f6586.0cc48294.js new file mode 100644 index 0000000..b4eec4a --- /dev/null +++ b/assets/js/a89f6586.0cc48294.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[21],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return m}});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 u(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},c=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),d=s(r),m=a,f=d["".concat(l,".").concat(m)]||d[m]||p[m]||o;return r?n.createElement(f,u(u({ref:t},c),{},{components:r})):n.createElement(f,u({ref:t},c))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,u=new Array(o);u[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,u[1]=i;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:r.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,r=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(r);return function(e){var t=(0,l.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,r])}function d(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,r=void 0!==t&&t,n=e.groupId,o=(0,u.k6)(),l=function(e){var t=e.queryString,r=void 0!==t&&t,n=e.groupId;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=n?n:null}({queryString:r,groupId:n});return[(0,i._X)(l),(0,a.useCallback)((function(e){if(l){var t=new URLSearchParams(o.location.search);t.set(l,e),o.replace(Object.assign({},o.location,{search:t.toString()}))}}),[l,o])]}function f(e){var t,r,n,o,u=e.defaultValue,i=e.queryString,l=void 0!==i&&i,c=e.groupId,f=p(e),b=(0,a.useState)((function(){return function(e){var t,r=e.defaultValue,n=e.tabValues;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(r){if(!d({value:r,tabValues:n}))throw new Error('Docusaurus error: The has a defaultValue "'+r+'" but none of its children has the corresponding value. Available values are: '+n.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return r}var a=null!=(t=n.find((function(e){return e.default})))?t:n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:u,tabValues:f})})),v=b[0],g=b[1],k=m({queryString:l,groupId:c}),h=k[0],y=k[1],x=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),r=(0,s.Nk)(t),n=r[0],o=r[1],[n,(0,a.useCallback)((function(e){t&&o.set(e)}),[t,o])]),S=x[0],N=x[1],E=function(){var e=null!=h?h:S;return d({value:e,tabValues:f})?e:null}();return(0,a.useLayoutEffect)((function(){E&&g(E)}),[E]),{selectedValue:v,selectValue:(0,a.useCallback)((function(e){if(!d({value:e,tabValues:f}))throw new Error("Can't select invalid tab value="+e);g(e),y(e),N(e)}),[y,N,f]),tabValues:f}}var b=r(2466),v=r(2389),g="tabList__CuJ",k="tabItem_LNqP";function h(e){var t=e.className,r=e.block,u=e.selectedValue,i=e.selectValue,l=e.tabValues,s=[],c=(0,b.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,r=s.indexOf(t),n=l[r].value;n!==u&&(c(t),i(n))},d=function(e){var t,r=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var n,a=s.indexOf(e.currentTarget)+1;r=null!=(n=s[a])?n:s[0];break;case"ArrowLeft":var o,u=s.indexOf(e.currentTarget)-1;r=null!=(o=s[u])?o:s[s.length-1]}null==(t=r)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":r},t)},l.map((function(e){var t=e.value,r=e.label,i=e.attributes;return a.createElement("li",(0,n.Z)({role:"tab",tabIndex:u===t?0:-1,"aria-selected":u===t,key:t,ref:function(e){return s.push(e)},onKeyDown:d,onClick:p},i,{className:(0,o.Z)("tabs__item",k,null==i?void 0:i.className,{"tabs__item--active":u===t})}),null!=r?r:t)})))}function y(e){var t=e.lazy,r=e.children,n=e.selectedValue,o=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){var u=o.find((function(e){return e.props.value===n}));return u?(0,a.cloneElement)(u,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},o.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==n})})))}function x(e){var t=f(e);return a.createElement("div",{className:(0,o.Z)("tabs-container",g)},a.createElement(h,(0,n.Z)({},e,t)),a.createElement(y,(0,n.Z)({},e,t)))}function S(e){var t=(0,v.Z)();return a.createElement(x,(0,n.Z)({key:String(t)},e))}},4279:function(e,t,r){r.r(t),r.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return b},frontMatter:function(){return s},metadata:function(){return p},toc:function(){return m}});var n=r(7462),a=r(3366),o=(r(7294),r(3905)),u=r(4866),i=r(5162),l=["components"],s={id:"extent-reports",title:"Extent Reports",sidebar_position:2},c=void 0,p={unversionedId:"guides/extent-reports",id:"guides/extent-reports",title:"Extent Reports",description:"Selcukes Extent Reports is used to",source:"@site/docs/03_guides/extent-reports.md",sourceDirName:"03_guides",slug:"/guides/extent-reports",permalink:"/docs/guides/extent-reports",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/extent-reports.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"extent-reports",title:"Extent Reports",sidebar_position:2},sidebar:"defaultSidebar",previous:{title:"Selcukes Databind",permalink:"/docs/guides/data-bind"},next:{title:"Selcukes Notifier",permalink:"/docs/guides/selcukes-notifier"}},d={},m=[{value:"Features",id:"features",level:2},{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],f={toc:m};function b(e){var t=e.components,r=(0,a.Z)(e,l);return(0,o.kt)("wrapper",(0,n.Z)({},f,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-extent-reports"},"Selcukes Extent Reports")," is used to\ngenerate Extent reports for Cucumber JVM."),(0,o.kt)("h2",{id:"features"},"Features"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Generates Emailable extent report"),(0,o.kt)("li",{parentName:"ol"},"Full page screenshots attached to report as base64 format"),(0,o.kt)("li",{parentName:"ol"},"Supports to add JUL based info logs to report")),(0,o.kt)("h2",{id:"setup"},"Setup"),(0,o.kt)("p",null,"Selcukes Extent Reports is primarily used as a Java dependency . We typically use a ",(0,o.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,o.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,o.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Extent Reports\ndependency."),(0,o.kt)(u.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,o.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-extent-reports\n ${selcukes.version}\n\n"))),(0,o.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-extent-reports:${selcukes.version}")\n}\n')))),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"Selcukes Extent Reports is a transitive Dependency of ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports"),".If you are using ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-reports"),",\nthen ignore adding this dependency explicitly.")),(0,o.kt)("admonition",{type:"warning"},(0,o.kt)("p",{parentName:"admonition"},"If you are using ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes-testng")," then set ",(0,o.kt)("inlineCode",{parentName:"p"},"emailReport")," as true in ",(0,o.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," file. No other configurations required")),(0,o.kt)("h2",{id:"usage"},"Usage"),(0,o.kt)("p",null,"Create an ",(0,o.kt)("inlineCode",{parentName:"p"},"extent.properties")," file in the ",(0,o.kt)("inlineCode",{parentName:"p"},"src/test/resources")," folder with the following properties:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"extent.reporter.spark.start=true\nextent.reporter.spark.out=target/extent-reports/Sample.html\nsysteminfo.Author=Ramesh\nselcukes.reports.timestamp=false\nselcukes.reports.thumbnail=false\n")),(0,o.kt)("p",null,"Add Selcukes Extent Reports plugin to the cucumber runner by adding ",(0,o.kt)("inlineCode",{parentName:"p"},"io.github.selcukes.extent.report.SelcukesExtentAdapter")," to the plugin option in the ",(0,o.kt)("inlineCode",{parentName:"p"},"@CucumberOptions")," annotation:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'@CucumberOptions(tags = "@tag1", plugin = {\n "io.github.selcukes.extent.report.SelcukesExtentAdapter",\n "html:target/cucumber-reports/cucumber.html", "json:target/cucumber-reports/cucumber.json"\n\n})\n')),(0,o.kt)("p",null,"Update Cucumber Hooks "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'package io.github.selcukes.example.cucumber.steps;\n\nimport io.cucumber.java.After;\nimport io.cucumber.java.AfterAll;\nimport io.cucumber.java.AfterStep;\nimport io.cucumber.java.Before;\nimport io.cucumber.java.BeforeAll;\nimport io.cucumber.java.BeforeStep;\nimport io.cucumber.java.Scenario;\nimport io.github.selcukes.example.cucumber.utils.TestContext;\nimport io.github.selcukes.excel.ScenarioContext;\nimport io.github.selcukes.extent.report.Reporter;\nimport lombok.CustomLog;\nimport org.openqa.selenium.WebDriver;\n\n@CustomLog\npublic class CucumberHooks {\n WebDriver driver;\n\n public CucumberHooks(TestContext driverManager) {\n driver = driverManager.getDriver();\n }\n\n @BeforeAll\n public static void beforeAll() {\n logger.info(() -> "Before All ...");\n }\n\n @AfterAll\n public static void afterAll() {\n logger.info(() -> "After All ...");\n }\n\n @Before\n public void beforeTest(Scenario scenario) {\n ScenarioContext.setTestName(scenario);\n Reporter.getReporter().initSnapshot(driver);\n logger.info(() -> "Starting Scenario .." + scenario.getName());\n }\n\n @BeforeStep\n public void beforeStep(Scenario scenario) {\n logger.info(() -> "Before Step");\n }\n\n @AfterStep\n public void afterStep(Scenario scenario) {\n logger.info(() -> "After Step");\n\n try {\n Reporter.getReporter().attachVisiblePageScreenshot();\n } catch (Exception ignored) {\n }\n }\n\n @After\n public void afterTest(Scenario scenario) {\n ScenarioContext.removeTestName();\n logger.info(() -> "Completed Scenario .." + scenario.getName());\n }\n}\n')),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"Use Selcukes Logger to attach custom info logs to extent report")),(0,o.kt)("p",null,"That's it! With these steps, Selcukes Extent Reports plugin is integrated with Cucumber and will generate reports in the specified output folder."))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/af24fada.974090c6.js b/assets/js/af24fada.974090c6.js new file mode 100644 index 0000000..f0b12e2 --- /dev/null +++ b/assets/js/af24fada.974090c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[523],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return f}});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 i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},u=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},l={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,o=e.mdxType,i=e.originalType,c=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),d=p(n),f=o,m=d["".concat(c,".").concat(f)]||d[f]||l[f]||i;return n?r.createElement(m,s(s({ref:t},u),{},{components:n})):r.createElement(m,s({ref:t},u))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,s=new Array(i);s[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:o,s[1]=a;for(var p=2;p=0||(o[r]=e[r]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=t.createContext({}),s=function(e){var n=t.useContext(u),r=n;return e&&(r="function"==typeof e?e(n):i(i({},n),e)),r},c=function(e){var n=s(e.components);return t.createElement(u.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},f=t.forwardRef((function(e,n){var r=e.components,o=e.mdxType,a=e.originalType,u=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),f=s(r),m=o,p=f["".concat(u,".").concat(m)]||f[m]||d[m]||a;return r?t.createElement(p,i(i({ref:n},c),{},{components:r})):t.createElement(p,i({ref:n},c))}));function m(e,n){var r=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=f;var l={};for(var u in n)hasOwnProperty.call(n,u)&&(l[u]=n[u]);l.originalType=e,l.mdxType="string"==typeof e?e:o,i[1]=l;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:r.filter(Boolean))?n:[]}(e).map((function(e){var n=e.props;return{value:n.value,label:n.label,attributes:n.attributes,default:n.default}}))}function d(e){var n=e.values,r=e.children;return(0,o.useMemo)((function(){var e=null!=n?n:c(r);return function(e){var n=(0,u.l)(e,(function(e,n){return e.value===n.value}));if(n.length>0)throw new Error('Docusaurus error: Duplicate values "'+n.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[n,r])}function f(e){var n=e.value;return e.tabValues.some((function(e){return e.value===n}))}function m(e){var n=e.queryString,r=void 0!==n&&n,t=e.groupId,a=(0,i.k6)(),u=function(e){var n=e.queryString,r=void 0!==n&&n,t=e.groupId;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=t?t:null}({queryString:r,groupId:t});return[(0,l._X)(u),(0,o.useCallback)((function(e){if(u){var n=new URLSearchParams(a.location.search);n.set(u,e),a.replace(Object.assign({},a.location,{search:n.toString()}))}}),[u,a])]}function p(e){var n,r,t,a,i=e.defaultValue,l=e.queryString,u=void 0!==l&&l,c=e.groupId,p=d(e),v=(0,o.useState)((function(){return function(e){var n,r=e.defaultValue,t=e.tabValues;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(r){if(!f({value:r,tabValues:t}))throw new Error('Docusaurus error: The has a defaultValue "'+r+'" but none of its children has the corresponding value. Available values are: '+t.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return r}var o=null!=(n=t.find((function(e){return e.default})))?n:t[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:i,tabValues:p})})),b=v[0],g=v[1],h=m({queryString:u,groupId:c}),y=h[0],k=h[1],_=(n=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),r=(0,s.Nk)(n),t=r[0],a=r[1],[t,(0,o.useCallback)((function(e){n&&a.set(e)}),[n,a])]),O=_[0],w=_[1],T=function(){var e=null!=y?y:O;return f({value:e,tabValues:p})?e:null}();return(0,o.useLayoutEffect)((function(){T&&g(T)}),[T]),{selectedValue:b,selectValue:(0,o.useCallback)((function(e){if(!f({value:e,tabValues:p}))throw new Error("Can't select invalid tab value="+e);g(e),k(e),w(e)}),[k,w,p]),tabValues:p}}var v=r(2466),b=r(2389),g="tabList__CuJ",h="tabItem_LNqP";function y(e){var n=e.className,r=e.block,i=e.selectedValue,l=e.selectValue,u=e.tabValues,s=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var n=e.currentTarget,r=s.indexOf(n),t=u[r].value;t!==i&&(c(n),l(t))},f=function(e){var n,r=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var t,o=s.indexOf(e.currentTarget)+1;r=null!=(t=s[o])?t:s[0];break;case"ArrowLeft":var a,i=s.indexOf(e.currentTarget)-1;r=null!=(a=s[i])?a:s[s.length-1]}null==(n=r)||n.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":r},n)},u.map((function(e){var n=e.value,r=e.label,l=e.attributes;return o.createElement("li",(0,t.Z)({role:"tab",tabIndex:i===n?0:-1,"aria-selected":i===n,key:n,ref:function(e){return s.push(e)},onKeyDown:f,onClick:d},l,{className:(0,a.Z)("tabs__item",h,null==l?void 0:l.className,{"tabs__item--active":i===n})}),null!=r?r:n)})))}function k(e){var n=e.lazy,r=e.children,t=e.selectedValue,a=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){var i=a.find((function(e){return e.props.value===t}));return i?(0,o.cloneElement)(i,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},a.map((function(e,n){return(0,o.cloneElement)(e,{key:n,hidden:e.props.value!==t})})))}function _(e){var n=p(e);return o.createElement("div",{className:(0,a.Z)("tabs-container",g)},o.createElement(y,(0,t.Z)({},e,n)),o.createElement(k,(0,t.Z)({},e,n)))}function O(e){var n=(0,b.Z)();return o.createElement(_,(0,t.Z)({key:String(n)},e))}},7775:function(e,n,r){r.r(n),r.d(n,{assets:function(){return f},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return s},metadata:function(){return d},toc:function(){return m}});var t=r(7462),o=r(3366),a=(r(7294),r(3905)),i=r(4866),l=r(5162),u=["components"],s={title:"Selenoid Grid Test",sidebar_position:1},c=void 0,d={unversionedId:"docker/selenoid-grid-test",id:"docker/selenoid-grid-test",title:"Selenoid Grid Test",description:'=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var i=n.createContext({}),l=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(i.Provider,{value:t},e.children)},s={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,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),f=l(r),m=o,d=f["".concat(i,".").concat(m)]||f[m]||s[m]||a;return r?n.createElement(d,u(u({ref:t},p),{},{components:r})):n.createElement(d,u({ref:t},p))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,u=new Array(a);u[0]=f;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:o,u[1]=c;for(var l=2;l0&&a.createElement("meta",{property:"article:tag",content:u.map((function(e){return e.label})).join(",")}))}var g=t(9407);function p(e){var n=e.sidebar,t=e.children,r=(0,o.C)(),l=r.metadata,i=r.toc,u=l.nextItem,m=l.prevItem,d=l.frontMatter,f=d.hide_table_of_contents,p=d.toc_min_heading_level,h=d.toc_max_heading_level;return a.createElement(c.Z,{sidebar:n,toc:!f&&i.length>0?a.createElement(g.Z,{toc:i,minHeadingLevel:p,maxHeadingLevel:h}):void 0},a.createElement(s.Z,null,t),(u||m)&&a.createElement(v,{nextItem:u,prevItem:m}))}function h(e){var n=e.content;return a.createElement(o.n,{content:e.content,isBlogPostPage:!0},a.createElement(l.FG,{className:(0,r.Z)(i.k.wrapper.blogPages,i.k.page.blogPostPage)},a.createElement(f,null),a.createElement(p,{sidebar:e.sidebar},a.createElement(n,null))))}},9407:function(e,n,t){t.d(n,{Z:function(){return u}});var a=t(7462),r=t(3366),l=t(7294),i=t(4334),o=t(3743),c="tableOfContents_bqdL",s=["className"];function u(e){var n=e.className,t=(0,r.Z)(e,s);return l.createElement("div",{className:(0,i.Z)(c,"thin-scrollbar",n)},l.createElement(o.Z,(0,a.Z)({},t,{linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})))}},3743:function(e,n,t){t.d(n,{Z:function(){return h}});var a=t(7462),r=t(3366),l=t(7294),i=t(6668),o=["parentIndex"];function c(e){var n=e.map((function(e){return Object.assign({},e,{parentIndex:-1,children:[]})})),t=Array(7).fill(-1);n.forEach((function(e,n){var a=t.slice(2,e.level);e.parentIndex=Math.max.apply(Math,a),t[e.level]=n}));var a=[];return n.forEach((function(e){var t=e.parentIndex,l=(0,r.Z)(e,o);t>=0?n[t].children.push(l):a.push(l)})),a}function s(e){var n=e.toc,t=e.minHeadingLevel,a=e.maxHeadingLevel;return n.flatMap((function(e){var n=s({toc:e.children,minHeadingLevel:t,maxHeadingLevel:a});return function(e){return e.level>=t&&e.level<=a}(e)?[Object.assign({},e,{children:n})]:n}))}function u(e){var n=e.getBoundingClientRect();return n.top===n.bottom?u(e.parentNode):n}function m(e,n){var t,a,r=n.anchorTopOffset,l=e.find((function(e){return u(e).top>=r}));return l?function(e){return e.top>0&&e.bottom=0||(l[t]=e[t]);return l}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var s=n.createContext({}),u=function(e){var a=n.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):r(r({},a),e)),t},p=function(e){var a=u(e.components);return n.createElement(s.Provider,{value:a},e.children)},c={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},d=n.forwardRef((function(e,a){var t=e.components,l=e.mdxType,o=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(t),m=l,g=d["".concat(s,".").concat(m)]||d[m]||c[m]||o;return t?n.createElement(g,r(r({ref:a},p),{},{components:t})):n.createElement(g,r({ref:a},p))}));function m(e,a){var t=arguments,l=a&&a.mdxType;if("string"==typeof e||l){var o=t.length,r=new Array(o);r[0]=d;var i={};for(var s in a)hasOwnProperty.call(a,s)&&(i[s]=a[s]);i.originalType=e,i.mdxType="string"==typeof e?e:l,r[1]=i;for(var u=2;u dataTable = new DataTable<>();\n")),(0,o.kt)("p",null,"To create a DataTable with initial data, you can use the of method and pass a list of maps, where each map represents a row of data with the keys being the column names and the values being the data for that row:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("name", "Alice", "age", 25),\nMap.of("name", "Bob", "age", 30),\nMap.of("name", "Charlie", "age", 35));\n')),(0,o.kt)("h3",{id:"adding-rows"},"Adding Rows"),(0,o.kt)("p",null,"To add a new row to the data table, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"addRow")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Map row = Map.of("Key1", "Value1","Key2", "Value2");\ndataTable.addRow(row);\n')),(0,o.kt)("p",null,"You can also add multiple rows at once using the ",(0,o.kt)("inlineCode",{parentName:"p"},"addRows")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'List> rows = List.of(\nMap.of("Key1", "Value1","Key2", "Value2"),\nMap.of("Key3", "Value3","Key4", "Value4"));\n\ndataTable.addRows(rows);\n\n')),(0,o.kt)("h3",{id:"retrieving-column-keys"},"Retrieving Column Keys"),(0,o.kt)("p",null,"To retrieve a list of column keys from the first row of the data table, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"getColumns")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"List columns = dataTable.getColumns();\n")),(0,o.kt)("h3",{id:"retrieving-column-entries"},"Retrieving Column Entries"),(0,o.kt)("p",null,"The getColumnEntries method in the DataTable class allows you to retrieve a list of all the values in a given column of the table."),(0,o.kt)("p",null,"Here is an example usage of the getColumnEntries method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("name", "Alice", "age", 25),\nMap.of("name", "Bob", "age", 30),\nMap.of("name", "Charlie", "age", 35));\n\nList ages = dataTable.getColumnEntries("age");\n')),(0,o.kt)("p",null,"This will produce the following output:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[25, 30, 35]\n")),(0,o.kt)("h3",{id:"filtering-rows"},"Filtering Rows"),(0,o.kt)("p",null,"To filter the rows of the DataTable based on a predicate, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"filter")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Stream> filteredRows = dataTable.filter(row -> row.get("Key1").equals("Value1"));\n')),(0,o.kt)("h3",{id:"finding-rows"},"Finding Rows"),(0,o.kt)("p",null,"To find the first or last row that matches a predicate, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"findFirst")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"findLast")," methods:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Optional> firstMatch = dataTable.findFirst(row -> row.get("Key1").equals("Value1"));\nOptional> lastMatch = dataTable.findLast(row -> row.get("Key1").equals("Value1"));\n')),(0,o.kt)("h3",{id:"grouping-rows"},"Grouping Rows"),(0,o.kt)("p",null,"To group the rows of the DataTable based on the values of a column key, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"groupByColumn")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("Key1", "A", "Key2", "X", "Value", "10"),\nMap.of("Key1", "A", "Key2", "Y", "Value", "20"),\nMap.of("Key1", "B", "Key2", "X", "Value", "30"),\nMap.of("Key1", "B", "Key2", "Y", "Value", "40"));\n\nMap> groupedRows = dataTable.groupByColumn("Key1");\n')),(0,o.kt)("p",null,"This will produce a Map of DataTable with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"A{\n[Value, Key2, Key1]\n[10, X, A]\n[20, Y, A]\n}\nB{\n[Value, Key2, Key1]\n[30, X, B]\n[40, Y, B]\n}\n")),(0,o.kt)("p",null,'In this example, we grouped the rows of dataTable by the values in the "Key1" column, which resulted in a map where each key corresponds to a unique value in the "Key1" column, and each value is a new DataTable containing the rows with that key.'),(0,o.kt)("h3",{id:"updating-rows"},"Updating Rows"),(0,o.kt)("p",null,"To update each row in the table by applying a function to the map representing each row, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"updateRows")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dataTable.updateRows(row -> {\n row.put("Key3", "Value3");\n return row;\n });\n')),(0,o.kt)("p",null,'This will update the value for the "Key3" column in each row of the table. The function passed to updateRows takes a Map as input, which represents a single row of the table. In this example, the function adds a new key-value pair to each row and returns the updated row.'),(0,o.kt)("h3",{id:"updating-cell"},"Updating Cell"),(0,o.kt)("p",null,"To update a cell at the given row index and column key in a DataTable, use the updateCell method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},' dataTable.updateCell(rowIndex, "Key", "newValue");\n')),(0,o.kt)("p",null,"This will update the cell at the specified row index and column key with the new value."),(0,o.kt)("h3",{id:"removing-rows"},"Removing Rows"),(0,o.kt)("p",null,"To remove rows from the DataTable based on a given condition, use the removeRows method. The method takes a Predicate as input, which is used to filter the rows to remove."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'// Create a sample DataTable\nDataTable dataTable = DataTable.of(\nMap.of("category", 1, "price", 10),\nMap.of("category", 2, "price", 20),\nMap.of("category", 1, "price", 30),\nMap.of("category", 2, "price", 40)\n);\n\n// Define the predicate to filter rows\nPredicate> predicate = row -> row.get("category") == 1;\n\n// Remove the rows matching the predicate\ndataTable.removeRows(predicate);\n')),(0,o.kt)("p",null,"To remove a specific row from the DataTable using its index, use the removeRow method."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'// Create a sample DataTable\nDataTable dataTable = DataTable.of(\n Map.of("name", "Alice", "age", "25"),\n Map.of("name", "Bob", "age", "30"),\n Map.of("name", "Charlie", "age", "35")\n );\n\n// Remove the row at index 1\n dataTable.removeRow(1);\n')),(0,o.kt)("h3",{id:"adding-a-column"},"Adding a Column"),(0,o.kt)("p",null,"To add a new column to the table with the given key and defaultValue, use the ",(0,o.kt)("inlineCode",{parentName:"p"},"addColumn")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dataTable.addColumn("Key", "Value");\n')),(0,o.kt)("p",null,"Suppose we have a ",(0,o.kt)("inlineCode",{parentName:"p"},"DataTable")," with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("category", 1, "price", 10),\nMap.of("category", 2, "price", 20),\nMap.of("category", 1, "price", 30),\nMap.of("category", 2, "price", 40));\n')),(0,o.kt)("p",null,"To add Column ",(0,o.kt)("inlineCode",{parentName:"p"},"Code")," with default ",(0,o.kt)("inlineCode",{parentName:"p"},"1234")," then we can use the addColumn() method as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'dataTable.addColumn("Code", 1234);\n')),(0,o.kt)("p",null,"This will update a DataTable with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[price, category, Code]\n[10, 1, 1234]\n[20, 2, 1234]\n[30, 1, 1234]\n[40, 2, 1234]\n")),(0,o.kt)("h3",{id:"rename-column"},"Rename Column"),(0,o.kt)("p",null,"To update the column names in a DataTable using the mapping specified in the columnMapping parameter, use the renameColumn method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Map columnMapping = Map.of("Key1", "NewKey1", "Key2", "NewKey2");\ndataTable.renameColumn(columnMapping);\n')),(0,o.kt)("p",null,"This will update the column names in the dataTable according to the mapping specified in columnMapping."),(0,o.kt)("h3",{id:"selecting-columns"},"Selecting Columns"),(0,o.kt)("p",null,'The selectColumns method in the DataTable class allows you to return a new DataTable with only the selected columns. For example, if you have a DataTable with columns "A", "B", and "C", and you want to select only columns "A" and "C", you can use this method as follows:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("A", "a1", "B", "b1", "C", "c1"),\nMap.of("A", "a2", "B", "b2", "C", "c2"));\n\nList columns = Arrays.asList("A", "C");\n\nDataTable selectedColumns = dataTable.selectColumns(columns);\n')),(0,o.kt)("p",null,'This will produce a new DataTable with only columns "A" and "C":'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[A, C]\n[a1, c1]\n[a2, c2]\n")),(0,o.kt)("h3",{id:"selecting-rows"},"Selecting Rows"),(0,o.kt)("p",null,"The selectRows method allows you to return a new DataTable instance that contains only the rows that satisfy the given predicate. For example, if you have a DataTable with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("A", 1, "B", 2, "C", 3),\nMap.of("A", 4, "B", 5, "C", 6),\nMap.of("A", 7, "B", 8, "C", 9));\n')),(0,o.kt)("p",null,'And you want to select only the rows where the value in column "A" is greater than 3, you can use this method as follows:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable selectedRows = dataTable.selectRows(row -> row.get("A") > 3);\n')),(0,o.kt)("p",null,'This will produce a new DataTable with only the rows where the value in column "A" is greater than 3:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[A, B, C]\n[4, 5, 6]\n[7, 8, 9]\n")),(0,o.kt)("h3",{id:"join-tables"},"Join Tables"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"join")," method is used to merge two DataTables based on a common column. Here's an example of how to use it:"),(0,o.kt)("p",null,"Suppose we have two ",(0,o.kt)("inlineCode",{parentName:"p"},"DataTables"),", table1 and table2, with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable table1 = DataTable.of(\nMap.of("name", "Alice", "age", 25),\nMap.of("name", "Bob", "age", 30),\nMap.of("name", "Charlie", "age", 35));\n\nDataTable table2 = DataTable.of(\nMap.of("name", "Alice","gender", "F"),\nMap.of("name", "Bob","gender", "M"),\nMap.of("name", "Charlie","gender", "M"));\n')),(0,o.kt)("p",null,'In the example above, we have two DataTables, table1 and table2, with a common column "name". We can use the join method to merge the two tables on this column, and a lambda expression to merge the rows from both tables into a new map.'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable joinedTable = table1.join(table2, "name",\n (row1, row2) -> {\n var resultRow = new HashMap();\n resultRow.putAll(row1);\n resultRow.putAll(row2);\n return resultRow;\n });\n')),(0,o.kt)("p",null,'The resulting joinedTable contains the columns "name", "age", and "gender". Here\'s the data it contains:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[name, gender, age]\n[Alice, F, 25]\n[Bob, M, 30]\n[Charlie, M, 35]\n")),(0,o.kt)("p",null,"In summary, we can use the join method to merge two DataTables based on a common column, and a lambda expression to merge the rows from both tables into a new map. The resulting DataTable contains the merged data."),(0,o.kt)("h3",{id:"aggregate-by-column"},"Aggregate by Column"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"aggregateByColumn")," method in the DataTable class allows you to perform aggregation operations on one column based on the values of another column.\nSuppose we have a ",(0,o.kt)("inlineCode",{parentName:"p"},"DataTable")," with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'DataTable dataTable = DataTable.of(\nMap.of("category", 1, "price", 10),\nMap.of("category", 2, "price", 20),\nMap.of("category", 1, "price", 30),\nMap.of("category", 2, "price", 40));\n')),(0,o.kt)("p",null,'To aggregate the "price" column by the "category" column using the sum() function, we can use the aggregateByColumn() method as follows:'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Map result = dataTable.aggregateByColumn("price", "category", Integer::sum);\n')),(0,o.kt)("p",null,"This will produce a Map with the following data:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"{1=40, 2=60}\n")),(0,o.kt)("p",null,'In this case, the "category" column has two distinct values: 1 and 2. The "price" values for the "category" 1 are 10 and 30, which sum up to 40. Similarly, the "price" values for the "category" 2 are 20 and 40, which sum up to 60.'),(0,o.kt)("h3",{id:"sort-by-column"},"Sort by Column"),(0,o.kt)("p",null,"The sortByColumn method allows you to sort the rows in the DataTable by the values in a particular column. You specify which column to sort by using the columnName parameter, which should be the name of the column you want to sort by. You also specify a Comparator object to determine the order of the values in the column."),(0,o.kt)("p",null,"For example, suppose you have a DataTable object that contains information about students, including their names and grades on an exam. You could sort the table by grade using the sortByColumn method like this:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'// Create a DataTable object with student data\nDataTable studentTable = DataTable.of(\nMap.of("Name", "Alice", "Grade", 85),\nMap.of("Name", "Bob", "Grade", 72),\nMap.of("Name", "Charlie", "Grade", 92),\nMap.of("Name", "Dave", "Grade", 68));\n\n// Create a Comparator object to sort by grade in descending order\nComparator gradeComparator = Comparator.comparing(\n obj -> Integer.valueOf(obj.toString()),\n Comparator.reverseOrder()\n );\n\n// Sort the table by grade\nstudentTable.sortByColumn("Grade", gradeComparator);\n\n')),(0,o.kt)("p",null,"This will sort a DataTable as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"[Name, Grade]\n[Charlie, 92]\n[Alice, 85]\n[Bob, 72]\n[Dave, 68]\n")),(0,o.kt)("p",null,'In this example, the columnName parameter is "Grade", indicating that we want to sort by the "Grade" column, and the comparator parameter is gradeComparator, which is a Comparator object that sorts integers in reverse order.'),(0,o.kt)("h3",{id:"contains"},"Contains"),(0,o.kt)("p",null,"To check if a DataTable contains an expected row, use the contains method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Map expectedRow = Map.of("Key1", "A", "Key2", "X", "Value", "10");\nboolean result = dataTable.contains(expectedRow);\n')),(0,o.kt)("p",null,"This will check if the dataTable contains a row with the same keys and values as expectedRow, and return true if it does, false otherwise."),(0,o.kt)("h3",{id:"other-operations"},"Other Operations"),(0,o.kt)("p",null,"The DataTable class also supports other operations such as sorting, mapping, reducing, and more. These operations are performed using the Stream API, which can be accessed by calling the ",(0,o.kt)("inlineCode",{parentName:"p"},"rows")," method:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"Stream> stream = dataTable.rows();\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ed3a5d05.678980f8.js b/assets/js/ed3a5d05.678980f8.js new file mode 100644 index 0000000..d697b86 --- /dev/null +++ b/assets/js/ed3a5d05.678980f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[247],{4469:function(e){e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/f36f7db6.4a693f15.js b/assets/js/f36f7db6.4a693f15.js new file mode 100644 index 0000000..a23ba88 --- /dev/null +++ b/assets/js/f36f7db6.4a693f15.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[475],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return d}});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 u(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 o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},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,a=e.mdxType,u=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),f=s(n),d=a,m=f["".concat(l,".").concat(d)]||f[d]||p[d]||u;return n?r.createElement(m,o(o({ref:t},c),{},{components:n})):r.createElement(m,o({ref:t},c))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var u=n.length,o=new Array(u);o[0]=f;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,n=e.children;return(0,a.useMemo)((function(){var e=null!=t?t:c(n);return function(e){var t=(0,l.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function f(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function d(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId,u=(0,o.k6)(),l=function(e){var t=e.queryString,n=void 0!==t&&t,r=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=r?r:null}({queryString:n,groupId:r});return[(0,i._X)(l),(0,a.useCallback)((function(e){if(l){var t=new URLSearchParams(u.location.search);t.set(l,e),u.replace(Object.assign({},u.location,{search:t.toString()}))}}),[l,u])]}function m(e){var t,n,r,u,o=e.defaultValue,i=e.queryString,l=void 0!==i&&i,c=e.groupId,m=p(e),v=(0,a.useState)((function(){return function(e){var t,n=e.defaultValue,r=e.tabValues;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!f({value:n,tabValues:r}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+r.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var a=null!=(t=r.find((function(e){return e.default})))?t:r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:o,tabValues:m})})),h=v[0],b=v[1],g=d({queryString:l,groupId:c}),k=g[0],y=g[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,s.Nk)(t),r=n[0],u=n[1],[r,(0,a.useCallback)((function(e){t&&u.set(e)}),[t,u])]),N=w[0],T=w[1],E=function(){var e=null!=k?k:N;return f({value:e,tabValues:m})?e:null}();return(0,a.useLayoutEffect)((function(){E&&b(E)}),[E]),{selectedValue:h,selectValue:(0,a.useCallback)((function(e){if(!f({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);b(e),y(e),T(e)}),[y,T,m]),tabValues:m}}var v=n(2466),h=n(2389),b="tabList__CuJ",g="tabItem_LNqP";function k(e){var t=e.className,n=e.block,o=e.selectedValue,i=e.selectValue,l=e.tabValues,s=[],c=(0,v.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,n=s.indexOf(t),r=l[n].value;r!==o&&(c(t),i(r))},f=function(e){var t,n=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var r,a=s.indexOf(e.currentTarget)+1;n=null!=(r=s[a])?r:s[0];break;case"ArrowLeft":var u,o=s.indexOf(e.currentTarget)-1;n=null!=(u=s[o])?u:s[s.length-1]}null==(t=n)||t.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,u.Z)("tabs",{"tabs--block":n},t)},l.map((function(e){var t=e.value,n=e.label,i=e.attributes;return a.createElement("li",(0,r.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:function(e){return s.push(e)},onKeyDown:f,onClick:p},i,{className:(0,u.Z)("tabs__item",g,null==i?void 0:i.className,{"tabs__item--active":o===t})}),null!=n?n:t)})))}function y(e){var t=e.lazy,n=e.children,r=e.selectedValue,u=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=u.find((function(e){return e.props.value===r}));return o?(0,a.cloneElement)(o,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},u.map((function(e,t){return(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})})))}function w(e){var t=m(e);return a.createElement("div",{className:(0,u.Z)("tabs-container",b)},a.createElement(k,(0,r.Z)({},e,t)),a.createElement(y,(0,r.Z)({},e,t)))}function N(e){var t=(0,h.Z)();return a.createElement(w,(0,r.Z)({key:String(t)},e))}},986:function(e,t,n){n.r(t),n.d(t,{assets:function(){return f},contentTitle:function(){return c},default:function(){return v},frontMatter:function(){return s},metadata:function(){return p},toc:function(){return d}});var r=n(7462),a=n(3366),u=(n(7294),n(3905)),o=n(4866),i=n(5162),l=["components"],s={id:"selcukes-notifier",title:"Selcukes Notifier",sidebar_position:3},c=void 0,p={unversionedId:"guides/selcukes-notifier",id:"guides/selcukes-notifier",title:"Selcukes Notifier",description:"Selcukes Notifier helps to send notifications",source:"@site/docs/03_guides/notifier.md",sourceDirName:"03_guides",slug:"/guides/selcukes-notifier",permalink:"/docs/guides/selcukes-notifier",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/03_guides/notifier.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"selcukes-notifier",title:"Selcukes Notifier",sidebar_position:3},sidebar:"defaultSidebar",previous:{title:"Extent Reports",permalink:"/docs/guides/extent-reports"},next:{title:"Selcukes Excel Runner",permalink:"/docs/guides/excel-runner"}},f={},d=[{value:"Motivation",id:"motivation",level:2},{value:"Setup",id:"setup",level:2},{value:"Usage",id:"usage",level:2}],m={toc:d};function v(e){var t=e.components,n=(0,a.Z)(e,l);return(0,u.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,u.kt)("p",null,(0,u.kt)("a",{parentName:"p",href:"https://github.com/selcukes/selcukes-java/tree/master/selcukes-notifier"},"Selcukes Notifier")," helps to send notifications\nusing Slack and Microsoft Teams."),(0,u.kt)("h2",{id:"motivation"},"Motivation"),(0,u.kt)("p",null,"Currently, we moved to On premises environments. To view HTML report generated by automation scripts we need to connect\nto the different VPN\u2019s to open the report and check the related screenshots to see which test case has failed and why.\nSo, why not raise an alert as soon as the test case fails? And why not attach a screenshot along with that alert so that\nall the stakeholders can actually see what has failed in the application?"),(0,u.kt)("h2",{id:"setup"},"Setup"),(0,u.kt)("p",null,"Selcukes Notifier is primarily used as a Java dependency . We typically use a ",(0,u.kt)("em",{parentName:"p"},"build tool")," (such\nas ",(0,u.kt)("a",{parentName:"p",href:"https://maven.apache.org/"},"Maven")," or ",(0,u.kt)("a",{parentName:"p",href:"https://gradle.org/"},"Gradle"),") to resolve the Selcukes Notifier dependency."),(0,u.kt)(o.Z,{defaultValue:"maven",values:[{label:"Maven",value:"maven"},{label:"Gradle",value:"gradle"}],mdxType:"Tabs"},(0,u.kt)(i.Z,{value:"maven",mdxType:"TabItem"},(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-xml"},"\n\n io.github.selcukes\n selcukes-notifier\n ${selcukes.version}\n\n"))),(0,u.kt)(i.Z,{value:"gradle",mdxType:"TabItem"},(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-java"},'dependencies{\n implementation("io.github.selcukes:selcukes-notifier:${selcukes.version}")\n}\n')))),(0,u.kt)("h2",{id:"usage"},"Usage"),(0,u.kt)("p",null,"Add ",(0,u.kt)("inlineCode",{parentName:"p"},"selcukes.yaml")," and update below config as follows"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-yaml"},"notifier:\n notification: true\n type: teams\n webhookToken: WEBHOOKXXXX\n apiToken: APIXXXX\n channel: selcukes\n authorIcon: https://github.com/rameshbabuprudhvi.png\n")),(0,u.kt)("p",null,"Create a test class as follows"),(0,u.kt)("pre",null,(0,u.kt)("code",{parentName:"pre",className:"language-java"},'public class NotifierTest {\n @Test\n public void testNotifications() {\n NotifierFactory.getNotifier()\n .scenarioName("This is sample scenario")\n .scenarioStatus("FAILED")\n .stepDetails("This is sample test step")\n .errorMessage("NullPointerException")\n .path("")\n .pushNotification();\n }\n}\n')))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f474b5ba.92c2d3c3.js b/assets/js/f474b5ba.92c2d3c3.js new file mode 100644 index 0000000..cee54a4 --- /dev/null +++ b/assets/js/f474b5ba.92c2d3c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[738],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return k}});var a=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 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 o(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=a.createContext({}),u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},c={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,l=e.mdxType,r=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),p=u(n),k=l,h=p["".concat(s,".").concat(k)]||p[k]||c[k]||r;return n?a.createElement(h,o(o({ref:t},d),{},{components:n})):a.createElement(h,o({ref:t},d))}));function k(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=n.length,o=new Array(r);o[0]=p;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:l,o[1]=i;for(var u=2;u child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function c(e){var t=e.values,n=e.children;return(0,l.useMemo)((function(){var e=null!=t?t:d(n);return function(e){var t=(0,s.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function p(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function k(e){var t=e.queryString,n=void 0!==t&&t,a=e.groupId,r=(0,o.k6)(),s=function(e){var t=e.queryString,n=void 0!==t&&t,a=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:n,groupId:a});return[(0,i._X)(s),(0,l.useCallback)((function(e){if(s){var t=new URLSearchParams(r.location.search);t.set(s,e),r.replace(Object.assign({},r.location,{search:t.toString()}))}}),[s,r])]}function h(e){var t,n,a,r,o=e.defaultValue,i=e.queryString,s=void 0!==i&&i,d=e.groupId,h=c(e),m=(0,l.useState)((function(){return function(e){var t,n=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var l=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!l)throw new Error("Unexpected error: 0 tabValues");return l.value}({defaultValue:o,tabValues:h})})),g=m[0],f=m[1],b=k({queryString:s,groupId:d}),v=b[0],y=b[1],N=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:d}.groupId),n=(0,u.Nk)(t),a=n[0],r=n[1],[a,(0,l.useCallback)((function(e){t&&r.set(e)}),[t,r])]),w=N[0],T=N[1],x=function(){var e=null!=v?v:w;return p({value:e,tabValues:h})?e:null}();return(0,l.useLayoutEffect)((function(){x&&f(x)}),[x]),{selectedValue:g,selectValue:(0,l.useCallback)((function(e){if(!p({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);f(e),y(e),T(e)}),[y,T,h]),tabValues:h}}var m=n(2466),g=n(2389),f="tabList__CuJ",b="tabItem_LNqP";function v(e){var t=e.className,n=e.block,o=e.selectedValue,i=e.selectValue,s=e.tabValues,u=[],d=(0,m.o5)().blockElementScrollPositionUntilNextRender,c=function(e){var t=e.currentTarget,n=u.indexOf(t),a=s[n].value;a!==o&&(d(t),i(a))},p=function(e){var t,n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":var a,l=u.indexOf(e.currentTarget)+1;n=null!=(a=u[l])?a:u[0];break;case"ArrowLeft":var r,o=u.indexOf(e.currentTarget)-1;n=null!=(r=u[o])?r:u[u.length-1]}null==(t=n)||t.focus()};return l.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t)},s.map((function(e){var t=e.value,n=e.label,i=e.attributes;return l.createElement("li",(0,a.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:function(e){return u.push(e)},onKeyDown:p,onClick:c},i,{className:(0,r.Z)("tabs__item",b,null==i?void 0:i.className,{"tabs__item--active":o===t})}),null!=n?n:t)})))}function y(e){var t=e.lazy,n=e.children,a=e.selectedValue,r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=r.find((function(e){return e.props.value===a}));return o?(0,l.cloneElement)(o,{className:"margin-top--md"}):null}return l.createElement("div",{className:"margin-top--md"},r.map((function(e,t){return(0,l.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function N(e){var t=h(e);return l.createElement("div",{className:(0,r.Z)("tabs-container",f)},l.createElement(v,(0,a.Z)({},e,t)),l.createElement(y,(0,a.Z)({},e,t)))}function w(e){var t=(0,g.Z)();return l.createElement(N,(0,a.Z)({key:String(t)},e))}},6984:function(e,t,n){n.r(t),n.d(t,{assets:function(){return p},contentTitle:function(){return d},default:function(){return m},frontMatter:function(){return u},metadata:function(){return c},toc:function(){return k}});var a=n(7462),l=n(3366),r=(n(7294),n(3905)),o=n(4866),i=n(5162),s=["components"],u={id:"style-guide",title:"Style Guide",sidebar_label:"Style Guide",description:"The Selcukes Documentation Style Guide",keywords:["contributing","style","markdown"]},d=void 0,c={unversionedId:"contributing/style-guide",id:"contributing/style-guide",title:"Style Guide",description:"The Selcukes Documentation Style Guide",source:"@site/docs/contributing/style-guide.md",sourceDirName:"contributing",slug:"/contributing/style-guide",permalink:"/docs/contributing/style-guide",draft:!1,editUrl:"https://github.com/selcukes/selcukes.github.io/tree/main/docs/contributing/style-guide.md",tags:[],version:"current",frontMatter:{id:"style-guide",title:"Style Guide",sidebar_label:"Style Guide",description:"The Selcukes Documentation Style Guide",keywords:["contributing","style","markdown"]},sidebar:"defaultSidebar",previous:{title:"Code of Conduct",permalink:"/docs/contributing/code-of-conduct"}},p={},k=[{value:"Markdown",id:"markdown",level:2},{value:"Frontmatter",id:"frontmatter",level:2},{value:"Introduction",id:"introduction",level:2},{value:"Headers",id:"headers",level:2},{value:"Content",id:"content",level:2},{value:"Images",id:"images",level:2},{value:"Videos",id:"videos",level:2},{value:"Tabs",id:"tabs",level:2},{value:"Inline Code",id:"inline-code",level:2},{value:"Code Blocks",id:"code-blocks",level:2},{value:"Code References",id:"code-references",level:2},{value:"Expanding Code Blocks",id:"expanding-code-blocks",level:2},{value:"Admonitions",id:"admonitions",level:2},{value:"Context Limited",id:"context-limited",level:2},{value:"Badges",id:"badges",level:3},{value:"Highlighted Text",id:"highlighted-text",level:3},{value:"Cards",id:"cards",level:2}],h={toc:k};function m(e){var t=e.components,n=(0,l.Z)(e,s);return(0,r.kt)("wrapper",(0,a.Z)({},h,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Selcukes welcomes your contributions to our documentation!\nThis document describes the options available for creating content for the site,\nalong with some guidelines and conventions."),(0,r.kt)("h2",{id:"markdown"},"Markdown"),(0,r.kt)("p",null,"This site uses Docusaurus version 2 Beta. Docusaurus uses the\n",(0,r.kt)("a",{parentName:"p",href:"https://github.com/jonschlinkert/remarkable"},"remarkable Markdown processor")," to convert\n",(0,r.kt)("a",{parentName:"p",href:"https://guides.github.com/features/mastering-markdown/"},"GitHub Flavored Markdown")," into HTML.\n",(0,r.kt)("a",{parentName:"p",href:"https://docusaurus.io/docs/markdown-features"},"Docusaurus Markdown")," supports\n",(0,r.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax"},"Basic Markdown Syntax")," and most\n",(0,r.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/extended-syntax/"},"Extended Syntax"),". You can see which features are supported\n",(0,r.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/tools/docusaurus/"},"here"),"."),(0,r.kt)("h2",{id:"frontmatter"},"Frontmatter"),(0,r.kt)("p",null,"At the top of each docs page, you need to include these things:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Variable"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"id")),(0,r.kt)("td",{parentName:"tr",align:null},"A brief string that uniquely identifies the page within its parent folder. The id and the name of the file should be the same.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"title")),(0,r.kt)("td",{parentName:"tr",align:null},"The main title of the page. This value will automatically be rendered using the H1 style at the top of the page.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"sidebar_label")),(0,r.kt)("td",{parentName:"tr",align:null},"This is what will appear in the left hand navigation tree for the page.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"description")," (optional)"),(0,r.kt)("td",{parentName:"tr",align:null},"This is what appears when the page is referenced in a Google search result.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"keywords")," (optional)"),(0,r.kt)("td",{parentName:"tr",align:null},"A list of terms that help categorize the page for SEO purposes.")))),(0,r.kt)("p",null,"It looks like this in the document:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"---\nid: style-guide\ntitle: Style Guide Introduction\nsidebar_label: Style Guide\ndescription: The Selcukes Documentation Style Guide\nkeywords:\n - contributing\n - style\n - markdown\n---\n")),(0,r.kt)("h2",{id:"introduction"},"Introduction"),(0,r.kt)("p",null,"The first paragraph of the documentation should set the user's expectations for what they will find on the page.\nDescribe the key benefits to the user, but do not include links."),(0,r.kt)("h2",{id:"headers"},"Headers"),(0,r.kt)("p",null,"For accessibility and SEO reasons, never have an H4 header that isn't under an H3 header,\nor an H3 header that isn't under an H2 header."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"H1 headers should never be used in a document since the title is automatically generated as an H1."),(0,r.kt)("li",{parentName:"ul"},"H2 headers are used for SEO, so make sure they succinctly represent what a user will find on the page in that section."),(0,r.kt)("li",{parentName:"ul"},"H3 headers are included in the page's table of contents on the right, so make sure the title describes something\na user might want to directly navigate to."),(0,r.kt)("li",{parentName:"ul"},"H4 headers are to emphasize things within a subsection of the page; these can be longer than the other headers\nif needed because they aren't included in the Table of Contents.")),(0,r.kt)("p",null,"Markdown Code:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"## H2 Header\n### H3 Header\n#### H4 Header\n")),(0,r.kt)("h2",{id:"content"},"Content"),(0,r.kt)("p",null,"All words are rendered in the same paragraph even with line breaks, so long as there isn't an empty line.\nAs such, it is good practice for each line to be less than 120 characters long for readability, when possible."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"This\nwill\nall\nbe\non\none\nline.\n\nThe empty line above creates a new paragraph.\n\nThis forces a soft return
\nrather than creating a new paragraph\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("p",null,"This\nwill\nall\nbe\non\none\nline."),(0,r.kt)("p",null,"The empty line above creates a new paragraph."),(0,r.kt)("p",null,"This forces a soft return",(0,r.kt)("br",null),"\nrather than creating a new paragraph"))))),(0,r.kt)("h2",{id:"images"},"Images"),(0,r.kt)("p",null,"All image files should be included in the ",(0,r.kt)("inlineCode",{parentName:"p"},"rameshbabuprudhvi.github.io/static/img")," directory, in a sub-directory that\ncorresponds to the referencing directory. (e.g., images for a document in the ",(0,r.kt)("inlineCode",{parentName:"p"},"rameshbabuprudhvi.github.io/docs/contributing")," directory\nwould be located in the ",(0,r.kt)("inlineCode",{parentName:"p"},"rameshbabuprudhvi.github.io/static/img/contributing")," directory."),(0,r.kt)("p",null,"To add an image from that directory, you need to import a special method by placing this line\nbelow the ",(0,r.kt)("a",{parentName:"p",href:"#frontmatter"},"Frontmatter"),", but above the ",(0,r.kt)("a",{parentName:"p",href:"#introduction"},"Introduction")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"import useBaseUrl from '@docusaurus/useBaseUrl';\n")),(0,r.kt)("p",null,"and then reference the image as follows:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'All images should have alt text\n')),(0,r.kt)("h2",{id:"videos"},"Videos"),(0,r.kt)("p",null,"Any referenced videos need to be from a Selcukes YouTube account.\nThe suggested iframe code structure is as follows:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'\n')),(0,r.kt)("h2",{id:"tabs"},"Tabs"),(0,r.kt)("p",null,"Tabs are a great option when an example is different in different contexts.\nThe primary usage of tabs on this site is to illustrate the same example in multiple languages.\nIdeally, these examples will exist in Java, Node.js, Python, Ruby, and C#, and the tabs should be placed in that order."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"When a page includes multiple sets of tabs, use a ",(0,r.kt)("inlineCode",{parentName:"p"},"groupId")," so when the user selects a particular tab,\nall tabs with that ID will switch to the selected tab.")),(0,r.kt)("p",null,"To use tabs, you need to import two special methods by placing these lines below the ",(0,r.kt)("a",{parentName:"p",href:"#frontmatter"},"Frontmatter"),",\nbut above the ",(0,r.kt)("a",{parentName:"p",href:"#introduction"},"Introduction"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"import Tabs from '@theme/Tabs';\nimport TabItem from '@theme/TabItem';\n")),(0,r.kt)("p",null,"and then use the tabs as follows:"),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"\n\n\n\nThis would include information or examples for Java\n\n\n\n\nThis would include information or examples for JavaScript\n\n\n
\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)(o.Z,{groupId:"lang-ex",defaultValue:"java",values:[{label:"Java",value:"java"},{label:"Node.js",value:"js"}],mdxType:"Tabs"},(0,r.kt)(i.Z,{value:"java",mdxType:"TabItem"},(0,r.kt)("p",null,"This would include information or examples for Java")),(0,r.kt)(i.Z,{value:"js",mdxType:"TabItem"},(0,r.kt)("p",null,"This would include information or examples for JavaScript"))))))),(0,r.kt)("h2",{id:"inline-code"},"Inline Code"),(0,r.kt)("p",null,"To refer to a single class or method name within a sentence, place single backticks around the name."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},"This comment refers to the `RemoteWebDriver` class\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("p",null,"This comment refers to the ",(0,r.kt)("inlineCode",{parentName:"p"},"RemoteWebDriver")," class"))))),(0,r.kt)("h2",{id:"code-blocks"},"Code Blocks"),(0,r.kt)("p",null,"The best way to display code is with code blocks. Markdown will highlight each language differently, so it is helpful\nto specify which language you are using, and it's a good idea to include a title with the code block as well."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'```java title="Custom Title"\nRemoteWebDriver driver = new RemoteWebDriver(url, capabilities);\n```\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java",metastring:'title="Custom Title"',title:'"Custom','Title"':!0},"RemoteWebDriver driver = new RemoteWebDriver(url, capabilities);\n")))))),(0,r.kt)("h2",{id:"code-references"},"Code References"),(0,r.kt)("p",null,"The Selcukes Open Source Team created a plugin for use with Docusaurus to allow us to reference code on GitHub\nrather than duplicating code in this repo. Ideally all code displayed in the Selcukes documentation points to code in\none of the ",(0,r.kt)("inlineCode",{parentName:"p"},"demo-")," repos on\n",(0,r.kt)("a",{parentName:"p",href:"https://github.com/selcukes/?q=demo#org-repositories"},"Selcukes Training GitHub Org"),'.\nWhen referencing code, include the language, "reference" and a title indicating what the sample shows.\nThe URL for the link can be for the entire file, or include specific line numbers at the end.'),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"To ensure that code examples do not go stale and can be easily updated,\nall code references should reference a tag instead of\na branch name or a commit hash. For our ",(0,r.kt)("inlineCode",{parentName:"p"},"demo-")," repos, we are doing semantic versioning with ",(0,r.kt)("inlineCode",{parentName:"p"},"docs-"),".\nSo, we will create and use ",(0,r.kt)("inlineCode",{parentName:"p"},"docs-1.0")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"docs-1.1"),", etc., as needed."),(0,r.kt)("p",{parentName:"admonition"},"To create a new tag in one of the Selcukes owned repos:"),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"git tag -a -m 'reference for Selcukes documentation' docs-\ngit push origin --tags\n"))),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'```java reference title="Example Test"\nhttps://github.com/selcukes/selcukes-demo/blob/docs-1.0/src/test/java/io/github/selcukes/demo/ReadExcelTest.java#L13-L26\n```\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java",metastring:'reference title="Example Test"',reference:!0,title:'"Example','Test"':!0},"https://github.com/selcukes/selcukes-demo/blob/docs-1.0/src/test/java/io/github/selcukes/demo/ReadExcelTest.java#L13-L26\n")))))),(0,r.kt)("h2",{id:"expanding-code-blocks"},"Expanding Code Blocks"),(0,r.kt)("p",null,"If you have an especially large code block that you'd like to reference on the page, but do not want\nit to take up too much space on the page by default, we encourage the use of ",(0,r.kt)("inlineCode",{parentName:"p"},"details")," elements."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"HTML"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},"
\n \n Click here to see an example of something hidden by default.\n \n This is hidden by default!\n
\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("details",null,(0,r.kt)("summary",null,(0,r.kt)("strong",null,"Click here")," to see an example of something hidden by default."),"This is hidden by default!"))))),(0,r.kt)("h2",{id:"admonitions"},"Admonitions"),(0,r.kt)("p",null,"There are four types of ",(0,r.kt)("a",{parentName:"p",href:"https://docusaurus.io/docs/markdown-features/admonitions"},"Docusaurus admonitions"),":"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Note - Relevant information."),(0,r.kt)("li",{parentName:"ul"},"Tip - A user should do this."),(0,r.kt)("li",{parentName:"ul"},"Caution - A user should pay attention to this."),(0,r.kt)("li",{parentName:"ul"},"Warning - A user might do something dangerous!")),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Markdown"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-markdown"},":::note\nRelevant information for you.\n:::\n\n:::tip\nYou should do this.\n:::\n\n:::caution\nYou should probably pay attention to this.\n:::\n\n:::warning\nYou are about to do something dangerous!\n:::\n")))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Relevant information for you.")),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"You should do this.")),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"You should probably pay attention to this.")),(0,r.kt)("admonition",{type:"warning"},(0,r.kt)("p",{parentName:"admonition"},"You are about to do something dangerous!")))))),(0,r.kt)("h2",{id:"context-limited"},"Context Limited"),(0,r.kt)("p",null,"There are two ways to provide context for users for when special conditions or limitations apply to\ndesignated information."),(0,r.kt)("h3",{id:"badges"},"Badges"),(0,r.kt)("p",null,"Badges are color-coded images that apply to entire pages or large sections of documentation:"),(0,r.kt)("p",null,"Blue badges are used for everything except for deprecated information, which is indicated with a Gold badge."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"HTML"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'

Beta

\n

Enterprise Only

\n

iOS Only

\n

Live Testing Only

\n

Early Access

\n\n

Deprecated

\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"Beta")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"Enterprise Only")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"iOS Only")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"Live Testing Only")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesDBlue"},"Early Access")),(0,r.kt)("p",null,(0,r.kt)("span",{className:"selcukesGold"},"Deprecated")))))),(0,r.kt)("h3",{id:"highlighted-text"},"Highlighted Text"),(0,r.kt)("p",null,"For information in a subsection or in a table that needs additional context, use a ",(0,r.kt)("inlineCode",{parentName:"p"},"span")," element with\none of the highlight classes. These can also be used to indicate that the content only applies to specific versions of a\ntechnology."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"HTML"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'

selcukes Cloud only

\n

Docker only

\n

Cypress

\n

Playwright version >= 1.12

\n

Testcafe

\n

Puppeteer only

\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight selcukes-cloud"},"selcukes Cloud only")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight docker"},"Docker only")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight cypress"},"Cypress")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight playwright"},"Playwright version >= 1.12")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight testcafe"},"Testcafe")),(0,r.kt)("p",null,(0,r.kt)("span",{class:"highlight puppeteer"},"Puppeteer only")))))),(0,r.kt)("h2",{id:"cards"},"Cards"),(0,r.kt)("p",null,"For overview pages that have four categories, we often use these Boxes. Note that you can't use Markdown inside this HTML."),(0,r.kt)("table",{class:"code"},(0,r.kt)("tbody",null,(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"HTML"))),(0,r.kt)("td",null,(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'
\n
\n
\n

Box 1

\n

Box 1 things.

\n \n
\n
\n
\n
\n

Box 2

\n

Box 2 things.

\n \n
\n
\n
\n
\n

Box 3

\n

Box 3 things, Link 1.

\n \n
\n
\n
\n
\n

Box 4

\n

Box 4 things.

\n \n
\n
\n
\n')))),(0,r.kt)("tr",null,(0,r.kt)("td",null,(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Display"))),(0,r.kt)("td",null,(0,r.kt)("div",{className:"box-wrapper",markdown:"1"},(0,r.kt)("div",{className:"box box1 card"},(0,r.kt)("div",{className:"container"},(0,r.kt)("h2",null,"Box 1"),(0,r.kt)("p",null,"Box 1 things."),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 1")),(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 2"))))),(0,r.kt)("div",{className:"box box2 card"},(0,r.kt)("div",{className:"container"},(0,r.kt)("h2",null,"Box 2"),(0,r.kt)("p",null,"Box 2 things."),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 1"))))),(0,r.kt)("div",{className:"box box3 card"},(0,r.kt)("div",{className:"container"},(0,r.kt)("h2",null,"Box 3"),(0,r.kt)("p",null,"Box 3 things, ",(0,r.kt)("a",{href:""},"Link 1"),"."),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 2"))))),(0,r.kt)("div",{className:"box box4 card"},(0,r.kt)("div",{className:"container"},(0,r.kt)("h2",null,"Box 4"),(0,r.kt)("p",null,"Box 4 things."),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 1")),(0,r.kt)("li",null,(0,r.kt)("a",{href:""},"Link 2")))))))))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.ea6c0ee9.js b/assets/js/main.ea6c0ee9.js new file mode 100644 index 0000000..d6dcccd --- /dev/null +++ b/assets/js/main.ea6c0ee9.js @@ -0,0 +1,2 @@ +/*! For license information please see main.ea6c0ee9.js.LICENSE.txt */ +(self.webpackChunkSelcukes=self.webpackChunkSelcukes||[]).push([[179],{830:function(e,t,n){"use strict";n.d(t,{W:function(){return a}});var r=n(7294);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},4334:function(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;t1?t-1:0),r=1;r\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = '+e+" "+("/"===e?" (default value)":"")+'

\n

We suggest trying baseUrl =

\n\n'}(e)).replace(/0)&&(B.current.unobserve(e),B.current.disconnect(),null!=R&&window.docusaurus.prefetch(R))}))})),B.current.observe(e))},to:R},h&&{isActive:y,activeClassName:b}))}var h=o.forwardRef(m)},5999:function(e,t,n){"use strict";n.d(t,{Z:function(){return u},I:function(){return l}});var r=n(7294);function a(e,t){var n=e.split(/(\{\w+\})/).map((function(e,n){if(n%2==1){var r=null==t?void 0:t[e.slice(1,-1)];if(void 0!==r)return r}return e}));return n.some((function(e){return(0,r.isValidElement)(e)}))?n.map((function(e,t){return(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e})).filter((function(e){return""!==e})):n.join("")}var o=n(7529);function i(e){var t,n,r=e.id,a=e.message;if(void 0===r&&void 0===a)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return null!=(t=null!=(n=o[null!=r?r:a])?n:a)?t:r}function l(e,t){return a(i({message:e.message,id:e.id}),t)}function u(e){var t=e.children,n=e.id,o=e.values;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");var l=i({message:t,id:n});return r.createElement(r.Fragment,null,a(l,o))}},9935:function(e,t,n){"use strict";n.d(t,{m:function(){return r}});var r="default"},3919:function(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:function(){return a},b:function(){return r}})},4996:function(e,t,n){"use strict";n.d(t,{C:function(){return i},Z:function(){return l}});var r=n(7294),a=n(2263),o=n(3919);function i(){var e=(0,a.Z)().siteConfig,t=e.baseUrl,n=e.url,i=(0,r.useCallback)((function(e,r){return function(e,t,n,r){var a=void 0===r?{}:r,i=a.forcePrependBaseUrl,l=void 0!==i&&i,u=a.absolute,s=void 0!==u&&u;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(l)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;var c=n.startsWith(t)?n:t+n.replace(/^\//,"");return s?e+c:c}(n,t,e,r)}),[n,t]);return{withBaseUrl:i}}function l(e,t){return void 0===t&&(t={}),(0,i().withBaseUrl)(e,t)}},2263:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},9670:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});function r(e){var t={};return function e(n,r){Object.entries(n).forEach((function(n){var a,o=n[0],i=n[1],l=r?r+"."+o:o;"object"==typeof(a=i)&&a&&Object.keys(a).length>0?e(i,l):t[l]=i}))}(e),t}},226:function(e,t,n){"use strict";n.d(t,{_:function(){return a},z:function(){return o}});var r=n(7294),a=r.createContext(null);function o(e){var t=e.children,n=e.value,o=r.useContext(a),i=(0,r.useMemo)((function(){return function(e){var t=e.parent,n=e.value;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}var r=Object.assign({},t.data,null==n?void 0:n.data);return{plugin:t.plugin,data:r}}({parent:o,value:n})}),[o,n]);return r.createElement(a.Provider,{value:i},t)}},143:function(e,t,n){"use strict";n.d(t,{Iw:function(){return v},gA:function(){return p},WS:function(){return m},_r:function(){return d},Jo:function(){return b},zh:function(){return f},yW:function(){return g},gB:function(){return h}});var r=n(6775),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});var n=(0,a.Z)().globalData[e];if(!n&&t.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin.');return n}var l=function(e){return e.versions.find((function(e){return e.isLast}))};function u(e,t){var n=l(e);return[].concat(e.versions.filter((function(e){return e!==n})),[n]).find((function(e){return!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})}))}function s(e,t){var n,a,o=u(e,t),i=null==o?void 0:o.docs.find((function(e){return!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})}));return{activeVersion:o,activeDoc:i,alternateDocVersions:i?(n=i.id,a={},e.versions.forEach((function(e){e.docs.forEach((function(t){t.id===n&&(a[e.name]=t)}))})),a):{}}}var c={},d=function(){var e;return null!=(e=i("docusaurus-plugin-content-docs"))?e:c},f=function(e){return function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});var r=i(e),a=null==r?void 0:r[t];if(!a&&n.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin with id "'+t+'".');return a}("docusaurus-plugin-content-docs",e,{failfast:!0})};function p(e){return void 0===e&&(e={}),function(e,t,n){void 0===n&&(n={});var a=Object.entries(e).sort((function(e,t){return t[1].path.localeCompare(e[1].path)})).find((function(e){var n=e[1];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((function(e){return e.path})).join(", "));return o}(d(),(0,r.TH)().pathname,e)}function m(e){void 0===e&&(e={});var t=p(e),n=(0,r.TH)().pathname;if(t)return{activePlugin:t,activeVersion:u(t.pluginData,n)}}function h(e){return f(e).versions}function g(e){var t=f(e);return l(t)}function v(e){return s(f(e),(0,r.TH)().pathname)}function b(e){return function(e,t){var n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(f(e),(0,r.TH)().pathname)}},8320:function(e,t,n){"use strict";n.r(t);var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});var o={onRouteUpdate:function(e){var t=e.location,n=e.previousLocation;if(n&&t.pathname!==n.pathname){var r=window.setTimeout((function(){a().start()}),200);return function(){return window.clearTimeout(r)}}},onRouteDidUpdate:function(){a().done()}};t.default=o},3310:function(e,t,n){"use strict";n.r(t);var r,a,o=n(7410),i=n(6809);r=o.Z,a=i.default.themeConfig.prism.additionalLanguages,globalThis.Prism=r,a.forEach((function(e){n(7194)("./prism-"+e)})),delete globalThis.Prism},9471:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a="iconExternalLink_nPIU";function o(e){var t=e.width,n=void 0===t?13.5:t,o=e.height,i=void 0===o?13.5:o;return r.createElement("svg",{width:n,height:i,"aria-hidden":"true",viewBox:"0 0 24 24",className:a},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"}))}},1899:function(e,t,n){"use strict";n.d(t,{Z:function(){return nn}});var r=n(7294),a=n(4334),o=n(4763),i=n(7462),l=n(6775),u=n(5999),s=n(5936),c="__docusaurus_skipToContent_fallback";function d(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){var e=(0,r.useRef)(null),t=(0,l.k6)().action,n=(0,r.useCallback)((function(e){e.preventDefault();var t,n=null!=(t=document.querySelector("main:first-of-type"))?t:document.getElementById(c);n&&d(n)}),[]);return(0,s.S)((function(n){var r=n.location;e.current&&!r.hash&&"PUSH"===t&&d(e.current)})),{containerRef:e,onClick:n}}var p=(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){var t,n=null!=(t=e.children)?t:p,a=f(),o=a.containerRef,l=a.onClick;return r.createElement("div",{ref:o,role:"region","aria-label":p},r.createElement("a",(0,i.Z)({},e,{href:"#"+c,onClick:l}),n))}var h=n(1944),g=n(5281),v=n(9727),b="skipToContent_fXgn";function y(){return r.createElement(m,{className:b})}var w=n(6668),E=n(9689),k=n(3366),S=["width","height","color","strokeWidth","className"];function x(e){var t=e.width,n=void 0===t?21:t,a=e.height,o=void 0===a?21:a,l=e.color,u=void 0===l?"currentColor":l,s=e.strokeWidth,c=void 0===s?1.2:s,d=(e.className,(0,k.Z)(e,S));return r.createElement("svg",(0,i.Z)({viewBox:"0 0 15 15",width:n,height:o},d),r.createElement("g",{stroke:u,strokeWidth:c},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}var _="closeButton_CVFx";function T(e){return r.createElement("button",(0,i.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",_,e.className)}),r.createElement(x,{width:14,height:14,strokeWidth:3.1}))}var C="content_knG7";function A(e){var t=(0,w.L)().announcementBar.content;return r.createElement("div",(0,i.Z)({},e,{className:(0,a.Z)(C,e.className),dangerouslySetInnerHTML:{__html:t}}))}var O="announcementBar_mb4j",N="announcementBarPlaceholder_vyr4",L="announcementBarClose_gvF7",P="announcementBarContent_xLdY";function I(){var e=(0,w.L)().announcementBar,t=(0,E.nT)(),n=t.isActive,a=t.close;if(!n)return null;var o=e.backgroundColor,i=e.textColor,l=e.isCloseable;return r.createElement("div",{className:O,style:{backgroundColor:o,color:i},role:"banner"},l&&r.createElement("div",{className:N}),r.createElement(A,{className:P}),l&&r.createElement(T,{onClick:a,className:L}))}var R=n(3163),M=n(2466);var D=n(9688),F=n(3102),B=r.createContext(null);function U(e){var t,n,a,o,i,l,u,s=e.children,c=(t=(0,R.e)(),n=(0,F.HY)(),a=(0,r.useState)(!1),o=a[0],i=a[1],l=null!==n.component,u=(0,D.D9)(l),(0,r.useEffect)((function(){l&&!u&&i(!0)}),[l,u]),(0,r.useEffect)((function(){l?t.shown||i(!0):i(!1)}),[t.shown,l]),(0,r.useMemo)((function(){return[o,i]}),[o]));return r.createElement(B.Provider,{value:c},s)}function z(e){if(e.component){var t=e.component;return r.createElement(t,e.props)}}function j(){var e=(0,r.useContext)(B);if(!e)throw new D.i6("NavbarSecondaryMenuDisplayProvider");var t=e[0],n=e[1],a=(0,r.useCallback)((function(){return n(!1)}),[n]),o=(0,F.HY)();return(0,r.useMemo)((function(){return{shown:t,hide:a,content:z(o)}}),[a,o,t])}function $(e){var t=e.header,n=e.primaryMenu,o=e.secondaryMenu,i=j().shown;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 Z=n(2949),H=n(2389);function G(e){return r.createElement("svg",(0,i.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 V(e){return r.createElement("svg",(0,i.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"}))}var W={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){var t=e.className,n=e.buttonClassName,o=e.value,i=e.onChange,l=(0,H.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)(W.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",W.toggleButton,!l&&W.toggleButtonDisabled,n),type:"button",onClick:function(){return i("dark"===o?"light":"dark")},disabled:!l,title:s,"aria-label":s,"aria-live":"polite"},r.createElement(G,{className:(0,a.Z)(W.toggleIcon,W.lightToggleIcon)}),r.createElement(V,{className:(0,a.Z)(W.toggleIcon,W.darkToggleIcon)})))}var Y=r.memo(q),K="darkNavbarColorModeToggle_X3D1";function X(e){var t=e.className,n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,o=(0,Z.I)(),i=o.colorMode,l=o.setColorMode;return a?null:r.createElement(Y,{className:t,buttonClassName:"dark"===n?K:void 0,value:i,onChange:l})}var Q=n(1327);function J(){return r.createElement(Q.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function ee(){var e=(0,R.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:function(){return e.toggle()}},r.createElement(x,{color:"var(--ifm-color-emphasis-600)"}))}function te(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(J,null),r.createElement(X,{className:"margin-right--md"}),r.createElement(ee,null))}var ne=n(9960),re=n(4996),ae=n(3919);function oe(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var ie=n(9471),le=["activeBasePath","activeBaseRegex","to","href","label","html","isDropdownLink","prependBaseUrlToHref"];function ue(e){var t=e.activeBasePath,n=e.activeBaseRegex,a=e.to,o=e.href,l=e.label,u=e.html,s=e.isDropdownLink,c=e.prependBaseUrlToHref,d=(0,k.Z)(e,le),f=(0,re.Z)(a),p=(0,re.Z)(t),m=(0,re.Z)(o,{forcePrependBaseUrl:!0}),h=l&&o&&!(0,ae.Z)(o),g=u?{dangerouslySetInnerHTML:{__html:u}}:{children:r.createElement(r.Fragment,null,l,h&&r.createElement(ie.Z,s&&{width:12,height:12}))};return o?r.createElement(ne.Z,(0,i.Z)({href:c?m:o},d,g)):r.createElement(ne.Z,(0,i.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:function(e,t){return n?oe(n,t.pathname):t.pathname.startsWith(p)}},d,g))}var se=["className","isDropdownItem"],ce=["className","isDropdownItem"],de=["mobile","position"];function fe(e){var t=e.className,n=e.isDropdownItem,o=void 0!==n&&n,l=(0,k.Z)(e,se),u=r.createElement(ue,(0,i.Z)({className:(0,a.Z)(o?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:o},l));return o?r.createElement("li",null,u):u}function pe(e){var t=e.className,n=(e.isDropdownItem,(0,k.Z)(e,ce));return r.createElement("li",{className:"menu__list-item"},r.createElement(ue,(0,i.Z)({className:(0,a.Z)("menu__link",t)},n)))}function me(e){var t,n=e.mobile,a=void 0!==n&&n,o=(e.position,(0,k.Z)(e,de)),l=a?pe:fe;return r.createElement(l,(0,i.Z)({},o,{activeClassName:null!=(t=o.activeClassName)?t:a?"menu__link--active":"navbar__link--active"}))}var he=n(6043),ge=n(8596),ve=n(2263);var be=["items","position","className","onClick"],ye=["items","className","position","onClick"],we=["mobile"];function Ee(e,t){return e.some((function(e){return function(e,t){return!!(0,ge.Mg)(e.to,t)||!!oe(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)}))}function ke(e){var t,n=e.items,o=e.position,l=e.className,u=(e.onClick,(0,k.Z)(e,be)),s=(0,r.useRef)(null),c=(0,r.useState)(!1),d=c[0],f=c[1];return(0,r.useEffect)((function(){var e=function(e){s.current&&!s.current.contains(e.target)&&f(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),r.createElement("div",{ref:s,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===o,"dropdown--show":d})},r.createElement(ue,(0,i.Z)({"aria-haspopup":"true","aria-expanded":d,role:"button",href:u.to?void 0:"#",className:(0,a.Z)("navbar__link",l)},u,{onClick:u.to?void 0:function(e){return e.preventDefault()},onKeyDown:function(e){"Enter"===e.key&&(e.preventDefault(),f(!d))}}),null!=(t=u.children)?t:u.label),r.createElement("ul",{className:"dropdown__menu"},n.map((function(e,t){return r.createElement(ut,(0,i.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))}))))}function Se(e){var t,n,o=e.items,u=e.className,s=(e.position,e.onClick),c=(0,k.Z)(e,ye),d=(n=(0,ve.Z)().siteConfig.baseUrl,(0,l.TH)().pathname.replace(n,"/")),f=Ee(o,d),p=(0,he.u)({initialState:function(){return!f}}),m=p.collapsed,h=p.toggleCollapsed,g=p.setCollapsed;return(0,r.useEffect)((function(){f&&g(!f)}),[d,f,g]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":m})},r.createElement(ue,(0,i.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",u)},c,{onClick:function(e){e.preventDefault(),h()}}),null!=(t=c.children)?t:c.label),r.createElement(he.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:m},o.map((function(e,t){return r.createElement(ut,(0,i.Z)({mobile:!0,isDropdownItem:!0,onClick:s,activeClassName:"menu__link--active"},e,{key:t}))}))))}function xe(e){var t=e.mobile,n=void 0!==t&&t,a=(0,k.Z)(e,we),o=n?Se:ke;return r.createElement(o,a)}var _e=n(4711),Te=["width","height"];function Ce(e){var t=e.width,n=void 0===t?20:t,a=e.height,o=void 0===a?20:a,l=(0,k.Z)(e,Te);return r.createElement("svg",(0,i.Z)({viewBox:"0 0 24 24",width:n,height:o,"aria-hidden":!0},l),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"}))}var Ae="iconLanguage_nlXk",Oe=["mobile","dropdownItemsBefore","dropdownItemsAfter"];function Ne(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var Le=n(830),Pe=["translations"];function Ie(){return Ie=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Fe="Ctrl";var Be=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=De(e,Pe),i=a.buttonText,l=void 0===i?"Search":i,u=a.buttonAriaLabel,s=void 0===u?"Search":u,c=Re((0,r.useState)(null),2),d=c[0],f=c[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?f("\u2318"):f(Fe))}),[]),r.createElement("button",Ie({type:"button",className:"DocSearch DocSearch-Button","aria-label":s},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(Le.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},l)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement("kbd",{className:"DocSearch-Button-Key"},d===Fe?r.createElement(Ne,null):d),r.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Ue=n(5742);function ze(){var e=(0,re.C)().withBaseUrl,t=(0,ve.Z)().siteConfig.themeConfig.algolia,n=t.externalUrlRegex,a=t.replaceSearchResultPathname;return(0,r.useCallback)((function(t){var r=new URL(t);if(oe(n,r.href))return t;var o=""+(r.pathname+r.hash);return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(o,a))}),[e,n,a])}var je=n(3320);var $e=n(3935),Ze={button:{buttonText:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,u.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,u.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,u.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,u.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,u.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,u.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,u.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,u.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,u.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,u.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,u.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,u.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,u.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,u.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})},He=["contextualSearch","externalUrlRegex"],Ge=null;function Ve(e){var t=e.hit,n=e.children;return r.createElement(ne.Z,{to:t.url},n)}function We(e){var t,n,a,o=e.state,i=e.onClose,l=(t=(0,ve.Z)().siteConfig,n=t.baseUrl,a=t.themeConfig.algolia.searchPagePath,(0,r.useCallback)((function(e){return""+n+a+"?q="+encodeURIComponent(e)}),[n,a]));return r.createElement(ne.Z,{to:l(o.query),onClick:i},r.createElement(u.Z,{id:"theme.SearchBar.seeAll",values:{count:o.context.nbHits}},"See all {count} results"))}function qe(e){var t,a,o,u,s,c=e.contextualSearch,d=e.externalUrlRegex,f=(0,k.Z)(e,He),p=(0,ve.Z)().siteMetadata,m=ze(),h=["language:"+(o=(0,je._q)()).locale,o.tags.map((function(e){return"docusaurus_tag:"+e}))],g=null!=(t=null==(a=f.searchParameters)?void 0:a.facetFilters)?t:[],v=c?(u=g,[].concat((s=function(e){return"string"==typeof e?[e]:e})(h),s(u))):g,b=Object.assign({},f.searchParameters,{facetFilters:v}),y=(0,l.k6)(),w=(0,r.useRef)(null),E=(0,r.useRef)(null),S=(0,r.useState)(!1),x=S[0],_=S[1],T=(0,r.useState)(void 0),C=T[0],A=T[1],O=(0,r.useCallback)((function(){return Ge?Promise.resolve():Promise.all([n.e(780).then(n.bind(n,6780)),Promise.all([n.e(532),n.e(945)]).then(n.bind(n,6945)),Promise.all([n.e(532),n.e(894)]).then(n.bind(n,8894))]).then((function(e){var t=e[0].DocSearchModal;Ge=t}))}),[]),N=(0,r.useCallback)((function(){O().then((function(){w.current=document.createElement("div"),document.body.insertBefore(w.current,document.body.firstChild),_(!0)}))}),[O,_]),L=(0,r.useCallback)((function(){var e;_(!1),null==(e=w.current)||e.remove()}),[_]),P=(0,r.useCallback)((function(e){O().then((function(){_(!0),A(e.key)}))}),[O,_,A]),I=(0,r.useRef)({navigate:function(e){var t=e.itemUrl;oe(d,t)?window.location.href=t:y.push(t)}}).current,R=(0,r.useRef)((function(e){return f.transformItems?f.transformItems(e):e.map((function(e){return Object.assign({},e,{url:m(e.url)})}))})).current,M=(0,r.useMemo)((function(){return function(e){return r.createElement(We,(0,i.Z)({},e,{onClose:L}))}}),[L]),D=(0,r.useCallback)((function(e){return e.addAlgoliaAgent("docusaurus",p.docusaurusVersion),e}),[p.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){(27===e.keyCode&&t||"k"===e.key&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:x,onOpen:N,onClose:L,onInput:P,searchButtonRef:E}),r.createElement(r.Fragment,null,r.createElement(Ue.Z,null,r.createElement("link",{rel:"preconnect",href:"https://"+f.appId+"-dsn.algolia.net",crossOrigin:"anonymous"})),r.createElement(Be,{onTouchStart:O,onFocus:O,onMouseOver:O,onClick:N,ref:E,translations:Ze.button}),x&&Ge&&w.current&&(0,$e.createPortal)(r.createElement(Ge,(0,i.Z)({onClose:L,initialScrollY:window.scrollY,initialQuery:C,navigator:I,transformItems:R,hitComponent:Ve,transformSearchClient:D},f.searchPagePath&&{resultsFooterComponent:M},f,{searchParameters:b,placeholder:Ze.placeholder,translations:Ze.modal})),w.current))}function Ye(){var e=(0,ve.Z)().siteConfig;return r.createElement(qe,e.themeConfig.algolia)}var Ke="searchBox_ZlJk";function Xe(e){var t=e.children,n=e.className;return r.createElement("div",{className:(0,a.Z)(n,Ke)},t)}var Qe=n(143),Je=n(3791),et=["docId","label","docsPluginId"];var tt=["sidebarId","label","docsPluginId"];var nt=["label","to","docsPluginId"];var rt=n(373),at=["mobile","docsPluginId","dropdownActiveClassDisabled","dropdownItemsBefore","dropdownItemsAfter"],ot=function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))};var it={default:me,localeDropdown:function(e){var t=e.mobile,n=e.dropdownItemsBefore,a=e.dropdownItemsAfter,o=(0,k.Z)(e,Oe),s=(0,ve.Z)().i18n,c=s.currentLocale,d=s.locales,f=s.localeConfigs,p=(0,_e.l)(),m=(0,l.TH)(),h=m.search,g=m.hash,v=d.map((function(e){var n=""+("pathname://"+p.createUrl({locale:e,fullyQualified:!1}))+h+g;return{label:f[e].label,lang:f[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===c?t?"menu__link--active":"dropdown__link--active":""}})),b=[].concat(n,v,a),y=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):f[c].label;return r.createElement(xe,(0,i.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(Ce,{className:Ae}),y),items:b}))},search:function(e){var t=e.mobile,n=e.className;return t?null:r.createElement(Xe,{className:n},r.createElement(Ye,null))},dropdown:xe,html:function(e){var t=e.value,n=e.className,o=e.mobile,i=void 0!==o&&o,l=e.isDropdownItem,u=void 0!==l&&l,s=u?"li":"div";return r.createElement(s,{className:(0,a.Z)({navbar__item:!i&&!u,"menu__list-item":i},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){var t=e.docId,n=e.label,a=e.docsPluginId,o=(0,k.Z)(e,et),l=(0,Qe.Iw)(a).activeDoc,u=(0,Je.vY)(t,a);return null===u?null:r.createElement(me,(0,i.Z)({exact:!0},o,{isActive:function(){return(null==l?void 0:l.path)===u.path||!(null==l||!l.sidebar)&&l.sidebar===u.sidebar},label:null!=n?n:u.id,to:u.path}))},docSidebar:function(e){var t=e.sidebarId,n=e.label,a=e.docsPluginId,o=(0,k.Z)(e,tt),l=(0,Qe.Iw)(a).activeDoc,u=(0,Je.oz)(t,a).link;if(!u)throw new Error('DocSidebarNavbarItem: Sidebar with ID "'+t+"\" doesn't have anything to be linked to.");return r.createElement(me,(0,i.Z)({exact:!0},o,{isActive:function(){return(null==l?void 0:l.sidebar)===t},label:null!=n?n:u.label,to:u.path}))},docsVersion:function(e){var t=e.label,n=e.to,a=e.docsPluginId,o=(0,k.Z)(e,nt),l=(0,Je.lO)(a)[0],u=null!=t?t:l.label,s=null!=n?n:function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))}(l).path;return r.createElement(me,(0,i.Z)({},o,{label:u,to:s}))},docsVersionDropdown:function(e){var t=e.mobile,n=e.docsPluginId,a=e.dropdownActiveClassDisabled,o=e.dropdownItemsBefore,s=e.dropdownItemsAfter,c=(0,k.Z)(e,at),d=(0,l.TH)(),f=d.search,p=d.hash,m=(0,Qe.Iw)(n),h=(0,Qe.gB)(n),g=(0,rt.J)(n).savePreferredVersionName,v=h.map((function(e){var t,n=null!=(t=m.alternateDocVersions[e.name])?t:ot(e);return{label:e.label,to:""+n.path+f+p,isActive:function(){return e===m.activeVersion},onClick:function(){return g(e.name)}}})),b=[].concat(o,v,s),y=(0,Je.lO)(n)[0],w=t&&b.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,E=t&&b.length>1?void 0:ot(y).path;return b.length<=1?r.createElement(me,(0,i.Z)({},c,{mobile:t,label:w,to:E,isActive:a?function(){return!1}:void 0})):r.createElement(xe,(0,i.Z)({},c,{mobile:t,label:w,to:E,items:b,isActive:a?function(){return!1}:void 0}))}},lt=["type"];function ut(e){var t=e.type,n=(0,k.Z)(e,lt),a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=it[a];if(!o)throw new Error('No NavbarItem component found for type "'+t+'".');return r.createElement(o,n)}function st(){var e=(0,R.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map((function(t,n){return r.createElement(ut,(0,i.Z)({mobile:!0},t,{onClick:function(){return e.toggle()},key:n}))})))}function ct(e){return r.createElement("button",(0,i.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 dt(){var e=0===(0,w.L)().navbar.items.length,t=j();return r.createElement(r.Fragment,null,!e&&r.createElement(ct,{onClick:function(){return t.hide()}}),t.content)}function ft(){var e,t=(0,R.e)();return void 0===(e=t.shown)&&(e=!0),(0,r.useEffect)((function(){return document.body.style.overflow=e?"hidden":"visible",function(){document.body.style.overflow="visible"}}),[e]),t.shouldRender?r.createElement($,{header:r.createElement(te,null),primaryMenu:r.createElement(st,null),secondaryMenu:r.createElement(dt,null)}):null}var pt="navbarHideable_m1mJ",mt="navbarHidden_jGov";function ht(e){return r.createElement("div",(0,i.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function gt(e){var t=e.children,n=(0,w.L)().navbar,o=n.hideOnScroll,i=n.style,l=(0,R.e)(),c=function(e){var t=(0,r.useState)(e),n=t[0],a=t[1],o=(0,r.useRef)(!1),i=(0,r.useRef)(0),l=(0,r.useCallback)((function(e){null!==e&&(i.current=e.getBoundingClientRect().height)}),[]);return(0,M.RF)((function(t,n){var r=t.scrollY;if(e)if(r=l?a(!1):r+s0&&r.createElement($t,{links:n}),logo:a&&r.createElement(Vt,{logo:a}),copyright:t&&r.createElement(Wt,{copyright:t})})}var Kt=r.memo(Yt);function Xt(e){return r.createElement(r.Fragment,null,r.createElement(It,null),r.createElement(Kt,e))}var Qt=(0,D.Qc)([Z.S,E.pl,M.OC,rt.L5,h.VC,function(e){var t=e.children;return r.createElement(F.n2,null,r.createElement(R.M,null,r.createElement(U,null,t)))}]);function Jt(e){var t=e.children;return r.createElement(Qt,null,t)}function en(e){var t=e.error,n=e.tryAgain;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(wt,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(Et,{error:t})))))}var tn="mainWrapper_z2l0";function nn(e){var t=e.children,n=e.noFooter,i=e.wrapperClassName,l=e.title,u=e.description;return(0,v.t)(),r.createElement(Jt,null,r.createElement(h.d,{title:l,description:u}),r.createElement(y,null),r.createElement(I,null),r.createElement(Nt,null),r.createElement("div",{id:c,className:(0,a.Z)(g.k.wrapper.main,tn,i)},r.createElement(o.Z,{fallback:function(e){return r.createElement(en,e)}},t)),!n&&r.createElement(Xt,null))}},1327:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(7462),a=n(3366),o=n(7294),i=n(9960),l=n(4996),u=n(2263),s=n(6668),c=n(941),d=["imageClassName","titleClassName"];function f(e){var t=e.logo,n=e.alt,r=e.imageClassName,a={light:(0,l.Z)(t.src),dark:(0,l.Z)(t.srcDark||t.src)},i=o.createElement(c.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?o.createElement("div",{className:r},i):i}function p(e){var t,n=(0,u.Z)().siteConfig.title,c=(0,s.L)().navbar,p=c.title,m=c.logo,h=e.imageClassName,g=e.titleClassName,v=(0,a.Z)(e,d),b=(0,l.Z)((null==m?void 0:m.href)||"/"),y=p?"":n,w=null!=(t=null==m?void 0:m.alt)?t:y;return o.createElement(i.Z,(0,r.Z)({to:b},v,(null==m?void 0:m.target)&&{target:m.target}),m&&o.createElement(f,{logo:m,alt:w,imageClassName:h}),null!=p&&o.createElement("b",{className:g},p))}},197:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294),a=n(5742);function o(e){var t=e.locale,n=e.version,o=e.tag,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:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(7462),a=n(3366),o=n(7294),i=n(4334),l=n(2389),u=n(2949),s={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"},c=["sources","className","alt"];function d(e){var t=(0,l.Z)(),n=(0,u.I)().colorMode,d=e.sources,f=e.className,p=e.alt,m=(0,a.Z)(e,c),h=t?"dark"===n?["dark"]:["light"]:["light","dark"];return o.createElement(o.Fragment,null,h.map((function(e){return o.createElement("img",(0,r.Z)({key:e,src:d[e],alt:p,className:(0,i.Z)(s.themedImage,s["themedImage--"+e],f)},m))})))}},6043:function(e,t,n){"use strict";n.d(t,{u:function(){return c},z:function(){return b}});var r=n(7462),a=n(3366),o=n(7294),i=n(412),l=n(1442),u=["collapsed"],s=["lazy"];function c(e){var t=e.initialState,n=(0,o.useState)(null!=t&&t),r=n[0],a=n[1],i=(0,o.useCallback)((function(){a((function(e){return!e}))}),[]);return{collapsed:r,setCollapsed:a,toggleCollapsed:i}}var d={display:"none",overflow:"hidden",height:"0px"},f={display:"block",overflow:"visible",height:"auto"};function p(e,t){var n=t?d:f;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function m(e){var t=e.collapsibleRef,n=e.collapsed,r=e.animation,a=(0,o.useRef)(!1);(0,o.useEffect)((function(){var e,o=t.current;function i(){var e,t,n=o.scrollHeight,a=null!=(e=null==r?void 0:r.duration)?e:function(e){if((0,l.n)())return 1;var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}(n);return{transition:"height "+a+"ms "+(null!=(t=null==r?void 0:r.easing)?t:"ease-in-out"),height:n+"px"}}function u(){var e=i();o.style.transition=e.transition,o.style.height=e.height}if(!a.current)return p(o,n),void(a.current=!0);return o.style.willChange="height",e=requestAnimationFrame((function(){n?(u(),requestAnimationFrame((function(){o.style.height=d.height,o.style.overflow=d.overflow}))):(o.style.display="block",requestAnimationFrame((function(){u()})))})),function(){return cancelAnimationFrame(e)}}),[t,n,r])}function h(e){if(!i.Z.canUseDOM)return e?d:f}function g(e){var t=e.as,n=void 0===t?"div":t,r=e.collapsed,a=e.children,i=e.animation,l=e.onCollapseTransitionEnd,u=e.className,s=e.disableSSRStyle,c=(0,o.useRef)(null);return m({collapsibleRef:c,collapsed:r,animation:i}),o.createElement(n,{ref:c,style:s?void 0:h(r),onTransitionEnd:function(e){"height"===e.propertyName&&(p(c.current,r),null==l||l(r))},className:u},a)}function v(e){var t=e.collapsed,n=(0,a.Z)(e,u),i=(0,o.useState)(!t),l=i[0],s=i[1],c=(0,o.useState)(t),d=c[0],f=c[1];return(0,o.useLayoutEffect)((function(){t||s(!0)}),[t]),(0,o.useLayoutEffect)((function(){l&&f(t)}),[l,t]),l?o.createElement(g,(0,r.Z)({},n,{collapsed:d})):null}function b(e){var t=e.lazy,n=(0,a.Z)(e,s),r=t?v:g;return o.createElement(r,n)}},9689:function(e,t,n){"use strict";n.d(t,{nT:function(){return m},pl:function(){return p}});var r=n(7294),a=n(2389),o=n(12),i=n(9688),l=n(6668),u=(0,o.WA)("docusaurus.announcement.dismiss"),s=(0,o.WA)("docusaurus.announcement.id"),c=function(){return"true"===u.get()},d=function(e){return u.set(String(e))},f=r.createContext(null);function p(e){var t=e.children,n=function(){var e=(0,l.L)().announcementBar,t=(0,a.Z)(),n=(0,r.useState)((function(){return!!t&&c()})),o=n[0],i=n[1];(0,r.useEffect)((function(){i(c())}),[]);var u=(0,r.useCallback)((function(){d(!0),i(!0)}),[]);return(0,r.useEffect)((function(){if(e){var t=e.id,n=s.get();"annoucement-bar"===n&&(n="announcement-bar");var r=t!==n;s.set(t),r&&d(!1),!r&&c()||i(!1)}}),[e]),(0,r.useMemo)((function(){return{isActive:!!e&&!o,close:u}}),[e,o,u])}();return r.createElement(f.Provider,{value:n},t)}function m(){var e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:function(e,t,n){"use strict";n.d(t,{I:function(){return g},S:function(){return h}});var r=n(7294),a=n(412),o=n(9688),i=n(12),l=n(6668),u=r.createContext(void 0),s="theme",c=(0,i.WA)(s),d="light",f="dark",p=function(e){return e===f?f:d};function m(){var e=(0,l.L)().colorMode,t=e.defaultMode,n=e.disableSwitch,o=e.respectPrefersColorScheme,i=(0,r.useState)(function(e){return a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e)}(t)),u=i[0],m=i[1];(0,r.useEffect)((function(){n&&c.del()}),[n]);var h=(0,r.useCallback)((function(e,n){void 0===n&&(n={});var r=n.persist,a=void 0===r||r;e?(m(e),a&&function(e){c.set(p(e))}(e)):(m(o?window.matchMedia("(prefers-color-scheme: dark)").matches?f:d:t),c.del())}),[o,t]);(0,r.useEffect)((function(){document.documentElement.setAttribute("data-theme",p(u))}),[u]),(0,r.useEffect)((function(){if(!n){var e=function(e){if(e.key===s){var t=c.get();null!==t&&h(p(t))}};return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}}}),[n,h]);var g=(0,r.useRef)(!1);return(0,r.useEffect)((function(){if(!n||o){var e=window.matchMedia("(prefers-color-scheme: dark)"),t=function(){window.matchMedia("print").matches||g.current?g.current=window.matchMedia("print").matches:h(null)};return e.addListener(t),function(){return e.removeListener(t)}}}),[h,n,o]),(0,r.useMemo)((function(){return{colorMode:u,setColorMode:h,get isDarkTheme(){return u===f},setLightTheme:function(){h(d)},setDarkTheme:function(){h(f)}}}),[u,h])}function h(e){var t=e.children,n=m();return r.createElement(u.Provider,{value:n},t)}function g(){var e=(0,r.useContext)(u);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:function(e,t,n){"use strict";n.d(t,{J:function(){return y},L5:function(){return v},Oh:function(){return w}});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(3791),u=n(9688),s=n(12),c=function(e){return"docs-preferred-version-"+e},d=function(e,t,n){(0,s.WA)(c(e),{persistence:t}).set(n)},f=function(e,t){return(0,s.WA)(c(e),{persistence:t}).get()},p=function(e,t){(0,s.WA)(c(e),{persistence:t}).del()};var m=r.createContext(null);function h(){var e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((function(){return Object.keys(e)}),[e]),o=(0,r.useState)((function(){return function(e){return Object.fromEntries(e.map((function(e){return[e,{preferredVersionName:null}]})))}(n)})),l=o[0],u=o[1];return(0,r.useEffect)((function(){u(function(e){var t=e.pluginIds,n=e.versionPersistence,r=e.allDocsData;return Object.fromEntries(t.map((function(e){return[e,(t=e,a=f(t,n),r[t].versions.some((function(e){return e.name===a}))?{preferredVersionName:a}:(p(t,n),{preferredVersionName:null}))];var t,a})))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]),[l,(0,r.useMemo)((function(){return{savePreferredVersion:function(e,n){d(e,t,n),u((function(t){var r;return Object.assign({},t,((r={})[e]={preferredVersionName:n},r))}))}}}),[t])]}function g(e){var t=e.children,n=h();return r.createElement(m.Provider,{value:n},t)}function v(e){var t=e.children;return l.cE?r.createElement(g,null,t):r.createElement(r.Fragment,null,t)}function b(){var e=(0,r.useContext)(m);if(!e)throw new u.i6("DocsPreferredVersionContextProvider");return e}function y(e){var t;void 0===e&&(e=o.m);var n=(0,a.zh)(e),i=b(),l=i[0],u=i[1],s=l[e].preferredVersionName;return{preferredVersion:null!=(t=n.versions.find((function(e){return e.name===s})))?t:null,savePreferredVersionName:(0,r.useCallback)((function(t){u.savePreferredVersion(e,t)}),[u,e])}}function w(){var e=(0,a._r)(),t=b()[0];var n=Object.keys(e);return Object.fromEntries(n.map((function(n){return[n,(r=n,o=e[r],i=t[r].preferredVersionName,null!=(a=o.versions.find((function(e){return e.name===i})))?a:null)];var r,a,o,i})))}},1116:function(e,t,n){"use strict";n.d(t,{V:function(){return u},b:function(){return l}});var r=n(7294),a=n(9688),o=Symbol("EmptyContext"),i=r.createContext(o);function l(e){var t=e.children,n=e.name,a=e.items,o=(0,r.useMemo)((function(){return n&&a?{name:n,items:a}:null}),[n,a]);return r.createElement(i.Provider,{value:o},t)}function u(){var e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},3163:function(e,t,n){"use strict";n.d(t,{M:function(){return d},e:function(){return f}});var r=n(7294),a=n(3102),o=n(7524),i=n(1980),l=n(6668),u=n(9688),s=r.createContext(void 0);function c(){var e,t=(e=(0,a.HY)(),0===(0,l.L)().navbar.items.length&&!e.component),n=(0,o.i)(),u=!t&&"mobile"===n,s=(0,r.useState)(!1),c=s[0],d=s[1];(0,i.Rb)((function(){if(c)return d(!1),!1}));var f=(0,r.useCallback)((function(){d((function(e){return!e}))}),[]);return(0,r.useEffect)((function(){"desktop"===n&&d(!1)}),[n]),(0,r.useMemo)((function(){return{disabled:t,shouldRender:u,toggle:f,shown:c}}),[t,u,f,c])}function d(e){var t=e.children,n=c();return r.createElement(s.Provider,{value:n},t)}function f(){var e=r.useContext(s);if(void 0===e)throw new u.i6("NavbarMobileSidebarProvider");return e}},3102:function(e,t,n){"use strict";n.d(t,{HY:function(){return l},Zo:function(){return u},n2:function(){return i}});var r=n(7294),a=n(9688),o=r.createContext(null);function i(e){var t=e.children,n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function l(){var e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){var t=e.component,n=e.props,i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");var l=i[1],u=(0,a.Ql)(n);return(0,r.useEffect)((function(){l({component:t,props:u})}),[l,t,u]),(0,r.useEffect)((function(){return function(){return l({component:null,props:null})}}),[l]),null}},9727:function(e,t,n){"use strict";n.d(t,{h:function(){return a},t:function(){return o}});var r=n(7294),a="navigation-with-keyboard";function o(){(0,r.useEffect)((function(){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),function(){document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:function(e,t,n){"use strict";n.d(t,{i:function(){return s}});var r=n(7294),a=n(412),o="desktop",i="mobile",l="ssr";function u(){return a.Z.canUseDOM?window.innerWidth>996?o:i:l}function s(){var e=(0,r.useState)((function(){return u()})),t=e[0],n=e[1];return(0,r.useEffect)((function(){function e(){n(u())}return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e),clearTimeout(undefined)}}),[]),t}},5281:function(e,t,n){"use strict";n.d(t,{k:function(){return r}});var 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:function(e){return"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:function(e){return"theme-doc-sidebar-item-category-level-"+e},docSidebarItemLinkLevel:function(e){return"theme-doc-sidebar-item-link-level-"+e}},blog:{}}},1442:function(e,t,n){"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:function(){return r}})},3791:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}n.d(t,{Wl:function(){return m},_F:function(){return g},cE:function(){return p},hI:function(){return k},lO:function(){return y},vY:function(){return E},oz:function(){return w},s1:function(){return b}});var o=n(7294),i=n(6775),l=n(8790),u=n(143),s=n(373),c=n(1116),d=n(7392),f=n(8596),p=!!u._r;function m(e){if(e.href)return e.href;for(var t,n=a(e.items);!(t=n()).done;){var r=t.value;if("link"===r.type)return r.href;if("category"===r.type){var o=m(r);if(o)return o}}}var h=function(e,t){return void 0!==e&&(0,f.Mg)(e,t)};function g(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||function(e,t){return e.some((function(e){return g(e,t)}))}(e.items,t))}function v(e){var t=e.sidebarItems,n=e.pathname,r=e.onlyCategories,o=void 0!==r&&r,i=[];return function e(t){for(var r,l=a(t);!(r=l()).done;){var u=r.value;if("category"===u.type&&((0,f.Mg)(u.href,n)||e(u.items))||"link"===u.type&&(0,f.Mg)(u.href,n))return o&&"category"!==u.type||i.unshift(u),!0}return!1}(t),i}function b(){var e,t=(0,c.V)(),n=(0,i.TH)().pathname;return!1!==(null==(e=(0,u.gA)())?void 0:e.pluginData.breadcrumbs)&&t?v({sidebarItems:t.items,pathname:n}):null}function y(e){var t=(0,u.Iw)(e).activeVersion,n=(0,s.J)(e).preferredVersion,r=(0,u.yW)(e);return(0,o.useMemo)((function(){return(0,d.j)([t,n,r].filter(Boolean))}),[t,n,r])}function w(e,t){var n=y(t);return(0,o.useMemo)((function(){var t=n.flatMap((function(e){return e.sidebars?Object.entries(e.sidebars):[]})),r=t.find((function(t){return t[0]===e}));if(!r)throw new Error("Can't find any sidebar with id \""+e+'" in version'+(n.length>1?"s":"")+" "+n.map((function(e){return e.name})).join(", ")+'".\nAvailable sidebar ids are:\n- '+t.map((function(e){return e[0]})).join("\n- "));return r[1]}),[e,n])}function E(e,t){var n=y(t);return(0,o.useMemo)((function(){var t=n.flatMap((function(e){return e.docs})),r=t.find((function(t){return t.id===e}));if(!r){if(n.flatMap((function(e){return 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((function(e){return e.name})).join(", ")+'".\nAvailable doc ids are:\n- '+(0,d.j)(t.map((function(e){return e.id}))).join("\n- "))}return r}),[e,n])}function k(e){var t=e.route,n=e.versionMetadata,r=(0,i.TH)(),a=t.routes,o=a.find((function(e){return(0,i.LX)(r.pathname,e)}));if(!o)return null;var u=o.sidebar,s=u?n.docsSidebars[u]:void 0;return{docElement:(0,l.H)(a),sidebarName:u,sidebarItems:s}}},1980:function(e,t,n){"use strict";n.d(t,{Rb:function(){return l},_X:function(){return u}});var r=n(7294),a=n(6775),o=n(1688),i=n(9688);function l(e){!function(e){var t=(0,a.k6)(),n=(0,i.zX)(e);(0,r.useEffect)((function(){return t.block((function(e,t){return n(e,t)}))}),[t,n])}((function(t,n){if("POP"===n)return e(t,n)}))}function u(e){return t=function(t){return null===e?null:new URLSearchParams(t.location.search).get(e)},n=(0,a.k6)(),(0,o.useSyncExternalStore)(n.listen,(function(){return t(n)}),(function(){return t(n)}));var t,n}},7392:function(e,t,n){"use strict";function r(e,t){return void 0===t&&(t=function(e,t){return e===t}),e.filter((function(n,r){return e.findIndex((function(e){return t(e,n)}))!==r}))}function a(e){return Array.from(new Set(e))}n.d(t,{j:function(){return a},l:function(){return r}})},1944:function(e,t,n){"use strict";n.d(t,{FG:function(){return f},d:function(){return c},VC:function(){return p}});var r=n(7294),a=n(7459),o=n(5742),i=n(226);function l(){var e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var u=n(4996),s=n(2263);function c(e){var t=e.title,n=e.description,a=e.keywords,i=e.image,l=e.children,c=function(e){var t=(0,s.Z)().siteConfig,n=t.title,r=t.titleDelimiter;return null!=e&&e.trim().length?e.trim()+" "+r+" "+n:n}(t),d=(0,u.C)().withBaseUrl,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)}var d=r.createContext(void 0);function f(e){var t=e.className,n=e.children,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){var t=e.children,n=l(),o="plugin-"+n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,""),i="plugin-id-"+n.plugin.id;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},9688:function(e,t,n){"use strict";n.d(t,{i6:function(){return m},Qc:function(){return g},zX:function(){return f},D9:function(){return p},Ql:function(){return h}});var r=n(6528),a=n(4578);function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var i=n(9611);function l(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function u(e,t,n){return u=l()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&(0,i.Z)(a,n.prototype),a},u.apply(null,arguments)}function s(e){var t="function"==typeof Map?new Map:void 0;return s=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return u(e,arguments,o(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,i.Z)(r,e)},s(e)}var c=n(7294),d=n(412).Z.canUseDOM?c.useLayoutEffect:c.useEffect;function f(e){var t=(0,c.useRef)(e);return d((function(){t.current=e}),[e]),(0,c.useCallback)((function(){return t.current.apply(t,arguments)}),[])}function p(e){var t=(0,c.useRef)();return d((function(){t.current=e})),t.current}var m=function(e){function t(t,n){var a,o,i,l,u;return(u=e.call(this)||this).name="ReactContextError",u.message="Hook "+(null!=(a=null==(o=u.stack)||null==(i=o.split("\n")[1])||null==(l=i.match((0,r.Z)(/at (?:\w+\.)?(\w+)/,{name:1})))?void 0:l.groups.name)?a:"")+" is called outside the <"+t+">. "+(null!=n?n:""),u}return(0,a.Z)(t,e),t}(s(Error));function h(e){var t=Object.entries(e);return t.sort((function(e,t){return e[0].localeCompare(t[0])})),(0,c.useMemo)((function(){return e}),t.flat())}function g(e){return function(t){var n=t.children;return c.createElement(c.Fragment,null,e.reduceRight((function(e,t){return c.createElement(t,null,e)}),n))}}},8596:function(e,t,n){"use strict";n.d(t,{Mg:function(){return i},Ns:function(){return l}});var r=n(7294),a=n(723),o=n(2263);function i(e,t){var n=function(e){var t;return null==(t=!e||e.endsWith("/")?e:e+"/")?void 0:t.toLowerCase()};return n(e)===n(t)}function l(){var e=(0,o.Z)().siteConfig.baseUrl;return(0,r.useMemo)((function(){return function(e){var t=e.baseUrl;function n(e){return e.path===t&&!0===e.exact}function r(e){return e.path===t&&!e.exact}return function e(t){if(0!==t.length)return t.find(n)||e(t.filter(r).flatMap((function(e){var t;return null!=(t=e.routes)?t:[]})))}(e.routes)}({routes:a.Z,baseUrl:e})}),[e])}},2466:function(e,t,n){"use strict";n.d(t,{Ct:function(){return p},OC:function(){return u},RF:function(){return d},o5:function(){return f}});var r=n(7294),a=n(412),o=n(2389),i=n(9688);var l=r.createContext(void 0);function u(e){var t,n=e.children,a=(t=(0,r.useRef)(!0),(0,r.useMemo)((function(){return{scrollEventsEnabledRef:t,enableScrollEvents:function(){t.current=!0},disableScrollEvents:function(){t.current=!1}}}),[]));return r.createElement(l.Provider,{value:a},n)}function s(){var e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}var c=function(){return a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null};function d(e,t){void 0===t&&(t=[]);var n=s().scrollEventsEnabledRef,a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((function(){var e=function(){if(n.current){var e=c();o(e,a.current),a.current=e}},t={passive:!0};return e(),window.addEventListener("scroll",e,t),function(){return window.removeEventListener("scroll",e,t)}}),[o,n].concat(t))}function f(){var e,t,n,a=s(),o=(e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((function(t){e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((function(){var t=e.current,n=t.elem,r=t.top;if(!n)return{restored:!1};var a=n.getBoundingClientRect().top-r;return a&&window.scrollBy({left:0,top:a}),e.current={elem:null,top:0},{restored:0!==a}}),[]),(0,r.useMemo)((function(){return{save:t,restore:n}}),[n,t])),i=(0,r.useRef)(void 0),l=(0,r.useCallback)((function(e){o.save(e),a.disableScrollEvents(),i.current=function(){var e=o.restore().restored;if(i.current=void 0,e){window.addEventListener("scroll",(function e(){a.enableScrollEvents(),window.removeEventListener("scroll",e)}))}else a.enableScrollEvents()}}),[a,o]);return(0,r.useLayoutEffect)((function(){queueMicrotask((function(){return null==i.current?void 0:i.current()}))})),{blockElementScrollPositionUntilNextRender:l}}function p(){var e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:function(n){e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),function(){}}(n):function(e){var t=null,n=document.documentElement.scrollTop>e;return function r(){var a=document.documentElement.scrollTop;(n&&a>e||!n&&a=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!s)for(;d--;d)i.unshift("..");!s||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m},l=n(2177);function u(e){return"/"===e.charAt(0)?e:"/"+e}function s(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 m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?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,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t
'};function a(e,t,n){return en?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),s=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),u(s,i(e,c,d)),1===e?(u(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){u(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),s=document.querySelector(r.parent);return u(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),s!=document.body&&c(s,"nprogress-custom-parent"),s.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()}}(),u=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 s(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);s(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:function(e){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}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,o){for(var i,l,u=a(e),s=1;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 _,T=1;if(b){if(!(_=o(E,S,e,v))||_.index>=e.length)break;var C=_.index,A=_.index+_[0].length,O=S;for(O+=k.value.length;C>=O;)O+=(k=k.next).value.length;if(S=O-=k.value.length,k.value instanceof a)continue;for(var N=k;N!==t.tail&&(Od.reach&&(d.reach=R);var M=k.prev;if(P&&(M=u(t,M,P),S+=P.length),s(t,M,T),k=u(t,M,new a(f,g?r.tokenize(L,g):L,y,L)),I&&u(t,k,I),T>1){var D={cause:f+","+m,reach:R};i(e,t,n,k.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.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 u(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 s(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),r=n;n.default=n,r.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\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://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]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:r.languages[t]},n.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:r.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:a},r.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(e,t){r.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:r.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.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]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.c=r.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|[?:~]|[-+*/%&|^!=<>]=?/}),r.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),r.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},r.languages.c.string],char:r.languages.c.char,comment:r.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:r.languages.c}}}}),r.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 r.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(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//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+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//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"])}(r),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"))}(r),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})}(r),r.languages.javascript=r.languages.extend("clike",{"class-name":[r.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}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.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:r.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:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.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:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.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:r.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"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.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")),r.languages.js=r.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}(r),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]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//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<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/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}(r),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//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__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\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(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.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",quot:'"'},u=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(r),r.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:r.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+/},r.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;n0)){var l=f(/^\{$/,/^\}$/);if(-1===l)continue;for(var u=n;u=0&&p(s,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\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 u(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 s(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,u(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=u(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=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 u=o.substring(0,l),d=s(c[a]),p=o.substring(l+a.length),m=[];if(u&&m.push(u),m.push(d),p){var h=[p];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}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]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,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}(r),function(e){function t(e,t){return RegExp(e.replace(//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*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\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*)#?/.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*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//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.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\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(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.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;r0&&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 u=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(u=i(t[r-1])+u,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",u,null,u)}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)}))}(r),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})}(r),r.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},r.languages.go=r.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/}),r.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete r.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 u=0;u=o.length);u++){var s=l[u];if("string"==typeof s||s.content&&"string"==typeof s.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof s?s:s.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++a;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),v=f.substring(m+p.length),b=[];h&&b.push.apply(b,i([h])),b.push(g),v&&b.push.apply(b,i([v])),"string"==typeof s?l.splice.apply(l,[u,1].concat(b)):s.content=b}}else s.content&&i(s.content)}return l}(n.tokens)}}}})}(r),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}(r),r.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"}},r.languages.webmanifest=r.languages.json,r.languages.less=r.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:/[+\-*\/]/}),r.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),r.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:/[:;(){}]/},r.languages.objectivec=r.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 r.languages.objectivec["class-name"],r.languages.objc=r.languages.objectivec,r.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/},r.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:/[{}[\];(),.:]/},r.languages.python["string-interpolation"].inside.interpolation.inside.rest=r.languages.python,r.languages.py=r.languages.python,r.languages.reason=r.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/}),r.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 r.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}})}(r),r.languages.scss=r.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]+\}/}}}),r.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}]}),r.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),r.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}}),r.languages.scss.atrule.inside.rest=r.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:/[{}()\[\];:.]/}}(r),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}(r),r.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:/[()]/},t.Z=r},7874:function(){!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=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},4277:function(){Prism.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"}},Prism.languages.webmanifest=Prism.languages.json},6862:function(){!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(Prism)},3358:function(){!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]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//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<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/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}(Prism)},7194:function(e,t,n){var r={"./prism-bash":7874,"./prism-java":2503,"./prism-json":4277,"./prism-powershell":6862,"./prism-yaml":3358};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=7194},2703:function(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:function(e,t,n){e.exports=n(2703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:function(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