From a0ee31896f7e57446396b4928058f85b8fb57956 Mon Sep 17 00:00:00 2001 From: Abram Bradley Date: Sat, 13 Jan 2024 17:28:18 -0500 Subject: [PATCH] Deploy website - based on 72cb8db32c10f34c32ba4d6bdffdaba245288ec5 --- 404.html | 10 +++---- assets/js/01baeee8.dab26596.js | 1 - ...f7cc6.8fa7ef4e.js => 052f7cc6.e72c2ef9.js} | 2 +- assets/js/09f618f3.0197825f.js | 1 + assets/js/09f618f3.e42c3602.js | 1 - assets/js/0dade157.dcc56ad3.js | 1 - assets/js/10d13a83.c9fe82ba.js | 1 + assets/js/1aab6364.cb9b8ea6.js | 1 + assets/js/251a347c.db15c152.js | 1 + assets/js/25860ba2.8601199f.js | 1 + assets/js/3756ee02.7066cf43.js | 1 + assets/js/3756ee02.94f21be9.js | 1 - ...3d1ca.189cb983.js => 3803d1ca.3cc8b6b8.js} | 2 +- assets/js/38cdc210.b3721b78.js | 1 - ...c95a4.7058d164.js => 3d9c95a4.76544181.js} | 2 +- ...c18fa.97294135.js => 4b4c18fa.0f424508.js} | 2 +- assets/js/4c14710c.43762fec.js | 1 + assets/js/4c37d77b.c968cff9.js | 1 - ...08758.7625f348.js => 4f208758.dbc285c2.js} | 2 +- ...8ad93.800e2c92.js => 5088ad93.6e804ec8.js} | 2 +- ...63624.b158d35f.js => 54863624.8ce633a8.js} | 2 +- assets/js/5638bbd0.5ef3a1f9.js | 1 - assets/js/5638bbd0.703b8364.js | 1 + assets/js/59362658.7032e09e.js | 1 - assets/js/59362658.dd8de156.js | 1 + assets/js/5b44d179.8431a745.js | 1 - assets/js/5ed63ff7.8e187822.js | 1 + assets/js/6106ade6.8f76f058.js | 1 + assets/js/6751470f.2446ee36.js | 1 - ...336ca.0b2b52e8.js => 6aa336ca.d6b87955.js} | 2 +- ...890f3.0d4c1b08.js => 6ba64b7f.9b5a9a95.js} | 2 +- .../js/{7245.30fe3ba1.js => 7245.f6fdf635.js} | 4 +-- ...CENSE.txt => 7245.f6fdf635.js.LICENSE.txt} | 0 assets/js/729ea7d2.626a66f9.js | 1 - ...64a40.9f80efcf.js => 73664a40.108bc111.js} | 2 +- assets/js/749f4ecd.31cd0ace.js | 1 - assets/js/749f4ecd.33c0195b.js | 1 + assets/js/7661071f.5fb5f53c.js | 1 - assets/js/7661071f.e05070ca.js | 1 + ...231bb.58abb436.js => 7b5231bb.32e478d7.js} | 2 +- assets/js/7faec263.b1887d2b.js | 1 - .../js/{6314.1f9011bf.js => 8016.d253f4c1.js} | 2 +- assets/js/814f3328.616e0b44.js | 1 - assets/js/814f3328.ceaec13a.js | 1 + assets/js/8717b14a.684473af.js | 1 - assets/js/8717b14a.ef6a530a.js | 1 + assets/js/8ce383a0.6ee2b17e.js | 1 - ...318f4.546bc73e.js => 90c318f4.f03b95ee.js} | 2 +- ...3c56f.b00c1f09.js => 925b3f96.5d39a849.js} | 2 +- ...f2afb.492308b1.js => 935f2afb.ef879f7f.js} | 2 +- assets/js/9aaa03f3.33fc8d93.js | 1 + ...04183.99656346.js => a2a2c8d3.bface174.js} | 2 +- assets/js/a3604fc6.9dfa8e51.js | 1 - assets/js/a3604fc6.e6dba4c3.js | 1 + assets/js/a7ccc271.dc285692.js | 1 + ...20d2c.86661289.js => af520d2c.f9c77b3c.js} | 2 +- ...2a249.6ef16321.js => af57d80f.b62e56e1.js} | 2 +- ...fe783.e98835e9.js => b2a86a22.b3464a32.js} | 2 +- ...7d90f.342ac1ca.js => b917d90f.781540e9.js} | 2 +- ...24059.98136ed7.js => c8824059.d2c623f9.js} | 2 +- assets/js/c9526e68.286cbb7c.js | 1 + ...067d7.542df232.js => cb068ac6.3eb5bc94.js} | 2 +- ...97398.f6b885a3.js => d0397398.60022f2d.js} | 2 +- assets/js/d17ddf99.6ee4863b.js | 1 - assets/js/d62f1c6e.32117dd4.js | 1 + assets/js/d62f1c6e.ad0aeec3.js | 1 - assets/js/d9f32620.09e565c1.js | 1 - assets/js/d9f32620.5a78a25c.js | 1 + assets/js/db0b8da5.25acad80.js | 1 - ...84cb5.08dca618.js => dbb84cb5.41f72d92.js} | 2 +- ...dfcf6.0e0559e7.js => de2bb28d.681a3aa2.js} | 2 +- ...b3f96.c54c6dfe.js => e273c56f.7f89f91b.js} | 2 +- ...80203.d3ec50eb.js => f1707f6a.2a6562fe.js} | 2 +- assets/js/f4f34a3a.dac6819a.js | 1 + assets/js/f4f34a3a.fadc0030.js | 1 - ...14e19.b7316bd8.js => f5f14e19.88700502.js} | 2 +- assets/js/fd10c177.3506ac3f.js | 1 + assets/js/fd10c177.c03138f9.js | 1 - assets/js/fdb0b976.bfd58855.js | 1 + assets/js/main.26a7457e.js | 2 -- assets/js/main.7a45346d.js | 2 ++ ...CENSE.txt => main.7a45346d.js.LICENSE.txt} | 0 assets/js/runtime~main.eb2ed845.js | 1 + assets/js/runtime~main.ef989444.js | 1 - blog.html | 18 ++++++------- blog/archive.html | 10 +++---- blog/atom.xml | 24 ++++++++--------- blog/first-blog-post.html | 10 +++---- blog/long-blog-post.html | 12 ++++----- blog/mdx-blog-post.html | 12 ++++----- blog/rss.xml | 20 +++++++------- blog/tags.html | 10 +++---- blog/tags/docusaurus.html | 18 ++++++------- blog/tags/facebook.html | 14 +++++----- blog/tags/hello.html | 16 ++++++------ blog/tags/hola.html | 10 +++---- blog/welcome.html | 14 +++++----- docs/category/debugging.html | 10 +++---- docs/category/environment-setup.html | 10 +++---- docs/category/grading.html | 10 +++---- docs/category/in-class-lab-notes.html | 10 +++---- docs/category/lab-walkthroughs.html | 10 +++---- docs/category/reference.html | 10 +++---- docs/category/tutorials.html | 10 +++---- docs/debugging/segmentation-faults.html | 12 ++++----- docs/environment-setup/lab-machines.html | 16 ++++++------ docs/environment-setup/mac.html | 12 ++++----- docs/environment-setup/windows.html | 12 ++++----- docs/grading/about-grading.html | 14 +++++----- docs/grading/cs102lings.html | 12 ++++----- docs/home.html | 26 +++++++++---------- docs/in-class-lab-notes/bitset-notes.html | 18 ++++++------- .../boiling-water-notes.html | 12 ++++----- docs/in-class-lab-notes/bowling-notes.html | 22 ++++++++-------- docs/in-class-lab-notes/mud-notes.html | 14 +++++----- .../sorting-algorithms.html | 12 ++++----- docs/lab-walkthroughs/bitset.html | 12 ++++----- docs/lab-walkthroughs/bowling.html | 12 ++++----- docs/lab-walkthroughs/calculator.html | 12 ++++----- docs/lab-walkthroughs/ppm-manipulator.html | 12 ++++----- .../speeding-ticket-calculator.html | 12 ++++----- docs/reference/common-linux-commands.html | 14 +++++----- docs/reference/discord.html | 18 ++++++------- docs/reference/swap-files.html | 12 ++++----- docs/reference/vim-cheatsheet.html | 12 ++++----- docs/reference/vscode-tips.html | 12 ++++----- docs/tutorials/ssh-and-scp.html | 12 ++++----- index.html | 10 +++---- sitemap.xml | 2 +- 129 files changed, 358 insertions(+), 358 deletions(-) delete mode 100644 assets/js/01baeee8.dab26596.js rename assets/js/{052f7cc6.8fa7ef4e.js => 052f7cc6.e72c2ef9.js} (90%) create mode 100644 assets/js/09f618f3.0197825f.js delete mode 100644 assets/js/09f618f3.e42c3602.js delete mode 100644 assets/js/0dade157.dcc56ad3.js create mode 100644 assets/js/10d13a83.c9fe82ba.js create mode 100644 assets/js/1aab6364.cb9b8ea6.js create mode 100644 assets/js/251a347c.db15c152.js create mode 100644 assets/js/25860ba2.8601199f.js create mode 100644 assets/js/3756ee02.7066cf43.js delete mode 100644 assets/js/3756ee02.94f21be9.js rename assets/js/{3803d1ca.189cb983.js => 3803d1ca.3cc8b6b8.js} (99%) delete mode 100644 assets/js/38cdc210.b3721b78.js rename assets/js/{3d9c95a4.7058d164.js => 3d9c95a4.76544181.js} (83%) rename assets/js/{4b4c18fa.97294135.js => 4b4c18fa.0f424508.js} (94%) create mode 100644 assets/js/4c14710c.43762fec.js delete mode 100644 assets/js/4c37d77b.c968cff9.js rename assets/js/{4f208758.7625f348.js => 4f208758.dbc285c2.js} (97%) rename assets/js/{5088ad93.800e2c92.js => 5088ad93.6e804ec8.js} (50%) rename assets/js/{54863624.b158d35f.js => 54863624.8ce633a8.js} (97%) delete mode 100644 assets/js/5638bbd0.5ef3a1f9.js create mode 100644 assets/js/5638bbd0.703b8364.js delete mode 100644 assets/js/59362658.7032e09e.js create mode 100644 assets/js/59362658.dd8de156.js delete mode 100644 assets/js/5b44d179.8431a745.js create mode 100644 assets/js/5ed63ff7.8e187822.js create mode 100644 assets/js/6106ade6.8f76f058.js delete mode 100644 assets/js/6751470f.2446ee36.js rename assets/js/{6aa336ca.0b2b52e8.js => 6aa336ca.d6b87955.js} (53%) rename assets/js/{705890f3.0d4c1b08.js => 6ba64b7f.9b5a9a95.js} (54%) rename assets/js/{7245.30fe3ba1.js => 7245.f6fdf635.js} (99%) rename assets/js/{7245.30fe3ba1.js.LICENSE.txt => 7245.f6fdf635.js.LICENSE.txt} (100%) delete mode 100644 assets/js/729ea7d2.626a66f9.js rename assets/js/{73664a40.9f80efcf.js => 73664a40.108bc111.js} (94%) delete mode 100644 assets/js/749f4ecd.31cd0ace.js create mode 100644 assets/js/749f4ecd.33c0195b.js delete mode 100644 assets/js/7661071f.5fb5f53c.js create mode 100644 assets/js/7661071f.e05070ca.js rename assets/js/{7b5231bb.58abb436.js => 7b5231bb.32e478d7.js} (97%) delete mode 100644 assets/js/7faec263.b1887d2b.js rename assets/js/{6314.1f9011bf.js => 8016.d253f4c1.js} (99%) delete mode 100644 assets/js/814f3328.616e0b44.js create mode 100644 assets/js/814f3328.ceaec13a.js delete mode 100644 assets/js/8717b14a.684473af.js create mode 100644 assets/js/8717b14a.ef6a530a.js delete mode 100644 assets/js/8ce383a0.6ee2b17e.js rename assets/js/{90c318f4.546bc73e.js => 90c318f4.f03b95ee.js} (95%) rename assets/js/{e273c56f.b00c1f09.js => 925b3f96.5d39a849.js} (54%) rename assets/js/{935f2afb.492308b1.js => 935f2afb.ef879f7f.js} (76%) create mode 100644 assets/js/9aaa03f3.33fc8d93.js rename assets/js/{0cb04183.99656346.js => a2a2c8d3.bface174.js} (53%) delete mode 100644 assets/js/a3604fc6.9dfa8e51.js create mode 100644 assets/js/a3604fc6.e6dba4c3.js create mode 100644 assets/js/a7ccc271.dc285692.js rename assets/js/{af520d2c.86661289.js => af520d2c.f9c77b3c.js} (98%) rename assets/js/{5a42a249.6ef16321.js => af57d80f.b62e56e1.js} (64%) rename assets/js/{a91fe783.e98835e9.js => b2a86a22.b3464a32.js} (52%) rename assets/js/{b917d90f.342ac1ca.js => b917d90f.781540e9.js} (98%) rename assets/js/{c8824059.98136ed7.js => c8824059.d2c623f9.js} (96%) create mode 100644 assets/js/c9526e68.286cbb7c.js rename assets/js/{d50067d7.542df232.js => cb068ac6.3eb5bc94.js} (55%) rename assets/js/{d0397398.f6b885a3.js => d0397398.60022f2d.js} (97%) delete mode 100644 assets/js/d17ddf99.6ee4863b.js create mode 100644 assets/js/d62f1c6e.32117dd4.js delete mode 100644 assets/js/d62f1c6e.ad0aeec3.js delete mode 100644 assets/js/d9f32620.09e565c1.js create mode 100644 assets/js/d9f32620.5a78a25c.js delete mode 100644 assets/js/db0b8da5.25acad80.js rename assets/js/{dbb84cb5.08dca618.js => dbb84cb5.41f72d92.js} (99%) rename assets/js/{b41dfcf6.0e0559e7.js => de2bb28d.681a3aa2.js} (54%) rename assets/js/{925b3f96.c54c6dfe.js => e273c56f.7f89f91b.js} (54%) rename assets/js/{32c80203.d3ec50eb.js => f1707f6a.2a6562fe.js} (85%) create mode 100644 assets/js/f4f34a3a.dac6819a.js delete mode 100644 assets/js/f4f34a3a.fadc0030.js rename assets/js/{f5f14e19.b7316bd8.js => f5f14e19.88700502.js} (80%) create mode 100644 assets/js/fd10c177.3506ac3f.js delete mode 100644 assets/js/fd10c177.c03138f9.js create mode 100644 assets/js/fdb0b976.bfd58855.js delete mode 100644 assets/js/main.26a7457e.js create mode 100644 assets/js/main.7a45346d.js rename assets/js/{main.26a7457e.js.LICENSE.txt => main.7a45346d.js.LICENSE.txt} (100%) create mode 100644 assets/js/runtime~main.eb2ed845.js delete mode 100644 assets/js/runtime~main.ef989444.js diff --git a/404.html b/404.html index 5aaf79cf..90c69a27 100644 --- a/404.html +++ b/404.html @@ -3,12 +3,12 @@ -Page Not Found | CS102 Handbook - - - +Page Not Found | CS102 Handbook + + + -
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.

+
Skip to main content

Page Not Found

We could not find what you were looking for.

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

\ No newline at end of file diff --git a/assets/js/01baeee8.dab26596.js b/assets/js/01baeee8.dab26596.js deleted file mode 100644 index b9c8f9b4..00000000 --- a/assets/js/01baeee8.dab26596.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1518],{7345:s=>{s.exports=JSON.parse('{"label":"hola","permalink":"/cs102-writeups/blog/tags/hola","allTagsPath":"/cs102-writeups/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/052f7cc6.8fa7ef4e.js b/assets/js/052f7cc6.e72c2ef9.js similarity index 90% rename from assets/js/052f7cc6.8fa7ef4e.js rename to assets/js/052f7cc6.e72c2ef9.js index 9a3be3be..714cb893 100644 --- a/assets/js/052f7cc6.8fa7ef4e.js +++ b/assets/js/052f7cc6.e72c2ef9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3670],{1899:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>a,frontMatter:()=>t,metadata:()=>c,toc:()=>l});var s=i(5893),d=i(1151);const t={sidebar_position:4},o="Vim Cheatsheet",c={id:"reference/vim-cheatsheet",title:"Vim Cheatsheet",description:"Basic Vim motions to get you started.",source:"@site/docs/reference/vim-cheatsheet.md",sourceDirName:"reference",slug:"/reference/vim-cheatsheet",permalink:"/cs102-writeups/docs/reference/vim-cheatsheet",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"Sidebar",previous:{title:"VSCode Tips",permalink:"/cs102-writeups/docs/reference/vscode-tips"},next:{title:"Swap Files",permalink:"/cs102-writeups/docs/reference/swap-files"}},r={},l=[{value:"Movement",id:"movement",level:2},{value:"Editing",id:"editing",level:2},{value:"Visual Mode",id:"visual-mode",level:2},{value:"Insert Mode",id:"insert-mode",level:2},{value:"Exiting",id:"exiting",level:2}];function h(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,d.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"vim-cheatsheet",children:"Vim Cheatsheet"}),"\n",(0,s.jsx)(n.p,{children:"Basic Vim motions to get you started."}),"\n",(0,s.jsx)(n.h2,{id:"movement",children:"Movement"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"h j k l"})," - Left, Down, Up, Right (recommended over the arrow keys)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"w b"})," - Go forward a word, go back a word"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{ }"})," - Jump up and down whole code blocks"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"gg"})," - Go to the top of the document"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"G"})," - Go to the bottom of the document"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"0"})," - Go to the beginning of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"^"})," - Go to the first non-whitespace character of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"$"})," - Go to the end of the line"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"editing",children:"Editing"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"yy"})," - Copy a line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"dd"})," - Delete a line (similar to cut)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"p"})," - Paste what was yanked or deleted after the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"u"})," - Undo"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"ctrl + r"})," - Redo"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"x"})," - Delete a character"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"r"})," - Replace a character"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"d"})," or ",(0,s.jsx)(n.code,{children:"y"})," combined with any other movement options to delete or yank different selections like ",(0,s.jsx)(n.code,{children:"dw"})," to delete a word or ",(0,s.jsx)(n.code,{children:"dj"})," to delete the line and the line below it."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + d"})," - Delete from the cursor to the end of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + y"})," - Copy from the cursor to the end of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + p"})," - Paste before the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"gg=G"})," - Format your document"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"visual-mode",children:"Visual Mode"}),"\n",(0,s.jsx)(n.p,{children:"Used for highlighting and selecting text."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"v"})," - visual mode for text selection"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + v"})," - visual line mode, for selecting whole lines"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"y d"})," - in visual mode to copy or cut selection"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"p"})," - Paste over selection"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"insert-mode",children:"Insert Mode"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"i"})," - Insert mode before the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"a"})," - Insert mode after the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + i"})," - Insert mode at the beginning of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + a"})," - Insert mode at the end of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"o"})," - Insert mode on a new line below the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + o"})," - Insert mode on a new line above the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"c"})," - Same as ",(0,s.jsx)(n.code,{children:"d"})," but also enters insert mode"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"cc"})," - Delete a line and enter insert mode"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + c"})," - Delete from the cursor to the end of the line and enter insert mode"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"escape"})," - exit insert mode"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"exiting",children:"Exiting"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:":q"})," - Close a document"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:":wq"})," - Save and exit a document"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:":q!"})," - Close the document without saving"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + zz"})," - An alias for ",(0,s.jsx)(n.code,{children:":wq"})," to save and exit a document"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["If you want to dive deeper into Vim, this YouTuber, ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/@ThePrimeagen",children:"The Primeagen"})," is a good place to start."]})]})}function a(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>o});var s=i(7294);const d={},t=s.createContext(d);function o(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:o(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3670],{1899:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>a,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var s=i(5893),d=i(1151);const o={sidebar_position:4},t="Vim Cheatsheet",c={id:"reference/vim-cheatsheet",title:"Vim Cheatsheet",description:"Basic Vim motions to get you started.",source:"@site/docs/reference/vim-cheatsheet.md",sourceDirName:"reference",slug:"/reference/vim-cheatsheet",permalink:"/cs102-handbook/docs/reference/vim-cheatsheet",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"Sidebar",previous:{title:"VSCode Tips",permalink:"/cs102-handbook/docs/reference/vscode-tips"},next:{title:"Swap Files",permalink:"/cs102-handbook/docs/reference/swap-files"}},r={},l=[{value:"Movement",id:"movement",level:2},{value:"Editing",id:"editing",level:2},{value:"Visual Mode",id:"visual-mode",level:2},{value:"Insert Mode",id:"insert-mode",level:2},{value:"Exiting",id:"exiting",level:2}];function h(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,d.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"vim-cheatsheet",children:"Vim Cheatsheet"}),"\n",(0,s.jsx)(n.p,{children:"Basic Vim motions to get you started."}),"\n",(0,s.jsx)(n.h2,{id:"movement",children:"Movement"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"h j k l"})," - Left, Down, Up, Right (recommended over the arrow keys)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"w b"})," - Go forward a word, go back a word"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{ }"})," - Jump up and down whole code blocks"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"gg"})," - Go to the top of the document"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"G"})," - Go to the bottom of the document"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"0"})," - Go to the beginning of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"^"})," - Go to the first non-whitespace character of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"$"})," - Go to the end of the line"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"editing",children:"Editing"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"yy"})," - Copy a line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"dd"})," - Delete a line (similar to cut)"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"p"})," - Paste what was yanked or deleted after the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"u"})," - Undo"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"ctrl + r"})," - Redo"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"x"})," - Delete a character"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"r"})," - Replace a character"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"d"})," or ",(0,s.jsx)(n.code,{children:"y"})," combined with any other movement options to delete or yank different selections like ",(0,s.jsx)(n.code,{children:"dw"})," to delete a word or ",(0,s.jsx)(n.code,{children:"dj"})," to delete the line and the line below it."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + d"})," - Delete from the cursor to the end of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + y"})," - Copy from the cursor to the end of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + p"})," - Paste before the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"gg=G"})," - Format your document"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"visual-mode",children:"Visual Mode"}),"\n",(0,s.jsx)(n.p,{children:"Used for highlighting and selecting text."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"v"})," - visual mode for text selection"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + v"})," - visual line mode, for selecting whole lines"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"y d"})," - in visual mode to copy or cut selection"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"p"})," - Paste over selection"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"insert-mode",children:"Insert Mode"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"i"})," - Insert mode before the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"a"})," - Insert mode after the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + i"})," - Insert mode at the beginning of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + a"})," - Insert mode at the end of the line"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"o"})," - Insert mode on a new line below the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + o"})," - Insert mode on a new line above the cursor"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"c"})," - Same as ",(0,s.jsx)(n.code,{children:"d"})," but also enters insert mode"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"cc"})," - Delete a line and enter insert mode"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + c"})," - Delete from the cursor to the end of the line and enter insert mode"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"escape"})," - exit insert mode"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"exiting",children:"Exiting"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:":q"})," - Close a document"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:":wq"})," - Save and exit a document"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:":q!"})," - Close the document without saving"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"shift + zz"})," - An alias for ",(0,s.jsx)(n.code,{children:":wq"})," to save and exit a document"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["If you want to dive deeper into Vim, this YouTuber, ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/@ThePrimeagen",children:"The Primeagen"})," is a good place to start."]})]})}function a(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>t});var s=i(7294);const d={},o=s.createContext(d);function t(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:t(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/09f618f3.0197825f.js b/assets/js/09f618f3.0197825f.js new file mode 100644 index 00000000..22aac06b --- /dev/null +++ b/assets/js/09f618f3.0197825f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[6655],{7857:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>t});var s=o(5893),l=o(1151);const i={sidebar_position:3},c="Mac Environment Setup",d={id:"environment-setup/mac",title:"Mac Environment Setup",description:"Setting up homebrew, g++, and VSCode on Mac.",source:"@site/docs/environment-setup/mac.md",sourceDirName:"environment-setup",slug:"/environment-setup/mac",permalink:"/cs102-handbook/docs/environment-setup/mac",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"Sidebar",previous:{title:"Windows Environment Setup",permalink:"/cs102-handbook/docs/environment-setup/windows"},next:{title:"Tutorials",permalink:"/cs102-handbook/docs/category/tutorials"}},r={},t=[{value:"Install Homebrew",id:"install-homebrew",level:2},{value:"Install GCC",id:"install-gcc",level:2},{value:"Download VSCode",id:"download-vscode",level:2},{value:"VSCode Extensions",id:"vscode-extensions",level:2},{value:"VSCode Explorer",id:"vscode-explorer",level:2},{value:"VSCode Terminal",id:"vscode-terminal",level:2},{value:"VSCode Code Formatting",id:"vscode-code-formatting",level:2},{value:"VSCode Settings",id:"vscode-settings",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"mac-environment-setup",children:"Mac Environment Setup"}),"\n",(0,s.jsx)(n.p,{children:"Setting up homebrew, g++, and VSCode on Mac."}),"\n",(0,s.jsxs)(n.p,{children:["To run the following commands, open a terminal with ",(0,s.jsx)(n.code,{children:"cmd+space"})," and search for ",(0,s.jsx)(n.code,{children:"Terminal.app"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"install-homebrew",children:"Install Homebrew"}),"\n",(0,s.jsx)(n.p,{children:"Homebrew is a package manager for macOS. It allows you to install and manage software packages from the command line."}),"\n",(0,s.jsxs)(n.p,{children:["Get it ",(0,s.jsx)(n.a,{href:"https://brew.sh/",children:"here"})," or run the following command in a terminal:"]}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsxs)(n.p,{children:["Do not run this command while logged into the lab machines with ",(0,s.jsx)(n.code,{children:"ssh"}),". Run it locally on your own computer."]})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Keep homebrew and all of its packages up to date with the following command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"brew update && brew upgrade\n"})}),"\n",(0,s.jsx)(n.h2,{id:"install-gcc",children:"Install GCC"}),"\n",(0,s.jsx)(n.p,{children:"GCC is a compiler for C and C++."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"brew install gcc\n"})}),"\n",(0,s.jsxs)(n.p,{children:["GCC will be run with the command ",(0,s.jsx)(n.code,{children:"g++-13"})," instead of ",(0,s.jsx)(n.code,{children:"g++"}),". On a Mac, ",(0,s.jsx)(n.code,{children:"g++"})," points to the Apple Clang C++ compiler, which is not the same as GCC."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"g++-13 -std=c++11 -o lab0 lab0.cpp\n"})}),"\n",(0,s.jsx)(n.h2,{id:"download-vscode",children:"Download VSCode"}),"\n",(0,s.jsxs)(n.p,{children:["To install VSCode, you can download it from ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/download",children:"here"})," or run the following command in a terminal:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"brew install --cask visual-studio-code\n"})}),"\n",(0,s.jsx)(n.h2,{id:"vscode-extensions",children:"VSCode Extensions"}),"\n",(0,s.jsxs)(n.p,{children:["To add extensions to vscode, hit ",(0,s.jsx)(n.code,{children:"cmd+shift+x"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Search for and install the following extensions:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"ms-vscode.cpptools-extension-pack"})," aka ",(0,s.jsx)(n.code,{children:"C/C++ Extension Pack"})]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"vscode-explorer",children:"VSCode Explorer"}),"\n",(0,s.jsxs)(n.p,{children:["Hit ",(0,s.jsx)(n.code,{children:"cmd+shift+p"})," and type ",(0,s.jsx)(n.code,{children:"shell command"})," and select ",(0,s.jsx)(n.code,{children:"Shell Command: Install 'code' command in PATH"})]}),"\n",(0,s.jsxs)(n.p,{children:["This will allow you to open vscode from the command line with the command ",(0,s.jsx)(n.code,{children:"code"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["On your system, create a directory for your cs102 files, such as ",(0,s.jsx)(n.code,{children:"~/cs102"}),"."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"mkdir ~/cs102\n"})}),"\n",(0,s.jsx)(n.p,{children:"Open VSCode from the command line with the command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"code ~/cs102\n"})}),"\n",(0,s.jsxs)(n.p,{children:["You should see all your files in the file explorer on the left with ",(0,s.jsx)(n.code,{children:"cmd+shift+e"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["You can create a new file such as ",(0,s.jsx)(n.code,{children:"hello.cpp"})," with the new file icon in the file explorer and put the following code in it:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-cpp",children:'#include \n\nusing namespace std;\n\nint main() {\n cout << "Hello World!" << endl;\n return 0;\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"vscode-terminal",children:"VSCode Terminal"}),"\n",(0,s.jsxs)(n.p,{children:["To open a terminal in vscode, hit ",(0,s.jsx)(n.code,{children:"ctrl+`"})," (control and backtick)."]}),"\n",(0,s.jsx)(n.p,{children:"If you have a file explorer open to the side, it should start the terminal session in the directory you have open."}),"\n",(0,s.jsxs)(n.p,{children:["Run ",(0,s.jsx)(n.code,{children:"pwd"})," to see the current directory:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pwd\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Run ",(0,s.jsx)(n.code,{children:"ls"})," and you should see your ",(0,s.jsx)(n.code,{children:"hello.cpp"})," file:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"ls\n"})}),"\n",(0,s.jsx)(n.p,{children:"You can also compile and run your code from the terminal:"}),"\n",(0,s.jsx)(n.p,{children:"Compile:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"g++-13 -std=c++11 -o hello hello.cpp\n"})}),"\n",(0,s.jsx)(n.p,{children:"Run:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"./hello\n"})}),"\n",(0,s.jsxs)(n.p,{children:["And it should print ",(0,s.jsx)(n.code,{children:"Hello World!"})," to the terminal."]}),"\n",(0,s.jsx)(n.h2,{id:"vscode-code-formatting",children:"VSCode Code Formatting"}),"\n",(0,s.jsxs)(n.p,{children:["To format your code in vscode, hit ",(0,s.jsx)(n.code,{children:"shift+option+f"}),". A prompt will appear asking which formatter you want to use. Select the ",(0,s.jsx)(n.code,{children:"ms-vscode.cpptools"})," we just installed."]}),"\n",(0,s.jsx)(n.h2,{id:"vscode-settings",children:"VSCode Settings"}),"\n",(0,s.jsxs)(n.p,{children:["To edit your settings in vscode, hit ",(0,s.jsx)(n.code,{children:"cmd+shift+p"})," and search for ",(0,s.jsx)(n.code,{children:"settings"}),". Select ",(0,s.jsx)(n.code,{children:"Preferences: Open User Settings (JSON)"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"I recommend the following settings:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsonc",children:'{\n // other settings...\n "files.autoSave": "onFocusChange", // Will save your files automatically when you change focus away from the editor\n "editor.formatOnSave": true // Will automatically format your code when your files are saved\n // other settings...\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},1151:(e,n,o)=>{o.d(n,{Z:()=>d,a:()=>c});var s=o(7294);const l={},i=s.createContext(l);function c(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/09f618f3.e42c3602.js b/assets/js/09f618f3.e42c3602.js deleted file mode 100644 index 84fd5edb..00000000 --- a/assets/js/09f618f3.e42c3602.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[6655],{7857:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>t});var o=s(5893),l=s(1151);const i={sidebar_position:3},c="Mac Environment Setup",d={id:"environment-setup/mac",title:"Mac Environment Setup",description:"Setting up homebrew, g++, and VSCode on Mac.",source:"@site/docs/environment-setup/mac.md",sourceDirName:"environment-setup",slug:"/environment-setup/mac",permalink:"/cs102-writeups/docs/environment-setup/mac",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"Sidebar",previous:{title:"Windows Environment Setup",permalink:"/cs102-writeups/docs/environment-setup/windows"},next:{title:"Tutorials",permalink:"/cs102-writeups/docs/category/tutorials"}},r={},t=[{value:"Install Homebrew",id:"install-homebrew",level:2},{value:"Install GCC",id:"install-gcc",level:2},{value:"Download VSCode",id:"download-vscode",level:2},{value:"VSCode Extensions",id:"vscode-extensions",level:2},{value:"VSCode Explorer",id:"vscode-explorer",level:2},{value:"VSCode Terminal",id:"vscode-terminal",level:2},{value:"VSCode Code Formatting",id:"vscode-code-formatting",level:2},{value:"VSCode Settings",id:"vscode-settings",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"mac-environment-setup",children:"Mac Environment Setup"}),"\n",(0,o.jsx)(n.p,{children:"Setting up homebrew, g++, and VSCode on Mac."}),"\n",(0,o.jsxs)(n.p,{children:["To run the following commands, open a terminal with ",(0,o.jsx)(n.code,{children:"cmd+space"})," and search for ",(0,o.jsx)(n.code,{children:"Terminal.app"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"install-homebrew",children:"Install Homebrew"}),"\n",(0,o.jsx)(n.p,{children:"Homebrew is a package manager for macOS. It allows you to install and manage software packages from the command line."}),"\n",(0,o.jsxs)(n.p,{children:["Get it ",(0,o.jsx)(n.a,{href:"https://brew.sh/",children:"here"})," or run the following command in a terminal:"]}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:["Do not run this command while logged into the lab machines with ",(0,o.jsx)(n.code,{children:"ssh"}),". Run it locally on your own computer."]})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:'/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"\n'})}),"\n",(0,o.jsx)(n.p,{children:"Keep homebrew and all of its packages up to date with the following command:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"brew update && brew upgrade\n"})}),"\n",(0,o.jsx)(n.h2,{id:"install-gcc",children:"Install GCC"}),"\n",(0,o.jsx)(n.p,{children:"GCC is a compiler for C and C++."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"brew install gcc\n"})}),"\n",(0,o.jsxs)(n.p,{children:["GCC will be run with the command ",(0,o.jsx)(n.code,{children:"g++-13"})," instead of ",(0,o.jsx)(n.code,{children:"g++"}),". On a Mac, ",(0,o.jsx)(n.code,{children:"g++"})," points to the Apple Clang C++ compiler, which is not the same as GCC."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"g++-13 -std=c++11 -o lab0 lab0.cpp\n"})}),"\n",(0,o.jsx)(n.h2,{id:"download-vscode",children:"Download VSCode"}),"\n",(0,o.jsxs)(n.p,{children:["To install VSCode, you can download it from ",(0,o.jsx)(n.a,{href:"https://code.visualstudio.com/download",children:"here"})," or run the following command in a terminal:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"brew install --cask visual-studio-code\n"})}),"\n",(0,o.jsx)(n.h2,{id:"vscode-extensions",children:"VSCode Extensions"}),"\n",(0,o.jsxs)(n.p,{children:["To add extensions to vscode, hit ",(0,o.jsx)(n.code,{children:"cmd+shift+x"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"Search for and install the following extensions:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"ms-vscode.cpptools-extension-pack"})," aka ",(0,o.jsx)(n.code,{children:"C/C++ Extension Pack"})]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"vscode-explorer",children:"VSCode Explorer"}),"\n",(0,o.jsxs)(n.p,{children:["Hit ",(0,o.jsx)(n.code,{children:"cmd+shift+p"})," and type ",(0,o.jsx)(n.code,{children:"shell command"})," and select ",(0,o.jsx)(n.code,{children:"Shell Command: Install 'code' command in PATH"})]}),"\n",(0,o.jsxs)(n.p,{children:["This will allow you to open vscode from the command line with the command ",(0,o.jsx)(n.code,{children:"code"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["On your system, create a directory for your cs102 files, such as ",(0,o.jsx)(n.code,{children:"~/cs102"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"mkdir ~/cs102\n"})}),"\n",(0,o.jsx)(n.p,{children:"Open VSCode from the command line with the command:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"code ~/cs102\n"})}),"\n",(0,o.jsxs)(n.p,{children:["You should see all your files in the file explorer on the left with ",(0,o.jsx)(n.code,{children:"cmd+shift+e"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["You can create a new file such as ",(0,o.jsx)(n.code,{children:"hello.cpp"})," with the new file icon in the file explorer and put the following code in it:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'#include \n\nusing namespace std;\n\nint main() {\n cout << "Hello World!" << endl;\n return 0;\n}\n'})}),"\n",(0,o.jsx)(n.h2,{id:"vscode-terminal",children:"VSCode Terminal"}),"\n",(0,o.jsxs)(n.p,{children:["To open a terminal in vscode, hit ",(0,o.jsx)(n.code,{children:"ctrl+`"})," (control and backtick)."]}),"\n",(0,o.jsx)(n.p,{children:"If you have a file explorer open to the side, it should start the terminal session in the directory you have open."}),"\n",(0,o.jsxs)(n.p,{children:["Run ",(0,o.jsx)(n.code,{children:"pwd"})," to see the current directory:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"pwd\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Run ",(0,o.jsx)(n.code,{children:"ls"})," and you should see your ",(0,o.jsx)(n.code,{children:"hello.cpp"})," file:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"ls\n"})}),"\n",(0,o.jsx)(n.p,{children:"You can also compile and run your code from the terminal:"}),"\n",(0,o.jsx)(n.p,{children:"Compile:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"g++-13 -std=c++11 -o hello hello.cpp\n"})}),"\n",(0,o.jsx)(n.p,{children:"Run:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"./hello\n"})}),"\n",(0,o.jsxs)(n.p,{children:["And it should print ",(0,o.jsx)(n.code,{children:"Hello World!"})," to the terminal."]}),"\n",(0,o.jsx)(n.h2,{id:"vscode-code-formatting",children:"VSCode Code Formatting"}),"\n",(0,o.jsxs)(n.p,{children:["To format your code in vscode, hit ",(0,o.jsx)(n.code,{children:"shift+option+f"}),". A prompt will appear asking which formatter you want to use. Select the ",(0,o.jsx)(n.code,{children:"ms-vscode.cpptools"})," we just installed."]}),"\n",(0,o.jsx)(n.h2,{id:"vscode-settings",children:"VSCode Settings"}),"\n",(0,o.jsxs)(n.p,{children:["To edit your settings in vscode, hit ",(0,o.jsx)(n.code,{children:"cmd+shift+p"})," and search for ",(0,o.jsx)(n.code,{children:"settings"}),". Select ",(0,o.jsx)(n.code,{children:"Preferences: Open User Settings (JSON)"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"I recommend the following settings:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsonc",children:'{\n // other settings...\n "files.autoSave": "onFocusChange", // Will save your files automatically when you change focus away from the editor\n "editor.formatOnSave": true // Will automatically format your code when your files are saved\n // other settings...\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>d,a:()=>c});var o=s(7294);const l={},i=o.createContext(l);function c(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0dade157.dcc56ad3.js b/assets/js/0dade157.dcc56ad3.js deleted file mode 100644 index 3a3a6a00..00000000 --- a/assets/js/0dade157.dcc56ad3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[9010],{6637:o=>{o.exports=JSON.parse('{"permalink":"/cs102-writeups/blog/tags/facebook","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/10d13a83.c9fe82ba.js b/assets/js/10d13a83.c9fe82ba.js new file mode 100644 index 00000000..66b3b60f --- /dev/null +++ b/assets/js/10d13a83.c9fe82ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[497],{5186:s=>{s.exports=JSON.parse('{"title":"In-Class Lab Notes","description":"Introduction to the new material needed for the labs.","slug":"/category/in-class-lab-notes","permalink":"/cs102-handbook/docs/category/in-class-lab-notes","navigation":{"previous":{"title":"CS102lings","permalink":"/cs102-handbook/docs/grading/cs102lings"},"next":{"title":"Bitset Notes","permalink":"/cs102-handbook/docs/in-class-lab-notes/bitset-notes"}}}')}}]); \ No newline at end of file diff --git a/assets/js/1aab6364.cb9b8ea6.js b/assets/js/1aab6364.cb9b8ea6.js new file mode 100644 index 00000000..3cc64b0b --- /dev/null +++ b/assets/js/1aab6364.cb9b8ea6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[6618],{1296:a=>{a.exports=JSON.parse('{"label":"facebook","permalink":"/cs102-handbook/blog/tags/facebook","allTagsPath":"/cs102-handbook/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/251a347c.db15c152.js b/assets/js/251a347c.db15c152.js new file mode 100644 index 00000000..ae4d6f0d --- /dev/null +++ b/assets/js/251a347c.db15c152.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[478],{4166:e=>{e.exports=JSON.parse('{"title":"Reference","description":"Information on how to get started in CS102 and useful tips/resources for the course.","slug":"/category/reference","permalink":"/cs102-handbook/docs/category/reference","navigation":{"previous":{"title":"SSH and SCP Tutorial","permalink":"/cs102-handbook/docs/tutorials/ssh-and-scp"},"next":{"title":"Common Unix/Linux & g++ Commands","permalink":"/cs102-handbook/docs/reference/common-linux-commands"}}}')}}]); \ No newline at end of file diff --git a/assets/js/25860ba2.8601199f.js b/assets/js/25860ba2.8601199f.js new file mode 100644 index 00000000..2f9221ca --- /dev/null +++ b/assets/js/25860ba2.8601199f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2284],{7236:e=>{e.exports=JSON.parse('{"title":"Debugging","description":"How to debug your programs","slug":"/category/debugging","permalink":"/cs102-handbook/docs/category/debugging","navigation":{"previous":{"title":"Speeding Ticket Calculator","permalink":"/cs102-handbook/docs/lab-walkthroughs/speeding-ticket-calculator"},"next":{"title":"Debugging Segmentation Faults","permalink":"/cs102-handbook/docs/debugging/segmentation-faults"}}}')}}]); \ No newline at end of file diff --git a/assets/js/3756ee02.7066cf43.js b/assets/js/3756ee02.7066cf43.js new file mode 100644 index 00000000..aae0013e --- /dev/null +++ b/assets/js/3756ee02.7066cf43.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7577],{1876:(n,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>g,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var e=t(5893),o=t(1151);const i={sidebar_position:2},r="CS102lings",a={id:"grading/cs102lings",title:"CS102lings",description:"A repository of CS102 lab templates and tests: cs102lings.",source:"@site/docs/grading/cs102lings.md",sourceDirName:"grading",slug:"/grading/cs102lings",permalink:"/cs102-handbook/docs/grading/cs102lings",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"Sidebar",previous:{title:"About Grading",permalink:"/cs102-handbook/docs/grading/about-grading"},next:{title:"In-Class Lab Notes",permalink:"/cs102-handbook/docs/category/in-class-lab-notes"}},c={},d=[];function l(n){const s={a:"a",h1:"h1",p:"p",...(0,o.a)(),...n.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(s.h1,{id:"cs102lings",children:"CS102lings"}),"\n",(0,e.jsxs)(s.p,{children:["A repository of CS102 lab templates and tests: ",(0,e.jsx)(s.a,{href:"https://github.com/utk-eecs-crumpton-tas/cs102lings",children:"cs102lings"}),"."]})]})}function g(n={}){const{wrapper:s}={...(0,o.a)(),...n.components};return s?(0,e.jsx)(s,{...n,children:(0,e.jsx)(l,{...n})}):l(n)}},1151:(n,s,t)=>{t.d(s,{Z:()=>a,a:()=>r});var e=t(7294);const o={},i=e.createContext(o);function r(n){const s=e.useContext(i);return e.useMemo((function(){return"function"==typeof n?n(s):{...s,...n}}),[s,n])}function a(n){let s;return s=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:r(n.components),e.createElement(i.Provider,{value:s},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/3756ee02.94f21be9.js b/assets/js/3756ee02.94f21be9.js deleted file mode 100644 index 3cd94ea4..00000000 --- a/assets/js/3756ee02.94f21be9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7577],{1876:(s,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var e=t(5893),i=t(1151);const o={sidebar_position:2},r="CS102lings",a={id:"grading/cs102lings",title:"CS102lings",description:"A repository of CS102 lab templates and tests: cs102lings.",source:"@site/docs/grading/cs102lings.md",sourceDirName:"grading",slug:"/grading/cs102lings",permalink:"/cs102-writeups/docs/grading/cs102lings",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"Sidebar",previous:{title:"About Grading",permalink:"/cs102-writeups/docs/grading/about-grading"},next:{title:"In-Class Lab Notes",permalink:"/cs102-writeups/docs/category/in-class-lab-notes"}},c={},l=[];function d(s){const n={a:"a",h1:"h1",p:"p",...(0,i.a)(),...s.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.h1,{id:"cs102lings",children:"CS102lings"}),"\n",(0,e.jsxs)(n.p,{children:["A repository of CS102 lab templates and tests: ",(0,e.jsx)(n.a,{href:"https://github.com/utk-eecs-crumpton-tas/cs102lings",children:"cs102lings"}),"."]})]})}function u(s={}){const{wrapper:n}={...(0,i.a)(),...s.components};return n?(0,e.jsx)(n,{...s,children:(0,e.jsx)(d,{...s})}):d(s)}},1151:(s,n,t)=>{t.d(n,{Z:()=>a,a:()=>r});var e=t(7294);const i={},o=e.createContext(i);function r(s){const n=e.useContext(o);return e.useMemo((function(){return"function"==typeof s?s(n):{...n,...s}}),[n,s])}function a(s){let n;return n=s.disableParentContext?"function"==typeof s.components?s.components(i):s.components||i:r(s.components),e.createElement(o.Provider,{value:n},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/3803d1ca.189cb983.js b/assets/js/3803d1ca.3cc8b6b8.js similarity index 99% rename from assets/js/3803d1ca.189cb983.js rename to assets/js/3803d1ca.3cc8b6b8.js index 1b76add1..08b41e7d 100644 --- a/assets/js/3803d1ca.189cb983.js +++ b/assets/js/3803d1ca.3cc8b6b8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[5853],{9355:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>h,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var s=i(5893),n=i(1151);const r={},h="BITSET",o={id:"lab-walkthroughs/bitset",title:"BITSET",description:"Work with bits and bitsets using bitwise operators.",source:"@site/docs/lab-walkthroughs/bitset.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/bitset",permalink:"/cs102-writeups/docs/lab-walkthroughs/bitset",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Lab Walkthroughs",permalink:"/cs102-writeups/docs/category/lab-walkthroughs"},next:{title:"Bowling",permalink:"/cs102-writeups/docs/lab-walkthroughs/bowling"}},l={},d=[{value:"The Lab",id:"the-lab",level:2},{value:"Background",id:"background",level:2},{value:"Bits & Bytes",id:"bits--bytes",level:3},{value:"Bitwise Operators",id:"bitwise-operators",level:3},{value:"Bitwise AND",id:"bitwise-and",level:4},{value:"Bitwise OR",id:"bitwise-or",level:4},{value:"Bitwise NOT",id:"bitwise-not",level:4},{value:"Bitshift Right",id:"bitshift-right",level:4},{value:"Bitshift Left",id:"bitshift-left",level:4},{value:"Bitmasking",id:"bitmasking",level:4},{value:"Examples",id:"examples",level:3},{value:"AND Example",id:"and-example",level:4},{value:"OR Example",id:"or-example",level:4},{value:"Bitshift Right Example",id:"bitshift-right-example",level:4},{value:"Bitshift Left Example",id:"bitshift-left-example",level:4},{value:"The Code",id:"the-code",level:2},{value:"Your Task",id:"your-task",level:3},{value:"Caveats",id:"caveats",level:4}];function a(e){const t={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"bitset",children:"BITSET"}),"\n",(0,s.jsx)(t.p,{children:"Work with bits and bitsets using bitwise operators."}),"\n",(0,s.jsx)(t.h2,{id:"the-lab",children:"The Lab"}),"\n",(0,s.jsxs)(t.p,{children:["In this lab, you'll develop a program that manipulates ",(0,s.jsx)(t.strong,{children:"bits"})," of integers belonging to a ",(0,s.jsx)(t.code,{children:"vector"}),". You should already know what bits are, vaguely at least, but I will cover them in depth in this write-up to help you with the lab. Skip ",(0,s.jsx)(t.a,{href:"#the-lab",children:"to this section"})," if you know all about bits/bitwise stuff or just don't want to read about it."]}),"\n",(0,s.jsx)(t.h2,{id:"background",children:"Background"}),"\n",(0,s.jsxs)(t.p,{children:["You can skip this section if you think you know what you're doing in terms of bits. But I HIGHLY recommend reading through it all thoroughly -- especially if you'll be taking 230 next year. Though you have already learned about these concepts in class. Skip to the ",(0,s.jsx)(t.a,{href:"#bitwise-operators",children:"Bitwise Operators"})," section and/or ",(0,s.jsx)(t.a,{href:"#examples",children:"Examples"})," for a briefer explanation."]}),"\n",(0,s.jsx)(t.h3,{id:"bits--bytes",children:"Bits & Bytes"}),"\n",(0,s.jsxs)(t.p,{children:["Every data type in your computer is stored in memory somehow. Where they're stored is not exactly important right now, but ",(0,s.jsx)(t.em,{children:"how they're stored"})," is. Each data type has a specific amount of ",(0,s.jsx)(t.strong,{children:"bytes"})," that it takes up. A single ",(0,s.jsx)(t.strong,{children:"byte"})," is a unit comprised of 8 ",(0,s.jsx)(t.strong,{children:"bits"}),". Similar to how a meter is 100 centimeters, a byte is 8 bits. Bits are the lowest level unit in computing and can be either ",(0,s.jsx)(t.code,{children:"0"})," or ",(0,s.jsx)(t.code,{children:"1"}),". A ",(0,s.jsx)(t.code,{children:"char"}),' for example is 1 byte. That means it is 8 bits. So how do we represent a single char using bits? Well, binary (the "language" that uses bits) is in ',(0,s.jsx)(t.strong,{children:"base-2"}),". The decimal system for example is in ",(0,s.jsx)(t.strong,{children:"base-10"}),". I'm not going to get too much into it, but just pay attention to this next part."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"0000 0000\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The sequence of bits above is 8 bits in total (usually we'll separate bits by every fourth bit just to make it cleaner) which means in total it makes up some form of data comprising one byte. A ",(0,s.jsx)(t.code,{children:"char"})," is one byte, so it could be represented by the above bits. If we chose to represent a ",(0,s.jsx)(t.code,{children:"char"})," using the bits above, it would be equal to the following ",(0,s.jsx)(t.code,{children:"\\0"}),". This is known as the null terminating character. For ",(0,s.jsx)(t.code,{children:"char"}),'s, there is a table that maps a specific decimal value to its "letter" representation. This is known as an ',(0,s.jsx)(t.a,{href:"https://www.asciitable.com/",children:"ASCII table"}),". If all bits in a byte are 0, then its decimal equivalent is just 0. So looking at the ASCII table I just linked, we can see what 0 maps to and then we will understand why the ",(0,s.jsx)(t.code,{children:"char"})," is ",(0,s.jsx)(t.code,{children:"\\0"}),". This is why a ",(0,s.jsx)(t.code,{children:"char"})," is one byte. The range of a typical ASCII table is ",(0,s.jsx)(t.code,{children:"[0, 127]"})," inclusive. If all 8 bits are ",(0,s.jsx)(t.strong,{children:"set"})," (more on this later), then the bits would look like"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"1111 1111\n"})}),"\n",(0,s.jsxs)(t.p,{children:["In this case, the decimal equivalent of those bits would be 255. A ",(0,s.jsx)(t.code,{children:"char"})," can only hold one byte of data, so the highest value it can contain is 255, right? Well actually, most ASCII characters are ",(0,s.jsx)(t.strong,{children:"unsigned"}),", which means they do not include negative numbers. A ",(0,s.jsx)(t.code,{children:"char"})," in C++ is implicitly signed. This means it can hold 127 ",(0,s.jsx)(t.strong,{children:"negative"})," values and 127 ",(0,s.jsx)(t.strong,{children:"positive"})," values. So now you should see that's where we get the range ",(0,s.jsx)(t.code,{children:"[0, 127]"})]}),"\n",(0,s.jsxs)(t.p,{children:["All of this is to say that you should understand every data type is just a certain amount of bytes, which is just a certain amount of sets of 8 bits. An ",(0,s.jsx)(t.code,{children:"int"})," is no different from a ",(0,s.jsx)(t.code,{children:"char"})," in terms of ",(0,s.jsx)(t.em,{children:"what"})," it stores at the binary level. The only difference between them to your computer is the amount of bytes each can hold. It's then up to the programming language to create rules that dictate what data types are comprised of and how they map into our reality. (e.g. ",(0,s.jsx)(t.code,{children:"char"})," is comprised of 1 byte and it maps to letters, ",(0,s.jsx)(t.code,{children:"int"})," is 4 bytes and it maps to integer values)"]}),"\n",(0,s.jsxs)(t.p,{children:["In this lab, you'll be working primarily with ",(0,s.jsx)(t.code,{children:"int"}),"s so let's discuss that. Here are some sequences of bits representing ",(0,s.jsx)(t.code,{children:"int"}),"s and their decimal equivalent"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Binary"}),(0,s.jsx)(t.th,{children:"Decimal"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})]}),(0,s.jsx)(t.td,{children:"0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0001"})]}),(0,s.jsx)(t.td,{children:"1"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0010"})]}),(0,s.jsx)(t.td,{children:"2"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0001"})," ",(0,s.jsx)(t.code,{children:"0000"})]}),(0,s.jsx)(t.td,{children:"16"})]})]})]}),"\n",(0,s.jsxs)(t.p,{children:["The pattern here is 2 to the power of the ",(0,s.jsx)(t.strong,{children:"set"})," bit's index. A ",(0,s.jsx)(t.strong,{children:"set"})," bit is just a bit that is 1 instead of 0. That will give you the decimal equivalent of the binary representation. If there are more than 1 set of bits, then you just need to calculate that bit's value individually and then add up all of the values. So if you have ",(0,s.jsx)(t.code,{children:"int == 3"}),", it would look like"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"0000 0000 0000 0000 0000 0000 0000 0011\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The first bit's index is 0, and it is set. So ",(0,s.jsx)(t.code,{children:"2^0 == 1"}),". Then the second bit is also set, and its index is 1. So ",(0,s.jsx)(t.code,{children:"2^1"})," is ",(0,s.jsx)(t.code,{children:"2"}),". ",(0,s.jsx)(t.code,{children:"2 + 1 == 3"}),", which is how we calculate the value."]}),"\n",(0,s.jsx)(t.h3,{id:"bitwise-operators",children:"Bitwise Operators"}),"\n",(0,s.jsxs)(t.p,{children:["The task you've been given for this lab is to manipulate the bits of integers using ",(0,s.jsx)(t.strong,{children:"bitwise operators"}),". Bitwise operators are similar to regular operators like ",(0,s.jsx)(t.code,{children:"+"}),", ",(0,s.jsx)(t.code,{children:"-"}),", ",(0,s.jsx)(t.code,{children:"*"}),", ",(0,s.jsx)(t.code,{children:"/"}),", etc., except they work at the bit level and have slightly different rules."]}),"\n",(0,s.jsx)(t.p,{children:"Keep in mind that every bitwise operator can be mixed and matched with each other just like you would normal arithmetic. You can get creative with them, and you'll have to be a bit creative to solve some of this lab."}),"\n",(0,s.jsx)(t.p,{children:"Here are the following bitwise operators you'll be working with for C++"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Operator"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"&"})}),(0,s.jsx)(t.td,{children:"bitwise AND operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"|"})}),(0,s.jsx)(t.td,{children:"bitwise OR operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"~"})}),(0,s.jsx)(t.td,{children:"bitwise NOT operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:">>"})}),(0,s.jsx)(t.td,{children:"bitshift right operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"<<"})}),(0,s.jsx)(t.td,{children:"bitshift left operator"})]})]})]}),"\n",(0,s.jsxs)(t.p,{children:["Ignoring what these do for now, similar to an expression ",(0,s.jsx)(t.code,{children:"a + 3"})," in C++, ",(0,s.jsx)(t.code,{children:"a & 3"})," does not modify ",(0,s.jsx)(t.code,{children:"a"}),". It hasn't been stored anywhere. You'd have to do ",(0,s.jsx)(t.code,{children:"a += 3"})," to modify ",(0,s.jsx)(t.code,{children:"a"})," itself. It's the same with bitwise operators ",(0,s.jsx)(t.code,{children:"a &= 3"}),"."]}),"\n",(0,s.jsx)(t.h4,{id:"bitwise-and",children:"Bitwise AND"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"&"})," -- ",(0,s.jsx)(t.code,{children:"left & right"})," where each bit from ",(0,s.jsx)(t.code,{children:"right"})," is ",(0,s.jsx)(t.em,{children:"tested"})," against each bit from ",(0,s.jsx)(t.code,{children:"left"}),". If both bits are 1, then the resulting bit is 1. Otherwise, the resulting bit is 0 and ",(0,s.jsx)(t.code,{children:"result = left & right"})," would be the result of testing each bit from right to left e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001\n 1100 0010 &\n-------------\n= 0100 0000\n"})}),"\n",(0,s.jsx)(t.h4,{id:"bitwise-or",children:"Bitwise OR"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"|"})," -- ",(0,s.jsx)(t.code,{children:"left | right"})," where each bit from ",(0,s.jsx)(t.code,{children:"right"})," is ",(0,s.jsx)(t.em,{children:"set"})," by each bit from ",(0,s.jsx)(t.code,{children:"left"}),". If either bit is 1, then the resulting bit is 1. Otherwise, the resulting bit is 0 and ",(0,s.jsx)(t.code,{children:"result = left | right"})," would be the result of setting each bit from right to left e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001\n 1100 0010 |\n-------------\n= 1100 0011\n"})}),"\n",(0,s.jsx)(t.h4,{id:"bitwise-not",children:"Bitwise NOT"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"~"})," -- ",(0,s.jsx)(t.code,{children:"~a"})," where each bit from ",(0,s.jsx)(t.code,{children:"a"})," is ",(0,s.jsx)(t.em,{children:"flipped"}),". If the bit is 1, then the resulting bit is 0. If the bit is 0, then the resulting bit is 1 and ",(0,s.jsx)(t.code,{children:"result = ~left"})," would be the result of flipping each bit from right to left e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001 ~\n-------------\n= 1011 1110\n"})}),"\n",(0,s.jsx)(t.h4,{id:"bitshift-right",children:"Bitshift Right"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:">>"})," -- ",(0,s.jsx)(t.code,{children:"a >> amount"})," shift ",(0,s.jsx)(t.code,{children:"a"}),"'s bits to the right ",(0,s.jsx)(t.code,{children:"amount"})," times. However many times a number is shifted, that amount of bits gets ejected from the sequence to the right, and that same amount of bits gets inserted to the left of the sequence as 0's e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001 >> 3\n----------------\n= 0000 1000\n"})}),"\n",(0,s.jsx)(t.p,{children:"Chop 3 bits off the right, and insert 3 0's on the left"}),"\n",(0,s.jsx)(t.h4,{id:"bitshift-left",children:"Bitshift Left"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"<<"})," -- ",(0,s.jsx)(t.code,{children:"a << amount"})," shift ",(0,s.jsx)(t.code,{children:"a"}),"'s bits to the left ",(0,s.jsx)(t.code,{children:"amount"})," times. However many times a number is shifted, that amount of bits gets ejected from the sequence to the left, and that same amount of bits gets inserted to the right of the sequence as 0's e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001 << 3\n----------------\n= 0000 1000\n"})}),"\n",(0,s.jsx)(t.p,{children:"Chop 3 bits off the left, and insert 3 0's on the right"}),"\n",(0,s.jsx)(t.h4,{id:"bitmasking",children:"Bitmasking"}),"\n",(0,s.jsxs)(t.p,{children:["Before showing you some examples, you should understand the concept of ",(0,s.jsx)(t.strong,{children:"bit-masking"}),". All the bitwise operators I've shown you so far (except for the shift ones) are applied to every bit within a given data type. With the following code"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-cpp",children:"int a = 8;\nint b = 2;\nint result = a & b;\n// result == 0\n"})}),"\n",(0,s.jsxs)(t.p,{children:["All of the bits in ",(0,s.jsx)(t.code,{children:"a"})," are tested against all the bits in ",(0,s.jsx)(t.code,{children:"b"}),". Their bits look like"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"a == 0000 0000 0000 0000 0000 0000 0000 1000\n"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"b == 0000 0000 0000 0000 0000 0000 0000 0010\n"})}),"\n",(0,s.jsxs)(t.p,{children:["And the result of ",(0,s.jsx)(t.code,{children:"a & b"})," looks like"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"result == 0000 0000 0000 0000 0000 0000 0000 0000\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Each bit index of ",(0,s.jsx)(t.code,{children:"a"})," is ",(0,s.jsx)(t.code,{children:"&"}),"'d against each corresponding bit index of ",(0,s.jsx)(t.code,{children:"b"}),". You'll notice that none of the bits from ",(0,s.jsx)(t.code,{children:"a"})," line up with ",(0,s.jsx)(t.code,{children:"b"})," so that it ever does ",(0,s.jsx)(t.code,{children:"1 & 1"}),", therefore the result for every bit in ",(0,s.jsx)(t.code,{children:"a & b"})," is 0, and so the final value of the ",(0,s.jsx)(t.code,{children:"result"})," is 0."]}),"\n",(0,s.jsxs)(t.p,{children:["As you can see from the example above, there's no real purpose in just ANDing two random values. This is where ",(0,s.jsx)(t.strong,{children:"bitmasks"})," come in. A bit mask is just a number that we'll use for specific purposes when using bitwise operations against a specific value. So in the example above, instead of using ",(0,s.jsx)(t.code,{children:"2"})," for ",(0,s.jsx)(t.code,{children:"b"}),", we would replace ",(0,s.jsx)(t.code,{children:"b"})," with a value that we intend to AND against be for a specific purpose. So if we wanted to test whether or not the 4th bit of ",(0,s.jsx)(t.code,{children:"a"})," was set for example, then we should set ",(0,s.jsx)(t.code,{children:"b"})," equal to a value that will return some non-zero number when using AND between ",(0,s.jsx)(t.code,{children:"a"})," and ",(0,s.jsx)(t.code,{children:"b"}),". So making ",(0,s.jsx)(t.code,{children:"b"}),' a "bitmask" to do this, we just do']}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"a == 0000 0000 0000 0000 0000 0000 0000 1000\n"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"b == 0000 0000 0000 0000 0000 0000 0000 1000\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Now when we do ",(0,s.jsx)(t.code,{children:"a & b"}),", the result will be ",(0,s.jsx)(t.code,{children:"8"}),". The example is a bit contrived, but hopefully, that shows what a bitmask is and why you would want to use one. You curate a bitmask for whatever problem you're trying to solve, and then you test that bitmask against a specific value you're analyzing using any one of the bitwise operations that make sense."]}),"\n",(0,s.jsx)(t.h3,{id:"examples",children:"Examples"}),"\n",(0,s.jsxs)(t.p,{children:["I'm going to show some examples here so you understand what's happening at both the bit and the decimal level using each bitwise operator listed above in C++. (You can edit the following snippets and their inputs however you want and run the code yourself ",(0,s.jsx)(t.strong,{children:"in the browser"}),", btw)"]}),"\n",(0,s.jsx)(t.h4,{id:"and-example",children:"AND Example"}),"\n",(0,s.jsx)("iframe",{frameBorder:"0",height:"450px",src:"https://onecompiler.com/embed/cpp/3xxnk5z7r?hideTitle=true&hideLanguageSelection=true&hideNew=true&hideNewFileOption=true&theme=dark",width:"100%"}),"\n",(0,s.jsx)(t.h4,{id:"or-example",children:"OR Example"}),"\n",(0,s.jsxs)(t.p,{children:["Notice that the result does not change for any input to value ",(0,s.jsx)(t.code,{children:"a"})," less than 255. It compares every set bit from value ",(0,s.jsx)(t.code,{children:"b"})," (255 is ",(0,s.jsx)(t.code,{children:"1111 1111"}),", so 8 bits of it are set) and then ORs that with whatever ",(0,s.jsx)(t.code,{children:"a"})," is."]}),"\n",(0,s.jsx)("iframe",{frameBorder:"0",height:"450px",src:"https://onecompiler.com/embed/cpp/3xxnntqz5?hideTitle=true&hideLanguageSelection=true&hideNew=true&hideNewFileOption=true&theme=dark",width:"100%"}),"\n",(0,s.jsx)(t.h4,{id:"bitshift-right-example",children:"Bitshift Right Example"}),"\n",(0,s.jsxs)(t.p,{children:["Notice that however many times an integer is shifted right, the resulting integer is ",(0,s.jsx)(t.code,{children:"original_number / 2^shiftamnt"}),'. If the resulting integer is something like 1.6, the decimal is "truncated", (rounded down basically), so ',(0,s.jsx)(t.code,{children:"17 >> 1"})," would just be 8."]}),"\n",(0,s.jsx)("iframe",{frameBorder:"0",height:"450px",src:"https://onecompiler.com/embed/cpp/3xxnngh2j?hideTitle=true&hideLanguageSelection=true&hideNew=true&hideNewFileOption=true&theme=dark",width:"100%"}),"\n",(0,s.jsx)(t.h4,{id:"bitshift-left-example",children:"Bitshift Left Example"}),"\n",(0,s.jsxs)(t.p,{children:["The behavior for this is the same as bitshift right, but instead the resulting integer in this case is ",(0,s.jsx)(t.code,{children:"original_number * 2^shiftamnt"}),"."]}),"\n",(0,s.jsx)("iframe",{frameBorder:"0",height:"450px",src:"https://onecompiler.com/embed/cpp/3ym378bjv?hideNew=true&hideLanguageSelection=true&hideTitle=true&hideNewFileOption=true&theme=dark",width:"100%"}),"\n",(0,s.jsx)(t.p,{children:"Hopefully, all of this gives you an idea of how to use each operator and what their functions are."}),"\n",(0,s.jsxs)(t.p,{children:["The examples above are a bit contrived so you can think for yourself during the actual lab. (Hint: You will be using a combination of a bitmask, shifting, and ",(0,s.jsx)(t.code,{children:"&"}),"/",(0,s.jsx)(t.code,{children:"|"})," for most of the lab)"]}),"\n",(0,s.jsx)(t.h2,{id:"the-code",children:"The Code"}),"\n",(0,s.jsxs)(t.p,{children:["This lab implements a ",(0,s.jsx)(t.code,{children:"BITSET"})," class that allows you to create sets of integers that are represented as bitsets. The gist of the lab is that you will have a ",(0,s.jsx)(t.code,{children:"vector"})," containing a variable amount of ",(0,s.jsx)(t.code,{children:"int"}),"s that represent a bitset, which is simply the bit representation of a number. Luckily, the ",(0,s.jsx)(t.code,{children:"BITSET"})," class is mostly implemented for you, so you just have to focus on writing a few functions here and there."]}),"\n",(0,s.jsxs)(t.p,{children:["More specifically, it's important to understand that each ",(0,s.jsx)(t.code,{children:"mSets"})," element is an integer that you will perform bitwise operations on based on a given"]}),"\n",(0,s.jsx)(t.h3,{id:"your-task",children:"Your Task"}),"\n",(0,s.jsx)(t.p,{children:"All you have to do is complete the parts of the code that are commented as"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"// TODO: ...\n"})}),"\n",(0,s.jsx)(t.p,{children:"The big parts are the functions. I've listed the functions here for you to reference. The order they are listed in is the order you should implement them in."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-cpp",children:'ToBinary(int bit_set, int spacing) // returns a string representation of bitset with a space every spacing bits from *left to right*\nBITSET::GetNumSets() // returns the number of sets in the BITSET object. This is just the size of the vector containing the int\'s\nBITSET::GetSet(int index) // returns the int from mSets at index\nBITSET::Test(int index) // "tests" (compares a bit like "bit & 1") the bit at index and returns true/false accordingly\nBITSET::Set(int index) // "sets" (flips a bit from 0 to 1) the bit at index. Returns nothing.\nBITSET::Clear(int index) // "clears" (flips a bit to 0) the bit at index. Returns nothing.\n'})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.a,{href:"#bitwise-or",children:["Hint for ",(0,s.jsx)(t.code,{children:"BITSET::Set()"})]})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.a,{href:"#bitwise-and",children:["Hint for ",(0,s.jsx)(t.code,{children:"BITSET::Test()"})]})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.a,{href:"#bitmasking",children:["Hint for ",(0,s.jsx)(t.code,{children:"BITSET::Clear()"})]})}),"\n",(0,s.jsx)(t.h4,{id:"caveats",children:"Caveats"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"BITSET:GetSet()"})," should return 0 if the index given is out of the bounds of ",(0,s.jsx)(t.code,{children:"mSets"}),". This is because the ",(0,s.jsx)(t.code,{children:"BITSET"})," class is meant to be able to hold a variable amount of integers, and if you try to access an index that doesn't exist, it should just return 0."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"BITSET::Set()"})," should ",(0,s.jsx)(t.em,{children:"increase"})," the number of bitsets in your ",(0,s.jsx)(t.code,{children:"mSets"})," vector accordingly. If you set the 32nd bit, then you should have 2 sets in your ",(0,s.jsx)(t.code,{children:"mSets"})," vector (each ",(0,s.jsx)(t.code,{children:"int"})," goes from 0th - 31st bit -- 32 bits total). The first set should be ",(0,s.jsx)(t.code,{children:"0"})," and the second set should be ",(0,s.jsx)(t.code,{children:"1"}),". If you set the 66th bit, then you should have 3 sets in your ",(0,s.jsx)(t.code,{children:"mSets"})," vector. The first set should be ",(0,s.jsx)(t.code,{children:"0"}),", the second set should be ",(0,s.jsx)(t.code,{children:"0"}),", and the third set should be ",(0,s.jsx)(t.code,{children:"4"}),". And so on. Even if your ",(0,s.jsx)(t.code,{children:"mSets"})," vector is empty, if the user sets the 66th bit, then the vector should resize until it can sufficiently hold the 66th bit. (There are 32 bits in an ",(0,s.jsx)(t.code,{children:"int"})," in C++ on most systems, so you'll need 3 ",(0,s.jsx)(t.code,{children:"int"}),"s to reach the 66 bits)"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"BITSET::Clear()"})," likewise, should ",(0,s.jsx)(t.em,{children:"decrease"})," the number of ",(0,s.jsx)(t.code,{children:"int"}),"s in your ",(0,s.jsx)(t.code,{children:"mSets"}),' vector. More specifically, it should "truncate" the vector to the smallest amount of ',(0,s.jsx)(t.code,{children:"int"}),"s that can hold all of the bits that are set. In other words, starting from the end of the vector, remove every element that is 0 until you reach a non-zero ",(0,s.jsx)(t.code,{children:"int"}),". So if your ",(0,s.jsx)(t.code,{children:"mSets"})," vector looks like this:"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"{ 1, 6, 9, 0, 0, 0, 1 }\n"})}),"\n",(0,s.jsx)(t.p,{children:"The highest set bit is the 192nd bit here (starting from 0). If you clear the 192nd bit, then the vector should look like this:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"{ 1, 6, 9 }\n"})}),"\n",(0,s.jsx)(t.p,{children:"Notice all 0-elements between any non-zero elements are removed."})]})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},1151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>h});var s=i(7294);const n={},r=s.createContext(n);function h(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:h(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[5853],{9355:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>h,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var s=i(5893),n=i(1151);const r={},h="BITSET",o={id:"lab-walkthroughs/bitset",title:"BITSET",description:"Work with bits and bitsets using bitwise operators.",source:"@site/docs/lab-walkthroughs/bitset.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/bitset",permalink:"/cs102-handbook/docs/lab-walkthroughs/bitset",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Lab Walkthroughs",permalink:"/cs102-handbook/docs/category/lab-walkthroughs"},next:{title:"Bowling",permalink:"/cs102-handbook/docs/lab-walkthroughs/bowling"}},l={},d=[{value:"The Lab",id:"the-lab",level:2},{value:"Background",id:"background",level:2},{value:"Bits & Bytes",id:"bits--bytes",level:3},{value:"Bitwise Operators",id:"bitwise-operators",level:3},{value:"Bitwise AND",id:"bitwise-and",level:4},{value:"Bitwise OR",id:"bitwise-or",level:4},{value:"Bitwise NOT",id:"bitwise-not",level:4},{value:"Bitshift Right",id:"bitshift-right",level:4},{value:"Bitshift Left",id:"bitshift-left",level:4},{value:"Bitmasking",id:"bitmasking",level:4},{value:"Examples",id:"examples",level:3},{value:"AND Example",id:"and-example",level:4},{value:"OR Example",id:"or-example",level:4},{value:"Bitshift Right Example",id:"bitshift-right-example",level:4},{value:"Bitshift Left Example",id:"bitshift-left-example",level:4},{value:"The Code",id:"the-code",level:2},{value:"Your Task",id:"your-task",level:3},{value:"Caveats",id:"caveats",level:4}];function a(e){const t={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"bitset",children:"BITSET"}),"\n",(0,s.jsx)(t.p,{children:"Work with bits and bitsets using bitwise operators."}),"\n",(0,s.jsx)(t.h2,{id:"the-lab",children:"The Lab"}),"\n",(0,s.jsxs)(t.p,{children:["In this lab, you'll develop a program that manipulates ",(0,s.jsx)(t.strong,{children:"bits"})," of integers belonging to a ",(0,s.jsx)(t.code,{children:"vector"}),". You should already know what bits are, vaguely at least, but I will cover them in depth in this write-up to help you with the lab. Skip ",(0,s.jsx)(t.a,{href:"#the-lab",children:"to this section"})," if you know all about bits/bitwise stuff or just don't want to read about it."]}),"\n",(0,s.jsx)(t.h2,{id:"background",children:"Background"}),"\n",(0,s.jsxs)(t.p,{children:["You can skip this section if you think you know what you're doing in terms of bits. But I HIGHLY recommend reading through it all thoroughly -- especially if you'll be taking 230 next year. Though you have already learned about these concepts in class. Skip to the ",(0,s.jsx)(t.a,{href:"#bitwise-operators",children:"Bitwise Operators"})," section and/or ",(0,s.jsx)(t.a,{href:"#examples",children:"Examples"})," for a briefer explanation."]}),"\n",(0,s.jsx)(t.h3,{id:"bits--bytes",children:"Bits & Bytes"}),"\n",(0,s.jsxs)(t.p,{children:["Every data type in your computer is stored in memory somehow. Where they're stored is not exactly important right now, but ",(0,s.jsx)(t.em,{children:"how they're stored"})," is. Each data type has a specific amount of ",(0,s.jsx)(t.strong,{children:"bytes"})," that it takes up. A single ",(0,s.jsx)(t.strong,{children:"byte"})," is a unit comprised of 8 ",(0,s.jsx)(t.strong,{children:"bits"}),". Similar to how a meter is 100 centimeters, a byte is 8 bits. Bits are the lowest level unit in computing and can be either ",(0,s.jsx)(t.code,{children:"0"})," or ",(0,s.jsx)(t.code,{children:"1"}),". A ",(0,s.jsx)(t.code,{children:"char"}),' for example is 1 byte. That means it is 8 bits. So how do we represent a single char using bits? Well, binary (the "language" that uses bits) is in ',(0,s.jsx)(t.strong,{children:"base-2"}),". The decimal system for example is in ",(0,s.jsx)(t.strong,{children:"base-10"}),". I'm not going to get too much into it, but just pay attention to this next part."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"0000 0000\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The sequence of bits above is 8 bits in total (usually we'll separate bits by every fourth bit just to make it cleaner) which means in total it makes up some form of data comprising one byte. A ",(0,s.jsx)(t.code,{children:"char"})," is one byte, so it could be represented by the above bits. If we chose to represent a ",(0,s.jsx)(t.code,{children:"char"})," using the bits above, it would be equal to the following ",(0,s.jsx)(t.code,{children:"\\0"}),". This is known as the null terminating character. For ",(0,s.jsx)(t.code,{children:"char"}),'s, there is a table that maps a specific decimal value to its "letter" representation. This is known as an ',(0,s.jsx)(t.a,{href:"https://www.asciitable.com/",children:"ASCII table"}),". If all bits in a byte are 0, then its decimal equivalent is just 0. So looking at the ASCII table I just linked, we can see what 0 maps to and then we will understand why the ",(0,s.jsx)(t.code,{children:"char"})," is ",(0,s.jsx)(t.code,{children:"\\0"}),". This is why a ",(0,s.jsx)(t.code,{children:"char"})," is one byte. The range of a typical ASCII table is ",(0,s.jsx)(t.code,{children:"[0, 127]"})," inclusive. If all 8 bits are ",(0,s.jsx)(t.strong,{children:"set"})," (more on this later), then the bits would look like"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"1111 1111\n"})}),"\n",(0,s.jsxs)(t.p,{children:["In this case, the decimal equivalent of those bits would be 255. A ",(0,s.jsx)(t.code,{children:"char"})," can only hold one byte of data, so the highest value it can contain is 255, right? Well actually, most ASCII characters are ",(0,s.jsx)(t.strong,{children:"unsigned"}),", which means they do not include negative numbers. A ",(0,s.jsx)(t.code,{children:"char"})," in C++ is implicitly signed. This means it can hold 127 ",(0,s.jsx)(t.strong,{children:"negative"})," values and 127 ",(0,s.jsx)(t.strong,{children:"positive"})," values. So now you should see that's where we get the range ",(0,s.jsx)(t.code,{children:"[0, 127]"})]}),"\n",(0,s.jsxs)(t.p,{children:["All of this is to say that you should understand every data type is just a certain amount of bytes, which is just a certain amount of sets of 8 bits. An ",(0,s.jsx)(t.code,{children:"int"})," is no different from a ",(0,s.jsx)(t.code,{children:"char"})," in terms of ",(0,s.jsx)(t.em,{children:"what"})," it stores at the binary level. The only difference between them to your computer is the amount of bytes each can hold. It's then up to the programming language to create rules that dictate what data types are comprised of and how they map into our reality. (e.g. ",(0,s.jsx)(t.code,{children:"char"})," is comprised of 1 byte and it maps to letters, ",(0,s.jsx)(t.code,{children:"int"})," is 4 bytes and it maps to integer values)"]}),"\n",(0,s.jsxs)(t.p,{children:["In this lab, you'll be working primarily with ",(0,s.jsx)(t.code,{children:"int"}),"s so let's discuss that. Here are some sequences of bits representing ",(0,s.jsx)(t.code,{children:"int"}),"s and their decimal equivalent"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Binary"}),(0,s.jsx)(t.th,{children:"Decimal"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})]}),(0,s.jsx)(t.td,{children:"0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0001"})]}),(0,s.jsx)(t.td,{children:"1"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0010"})]}),(0,s.jsx)(t.td,{children:"2"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0000"})," ",(0,s.jsx)(t.code,{children:"0001"})," ",(0,s.jsx)(t.code,{children:"0000"})]}),(0,s.jsx)(t.td,{children:"16"})]})]})]}),"\n",(0,s.jsxs)(t.p,{children:["The pattern here is 2 to the power of the ",(0,s.jsx)(t.strong,{children:"set"})," bit's index. A ",(0,s.jsx)(t.strong,{children:"set"})," bit is just a bit that is 1 instead of 0. That will give you the decimal equivalent of the binary representation. If there are more than 1 set of bits, then you just need to calculate that bit's value individually and then add up all of the values. So if you have ",(0,s.jsx)(t.code,{children:"int == 3"}),", it would look like"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"0000 0000 0000 0000 0000 0000 0000 0011\n"})}),"\n",(0,s.jsxs)(t.p,{children:["The first bit's index is 0, and it is set. So ",(0,s.jsx)(t.code,{children:"2^0 == 1"}),". Then the second bit is also set, and its index is 1. So ",(0,s.jsx)(t.code,{children:"2^1"})," is ",(0,s.jsx)(t.code,{children:"2"}),". ",(0,s.jsx)(t.code,{children:"2 + 1 == 3"}),", which is how we calculate the value."]}),"\n",(0,s.jsx)(t.h3,{id:"bitwise-operators",children:"Bitwise Operators"}),"\n",(0,s.jsxs)(t.p,{children:["The task you've been given for this lab is to manipulate the bits of integers using ",(0,s.jsx)(t.strong,{children:"bitwise operators"}),". Bitwise operators are similar to regular operators like ",(0,s.jsx)(t.code,{children:"+"}),", ",(0,s.jsx)(t.code,{children:"-"}),", ",(0,s.jsx)(t.code,{children:"*"}),", ",(0,s.jsx)(t.code,{children:"/"}),", etc., except they work at the bit level and have slightly different rules."]}),"\n",(0,s.jsx)(t.p,{children:"Keep in mind that every bitwise operator can be mixed and matched with each other just like you would normal arithmetic. You can get creative with them, and you'll have to be a bit creative to solve some of this lab."}),"\n",(0,s.jsx)(t.p,{children:"Here are the following bitwise operators you'll be working with for C++"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Operator"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"&"})}),(0,s.jsx)(t.td,{children:"bitwise AND operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"|"})}),(0,s.jsx)(t.td,{children:"bitwise OR operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"~"})}),(0,s.jsx)(t.td,{children:"bitwise NOT operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:">>"})}),(0,s.jsx)(t.td,{children:"bitshift right operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"<<"})}),(0,s.jsx)(t.td,{children:"bitshift left operator"})]})]})]}),"\n",(0,s.jsxs)(t.p,{children:["Ignoring what these do for now, similar to an expression ",(0,s.jsx)(t.code,{children:"a + 3"})," in C++, ",(0,s.jsx)(t.code,{children:"a & 3"})," does not modify ",(0,s.jsx)(t.code,{children:"a"}),". It hasn't been stored anywhere. You'd have to do ",(0,s.jsx)(t.code,{children:"a += 3"})," to modify ",(0,s.jsx)(t.code,{children:"a"})," itself. It's the same with bitwise operators ",(0,s.jsx)(t.code,{children:"a &= 3"}),"."]}),"\n",(0,s.jsx)(t.h4,{id:"bitwise-and",children:"Bitwise AND"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"&"})," -- ",(0,s.jsx)(t.code,{children:"left & right"})," where each bit from ",(0,s.jsx)(t.code,{children:"right"})," is ",(0,s.jsx)(t.em,{children:"tested"})," against each bit from ",(0,s.jsx)(t.code,{children:"left"}),". If both bits are 1, then the resulting bit is 1. Otherwise, the resulting bit is 0 and ",(0,s.jsx)(t.code,{children:"result = left & right"})," would be the result of testing each bit from right to left e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001\n 1100 0010 &\n-------------\n= 0100 0000\n"})}),"\n",(0,s.jsx)(t.h4,{id:"bitwise-or",children:"Bitwise OR"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"|"})," -- ",(0,s.jsx)(t.code,{children:"left | right"})," where each bit from ",(0,s.jsx)(t.code,{children:"right"})," is ",(0,s.jsx)(t.em,{children:"set"})," by each bit from ",(0,s.jsx)(t.code,{children:"left"}),". If either bit is 1, then the resulting bit is 1. Otherwise, the resulting bit is 0 and ",(0,s.jsx)(t.code,{children:"result = left | right"})," would be the result of setting each bit from right to left e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001\n 1100 0010 |\n-------------\n= 1100 0011\n"})}),"\n",(0,s.jsx)(t.h4,{id:"bitwise-not",children:"Bitwise NOT"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"~"})," -- ",(0,s.jsx)(t.code,{children:"~a"})," where each bit from ",(0,s.jsx)(t.code,{children:"a"})," is ",(0,s.jsx)(t.em,{children:"flipped"}),". If the bit is 1, then the resulting bit is 0. If the bit is 0, then the resulting bit is 1 and ",(0,s.jsx)(t.code,{children:"result = ~left"})," would be the result of flipping each bit from right to left e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001 ~\n-------------\n= 1011 1110\n"})}),"\n",(0,s.jsx)(t.h4,{id:"bitshift-right",children:"Bitshift Right"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:">>"})," -- ",(0,s.jsx)(t.code,{children:"a >> amount"})," shift ",(0,s.jsx)(t.code,{children:"a"}),"'s bits to the right ",(0,s.jsx)(t.code,{children:"amount"})," times. However many times a number is shifted, that amount of bits gets ejected from the sequence to the right, and that same amount of bits gets inserted to the left of the sequence as 0's e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001 >> 3\n----------------\n= 0000 1000\n"})}),"\n",(0,s.jsx)(t.p,{children:"Chop 3 bits off the right, and insert 3 0's on the left"}),"\n",(0,s.jsx)(t.h4,{id:"bitshift-left",children:"Bitshift Left"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"<<"})," -- ",(0,s.jsx)(t.code,{children:"a << amount"})," shift ",(0,s.jsx)(t.code,{children:"a"}),"'s bits to the left ",(0,s.jsx)(t.code,{children:"amount"})," times. However many times a number is shifted, that amount of bits gets ejected from the sequence to the left, and that same amount of bits gets inserted to the right of the sequence as 0's e.g."]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:" 0100 0001 << 3\n----------------\n= 0000 1000\n"})}),"\n",(0,s.jsx)(t.p,{children:"Chop 3 bits off the left, and insert 3 0's on the right"}),"\n",(0,s.jsx)(t.h4,{id:"bitmasking",children:"Bitmasking"}),"\n",(0,s.jsxs)(t.p,{children:["Before showing you some examples, you should understand the concept of ",(0,s.jsx)(t.strong,{children:"bit-masking"}),". All the bitwise operators I've shown you so far (except for the shift ones) are applied to every bit within a given data type. With the following code"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-cpp",children:"int a = 8;\nint b = 2;\nint result = a & b;\n// result == 0\n"})}),"\n",(0,s.jsxs)(t.p,{children:["All of the bits in ",(0,s.jsx)(t.code,{children:"a"})," are tested against all the bits in ",(0,s.jsx)(t.code,{children:"b"}),". Their bits look like"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"a == 0000 0000 0000 0000 0000 0000 0000 1000\n"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"b == 0000 0000 0000 0000 0000 0000 0000 0010\n"})}),"\n",(0,s.jsxs)(t.p,{children:["And the result of ",(0,s.jsx)(t.code,{children:"a & b"})," looks like"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"result == 0000 0000 0000 0000 0000 0000 0000 0000\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Each bit index of ",(0,s.jsx)(t.code,{children:"a"})," is ",(0,s.jsx)(t.code,{children:"&"}),"'d against each corresponding bit index of ",(0,s.jsx)(t.code,{children:"b"}),". You'll notice that none of the bits from ",(0,s.jsx)(t.code,{children:"a"})," line up with ",(0,s.jsx)(t.code,{children:"b"})," so that it ever does ",(0,s.jsx)(t.code,{children:"1 & 1"}),", therefore the result for every bit in ",(0,s.jsx)(t.code,{children:"a & b"})," is 0, and so the final value of the ",(0,s.jsx)(t.code,{children:"result"})," is 0."]}),"\n",(0,s.jsxs)(t.p,{children:["As you can see from the example above, there's no real purpose in just ANDing two random values. This is where ",(0,s.jsx)(t.strong,{children:"bitmasks"})," come in. A bit mask is just a number that we'll use for specific purposes when using bitwise operations against a specific value. So in the example above, instead of using ",(0,s.jsx)(t.code,{children:"2"})," for ",(0,s.jsx)(t.code,{children:"b"}),", we would replace ",(0,s.jsx)(t.code,{children:"b"})," with a value that we intend to AND against be for a specific purpose. So if we wanted to test whether or not the 4th bit of ",(0,s.jsx)(t.code,{children:"a"})," was set for example, then we should set ",(0,s.jsx)(t.code,{children:"b"})," equal to a value that will return some non-zero number when using AND between ",(0,s.jsx)(t.code,{children:"a"})," and ",(0,s.jsx)(t.code,{children:"b"}),". So making ",(0,s.jsx)(t.code,{children:"b"}),' a "bitmask" to do this, we just do']}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"a == 0000 0000 0000 0000 0000 0000 0000 1000\n"})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"b == 0000 0000 0000 0000 0000 0000 0000 1000\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Now when we do ",(0,s.jsx)(t.code,{children:"a & b"}),", the result will be ",(0,s.jsx)(t.code,{children:"8"}),". The example is a bit contrived, but hopefully, that shows what a bitmask is and why you would want to use one. You curate a bitmask for whatever problem you're trying to solve, and then you test that bitmask against a specific value you're analyzing using any one of the bitwise operations that make sense."]}),"\n",(0,s.jsx)(t.h3,{id:"examples",children:"Examples"}),"\n",(0,s.jsxs)(t.p,{children:["I'm going to show some examples here so you understand what's happening at both the bit and the decimal level using each bitwise operator listed above in C++. (You can edit the following snippets and their inputs however you want and run the code yourself ",(0,s.jsx)(t.strong,{children:"in the browser"}),", btw)"]}),"\n",(0,s.jsx)(t.h4,{id:"and-example",children:"AND Example"}),"\n",(0,s.jsx)("iframe",{frameBorder:"0",height:"450px",src:"https://onecompiler.com/embed/cpp/3xxnk5z7r?hideTitle=true&hideLanguageSelection=true&hideNew=true&hideNewFileOption=true&theme=dark",width:"100%"}),"\n",(0,s.jsx)(t.h4,{id:"or-example",children:"OR Example"}),"\n",(0,s.jsxs)(t.p,{children:["Notice that the result does not change for any input to value ",(0,s.jsx)(t.code,{children:"a"})," less than 255. It compares every set bit from value ",(0,s.jsx)(t.code,{children:"b"})," (255 is ",(0,s.jsx)(t.code,{children:"1111 1111"}),", so 8 bits of it are set) and then ORs that with whatever ",(0,s.jsx)(t.code,{children:"a"})," is."]}),"\n",(0,s.jsx)("iframe",{frameBorder:"0",height:"450px",src:"https://onecompiler.com/embed/cpp/3xxnntqz5?hideTitle=true&hideLanguageSelection=true&hideNew=true&hideNewFileOption=true&theme=dark",width:"100%"}),"\n",(0,s.jsx)(t.h4,{id:"bitshift-right-example",children:"Bitshift Right Example"}),"\n",(0,s.jsxs)(t.p,{children:["Notice that however many times an integer is shifted right, the resulting integer is ",(0,s.jsx)(t.code,{children:"original_number / 2^shiftamnt"}),'. If the resulting integer is something like 1.6, the decimal is "truncated", (rounded down basically), so ',(0,s.jsx)(t.code,{children:"17 >> 1"})," would just be 8."]}),"\n",(0,s.jsx)("iframe",{frameBorder:"0",height:"450px",src:"https://onecompiler.com/embed/cpp/3xxnngh2j?hideTitle=true&hideLanguageSelection=true&hideNew=true&hideNewFileOption=true&theme=dark",width:"100%"}),"\n",(0,s.jsx)(t.h4,{id:"bitshift-left-example",children:"Bitshift Left Example"}),"\n",(0,s.jsxs)(t.p,{children:["The behavior for this is the same as bitshift right, but instead the resulting integer in this case is ",(0,s.jsx)(t.code,{children:"original_number * 2^shiftamnt"}),"."]}),"\n",(0,s.jsx)("iframe",{frameBorder:"0",height:"450px",src:"https://onecompiler.com/embed/cpp/3ym378bjv?hideNew=true&hideLanguageSelection=true&hideTitle=true&hideNewFileOption=true&theme=dark",width:"100%"}),"\n",(0,s.jsx)(t.p,{children:"Hopefully, all of this gives you an idea of how to use each operator and what their functions are."}),"\n",(0,s.jsxs)(t.p,{children:["The examples above are a bit contrived so you can think for yourself during the actual lab. (Hint: You will be using a combination of a bitmask, shifting, and ",(0,s.jsx)(t.code,{children:"&"}),"/",(0,s.jsx)(t.code,{children:"|"})," for most of the lab)"]}),"\n",(0,s.jsx)(t.h2,{id:"the-code",children:"The Code"}),"\n",(0,s.jsxs)(t.p,{children:["This lab implements a ",(0,s.jsx)(t.code,{children:"BITSET"})," class that allows you to create sets of integers that are represented as bitsets. The gist of the lab is that you will have a ",(0,s.jsx)(t.code,{children:"vector"})," containing a variable amount of ",(0,s.jsx)(t.code,{children:"int"}),"s that represent a bitset, which is simply the bit representation of a number. Luckily, the ",(0,s.jsx)(t.code,{children:"BITSET"})," class is mostly implemented for you, so you just have to focus on writing a few functions here and there."]}),"\n",(0,s.jsxs)(t.p,{children:["More specifically, it's important to understand that each ",(0,s.jsx)(t.code,{children:"mSets"})," element is an integer that you will perform bitwise operations on based on a given"]}),"\n",(0,s.jsx)(t.h3,{id:"your-task",children:"Your Task"}),"\n",(0,s.jsx)(t.p,{children:"All you have to do is complete the parts of the code that are commented as"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"// TODO: ...\n"})}),"\n",(0,s.jsx)(t.p,{children:"The big parts are the functions. I've listed the functions here for you to reference. The order they are listed in is the order you should implement them in."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-cpp",children:'ToBinary(int bit_set, int spacing) // returns a string representation of bitset with a space every spacing bits from *left to right*\nBITSET::GetNumSets() // returns the number of sets in the BITSET object. This is just the size of the vector containing the int\'s\nBITSET::GetSet(int index) // returns the int from mSets at index\nBITSET::Test(int index) // "tests" (compares a bit like "bit & 1") the bit at index and returns true/false accordingly\nBITSET::Set(int index) // "sets" (flips a bit from 0 to 1) the bit at index. Returns nothing.\nBITSET::Clear(int index) // "clears" (flips a bit to 0) the bit at index. Returns nothing.\n'})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.a,{href:"#bitwise-or",children:["Hint for ",(0,s.jsx)(t.code,{children:"BITSET::Set()"})]})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.a,{href:"#bitwise-and",children:["Hint for ",(0,s.jsx)(t.code,{children:"BITSET::Test()"})]})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.a,{href:"#bitmasking",children:["Hint for ",(0,s.jsx)(t.code,{children:"BITSET::Clear()"})]})}),"\n",(0,s.jsx)(t.h4,{id:"caveats",children:"Caveats"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"BITSET:GetSet()"})," should return 0 if the index given is out of the bounds of ",(0,s.jsx)(t.code,{children:"mSets"}),". This is because the ",(0,s.jsx)(t.code,{children:"BITSET"})," class is meant to be able to hold a variable amount of integers, and if you try to access an index that doesn't exist, it should just return 0."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"BITSET::Set()"})," should ",(0,s.jsx)(t.em,{children:"increase"})," the number of bitsets in your ",(0,s.jsx)(t.code,{children:"mSets"})," vector accordingly. If you set the 32nd bit, then you should have 2 sets in your ",(0,s.jsx)(t.code,{children:"mSets"})," vector (each ",(0,s.jsx)(t.code,{children:"int"})," goes from 0th - 31st bit -- 32 bits total). The first set should be ",(0,s.jsx)(t.code,{children:"0"})," and the second set should be ",(0,s.jsx)(t.code,{children:"1"}),". If you set the 66th bit, then you should have 3 sets in your ",(0,s.jsx)(t.code,{children:"mSets"})," vector. The first set should be ",(0,s.jsx)(t.code,{children:"0"}),", the second set should be ",(0,s.jsx)(t.code,{children:"0"}),", and the third set should be ",(0,s.jsx)(t.code,{children:"4"}),". And so on. Even if your ",(0,s.jsx)(t.code,{children:"mSets"})," vector is empty, if the user sets the 66th bit, then the vector should resize until it can sufficiently hold the 66th bit. (There are 32 bits in an ",(0,s.jsx)(t.code,{children:"int"})," in C++ on most systems, so you'll need 3 ",(0,s.jsx)(t.code,{children:"int"}),"s to reach the 66 bits)"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"BITSET::Clear()"})," likewise, should ",(0,s.jsx)(t.em,{children:"decrease"})," the number of ",(0,s.jsx)(t.code,{children:"int"}),"s in your ",(0,s.jsx)(t.code,{children:"mSets"}),' vector. More specifically, it should "truncate" the vector to the smallest amount of ',(0,s.jsx)(t.code,{children:"int"}),"s that can hold all of the bits that are set. In other words, starting from the end of the vector, remove every element that is 0 until you reach a non-zero ",(0,s.jsx)(t.code,{children:"int"}),". So if your ",(0,s.jsx)(t.code,{children:"mSets"})," vector looks like this:"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"{ 1, 6, 9, 0, 0, 0, 1 }\n"})}),"\n",(0,s.jsx)(t.p,{children:"The highest set bit is the 192nd bit here (starting from 0). If you clear the 192nd bit, then the vector should look like this:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-txt",children:"{ 1, 6, 9 }\n"})}),"\n",(0,s.jsx)(t.p,{children:"Notice all 0-elements between any non-zero elements are removed."})]})}function c(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},1151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>h});var s=i(7294);const n={},r=s.createContext(n);function h(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:h(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/38cdc210.b3721b78.js b/assets/js/38cdc210.b3721b78.js deleted file mode 100644 index b0191d9c..00000000 --- a/assets/js/38cdc210.b3721b78.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[997],{8308:s=>{s.exports=JSON.parse('{"label":"hello","permalink":"/cs102-writeups/blog/tags/hello","allTagsPath":"/cs102-writeups/blog/tags","count":2,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/3d9c95a4.7058d164.js b/assets/js/3d9c95a4.76544181.js similarity index 83% rename from assets/js/3d9c95a4.7058d164.js rename to assets/js/3d9c95a4.76544181.js index efb55494..6100a6d4 100644 --- a/assets/js/3d9c95a4.7058d164.js +++ b/assets/js/3d9c95a4.76544181.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2125],{4136:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var r=s(5893),t=s(1151);const o={sidebar_position:1},i="Home",c={id:"home",title:"Home",description:"About",source:"@site/docs/home.md",sourceDirName:".",slug:"/home",permalink:"/cs102-writeups/docs/home",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"Sidebar",next:{title:"Environment Setup",permalink:"/cs102-writeups/docs/category/environment-setup"}},l={},a=[{value:"About",id:"about",level:2},{value:"Sections Overview",id:"sections-overview",level:2},{value:"External Resources",id:"external-resources",level:2}];function d(e){const n={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"home",children:"Home"}),"\n",(0,r.jsx)(n.h2,{id:"about",children:"About"}),"\n",(0,r.jsx)(n.p,{children:"This site compiles a collection of documentation for CS 102 at UTK intended for helping students with labs or general course-related questions."}),"\n",(0,r.jsx)(n.h2,{id:"sections-overview",children:"Sections Overview"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/environment-setup",children:"Environment Setup"})," - Setting up\nyour C++ development environment and IDE for the course."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/tutorials",children:"Tutorials"})," - Tutorials for\nvarious topics in the course."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/reference",children:"Reference"})," - General reference and tips\nfor the course."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/grading",children:"Grading"})," - Information about grading\nand using the gradescripts."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/in-class-lab-notes",children:"In-Class Lab Notes"})," - Introduction\nto the new material needed for the labs."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/lab-walkthroughs",children:"Lab Walkthroughs"})," - Step-by-step\nwalkthroughs for each lab."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/debugging",children:"Debugging"})," - References for debugging\nand other useful information."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"external-resources",children:"External Resources"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://camille-chanel.github.io/cs102",children:"Professor Crumpton's Notes"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://www.youtube.com/@algorithmness",children:"Professor Crumpton's YouTube page"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/utk-eecs-crumpton-tas/cs102lings",children:"cs102lings repository"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>i});var r=s(7294);const t={},o=r.createContext(t);function i(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2125],{4136:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>a});var r=s(5893),o=s(1151);const t={sidebar_position:1},i="Home",c={id:"home",title:"Home",description:"About",source:"@site/docs/home.md",sourceDirName:".",slug:"/home",permalink:"/cs102-handbook/docs/home",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"Sidebar",next:{title:"Environment Setup",permalink:"/cs102-handbook/docs/category/environment-setup"}},l={},a=[{value:"About",id:"about",level:2},{value:"Sections Overview",id:"sections-overview",level:2},{value:"External Resources",id:"external-resources",level:2}];function d(e){const n={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"home",children:"Home"}),"\n",(0,r.jsx)(n.h2,{id:"about",children:"About"}),"\n",(0,r.jsx)(n.p,{children:"This site compiles a collection of documentation for CS 102 at UTK intended for helping students with labs or general course-related questions."}),"\n",(0,r.jsx)(n.h2,{id:"sections-overview",children:"Sections Overview"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/environment-setup",children:"Environment Setup"})," - Setting up\nyour C++ development environment and IDE for the course."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/tutorials",children:"Tutorials"})," - Tutorials for\nvarious topics in the course."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/reference",children:"Reference"})," - General reference and tips\nfor the course."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/grading",children:"Grading"})," - Information about grading\nand using the gradescripts."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/in-class-lab-notes",children:"In-Class Lab Notes"})," - Introduction\nto the new material needed for the labs."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/lab-walkthroughs",children:"Lab Walkthroughs"})," - Step-by-step\nwalkthroughs for each lab."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/docs/category/debugging",children:"Debugging"})," - References for debugging\nand other useful information."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"external-resources",children:"External Resources"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://camille-chanel.github.io/cs102",children:"Professor Crumpton's Notes"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://www.youtube.com/@algorithmness",children:"Professor Crumpton's YouTube page"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/utk-eecs-crumpton-tas/cs102lings",children:"cs102lings repository"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>i});var r=s(7294);const o={},t=r.createContext(o);function i(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4b4c18fa.97294135.js b/assets/js/4b4c18fa.0f424508.js similarity index 94% rename from assets/js/4b4c18fa.97294135.js rename to assets/js/4b4c18fa.0f424508.js index 91f74832..b217f5b3 100644 --- a/assets/js/4b4c18fa.97294135.js +++ b/assets/js/4b4c18fa.0f424508.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[4826],{4446:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var i=t(5893),r=t(1151);const s={},a="Multi-User Dungeons (MUD) Notes",o={id:"in-class-lab-notes/mud-notes",title:"Multi-User Dungeons (MUD) Notes",description:"Here is a graph of what the rooms look like",source:"@site/docs/in-class-lab-notes/mud-notes.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/mud-notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/mud-notes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Bowling Notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/bowling-notes"},next:{title:"Sorting Algorithms Notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/sorting-algorithms"}},l={},c=[{value:"File Format",id:"file-format",level:2},{value:"Resetting a File Stream",id:"resetting-a-file-stream",level:2},{value:"Sentinel Values",id:"sentinel-values",level:2},{value:"new and delete operators",id:"new-and-delete-operators",level:2},{value:"Stack vs. Heap",id:"stack-vs-heap",level:3},{value:"Using new and delete",id:"using-new-and-delete",level:3},{value:"Initializing Data on the Heap",id:"initializing-data-on-the-heap",level:3}];function d(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"multi-user-dungeons-mud-notes",children:"Multi-User Dungeons (MUD) Notes"}),"\n",(0,i.jsx)(n.p,{children:"Here is a graph of what the rooms look like"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"room1-diagram",src:t(1771).Z+"",width:"322",height:"320"})}),"\n",(0,i.jsx)(n.h2,{id:"file-format",children:"File Format"}),"\n",(0,i.jsx)(n.p,{children:"Example Room"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-txt",children:"Room #0\n~\nYou are at the start. Your journey begins..\n~\ns 5\n~\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Each room will have 3 fields, they are each delimited by tildes. ",(0,i.jsx)(n.code,{children:"getline"})," will be helpful here for counting the number of rooms in the file."]}),"\n",(0,i.jsx)(n.h2,{id:"resetting-a-file-stream",children:"Resetting a File Stream"}),"\n",(0,i.jsx)(n.p,{children:"This lab requires us to read a file multiple times: once to count the number of rooms in the file and allocate enough memory for them, and then again to read the rooms into memory. It is possible to close and reopen the file, but there is a more efficient way."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"file.clear(); // reset the error state\nfile.seekg(0); // move the cursor back to the beginning of the file\n"})}),"\n",(0,i.jsx)(n.p,{children:"We have gone over clear before. Basically, when an input stream exhausts its input, it will enter an error state. While in the error state it will ignore any commands we try to give it. We can reset the error state by calling clear."}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"file.seekg(0);"})," is new. This will set the position of the next character to be read to the beginning of the file. We can essentially reread the file from the beginning like we just opened it."]}),"\n",(0,i.jsxs)(n.p,{children:["For future reference, ",(0,i.jsx)(n.code,{children:"seekg"})," can be used to navigating to an arbitrary position in the file, but we will not be using that functionality in this lab."]}),"\n",(0,i.jsx)(n.h2,{id:"sentinel-values",children:"Sentinel Values"}),"\n",(0,i.jsx)(n.p,{children:"A sentinel value is an arbitrarily significant value used to encode a special condition, usually to indicate the end of a sequence of values, or a non-existent state aka null. In this lab, we will use sentinel values to indicate that a room does not have a connection in a particular direction."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"struct Room {\n int north = -1; // sentinel value, -1 means no room\n int south = -1;\n int east = -1;\n int west = -1;\n};\n"})}),"\n",(0,i.jsxs)(n.h2,{id:"new-and-delete-operators",children:[(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"})," operators"]}),"\n",(0,i.jsx)(n.h3,{id:"stack-vs-heap",children:"Stack vs. Heap"}),"\n",(0,i.jsxs)(n.p,{children:["We can use the ",(0,i.jsx)(n.code,{children:"new"})," operator to allocate memory on the heap. The heap is a lot more flexible than the stack, but less efficient. All the data structures we have been using from the stl like vectors, use the heap under the hood. This is what allows us to have dynamic data structures that can grow and shrink as needed e.g. ",(0,i.jsx)(n.code,{children:"push_back"})," and ",(0,i.jsx)(n.code,{children:"pop_back"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["When would we use ",(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"}),"? Here is an example of the limitations of the stack:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"void do_something_else(){\n /* ... */\n}\nint *create_array_on_stack(const size_t array_size) {\n int array[array_size];\n for (size_t i = 0; i < array_size; ++i) {\n array[i] = i;\n }\n return array;\n}\n\nint main() {\n const size_t array_size = 10;\n int *array_ptr = create_array_on_stack(array_size);\n array_ptr[0]; // this will work -- returns 0\n array_ptr[1]; // this will work -- returns 1\n do_something_else();\n array_ptr[0]; // uh oh, this will not work -- returns garbage\n array_ptr[1]; // uh oh, this will not work -- returns garbage\n\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Any memory allocated by a normal function, save for the return type, will immediately be overwritten by the next stack frame, or function call. This is where the heap comes in"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int *create_array_on_heap(int size) {\n int *array = new int[size];\n for (int i = 0; i < size; i++) {\n array[i] = i;\n }\n return array;\n}\n\nint main() {\n const size_t array_size = 10;\n int *array_ptr = create_array_on_heap(array_size);\n array_ptr[0]; // this will work -- returns 0\n array_ptr[1]; // this will work -- returns 1\n do_something_else();\n array_ptr[0]; // this will work -- returns 0\n array_ptr[1]; // this will work -- returns 1\n\n delete[] array_ptr; // must delete heap memory manually!\n\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"The caveat with the heap, is we must remember to delete the memory ourselves once we are finished with it. If not, we will have a memory leak, memory no longer in use but cannot be reclaimed by the operating system."}),"\n",(0,i.jsxs)(n.h3,{id:"using-new-and-delete",children:["Using ",(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"})]}),"\n",(0,i.jsxs)(n.p,{children:["If you noticed, there are two ways to use the ",(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"})," operators, with ",(0,i.jsx)(n.code,{children:"[]"})," and without ",(0,i.jsx)(n.code,{children:"[]"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int *single_int = new int;\nint *array_of_ints = new int[10];\n\ndelete single_int;\ndelete[] array_of_ints;\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you call ",(0,i.jsx)(n.code,{children:"new"})," with ",(0,i.jsx)(n.code,{children:"[]"}),", you must call ",(0,i.jsx)(n.code,{children:"delete[]"})," with the same pointer. If you call ",(0,i.jsx)(n.code,{children:"new"})," without ",(0,i.jsx)(n.code,{children:"[]"}),", you must call ",(0,i.jsx)(n.code,{children:"delete"})," with the same pointer. If you do not, you will get a memory error."]}),"\n",(0,i.jsx)(n.h3,{id:"initializing-data-on-the-heap",children:"Initializing Data on the Heap"}),"\n",(0,i.jsxs)(n.p,{children:["You should not need this for this lab, but a final note about ",(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"}),", you can use any constructor you want with ",(0,i.jsx)(n.code,{children:"new"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"// stack construction -- these should be familiar\nvector ints(10, 0);\nvector ints{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n\n// heap construction -- exact same syntax as stack construction, just returns a pointer\nvector *ints_ptr = new vector(10, 0);\nvector *ints_ptr = new vector{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n\n// primitive types also have constructors in c++\nint *value = new int(1);\nint *values = new int[10]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["It is also worth noting that in ",(0,i.jsx)(n.code,{children:"c++"})," memory initialized with ",(0,i.jsx)(n.code,{children:"new"})," is initialized to 0 by default whereas on the stack it is not."]})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1771:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/mud-2ad4c7a770828022a5f409de2bd0dd62.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>a});var i=t(7294);const r={},s=i.createContext(r);function a(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[4826],{4446:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var i=t(5893),r=t(1151);const a={},s="Multi-User Dungeons (MUD) Notes",o={id:"in-class-lab-notes/mud-notes",title:"Multi-User Dungeons (MUD) Notes",description:"Here is a graph of what the rooms look like",source:"@site/docs/in-class-lab-notes/mud-notes.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/mud-notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/mud-notes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Bowling Notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/bowling-notes"},next:{title:"Sorting Algorithms Notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/sorting-algorithms"}},l={},c=[{value:"File Format",id:"file-format",level:2},{value:"Resetting a File Stream",id:"resetting-a-file-stream",level:2},{value:"Sentinel Values",id:"sentinel-values",level:2},{value:"new and delete operators",id:"new-and-delete-operators",level:2},{value:"Stack vs. Heap",id:"stack-vs-heap",level:3},{value:"Using new and delete",id:"using-new-and-delete",level:3},{value:"Initializing Data on the Heap",id:"initializing-data-on-the-heap",level:3}];function d(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"multi-user-dungeons-mud-notes",children:"Multi-User Dungeons (MUD) Notes"}),"\n",(0,i.jsx)(n.p,{children:"Here is a graph of what the rooms look like"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"room1-diagram",src:t(1771).Z+"",width:"322",height:"320"})}),"\n",(0,i.jsx)(n.h2,{id:"file-format",children:"File Format"}),"\n",(0,i.jsx)(n.p,{children:"Example Room"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-txt",children:"Room #0\n~\nYou are at the start. Your journey begins..\n~\ns 5\n~\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Each room will have 3 fields, they are each delimited by tildes. ",(0,i.jsx)(n.code,{children:"getline"})," will be helpful here for counting the number of rooms in the file."]}),"\n",(0,i.jsx)(n.h2,{id:"resetting-a-file-stream",children:"Resetting a File Stream"}),"\n",(0,i.jsx)(n.p,{children:"This lab requires us to read a file multiple times: once to count the number of rooms in the file and allocate enough memory for them, and then again to read the rooms into memory. It is possible to close and reopen the file, but there is a more efficient way."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"file.clear(); // reset the error state\nfile.seekg(0); // move the cursor back to the beginning of the file\n"})}),"\n",(0,i.jsx)(n.p,{children:"We have gone over clear before. Basically, when an input stream exhausts its input, it will enter an error state. While in the error state it will ignore any commands we try to give it. We can reset the error state by calling clear."}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"file.seekg(0);"})," is new. This will set the position of the next character to be read to the beginning of the file. We can essentially reread the file from the beginning like we just opened it."]}),"\n",(0,i.jsxs)(n.p,{children:["For future reference, ",(0,i.jsx)(n.code,{children:"seekg"})," can be used to navigating to an arbitrary position in the file, but we will not be using that functionality in this lab."]}),"\n",(0,i.jsx)(n.h2,{id:"sentinel-values",children:"Sentinel Values"}),"\n",(0,i.jsx)(n.p,{children:"A sentinel value is an arbitrarily significant value used to encode a special condition, usually to indicate the end of a sequence of values, or a non-existent state aka null. In this lab, we will use sentinel values to indicate that a room does not have a connection in a particular direction."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"struct Room {\n int north = -1; // sentinel value, -1 means no room\n int south = -1;\n int east = -1;\n int west = -1;\n};\n"})}),"\n",(0,i.jsxs)(n.h2,{id:"new-and-delete-operators",children:[(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"})," operators"]}),"\n",(0,i.jsx)(n.h3,{id:"stack-vs-heap",children:"Stack vs. Heap"}),"\n",(0,i.jsxs)(n.p,{children:["We can use the ",(0,i.jsx)(n.code,{children:"new"})," operator to allocate memory on the heap. The heap is a lot more flexible than the stack, but less efficient. All the data structures we have been using from the stl like vectors, use the heap under the hood. This is what allows us to have dynamic data structures that can grow and shrink as needed e.g. ",(0,i.jsx)(n.code,{children:"push_back"})," and ",(0,i.jsx)(n.code,{children:"pop_back"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["When would we use ",(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"}),"? Here is an example of the limitations of the stack:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"void do_something_else(){\n /* ... */\n}\nint *create_array_on_stack(const size_t array_size) {\n int array[array_size];\n for (size_t i = 0; i < array_size; ++i) {\n array[i] = i;\n }\n return array;\n}\n\nint main() {\n const size_t array_size = 10;\n int *array_ptr = create_array_on_stack(array_size);\n array_ptr[0]; // this will work -- returns 0\n array_ptr[1]; // this will work -- returns 1\n do_something_else();\n array_ptr[0]; // uh oh, this will not work -- returns garbage\n array_ptr[1]; // uh oh, this will not work -- returns garbage\n\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Any memory allocated by a normal function, save for the return type, will immediately be overwritten by the next stack frame, or function call. This is where the heap comes in"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int *create_array_on_heap(int size) {\n int *array = new int[size];\n for (int i = 0; i < size; i++) {\n array[i] = i;\n }\n return array;\n}\n\nint main() {\n const size_t array_size = 10;\n int *array_ptr = create_array_on_heap(array_size);\n array_ptr[0]; // this will work -- returns 0\n array_ptr[1]; // this will work -- returns 1\n do_something_else();\n array_ptr[0]; // this will work -- returns 0\n array_ptr[1]; // this will work -- returns 1\n\n delete[] array_ptr; // must delete heap memory manually!\n\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"The caveat with the heap, is we must remember to delete the memory ourselves once we are finished with it. If not, we will have a memory leak, memory no longer in use but cannot be reclaimed by the operating system."}),"\n",(0,i.jsxs)(n.h3,{id:"using-new-and-delete",children:["Using ",(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"})]}),"\n",(0,i.jsxs)(n.p,{children:["If you noticed, there are two ways to use the ",(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"})," operators, with ",(0,i.jsx)(n.code,{children:"[]"})," and without ",(0,i.jsx)(n.code,{children:"[]"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int *single_int = new int;\nint *array_of_ints = new int[10];\n\ndelete single_int;\ndelete[] array_of_ints;\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you call ",(0,i.jsx)(n.code,{children:"new"})," with ",(0,i.jsx)(n.code,{children:"[]"}),", you must call ",(0,i.jsx)(n.code,{children:"delete[]"})," with the same pointer. If you call ",(0,i.jsx)(n.code,{children:"new"})," without ",(0,i.jsx)(n.code,{children:"[]"}),", you must call ",(0,i.jsx)(n.code,{children:"delete"})," with the same pointer. If you do not, you will get a memory error."]}),"\n",(0,i.jsx)(n.h3,{id:"initializing-data-on-the-heap",children:"Initializing Data on the Heap"}),"\n",(0,i.jsxs)(n.p,{children:["You should not need this for this lab, but a final note about ",(0,i.jsx)(n.code,{children:"new"})," and ",(0,i.jsx)(n.code,{children:"delete"}),", you can use any constructor you want with ",(0,i.jsx)(n.code,{children:"new"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"// stack construction -- these should be familiar\nvector ints(10, 0);\nvector ints{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n\n// heap construction -- exact same syntax as stack construction, just returns a pointer\nvector *ints_ptr = new vector(10, 0);\nvector *ints_ptr = new vector{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n\n// primitive types also have constructors in c++\nint *value = new int(1);\nint *values = new int[10]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["It is also worth noting that in ",(0,i.jsx)(n.code,{children:"c++"})," memory initialized with ",(0,i.jsx)(n.code,{children:"new"})," is initialized to 0 by default whereas on the stack it is not."]})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1771:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/mud-2ad4c7a770828022a5f409de2bd0dd62.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>s});var i=t(7294);const r={},a=i.createContext(r);function s(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4c14710c.43762fec.js b/assets/js/4c14710c.43762fec.js new file mode 100644 index 00000000..620aafac --- /dev/null +++ b/assets/js/4c14710c.43762fec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1087],{1374:a=>{a.exports=JSON.parse('{"title":"Grading","description":"Information on labs and grading.","slug":"/category/grading","permalink":"/cs102-handbook/docs/category/grading","navigation":{"previous":{"title":"Swap Files","permalink":"/cs102-handbook/docs/reference/swap-files"},"next":{"title":"About Grading","permalink":"/cs102-handbook/docs/grading/about-grading"}}}')}}]); \ No newline at end of file diff --git a/assets/js/4c37d77b.c968cff9.js b/assets/js/4c37d77b.c968cff9.js deleted file mode 100644 index dbefcfbc..00000000 --- a/assets/js/4c37d77b.c968cff9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7669],{6967:s=>{s.exports=JSON.parse('{"title":"In-Class Lab Notes","description":"Introduction to the new material needed for the labs.","slug":"/category/in-class-lab-notes","permalink":"/cs102-writeups/docs/category/in-class-lab-notes","navigation":{"previous":{"title":"CS102lings","permalink":"/cs102-writeups/docs/grading/cs102lings"},"next":{"title":"Bitset Notes","permalink":"/cs102-writeups/docs/in-class-lab-notes/bitset-notes"}}}')}}]); \ No newline at end of file diff --git a/assets/js/4f208758.7625f348.js b/assets/js/4f208758.dbc285c2.js similarity index 97% rename from assets/js/4f208758.7625f348.js rename to assets/js/4f208758.dbc285c2.js index fc740872..a8a9edcd 100644 --- a/assets/js/4f208758.7625f348.js +++ b/assets/js/4f208758.dbc285c2.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7055],{4290:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=t(5893),i=t(1151);const o={title:"Calculator"},s="Calculator",l={id:"lab-walkthroughs/calculator",title:"Calculator",description:"Build a simple arithmetic calculator.",source:"@site/docs/lab-walkthroughs/calculator.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/calculator",permalink:"/cs102-writeups/docs/lab-walkthroughs/calculator",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"Calculator"},sidebar:"Sidebar",previous:{title:"Bowling",permalink:"/cs102-writeups/docs/lab-walkthroughs/bowling"},next:{title:"PPM Manipulation",permalink:"/cs102-writeups/docs/lab-walkthroughs/ppm-manipulator"}},a={},c=[{value:"Meta",id:"meta",level:2},{value:"Introduction",id:"introduction",level:2},{value:"Program Flow",id:"program-flow",level:2},{value:"Requirements",id:"requirements",level:2},{value:"Error Handling",id:"error-handling",level:2},{value:"Operands",id:"operands",level:3},{value:"Operators",id:"operators",level:3},{value:"Hints",id:"hints",level:2}];function h(e){const n={admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"calculator",children:"Calculator"}),"\n",(0,r.jsx)(n.p,{children:"Build a simple arithmetic calculator."}),"\n",(0,r.jsx)(n.h2,{id:"meta",children:"Meta"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Lab"}),(0,r.jsx)(n.th,{children:"Source File"}),(0,r.jsx)(n.th,{children:"Description"}),(0,r.jsx)(n.th,{children:"Due Date"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"3"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"calc.cpp"})}),(0,r.jsx)(n.td,{children:"Simple arithmetic calculator w/error handling"}),(0,r.jsx)(n.td,{children:"2/16/2023 - 11:59pm"})]})})]}),"\n",(0,r.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,r.jsx)(n.p,{children:"I'm not going to go over much here, since the program is really simple honestly. I'll just cover a couple of the main points of this lab."}),"\n",(0,r.jsx)(n.h2,{id:"program-flow",children:"Program Flow"}),"\n",(0,r.jsx)(n.p,{children:"Your program should do a few things:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Prompt user for the left ",(0,r.jsx)(n.strong,{children:"operand"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Prompt user for ",(0,r.jsx)(n.em,{children:"operator"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Prompt user for the right ",(0,r.jsx)(n.strong,{children:"operand"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Perform the operation and output the result."}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Note that the ",(0,r.jsx)(n.strong,{children:"operands"})," are integers, while the ",(0,r.jsx)(n.em,{children:"operator"})," is a single character. You should use a ",(0,r.jsx)(n.code,{children:"switch"})," statement to determine which operation to perform."]}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsx)(n.p,{children:"The only exception to this flow is the absolute value operation. This operation only requires one operand, so you should prompt the user for only one operand."})}),"\n",(0,r.jsx)(n.h2,{id:"requirements",children:"Requirements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["You cannot ",(0,r.jsx)(n.em,{children:"re-use"})," code. Don't repeat something you've already done."]}),"\n",(0,r.jsxs)(n.li,{children:["You must use a ",(0,r.jsx)(n.code,{children:"switch"})," statement."]}),"\n",(0,r.jsx)(n.li,{children:"You must handle erroneous input. If the user enters an invalid operator, you should output the appropriate error message and exit the program."}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"error-handling",children:"Error Handling"}),"\n",(0,r.jsx)(n.h3,{id:"operands",children:"Operands"}),"\n",(0,r.jsxs)(n.p,{children:["You should handle erroneous input. If the user enters an invalid operator, you should output an error message and exit the program. You can check for invalid input using the ",(0,r.jsx)(n.code,{children:"cin.fail()"})," function. This function returns ",(0,r.jsx)(n.code,{children:"true"})," if the last input operation failed. You can use this function to check if the user entered an invalid operator."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-cpp",children:'int my_int;\ncin >> my_int;\n\n// a failure occurs if the user entered something other than an integer\nif (cin.fail()) {\n cout << "Invalid left operand" << endl;\n return 1;\n}\n'})}),"\n",(0,r.jsxs)(n.p,{children:["Alternatively, you can check the result of the ",(0,r.jsx)(n.code,{children:"cin"})," operation directly."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-cpp",children:'int my_int;\n\n// returns false if the user entered something that doesn\'t match the type of x\nif (!(cin >> my_int)) {\n cout << "Invalid left operand" << endl;\n return 1;\n}\n'})}),"\n",(0,r.jsx)(n.h3,{id:"operators",children:"Operators"}),"\n",(0,r.jsxs)(n.p,{children:["In the case that an invalid operator is entered, you should run the program like normal. If the operator does not exist in your switch statement, then it will use the ",(0,r.jsx)(n.code,{children:"default"})," case. In the ",(0,r.jsx)(n.code,{children:"default"})," case, you should output an error message and exit the program."]}),"\n",(0,r.jsx)(n.h2,{id:"hints",children:"Hints"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"cin.get()"})," - This function is used to get a single character from the user. It's not necessary as it's interchangeable with ",(0,r.jsx)(n.code,{children:"cin >> my_char"}),", but you can use it."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"cin.ignore()"})," - This function is used to ignore the rest of the line. This is useful when you want to get a single character from the user, but there is still data left in the input buffer. So if the user enters ",(0,r.jsx)(n.code,{children:"Agfjdkl"})," for their operator, and you use ",(0,r.jsx)(n.code,{children:"cin.get()"}),' to get the first character, the rest of the line will still be in the "input buffer", which is where input that hasn\'t been read is stored to be read later. So the next time you try to get an integer from the user, it will get ',(0,r.jsx)(n.code,{children:"gfjdkl"})," instead of the integer they entered. So you can use ",(0,r.jsx)(n.code,{children:"cin.ignore()"})," to ignore the rest of the line. This way, the next time you try to get an integer from the user, it will get the integer they entered."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"cin.ignore()"})," takes 2 arguments. 1. The number of characters to ignore, 2. The character to stop ignoring at. Whichever comes first. For ignoring, typically we want to ignore as many characters as physically possible or until we hit a ",(0,r.jsx)(n.code,{children:"\\n"})," character. Luckily, C++ has a constant for the largest number: ",(0,r.jsx)(n.code,{children:"numeric_limits::max()"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-cpp",children:"// will ignore anything in the input buffer until it hits a newline character\ncin.ignore(numeric_limits::max(), '\\n');\n"})}),"\n",(0,r.jsxs)(n.admonition,{type:"caution",children:[(0,r.jsxs)(n.mdxAdmonitionTitle,{children:["Include ",(0,r.jsx)(n.code,{children:""})]}),(0,r.jsxs)(n.p,{children:["You must include ",(0,r.jsx)(n.code,{children:"#include"})," to use ",(0,r.jsx)(n.code,{children:"numeric_limits"}),"."]})]})]})}function d(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>s});var r=t(7294);const i={},o=r.createContext(i);function s(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7055],{4290:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=t(5893),i=t(1151);const o={title:"Calculator"},s="Calculator",l={id:"lab-walkthroughs/calculator",title:"Calculator",description:"Build a simple arithmetic calculator.",source:"@site/docs/lab-walkthroughs/calculator.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/calculator",permalink:"/cs102-handbook/docs/lab-walkthroughs/calculator",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"Calculator"},sidebar:"Sidebar",previous:{title:"Bowling",permalink:"/cs102-handbook/docs/lab-walkthroughs/bowling"},next:{title:"PPM Manipulation",permalink:"/cs102-handbook/docs/lab-walkthroughs/ppm-manipulator"}},a={},c=[{value:"Meta",id:"meta",level:2},{value:"Introduction",id:"introduction",level:2},{value:"Program Flow",id:"program-flow",level:2},{value:"Requirements",id:"requirements",level:2},{value:"Error Handling",id:"error-handling",level:2},{value:"Operands",id:"operands",level:3},{value:"Operators",id:"operators",level:3},{value:"Hints",id:"hints",level:2}];function h(e){const n={admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"calculator",children:"Calculator"}),"\n",(0,r.jsx)(n.p,{children:"Build a simple arithmetic calculator."}),"\n",(0,r.jsx)(n.h2,{id:"meta",children:"Meta"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Lab"}),(0,r.jsx)(n.th,{children:"Source File"}),(0,r.jsx)(n.th,{children:"Description"}),(0,r.jsx)(n.th,{children:"Due Date"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"3"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"calc.cpp"})}),(0,r.jsx)(n.td,{children:"Simple arithmetic calculator w/error handling"}),(0,r.jsx)(n.td,{children:"2/16/2023 - 11:59pm"})]})})]}),"\n",(0,r.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,r.jsx)(n.p,{children:"I'm not going to go over much here, since the program is really simple honestly. I'll just cover a couple of the main points of this lab."}),"\n",(0,r.jsx)(n.h2,{id:"program-flow",children:"Program Flow"}),"\n",(0,r.jsx)(n.p,{children:"Your program should do a few things:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Prompt user for the left ",(0,r.jsx)(n.strong,{children:"operand"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Prompt user for ",(0,r.jsx)(n.em,{children:"operator"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Prompt user for the right ",(0,r.jsx)(n.strong,{children:"operand"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Perform the operation and output the result."}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Note that the ",(0,r.jsx)(n.strong,{children:"operands"})," are integers, while the ",(0,r.jsx)(n.em,{children:"operator"})," is a single character. You should use a ",(0,r.jsx)(n.code,{children:"switch"})," statement to determine which operation to perform."]}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsx)(n.p,{children:"The only exception to this flow is the absolute value operation. This operation only requires one operand, so you should prompt the user for only one operand."})}),"\n",(0,r.jsx)(n.h2,{id:"requirements",children:"Requirements"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["You cannot ",(0,r.jsx)(n.em,{children:"re-use"})," code. Don't repeat something you've already done."]}),"\n",(0,r.jsxs)(n.li,{children:["You must use a ",(0,r.jsx)(n.code,{children:"switch"})," statement."]}),"\n",(0,r.jsx)(n.li,{children:"You must handle erroneous input. If the user enters an invalid operator, you should output the appropriate error message and exit the program."}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"error-handling",children:"Error Handling"}),"\n",(0,r.jsx)(n.h3,{id:"operands",children:"Operands"}),"\n",(0,r.jsxs)(n.p,{children:["You should handle erroneous input. If the user enters an invalid operator, you should output an error message and exit the program. You can check for invalid input using the ",(0,r.jsx)(n.code,{children:"cin.fail()"})," function. This function returns ",(0,r.jsx)(n.code,{children:"true"})," if the last input operation failed. You can use this function to check if the user entered an invalid operator."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-cpp",children:'int my_int;\ncin >> my_int;\n\n// a failure occurs if the user entered something other than an integer\nif (cin.fail()) {\n cout << "Invalid left operand" << endl;\n return 1;\n}\n'})}),"\n",(0,r.jsxs)(n.p,{children:["Alternatively, you can check the result of the ",(0,r.jsx)(n.code,{children:"cin"})," operation directly."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-cpp",children:'int my_int;\n\n// returns false if the user entered something that doesn\'t match the type of x\nif (!(cin >> my_int)) {\n cout << "Invalid left operand" << endl;\n return 1;\n}\n'})}),"\n",(0,r.jsx)(n.h3,{id:"operators",children:"Operators"}),"\n",(0,r.jsxs)(n.p,{children:["In the case that an invalid operator is entered, you should run the program like normal. If the operator does not exist in your switch statement, then it will use the ",(0,r.jsx)(n.code,{children:"default"})," case. In the ",(0,r.jsx)(n.code,{children:"default"})," case, you should output an error message and exit the program."]}),"\n",(0,r.jsx)(n.h2,{id:"hints",children:"Hints"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"cin.get()"})," - This function is used to get a single character from the user. It's not necessary as it's interchangeable with ",(0,r.jsx)(n.code,{children:"cin >> my_char"}),", but you can use it."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"cin.ignore()"})," - This function is used to ignore the rest of the line. This is useful when you want to get a single character from the user, but there is still data left in the input buffer. So if the user enters ",(0,r.jsx)(n.code,{children:"Agfjdkl"})," for their operator, and you use ",(0,r.jsx)(n.code,{children:"cin.get()"}),' to get the first character, the rest of the line will still be in the "input buffer", which is where input that hasn\'t been read is stored to be read later. So the next time you try to get an integer from the user, it will get ',(0,r.jsx)(n.code,{children:"gfjdkl"})," instead of the integer they entered. So you can use ",(0,r.jsx)(n.code,{children:"cin.ignore()"})," to ignore the rest of the line. This way, the next time you try to get an integer from the user, it will get the integer they entered."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"cin.ignore()"})," takes 2 arguments. 1. The number of characters to ignore, 2. The character to stop ignoring at. Whichever comes first. For ignoring, typically we want to ignore as many characters as physically possible or until we hit a ",(0,r.jsx)(n.code,{children:"\\n"})," character. Luckily, C++ has a constant for the largest number: ",(0,r.jsx)(n.code,{children:"numeric_limits::max()"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-cpp",children:"// will ignore anything in the input buffer until it hits a newline character\ncin.ignore(numeric_limits::max(), '\\n');\n"})}),"\n",(0,r.jsxs)(n.admonition,{type:"caution",children:[(0,r.jsxs)(n.mdxAdmonitionTitle,{children:["Include ",(0,r.jsx)(n.code,{children:""})]}),(0,r.jsxs)(n.p,{children:["You must include ",(0,r.jsx)(n.code,{children:"#include"})," to use ",(0,r.jsx)(n.code,{children:"numeric_limits"}),"."]})]})]})}function d(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>s});var r=t(7294);const i={},o=r.createContext(i);function s(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5088ad93.800e2c92.js b/assets/js/5088ad93.6e804ec8.js similarity index 50% rename from assets/js/5088ad93.800e2c92.js rename to assets/js/5088ad93.6e804ec8.js index 902e1e2a..91e09f13 100644 --- a/assets/js/5088ad93.800e2c92.js +++ b/assets/js/5088ad93.6e804ec8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[6564],{4057:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var o=r(5893),n=r(1151);const s={sidebar_position:3},i="VSCode Tips",c={id:"reference/vscode-tips",title:"VSCode Tips",description:"Entirely optional but highly recommended.",source:"@site/docs/reference/vscode-tips.md",sourceDirName:"reference",slug:"/reference/vscode-tips",permalink:"/cs102-writeups/docs/reference/vscode-tips",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"Sidebar",previous:{title:"Sharing Code on Discord",permalink:"/cs102-writeups/docs/reference/discord"},next:{title:"Vim Cheatsheet",permalink:"/cs102-writeups/docs/reference/vim-cheatsheet"}},d={},a=[];function l(e){const t={em:"em",h1:"h1",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"vscode-tips",children:"VSCode Tips"}),"\n",(0,o.jsxs)(t.p,{children:["Entirely optional but ",(0,o.jsx)(t.em,{children:"highly recommended"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["I ",(0,o.jsx)(t.strong,{children:"highly"})," recommend watching this video. It's short, and it will improve your productivity by a lot. Not all of the tips will apply to you for this course, but it's still worth watching."]}),"\n",(0,o.jsx)("iframe",{width:"560",height:"315",src:"https://www.youtube.com/embed/ifTF3ags0XI",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>c,a:()=>i});var o=r(7294);const n={},s=o.createContext(n);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[6564],{4057:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var n=o(5893),r=o(1151);const s={sidebar_position:3},i="VSCode Tips",c={id:"reference/vscode-tips",title:"VSCode Tips",description:"Entirely optional but highly recommended.",source:"@site/docs/reference/vscode-tips.md",sourceDirName:"reference",slug:"/reference/vscode-tips",permalink:"/cs102-handbook/docs/reference/vscode-tips",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"Sidebar",previous:{title:"Sharing Code on Discord",permalink:"/cs102-handbook/docs/reference/discord"},next:{title:"Vim Cheatsheet",permalink:"/cs102-handbook/docs/reference/vim-cheatsheet"}},d={},a=[];function l(e){const t={em:"em",h1:"h1",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"vscode-tips",children:"VSCode Tips"}),"\n",(0,n.jsxs)(t.p,{children:["Entirely optional but ",(0,n.jsx)(t.em,{children:"highly recommended"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["I ",(0,n.jsx)(t.strong,{children:"highly"})," recommend watching this video. It's short, and it will improve your productivity by a lot. Not all of the tips will apply to you for this course, but it's still worth watching."]}),"\n",(0,n.jsx)("iframe",{width:"560",height:"315",src:"https://www.youtube.com/embed/ifTF3ags0XI",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},1151:(e,t,o)=>{o.d(t,{Z:()=>c,a:()=>i});var n=o(7294);const r={},s=n.createContext(r);function i(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/54863624.b158d35f.js b/assets/js/54863624.8ce633a8.js similarity index 97% rename from assets/js/54863624.b158d35f.js rename to assets/js/54863624.8ce633a8.js index d4e514ec..db3770a4 100644 --- a/assets/js/54863624.b158d35f.js +++ b/assets/js/54863624.8ce633a8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3669],{7501:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>h,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=i(5893),t=i(1151);const o={sidebar_position:1},h="Lab Machines Environment Setup",a={id:"environment-setup/lab-machines",title:"Lab Machines Environment Setup",description:"Setting up Oh-My-Zsh and Neovim on the lab machines.",source:"@site/docs/environment-setup/lab-machines.md",sourceDirName:"environment-setup",slug:"/environment-setup/lab-machines",permalink:"/cs102-writeups/docs/environment-setup/lab-machines",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"Sidebar",previous:{title:"Environment Setup",permalink:"/cs102-writeups/docs/category/environment-setup"},next:{title:"Windows Environment Setup",permalink:"/cs102-writeups/docs/environment-setup/windows"}},c={},l=[{value:"Setup",id:"setup",level:2},{value:"Adding the C++ Language Server to Neovim",id:"adding-the-c-language-server-to-neovim",level:2},{value:"OMZ Plugins",id:"omz-plugins",level:2},{value:"Customizing (Optional)",id:"customizing-optional",level:2},{value:"Oh My Zsh",id:"oh-my-zsh",level:3},{value:"Neovim",id:"neovim",level:3}];function r(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"lab-machines-environment-setup",children:"Lab Machines Environment Setup"}),"\n",(0,s.jsx)(n.p,{children:"Setting up Oh-My-Zsh and Neovim on the lab machines."}),"\n",(0,s.jsxs)(n.p,{children:["This guide will walk you through installing ",(0,s.jsx)(n.a,{href:"https://ohmyz.sh/",children:"https://ohmyz.sh/"})," and ",(0,s.jsx)(n.a,{href:"https://neovim.io/",children:"Neovim"})," with ",(0,s.jsx)(n.a,{href:"https://github.com/nvim-lua/kickstart.nvim",children:"Neovim kickstart"})," as well as setting up a language server to enable inline code analysis and autocomplete."]}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsxs)(n.p,{children:["On Mac, the color schemes for Neovim will not display right for the default Terminal app. I recommend using ",(0,s.jsx)(n.a,{href:"https://hyper.is/",children:"Hyper"})," as an alternative."]})}),"\n",(0,s.jsx)(n.h2,{id:"setup",children:"Setup"}),"\n",(0,s.jsxs)(n.p,{children:["First log into a lab machine with ",(0,s.jsx)(n.code,{children:"ssh"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/docs/reference/common-linux-commands#logging-into-the-lab-machines",children:(0,s.jsx)(n.code,{children:"ssh reference"})}),"."]}),"\n",(0,s.jsx)(n.p,{children:"To run the installation, run the following command"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'bash -c "$(curl https://raw.githubusercontent.com/utk-eecs-crumpton-tas/cs102-downloads/main/scripts/install.bash)"\n'})}),"\n",(0,s.jsx)(n.h2,{id:"adding-the-c-language-server-to-neovim",children:"Adding the C++ Language Server to Neovim"}),"\n",(0,s.jsx)(n.p,{children:"Open Neovim"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"nvim\n"})}),"\n",(0,s.jsxs)(n.p,{children:["If this is your first time opening Neovim, it will install several plugins. When it is finished, you can ",(0,s.jsx)(n.code,{children:":q"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Then run"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-vim",children:":Mason\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Scroll down to ",(0,s.jsx)(n.code,{children:"clangd"})," and press ",(0,s.jsx)(n.code,{children:"i"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://github.com/williamboman/mason-lspconfig.nvim#available-lsp-servers",children:"Here"})," is a full list of language servers that come with ",(0,s.jsx)(n.code,{children:"mason"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/docs/reference/vim-cheatsheet",children:"Here is a cheatsheet"})," of Vim commands for learning the basics. (Vim and Neovim use the same key bindings.)"]}),"\n",(0,s.jsx)(n.p,{children:"You can keep the plugins up to date by running the following command in Neovim"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-vim",children:":Lazy update\n"})}),"\n",(0,s.jsx)(n.h2,{id:"omz-plugins",children:"OMZ Plugins"}),"\n",(0,s.jsx)(n.p,{children:"The script adds the following plugins to OMZ"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/zsh-users/zsh-autosuggestions",children:"zsh-autosuggestions"})," - This plugin suggests commands as you type based on history and completions similar to the way a web browser suggests websites."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/zsh-users/zsh-syntax-highlighting",children:"zsh-syntax-highlighting"})," - This plugin adds color to the command line."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/tamcore/autoupdate-oh-my-zsh-plugins",children:"autoupdate"})," - This plugin automatically updates custom user plugins."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"customizing-optional",children:"Customizing (Optional)"}),"\n",(0,s.jsx)(n.h3,{id:"oh-my-zsh",children:"Oh My Zsh"}),"\n",(0,s.jsxs)(n.p,{children:["To customize OMZ plugins, edit the ",(0,s.jsx)(n.code,{children:"~/.zshrc"})," file with"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"nvim ~/.zshrc\n"})}),"\n",(0,s.jsxs)(n.p,{children:["OMZ comes with several themes you can find ",(0,s.jsx)(n.a,{href:"https://github.com/ohmyzsh/ohmyzsh/wiki/Themes",children:"here"})]}),"\n",(0,s.jsxs)(n.p,{children:["If you want to add additional plugins, you can ",(0,s.jsx)(n.code,{children:"git clone"})," them into ",(0,s.jsx)(n.code,{children:"~/.oh-my-zsh/custom/plugins"})," and then add them to the ",(0,s.jsx)(n.code,{children:"plugins"})," array in ",(0,s.jsx)(n.code,{children:"~/.zshrc"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"neovim",children:"Neovim"}),"\n",(0,s.jsxs)(n.p,{children:["To customize Neovim, edit the ",(0,s.jsx)(n.code,{children:"~/.config/nvim/init.lua"})," file with"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"nvim ~/.config/nvim/init.lua\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Watch the following video to learn about customizing Neovim and the ",(0,s.jsx)(n.code,{children:"init.lua"})," file"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/stqUbv-5u2s?t=226",children:(0,s.jsx)(n.img,{src:"https://img.youtube.com/vi/stqUbv-5u2s/0.jpg",alt:"Effective Neovim: Instant IDE"})})}),"\n",(0,s.jsx)(n.p,{children:"Here is a collection of Vim themes you can use"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://vimcolorschemes.com/",children:"Neovim themes"})}),"\n",(0,s.jsxs)(n.p,{children:["If you wanted to change your theme to, for example, ",(0,s.jsx)(n.a,{href:"https://github.com/folke/tokyonight.nvim",children:"Tokyo Night"}),", find the section of the ",(0,s.jsx)(n.code,{children:"init.lua"})," file that looks like this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-lua",children:"-- Theme inspired by Atom\n{\n 'navarasu/onedark.nvim',\n priority = 1000,\n config = function() vim.cmd.colorscheme('onedark') end,\n},\n"})}),"\n",(0,s.jsx)(n.p,{children:"And change it to this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-lua",children:"{\n 'folke/tokyonight.nvim',\n priority = 1000,\n config = function() vim.cmd.colorscheme('tokyonight') end,\n},\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Check out ",(0,s.jsx)(n.a,{href:"/docs/reference/vim-cheatsheet",children:"this page"})," for a short reference of vim commands."]})]})}function d(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(r,{...e})}):r(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>a,a:()=>h});var s=i(7294);const t={},o=s.createContext(t);function h(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:h(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3669],{7501:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>h,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=i(5893),t=i(1151);const o={sidebar_position:1},h="Lab Machines Environment Setup",a={id:"environment-setup/lab-machines",title:"Lab Machines Environment Setup",description:"Setting up Oh-My-Zsh and Neovim on the lab machines.",source:"@site/docs/environment-setup/lab-machines.md",sourceDirName:"environment-setup",slug:"/environment-setup/lab-machines",permalink:"/cs102-handbook/docs/environment-setup/lab-machines",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"Sidebar",previous:{title:"Environment Setup",permalink:"/cs102-handbook/docs/category/environment-setup"},next:{title:"Windows Environment Setup",permalink:"/cs102-handbook/docs/environment-setup/windows"}},c={},l=[{value:"Setup",id:"setup",level:2},{value:"Adding the C++ Language Server to Neovim",id:"adding-the-c-language-server-to-neovim",level:2},{value:"OMZ Plugins",id:"omz-plugins",level:2},{value:"Customizing (Optional)",id:"customizing-optional",level:2},{value:"Oh My Zsh",id:"oh-my-zsh",level:3},{value:"Neovim",id:"neovim",level:3}];function r(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"lab-machines-environment-setup",children:"Lab Machines Environment Setup"}),"\n",(0,s.jsx)(n.p,{children:"Setting up Oh-My-Zsh and Neovim on the lab machines."}),"\n",(0,s.jsxs)(n.p,{children:["This guide will walk you through installing ",(0,s.jsx)(n.a,{href:"https://ohmyz.sh/",children:"https://ohmyz.sh/"})," and ",(0,s.jsx)(n.a,{href:"https://neovim.io/",children:"Neovim"})," with ",(0,s.jsx)(n.a,{href:"https://github.com/nvim-lua/kickstart.nvim",children:"Neovim kickstart"})," as well as setting up a language server to enable inline code analysis and autocomplete."]}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsxs)(n.p,{children:["On Mac, the color schemes for Neovim will not display right for the default Terminal app. I recommend using ",(0,s.jsx)(n.a,{href:"https://hyper.is/",children:"Hyper"})," as an alternative."]})}),"\n",(0,s.jsx)(n.h2,{id:"setup",children:"Setup"}),"\n",(0,s.jsxs)(n.p,{children:["First log into a lab machine with ",(0,s.jsx)(n.code,{children:"ssh"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/docs/reference/common-linux-commands#logging-into-the-lab-machines",children:(0,s.jsx)(n.code,{children:"ssh reference"})}),"."]}),"\n",(0,s.jsx)(n.p,{children:"To run the installation, run the following command"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'bash -c "$(curl https://raw.githubusercontent.com/utk-eecs-crumpton-tas/cs102-downloads/main/scripts/install.bash)"\n'})}),"\n",(0,s.jsx)(n.h2,{id:"adding-the-c-language-server-to-neovim",children:"Adding the C++ Language Server to Neovim"}),"\n",(0,s.jsx)(n.p,{children:"Open Neovim"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"nvim\n"})}),"\n",(0,s.jsxs)(n.p,{children:["If this is your first time opening Neovim, it will install several plugins. When it is finished, you can ",(0,s.jsx)(n.code,{children:":q"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Then run"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-vim",children:":Mason\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Scroll down to ",(0,s.jsx)(n.code,{children:"clangd"})," and press ",(0,s.jsx)(n.code,{children:"i"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://github.com/williamboman/mason-lspconfig.nvim#available-lsp-servers",children:"Here"})," is a full list of language servers that come with ",(0,s.jsx)(n.code,{children:"mason"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/docs/reference/vim-cheatsheet",children:"Here is a cheatsheet"})," of Vim commands for learning the basics. (Vim and Neovim use the same key bindings.)"]}),"\n",(0,s.jsx)(n.p,{children:"You can keep the plugins up to date by running the following command in Neovim"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-vim",children:":Lazy update\n"})}),"\n",(0,s.jsx)(n.h2,{id:"omz-plugins",children:"OMZ Plugins"}),"\n",(0,s.jsx)(n.p,{children:"The script adds the following plugins to OMZ"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/zsh-users/zsh-autosuggestions",children:"zsh-autosuggestions"})," - This plugin suggests commands as you type based on history and completions similar to the way a web browser suggests websites."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/zsh-users/zsh-syntax-highlighting",children:"zsh-syntax-highlighting"})," - This plugin adds color to the command line."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/tamcore/autoupdate-oh-my-zsh-plugins",children:"autoupdate"})," - This plugin automatically updates custom user plugins."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"customizing-optional",children:"Customizing (Optional)"}),"\n",(0,s.jsx)(n.h3,{id:"oh-my-zsh",children:"Oh My Zsh"}),"\n",(0,s.jsxs)(n.p,{children:["To customize OMZ plugins, edit the ",(0,s.jsx)(n.code,{children:"~/.zshrc"})," file with"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"nvim ~/.zshrc\n"})}),"\n",(0,s.jsxs)(n.p,{children:["OMZ comes with several themes you can find ",(0,s.jsx)(n.a,{href:"https://github.com/ohmyzsh/ohmyzsh/wiki/Themes",children:"here"})]}),"\n",(0,s.jsxs)(n.p,{children:["If you want to add additional plugins, you can ",(0,s.jsx)(n.code,{children:"git clone"})," them into ",(0,s.jsx)(n.code,{children:"~/.oh-my-zsh/custom/plugins"})," and then add them to the ",(0,s.jsx)(n.code,{children:"plugins"})," array in ",(0,s.jsx)(n.code,{children:"~/.zshrc"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"neovim",children:"Neovim"}),"\n",(0,s.jsxs)(n.p,{children:["To customize Neovim, edit the ",(0,s.jsx)(n.code,{children:"~/.config/nvim/init.lua"})," file with"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"nvim ~/.config/nvim/init.lua\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Watch the following video to learn about customizing Neovim and the ",(0,s.jsx)(n.code,{children:"init.lua"})," file"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://youtu.be/stqUbv-5u2s?t=226",children:(0,s.jsx)(n.img,{src:"https://img.youtube.com/vi/stqUbv-5u2s/0.jpg",alt:"Effective Neovim: Instant IDE"})})}),"\n",(0,s.jsx)(n.p,{children:"Here is a collection of Vim themes you can use"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://vimcolorschemes.com/",children:"Neovim themes"})}),"\n",(0,s.jsxs)(n.p,{children:["If you wanted to change your theme to, for example, ",(0,s.jsx)(n.a,{href:"https://github.com/folke/tokyonight.nvim",children:"Tokyo Night"}),", find the section of the ",(0,s.jsx)(n.code,{children:"init.lua"})," file that looks like this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-lua",children:"-- Theme inspired by Atom\n{\n 'navarasu/onedark.nvim',\n priority = 1000,\n config = function() vim.cmd.colorscheme('onedark') end,\n},\n"})}),"\n",(0,s.jsx)(n.p,{children:"And change it to this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-lua",children:"{\n 'folke/tokyonight.nvim',\n priority = 1000,\n config = function() vim.cmd.colorscheme('tokyonight') end,\n},\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Check out ",(0,s.jsx)(n.a,{href:"/docs/reference/vim-cheatsheet",children:"this page"})," for a short reference of vim commands."]})]})}function d(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(r,{...e})}):r(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>a,a:()=>h});var s=i(7294);const t={},o=s.createContext(t);function h(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:h(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5638bbd0.5ef3a1f9.js b/assets/js/5638bbd0.5ef3a1f9.js deleted file mode 100644 index 4fb80362..00000000 --- a/assets/js/5638bbd0.5ef3a1f9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7270],{7702:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var o=s(5893),i=s(1151);const r={sidebar_position:2},t="Sharing Code on Discord",a={id:"reference/discord",title:"Sharing Code on Discord",description:"How to share code on Discord.",source:"@site/docs/reference/discord.md",sourceDirName:"reference",slug:"/reference/discord",permalink:"/cs102-writeups/docs/reference/discord",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"Sidebar",previous:{title:"Common Unix/Linux & g++ Commands",permalink:"/cs102-writeups/docs/reference/common-linux-commands"},next:{title:"VSCode Tips",permalink:"/cs102-writeups/docs/reference/vscode-tips"}},c={},d=[{value:"Copying and Pasting",id:"copying-and-pasting",level:2},{value:"Uploading a File",id:"uploading-a-file",level:2},{value:"Taking a Screenshot",id:"taking-a-screenshot",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"sharing-code-on-discord",children:"Sharing Code on Discord"}),"\n",(0,o.jsx)(n.p,{children:"How to share code on Discord."}),"\n",(0,o.jsx)(n.admonition,{type:"info",children:(0,o.jsxs)(n.p,{children:["Before sharing your code on Discord, please format it first. If you're using Vim, you can format your code in normal mode by typing ",(0,o.jsx)(n.code,{children:"gg=G"}),". If you're using VSCode, you can format your code with ",(0,o.jsx)(n.code,{children:"shift+alt+f"}),"."]})}),"\n",(0,o.jsx)(n.p,{children:"There are 3 ways to share code on Discord:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"#sharing-code-on-discord",children:"Sharing Code on Discord"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"#copying-and-pasting",children:"Copying and Pasting"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"#uploading-a-file",children:"Uploading a File"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"#taking-a-screenshot",children:"Taking a Screenshot"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"copying-and-pasting",children:"Copying and Pasting"}),"\n",(0,o.jsxs)(n.p,{children:["Discord supports a subset of the markup language known as ",(0,o.jsx)(n.a,{href:"https://www.markdownguide.org/",children:"markdown"}),". Markdown lets you share code with mono-spacing and syntax highlighting in Discord by wrapping it in backticks. ",(0,o.jsx)(n.a,{href:"https://www.markdownguide.org/extended-syntax/#fenced-code-blocks",children:"Here"})," is the documentation for markdown code blocks for reference."]}),"\n",(0,o.jsx)(n.p,{children:"For example, if you wanted to share the following code:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'#include \n\nusing namespace std;\n\nint main() {\n cout << "Hello World!" << endl;\n return 0;\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"You would wrap it in backticks like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'```cpp\n#include \n\nusing namespace std;\n\nint main() {\n cout << "Hello World!" << endl;\n return 0;\n}\n```\n'})}),"\n",(0,o.jsx)(n.p,{children:"Notice that ```cpp is all connected on a line by itself and the source code begins on a new line. This is what it should look like in Discord:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Copy and Paste Code into Discord",src:s(5737).Z+"",width:"2860",height:"534"})}),"\n",(0,o.jsxs)(n.p,{children:["If you've done it correctly the ",(0,o.jsx)(n.code,{children:"cpp"})," should turn green and the code's syntax should be highlighted."]}),"\n",(0,o.jsx)(n.p,{children:"Discord limits the size of messages you can send, so this approach is mainly useful for sharing small snippets of code and not entire files."}),"\n",(0,o.jsx)(n.h2,{id:"uploading-a-file",children:"Uploading a File"}),"\n",(0,o.jsxs)(n.p,{children:["Uploading a file is simple, you can either select the plus icon on the left side of the message box or simply drag and drop the file into the app. Uploading a file should be a last resort. You should do your best to try to figure out which part of your program is not working and ask questions about the piece you are struggling with. We will help if you are ",(0,o.jsx)(n.em,{children:"really"})," stuck, but please try to find bugs on your own if you can. Here is the section reference on ",(0,o.jsx)(n.a,{href:"/docs/debugging/segmentation-faults#how-to-debug-segmentation-faults",children:"debugging with print statements"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"taking-a-screenshot",children:"Taking a Screenshot"}),"\n",(0,o.jsxs)(n.p,{children:["A screenshot is okay in some situations, but if we need to make edits to the code you have shared with us this is difficult as we cannot edit code from an image. Screenshots are best suited for problems you are having at the command line like ",(0,o.jsx)(n.code,{children:"scp"})," and ",(0,o.jsx)(n.code,{children:"g++"}),". If you share output from the terminal please first clear your screen (you can clear quickly by pressing ",(0,o.jsx)(n.code,{children:"ctrl + l"}),"), run ",(0,o.jsx)(n.code,{children:"ls"})," so we can see the context in which you are working, then run the command you are struggling with and show us as much of the output as you can."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"example screenshot",src:s(1217).Z+"",width:"1232",height:"454"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["You can take a screenshot on Mac by pressing ",(0,o.jsx)(n.code,{children:"command + shift + 4"})," and then dragging your mouse to select the area you want to capture."]}),"\n",(0,o.jsxs)(n.li,{children:["You can take a screenshot on Windows by pressing ",(0,o.jsx)(n.code,{children:"Windows + shift + s"})," and then dragging your mouse to select the area you want to capture."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},5737:(e,n,s)=>{s.d(n,{Z:()=>o});const o=s.p+"assets/images/discode-e4faf84e8ea9294daecc3b0935ad530f.png"},1217:(e,n,s)=>{s.d(n,{Z:()=>o});const o=s.p+"assets/images/example-screenshot-c46d86233ccac3018f79c4e2411ebfc0.png"},1151:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>t});var o=s(7294);const i={},r=o.createContext(i);function t(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5638bbd0.703b8364.js b/assets/js/5638bbd0.703b8364.js new file mode 100644 index 00000000..dbc59eca --- /dev/null +++ b/assets/js/5638bbd0.703b8364.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7270],{7702:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var s=o(5893),i=o(1151);const r={sidebar_position:2},t="Sharing Code on Discord",a={id:"reference/discord",title:"Sharing Code on Discord",description:"How to share code on Discord.",source:"@site/docs/reference/discord.md",sourceDirName:"reference",slug:"/reference/discord",permalink:"/cs102-handbook/docs/reference/discord",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"Sidebar",previous:{title:"Common Unix/Linux & g++ Commands",permalink:"/cs102-handbook/docs/reference/common-linux-commands"},next:{title:"VSCode Tips",permalink:"/cs102-handbook/docs/reference/vscode-tips"}},c={},d=[{value:"Copying and Pasting",id:"copying-and-pasting",level:2},{value:"Uploading a File",id:"uploading-a-file",level:2},{value:"Taking a Screenshot",id:"taking-a-screenshot",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"sharing-code-on-discord",children:"Sharing Code on Discord"}),"\n",(0,s.jsx)(n.p,{children:"How to share code on Discord."}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsxs)(n.p,{children:["Before sharing your code on Discord, please format it first. If you're using Vim, you can format your code in normal mode by typing ",(0,s.jsx)(n.code,{children:"gg=G"}),". If you're using VSCode, you can format your code with ",(0,s.jsx)(n.code,{children:"shift+alt+f"}),"."]})}),"\n",(0,s.jsx)(n.p,{children:"There are 3 ways to share code on Discord:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"#sharing-code-on-discord",children:"Sharing Code on Discord"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#copying-and-pasting",children:"Copying and Pasting"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#uploading-a-file",children:"Uploading a File"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#taking-a-screenshot",children:"Taking a Screenshot"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"copying-and-pasting",children:"Copying and Pasting"}),"\n",(0,s.jsxs)(n.p,{children:["Discord supports a subset of the markup language known as ",(0,s.jsx)(n.a,{href:"https://www.markdownguide.org/",children:"markdown"}),". Markdown lets you share code with mono-spacing and syntax highlighting in Discord by wrapping it in backticks. ",(0,s.jsx)(n.a,{href:"https://www.markdownguide.org/extended-syntax/#fenced-code-blocks",children:"Here"})," is the documentation for markdown code blocks for reference."]}),"\n",(0,s.jsx)(n.p,{children:"For example, if you wanted to share the following code:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-cpp",children:'#include \n\nusing namespace std;\n\nint main() {\n cout << "Hello World!" << endl;\n return 0;\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"You would wrap it in backticks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-cpp",children:'```cpp\n#include \n\nusing namespace std;\n\nint main() {\n cout << "Hello World!" << endl;\n return 0;\n}\n```\n'})}),"\n",(0,s.jsx)(n.p,{children:"Notice that ```cpp is all connected on a line by itself and the source code begins on a new line. This is what it should look like in Discord:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Copy and Paste Code into Discord",src:o(5737).Z+"",width:"2860",height:"534"})}),"\n",(0,s.jsxs)(n.p,{children:["If you've done it correctly the ",(0,s.jsx)(n.code,{children:"cpp"})," should turn green and the code's syntax should be highlighted."]}),"\n",(0,s.jsx)(n.p,{children:"Discord limits the size of messages you can send, so this approach is mainly useful for sharing small snippets of code and not entire files."}),"\n",(0,s.jsx)(n.h2,{id:"uploading-a-file",children:"Uploading a File"}),"\n",(0,s.jsxs)(n.p,{children:["Uploading a file is simple, you can either select the plus icon on the left side of the message box or simply drag and drop the file into the app. Uploading a file should be a last resort. You should do your best to try to figure out which part of your program is not working and ask questions about the piece you are struggling with. We will help if you are ",(0,s.jsx)(n.em,{children:"really"})," stuck, but please try to find bugs on your own if you can. Here is the section reference on ",(0,s.jsx)(n.a,{href:"/docs/debugging/segmentation-faults#how-to-debug-segmentation-faults",children:"debugging with print statements"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"taking-a-screenshot",children:"Taking a Screenshot"}),"\n",(0,s.jsxs)(n.p,{children:["A screenshot is okay in some situations, but if we need to make edits to the code you have shared with us this is difficult as we cannot edit code from an image. Screenshots are best suited for problems you are having at the command line like ",(0,s.jsx)(n.code,{children:"scp"})," and ",(0,s.jsx)(n.code,{children:"g++"}),". If you share output from the terminal please first clear your screen (you can clear quickly by pressing ",(0,s.jsx)(n.code,{children:"ctrl + l"}),"), run ",(0,s.jsx)(n.code,{children:"ls"})," so we can see the context in which you are working, then run the command you are struggling with and show us as much of the output as you can."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"example screenshot",src:o(1217).Z+"",width:"1232",height:"454"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["You can take a screenshot on Mac by pressing ",(0,s.jsx)(n.code,{children:"command + shift + 4"})," and then dragging your mouse to select the area you want to capture."]}),"\n",(0,s.jsxs)(n.li,{children:["You can take a screenshot on Windows by pressing ",(0,s.jsx)(n.code,{children:"Windows + shift + s"})," and then dragging your mouse to select the area you want to capture."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},5737:(e,n,o)=>{o.d(n,{Z:()=>s});const s=o.p+"assets/images/discode-e4faf84e8ea9294daecc3b0935ad530f.png"},1217:(e,n,o)=>{o.d(n,{Z:()=>s});const s=o.p+"assets/images/example-screenshot-c46d86233ccac3018f79c4e2411ebfc0.png"},1151:(e,n,o)=>{o.d(n,{Z:()=>a,a:()=>t});var s=o(7294);const i={},r=s.createContext(i);function t(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/59362658.7032e09e.js b/assets/js/59362658.7032e09e.js deleted file mode 100644 index c4ddb111..00000000 --- a/assets/js/59362658.7032e09e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2267],{7797:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var s=o(5893),n=o(1151);const r={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},a=void 0,c={permalink:"/cs102-writeups/blog/mdx-blog-post",source:"@site/blog/2021-08-01-mdx-blog-post.mdx",title:"MDX Blog Post",description:"Blog posts support Docusaurus Markdown features, such as MDX.",date:"2021-08-01T00:00:00.000Z",formattedDate:"August 1, 2021",tags:[{label:"docusaurus",permalink:"/cs102-writeups/blog/tags/docusaurus"}],readingTime:.175,hasTruncateMarker:!1,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},unlisted:!1,prevItem:{title:"Welcome",permalink:"/cs102-writeups/blog/welcome"},nextItem:{title:"Long Blog Post",permalink:"/cs102-writeups/blog/long-blog-post"}},u={authorsImageUrls:[void 0]},l=[];function i(t){const e={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,n.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:["Blog posts support ",(0,s.jsx)(e.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,s.jsx)(e.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,s.jsxs)(e.admonition,{type:"tip",children:[(0,s.jsx)(e.p,{children:"Use the power of React to create interactive blog posts."}),(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-js",children:"\n"})}),(0,s.jsx)("button",{onClick:()=>alert("button clicked!"),children:"Click me!"})]})]})}function p(t={}){const{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(i,{...t})}):i(t)}},1151:(t,e,o)=>{o.d(e,{Z:()=>c,a:()=>a});var s=o(7294);const n={},r=s.createContext(n);function a(t){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),s.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/59362658.dd8de156.js b/assets/js/59362658.dd8de156.js new file mode 100644 index 00000000..0e602944 --- /dev/null +++ b/assets/js/59362658.dd8de156.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2267],{7797:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>u});var s=e(5893),n=e(1151);const r={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},a=void 0,c={permalink:"/cs102-handbook/blog/mdx-blog-post",source:"@site/blog/2021-08-01-mdx-blog-post.mdx",title:"MDX Blog Post",description:"Blog posts support Docusaurus Markdown features, such as MDX.",date:"2021-08-01T00:00:00.000Z",formattedDate:"August 1, 2021",tags:[{label:"docusaurus",permalink:"/cs102-handbook/blog/tags/docusaurus"}],readingTime:.175,hasTruncateMarker:!1,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},unlisted:!1,prevItem:{title:"Welcome",permalink:"/cs102-handbook/blog/welcome"},nextItem:{title:"Long Blog Post",permalink:"/cs102-handbook/blog/long-blog-post"}},l={authorsImageUrls:[void 0]},u=[];function i(t){const o={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,n.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.p,{children:["Blog posts support ",(0,s.jsx)(o.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,s.jsx)(o.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,s.jsxs)(o.admonition,{type:"tip",children:[(0,s.jsx)(o.p,{children:"Use the power of React to create interactive blog posts."}),(0,s.jsx)(o.pre,{children:(0,s.jsx)(o.code,{className:"language-js",children:"\n"})}),(0,s.jsx)("button",{onClick:()=>alert("button clicked!"),children:"Click me!"})]})]})}function d(t={}){const{wrapper:o}={...(0,n.a)(),...t.components};return o?(0,s.jsx)(o,{...t,children:(0,s.jsx)(i,{...t})}):i(t)}},1151:(t,o,e)=>{e.d(o,{Z:()=>c,a:()=>a});var s=e(7294);const n={},r=s.createContext(n);function a(t){const o=s.useContext(r);return s.useMemo((function(){return"function"==typeof t?t(o):{...o,...t}}),[o,t])}function c(t){let o;return o=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),s.createElement(r.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/5b44d179.8431a745.js b/assets/js/5b44d179.8431a745.js deleted file mode 100644 index 285c2dc9..00000000 --- a/assets/js/5b44d179.8431a745.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7862],{6456:s=>{s.exports=JSON.parse('{"label":"facebook","permalink":"/cs102-writeups/blog/tags/facebook","allTagsPath":"/cs102-writeups/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/5ed63ff7.8e187822.js b/assets/js/5ed63ff7.8e187822.js new file mode 100644 index 00000000..870540f5 --- /dev/null +++ b/assets/js/5ed63ff7.8e187822.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[518],{8176:o=>{o.exports=JSON.parse('{"title":"Tutorials","description":"Tutorials for various topics in the course.","slug":"/category/tutorials","permalink":"/cs102-handbook/docs/category/tutorials","navigation":{"previous":{"title":"Mac Environment Setup","permalink":"/cs102-handbook/docs/environment-setup/mac"},"next":{"title":"SSH and SCP Tutorial","permalink":"/cs102-handbook/docs/tutorials/ssh-and-scp"}}}')}}]); \ No newline at end of file diff --git a/assets/js/6106ade6.8f76f058.js b/assets/js/6106ade6.8f76f058.js new file mode 100644 index 00000000..f5581e39 --- /dev/null +++ b/assets/js/6106ade6.8f76f058.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[155],{1439:o=>{o.exports=JSON.parse('{"permalink":"/cs102-handbook/blog/tags/facebook","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/6751470f.2446ee36.js b/assets/js/6751470f.2446ee36.js deleted file mode 100644 index 8be64df0..00000000 --- a/assets/js/6751470f.2446ee36.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[4111],{5810:s=>{s.exports=JSON.parse('[{"label":"facebook","permalink":"/cs102-writeups/blog/tags/facebook","count":1},{"label":"hello","permalink":"/cs102-writeups/blog/tags/hello","count":2},{"label":"docusaurus","permalink":"/cs102-writeups/blog/tags/docusaurus","count":4},{"label":"hola","permalink":"/cs102-writeups/blog/tags/hola","count":1}]')}}]); \ No newline at end of file diff --git a/assets/js/6aa336ca.0b2b52e8.js b/assets/js/6aa336ca.d6b87955.js similarity index 53% rename from assets/js/6aa336ca.0b2b52e8.js rename to assets/js/6aa336ca.d6b87955.js index 222b8dbd..7d88150d 100644 --- a/assets/js/6aa336ca.0b2b52e8.js +++ b/assets/js/6aa336ca.d6b87955.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2920],{9891:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var i=o(5893),s=o(1151);const a={sidebar_position:1},t="About Grading",r={id:"grading/about-grading",title:"About Grading",description:"How to format your lab submissions.",source:"@site/docs/grading/about-grading.md",sourceDirName:"grading",slug:"/grading/about-grading",permalink:"/cs102-writeups/docs/grading/about-grading",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"Sidebar",previous:{title:"Grading",permalink:"/cs102-writeups/docs/category/grading"},next:{title:"CS102lings",permalink:"/cs102-writeups/docs/grading/cs102lings"}},l={},c=[{value:"Formatting",id:"formatting",level:2},{value:"Header",id:"header",level:3},{value:"Comments",id:"comments",level:3},{value:"Formatting Comments",id:"formatting-comments",level:3},{value:"Bad Variable Names",id:"bad-variable-names",level:3},{value:"Bad Variable Casing Conventions",id:"bad-variable-casing-conventions",level:3},{value:"Non-Const Global Variables",id:"non-const-global-variables",level:3},{value:"Unused Variables",id:"unused-variables",level:3},{value:"Dead Code",id:"dead-code",level:3},{value:"Empty Code Blocks",id:"empty-code-blocks",level:3},{value:"Bad Indentation or Inconsistent Use of Whitespace",id:"bad-indentation-or-inconsistent-use-of-whitespace",level:3},{value:"Compiler Warnings",id:"compiler-warnings",level:3},{value:"Output",id:"output",level:2},{value:"Common Mistakes",id:"common-mistakes",level:3},{value:"Checking Output",id:"checking-output",level:3},{value:"Compiling",id:"compiling",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"about-grading",children:"About Grading"}),"\n",(0,i.jsx)(n.p,{children:"How to format your lab submissions."}),"\n",(0,i.jsx)(n.h2,{id:"formatting",children:"Formatting"}),"\n",(0,i.jsx)(n.p,{children:"Each of your labs will have 10 to 15 points for grading the format of your code. This includes things like the header, indentation, comments, and coding conventions. A grade like this will not be as present in upper-level CS courses, but one of the goals of 102 is to get you used to writing code that is easy to read and understand. This is a skill that will be useful in all of your future classes."}),"\n",(0,i.jsx)(n.h3,{id:"header",children:"Header"}),"\n",(0,i.jsx)(n.p,{children:"A header will be required for all of your labs at UT, however, the format may vary. For this class, you will need to include the following information in your header:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"/* Program Name: PROGRAM NAME HERE\n * Student Name: YOUR NAME HERE\n * Net ID: NETID HERE\n * Student ID: STUDENT ID HERE (000-12-3456)\n * Program Description: BRIEF, 1-2 SENTENCE DESCRIPTION HERE */\n"})}),"\n",(0,i.jsx)(n.p,{children:"Each field of the header is worth 1 point. If you forget the header, you will lose 5 points."}),"\n",(0,i.jsx)(n.h3,{id:"comments",children:"Comments"}),"\n",(0,i.jsx)(n.p,{children:"If your program does not have comments you will lose 5 points. You should get in the habit of commenting on your code. However, if you over-comment your code, you may also receive a small penalty. The idea behind comments is just to provide a brief explanation of what your code is doing. You should not need to comment on every line of code. Assume the reader of the code already knows C++, comments are just to help the reader understand if something may be unclear."}),"\n",(0,i.jsx)(n.p,{children:"Examples of bad comments:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'cout << "Hello" << endl; // prints "Hello" to the console\n'})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"return 1; // return an error\n"})}),"\n",(0,i.jsxs)(n.p,{children:["It's obvious that ",(0,i.jsx)(n.code,{children:"cout"})," prints to the console, and it's obvious that ",(0,i.jsx)(n.code,{children:"return 1"})," returns an error. These comments are not necessary. You should only comment on things that may not be obvious to the reader."]}),"\n",(0,i.jsx)(n.p,{children:"Examples of good comments:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"// compute the sum of the first n integers\nint sum = 0;\nfor (int i = 1; i <= n; i++) {\n sum += i;\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"formatting-comments",children:"Formatting Comments"}),"\n",(0,i.jsx)(n.p,{children:"Poorly formatted comments are -1. Comments should be formatted like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'// This is a good comment\nint main() {\n // This is a good comment\n int x = get_x();\n if (x > 0) {\n // This is a good comment\n cout << "x is positive" << endl;\n } else if (x == 0) {\n cout << "x is zero" << endl; // This is a good comment\n//This is a bad comment\n } else {\n //This is a bad comment\n cout << "x is negative" << endl;\n }\n// This is a bad comment\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:"The indentation level of your comments should match the indentation level of the code they are commenting on."}),"\n",(0,i.jsx)(n.h3,{id:"bad-variable-names",children:"Bad Variable Names"}),"\n",(0,i.jsx)(n.p,{children:"If poor or non-descriptive variable names are used, you may lose a couple of points for this depending on how difficult it makes your code to understand."}),"\n",(0,i.jsx)(n.p,{children:"Examples of bad variable names:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int a, b, c = 0; // single letter variable names which don't explain the contents\nstring un; // username - don't use abbreviations\nint arrlen; // array length - don't shorten words and chunk them together\n"})}),"\n",(0,i.jsx)(n.p,{children:"Examples of good variable names:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int x, y; // for a coordinate system\nstring username;\nint array_length;\n"})}),"\n",(0,i.jsx)(n.p,{children:"Variable names should rather be too descriptive than not descriptive enough."}),"\n",(0,i.jsx)(n.h3,{id:"bad-variable-casing-conventions",children:"Bad Variable Casing Conventions"}),"\n",(0,i.jsx)(n.p,{children:"You will not necessarily lose points unless there are a lot of inconsistencies and errors in your variable naming conventions. However, it is important to follow the conventions of the language you are using."}),"\n",(0,i.jsx)(n.p,{children:"There are several naming conventions common in programming"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"camelCase: variables and functions"}),"\n",(0,i.jsx)(n.li,{children:"snake_case: variables and functions"}),"\n",(0,i.jsx)(n.li,{children:"PascalCase: classes, structs, enums, and type aliases"}),"\n",(0,i.jsx)(n.li,{children:"UPPER_SNAKE_CASE or SCREAMING_SNAKE_CASE: constants"}),"\n",(0,i.jsx)(n.li,{children:"kebab-case: file names, inside strings, or in markup languages"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"When naming variables and functions in C++, you should use one of two: camelCase or snake_case."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"void myFunction() {\n int myVariable = 0;\n}\n\nvoid my_function() {\n int my_variable = 0;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"I prefer snake_case since the C++ standard library uses snake_case, but either one is okay. The important thing is to be consistent!"}),"\n",(0,i.jsx)(n.p,{children:"Variables should not start with capital letters, and should not contain capital letters if not using camelCase. Examples of how not to name your variables:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int MyVariable = 0;\nint My_Variable = 0;\nint my_Variable = 0;\n"})}),"\n",(0,i.jsx)(n.p,{children:"When naming global constants, or macros, you should use UPPER_SNAKE_CASE."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"#define CIRCLE_RADIUS 10\n\nconst double PI = 3.14159;\n"})}),"\n",(0,i.jsx)(n.p,{children:"Lastly, it is common practice to name any custom types using PascalCase."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"class MyClass {\n // ...\n};\n\nstruct MyStruct {\n // ...\n};\n\nenum MyEnum {\n FieldOne,\n FieldTwo,\n FieldThree,\n};\n\ntypedef int MyTypeAlias1;\nusing MyTypeAlias2 = int;\n\nint main() {\n MyClass my_class;\n MyStruct my_struct;\n MyEnum my_enum = FieldOne;\n MyTypeAlias1 my_type_alias1 = 0;\n MyTypeAlias2 my_type_alias2 = 0;\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"non-const-global-variables",children:"Non-Const Global Variables"}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"const"})," keyword in C++ is the equivalent of ",(0,i.jsx)(n.code,{children:"final"})," in Java. It means that the variable cannot be changed."]})}),"\n",(0,i.jsxs)(n.p,{children:["Minus 1 per non-const global variable up to 3. Global variables are variables that are declared outside of any function. They are accessible from anywhere in your program. Non-const global variables are generally considered a bad practice, and you should avoid using them. It may not seem like a big deal now, but as your programs grow in size and complexity, global variables can lead to a lot of difficult-to-find bugs. If you do use a global variable, it should be declared as ",(0,i.jsx)(n.code,{children:"const"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int my_global_variable = 0; // bad\nconst int MY_GLOBAL_VARIABLE = 0; // okay\n"})}),"\n",(0,i.jsx)(n.p,{children:"The best way to remove global variables is simply to pass them as arguments to any functions that need them."}),"\n",(0,i.jsx)(n.p,{children:"Before"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"vector my_global_variable; // bad\n\nvoid my_function() {\n my_global_variable.push_back(0);\n}\n\nint main() {\n my_function();\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"After"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"void my_function(vector& my_global_variable) {\n my_global_variable.push_back(0);\n}\n\nint main() {\n vector my_global_variable; // okay\n my_function(my_global_variable);\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"unused-variables",children:"Unused Variables"}),"\n",(0,i.jsxs)(n.p,{children:["Minus 1 per unused variable up to 3. Unused variables are a bad practice that can make your code messy or harder to understand. If you have a variable that you are not using, you should remove it. The best way to catch global variables is to compile ",(0,i.jsx)(n.code,{children:"g++"})," with the ",(0,i.jsx)(n.code,{children:"-Wall"})," flag. This will print a warning for any unused variables as well as many other useful warnings."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"g++ -Wall -o my_program my_program.cpp\n"})}),"\n",(0,i.jsx)(n.h3,{id:"dead-code",children:"Dead Code"}),"\n",(0,i.jsxs)(n.p,{children:["Dead code is code that is never executed. This can happen for several reasons, but the most common is that you forgot to remove a line of code after a ",(0,i.jsx)(n.code,{children:"return"})," or ",(0,i.jsx)(n.code,{children:"break"})," statement."]}),"\n",(0,i.jsx)(n.p,{children:"Examples:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'int dead_code1(int a) {\n if (a == 0) {\n return 0;\n } else {\n return 1;\n }\n cout << "This line will never be executed because it happens after a return" << endl;\n}\n\nint dead_code2(int a) {\n switch (a) {\n case 0:\n break;\n cout << "This line will never be executed because it happens after a break" << endl;\n case 1:\n break;\n }\n}\n'})}),"\n",(0,i.jsx)(n.h3,{id:"empty-code-blocks",children:"Empty Code Blocks"}),"\n",(0,i.jsx)(n.p,{children:"-1 for empty code blocks."}),"\n",(0,i.jsx)(n.p,{children:"Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'if (true) {\n // do nothing - empty block\n} else {\n cout << "It\'s false!" << endl;\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:"You should not have empty code blocks in your code. Any empty code block can be removed by refactoring your code a little bit."}),"\n",(0,i.jsx)(n.p,{children:"Fix:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'if (false) {\n cout << "It\'s false!" << endl;\n}\n'})}),"\n",(0,i.jsx)(n.h3,{id:"bad-indentation-or-inconsistent-use-of-whitespace",children:"Bad Indentation or Inconsistent Use of Whitespace"}),"\n",(0,i.jsx)(n.p,{children:"Example of bad indentation:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int main() {\nint a = 0;\nint b = 0;\nint c = 0;\n if (a == 0) {\n b = 1;\n }\n else {\n c = 1;\n }\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Examples of inconsistent use of whitespace:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int main() {\n int a = 0;\n int b =0;\n int c= 0;\n\n int result = a + b*c;\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Bad indentation makes code incredibly difficult to read. A couple of mistakes are okay, but if we cannot tell where your code blocks begin and end, you will lose points for this. The best advice I can give you is to use a code formatter. This is a program that will automatically fix any whitespace and indentation issues in your code and format everything in a consistent way. To format your code in Vim while in normal mode use the command ",(0,i.jsx)(n.code,{children:"gg=G"}),". To format in VS Code right-click your code and select format document or hit ",(0,i.jsx)(n.code,{children:"shift+alt+f"}),". You may need to install an extension in VS Code, the Microsoft ",(0,i.jsx)(n.code,{children:"C/C++"})," extension should come with whatever you need. If you use a formatter on your code before submitting, you will never have to worry about losing points for this."]}),"\n",(0,i.jsx)(n.p,{children:"A side note: If you are sharing code with a TA on the Discord server, please format your code first, this will make it much easier for us to help you!"}),"\n",(0,i.jsx)(n.h3,{id:"compiler-warnings",children:"Compiler Warnings"}),"\n",(0,i.jsxs)(n.p,{children:["This may not happen for all labs, but some labs will have specific instructions for compiling code such as ",(0,i.jsx)(n.code,{children:"g++ -Wall -o my_program my_program.cpp"}),", which will enable all compiler warnings. You will lose 1 point up to 3 for any compiler warnings."]}),"\n",(0,i.jsx)(n.p,{children:"The most common compiler warning is comparing a signed and unsigned integer."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int main() {\n vector my_vector = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n\n for (int i = 0; i < my_vector.size(); i++) {\n cout << my_vector[i] << endl;\n }\n\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"warning: comparison of integer expressions of different signedness: \u2018int\u2019 and \u2018size_t\u2019 {aka \u2018long unsigned int\u2019} [-Wsign-compare]\n"})}),"\n",(0,i.jsxs)(n.p,{children:["The variable ",(0,i.jsx)(n.code,{children:"i"})," is a signed ",(0,i.jsx)(n.code,{children:"int"})," and ",(0,i.jsx)(n.code,{children:"my_vector.size()"})," is a ",(0,i.jsx)(n.code,{children:"size_t"})," aka a ",(0,i.jsx)(n.code,{children:"long unsigned int"}),". This is a common mistake that can be avoided by using ",(0,i.jsx)(n.code,{children:"unsigned int"})," or ",(0,i.jsx)(n.code,{children:"size_t"})," for your loop counters."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int main() {\n vector my_vector = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n\n for (size_t i = 0; i < my_vector.size(); i++) {\n cout << my_vector[i] << endl;\n }\n\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"output",children:"Output"}),"\n",(0,i.jsxs)(n.p,{children:["Almost all of the labs in the class will have a section grading the output of your program (what's printed to the console). Whereas this will be a smaller portion of your grade in this class, having your output match ",(0,i.jsx)(n.strong,{children:"exactly"}),", will be much more important in future classes. For this reason, you should take the time to make sure your output matches the expected output exactly."]}),"\n",(0,i.jsx)(n.p,{children:"Each lab writeup will include some example output such as:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"Your penname name is Birmingham Johnson.\nYou will write as a 15 year old.\nYour address is 59 Student Lane.\n\n\n\nYour penname name is Albuquerque Steve.\nYou will write as a 45 year old.\nYour address is 18 Jack Lane.\n"})}),"\n",(0,i.jsx)(n.p,{children:"This output should look like this as code:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'// Output 1\ncout << "Your penname name is Birmingham Johnson.\\n";\ncout << "You will write as a 15 year old.\\n";\ncout << "Your address is 59 Student Lane.\\n";\n\n// Output 2\ncout << "Your penname name is Albuquerque Steve.\\n";\ncout << "You will write as a 45 year old.\\n";\ncout << "Your address is 18 Jack Lane.\\n";\n'})}),"\n",(0,i.jsx)(n.h3,{id:"common-mistakes",children:"Common Mistakes"}),"\n",(0,i.jsxs)(n.p,{children:["All output should end in a new line ",(0,i.jsx)(n.code,{children:"\\n"})," and only one new line. It is very common for students to forget to add a new line to the end of their output."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'cout << "Your address is 59 Student Lane."; // Wrong, missing `\\n`\n'})}),"\n",(0,i.jsx)(n.p,{children:"Adding extra whitespace. This is just one example, but I have seen this a lot where students will put a space before a new line."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'cout << "Your penname name is Birmingham Johnson. \\n"; // Incorrect, extra whitespace\n'})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'// Incorrect, extra newlines between outputs\ncout << "Your penname name is Birmingham Johnson.\\n\\n";\ncout << "You will write as a 15 year old.\\n\\n";\ncout << "Your address is 59 Student Lane.\\n\\n";\n'})}),"\n",(0,i.jsx)(n.p,{children:"Missing punctuation. This is another common mistake. Make sure you have all of the punctuation in the correct places."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'cout << "Your penname name is Birmingham Johnson\\n"; // Incorrect, missing `.`\n'})}),"\n",(0,i.jsx)(n.p,{children:"Mismatched letter casing."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'cout << "your penname name is Birmingham Johnson.\\n"; // Incorrect, `y` is not capitalized\n'})}),"\n",(0,i.jsx)(n.p,{children:"Mismatched wording."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'cout << "Your penname is Birmingham Johnson.\\n"; // Incorrect, `name` is missing\n'})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'cout << "Your penname name will be Birmingham Johnson.\\n"; // Incorrect, used `will be` instead of `is`\n'})}),"\n",(0,i.jsx)(n.p,{children:'If something seems incorrect about the output, it possibly is. If you are unsure, please ask a TA on the Discord server. Erring on the side of caution, it is better to match the output exactly, even if there is a mistake. You will not be penalized for any of our mistakes and this will allow you to reference the writeup for "correctness".'}),"\n",(0,i.jsx)(n.h3,{id:"checking-output",children:"Checking Output"}),"\n",(0,i.jsxs)(n.p,{children:["For some of the harder labs like bit set and vectors from scratch, we will try to give you grade scripts for checking your output, but we do not have grade scripts for all the labs. For the labs you do not have grade scripts, you can use the ",(0,i.jsx)(n.code,{children:"diff"})," command to compare your output to the expected output. This is a very useful command that you will use in the future."]}),"\n",(0,i.jsxs)(n.p,{children:["To use the ",(0,i.jsx)(n.code,{children:"diff"})," command, first copy the expected output from the lab writeup into a file."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"output.txt"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-txt",children:"Your penname name is Birmingham Johnson.\nYou will write as a 15 year old.\nYour address is 59 Student Lane.\n\n"})}),"\n",(0,i.jsx)(n.p,{children:"This file should be in the same directory as your source code and binary. To compare your output to the expected output, first compile your program, then run the following command:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"g++ -o my_program my_program.cpp\ndiff <(./my_program) lab_output.txt\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Run ",(0,i.jsx)(n.code,{children:"diff"})," with the ",(0,i.jsx)(n.code,{children:"-y"})," flag to get a side-by-side comparison."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"diff -y <(./my_program) lab_output.txt\n"})}),"\n",(0,i.jsx)(n.p,{children:"If you want to run your program and save the output to a file, you can do so like this"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"./my_program > my_output.txt\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Then you can compare your output to the expected output using ",(0,i.jsx)(n.code,{children:"diff"})," like this:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"diff -y my_output.txt lab_output.txt\n\n"})}),"\n",(0,i.jsx)(n.p,{children:"This program should easily let you find if any of the mistakes listed above are present in your output."}),"\n",(0,i.jsx)(n.h2,{id:"compiling",children:"Compiling"}),"\n",(0,i.jsx)(n.admonition,{title:"Your Code Must Compile on the Lab Machines",type:"danger",children:(0,i.jsxs)(n.p,{children:["Whenever you are going to submit your code for an assignment, ",(0,i.jsx)(n.strong,{children:"ALWAYS"})," make sure it compiles ",(0,i.jsx)(n.em,{children:"and"})," behaves (as intended) before doing so -- ",(0,i.jsx)(n.strong,{children:"ON THE LAB MACHINES"}),". Compilers work differently across computers, so even if it compiles on your computer, it doesn't necessarily compile or behave the same way on the lab machines. The TA's grade using the lab machines, so if your code doesn't compile or work correctly there, you will ",(0,i.jsx)(n.strong,{children:"not get credit"})," for the assignment. Trust me, it happens all the time."]})}),"\n",(0,i.jsx)(n.p,{children:"This may seem like a steep policy, but this will be the policy used for all upper-level classes, the difference here is since this is an intro class, some degree of error is expected. There will be two extra credit labs available throughout the semester you can use to make up for any points lost due to this policy."}),"\n",(0,i.jsx)(n.p,{children:"The best way to be certain your lab compiles is to download your submission from Canvas, upload it to one of the lab machines, and verify that the submission compiles."}),"\n",(0,i.jsxs)(n.p,{children:["The file can be uploaded using ",(0,i.jsx)(n.code,{children:"scp SOURCE DESTINATION"})," (more on that in the ",(0,i.jsx)(n.a,{href:"/docs/reference/common-linux-commands#copying-to-and-from-the-lab-machines-scp",children:"scp quick guide"}),"), but in this case, the source is the file on your computer, and the destination is the lab machine."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"scp my_program.cpp NETID@hydra0.eecs.utk.edu:~/uploads\n"})})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1151:(e,n,o)=>{o.d(n,{Z:()=>r,a:()=>t});var i=o(7294);const s={},a=i.createContext(s);function t(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2920],{9891:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var a=o(5893),i=o(1151);const s={sidebar_position:1},t="About Grading",r={id:"grading/about-grading",title:"About Grading",description:"How to format your lab submissions.",source:"@site/docs/grading/about-grading.md",sourceDirName:"grading",slug:"/grading/about-grading",permalink:"/cs102-handbook/docs/grading/about-grading",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"Sidebar",previous:{title:"Grading",permalink:"/cs102-handbook/docs/category/grading"},next:{title:"CS102lings",permalink:"/cs102-handbook/docs/grading/cs102lings"}},l={},c=[{value:"Formatting",id:"formatting",level:2},{value:"Header",id:"header",level:3},{value:"Comments",id:"comments",level:3},{value:"Formatting Comments",id:"formatting-comments",level:3},{value:"Bad Variable Names",id:"bad-variable-names",level:3},{value:"Bad Variable Casing Conventions",id:"bad-variable-casing-conventions",level:3},{value:"Non-Const Global Variables",id:"non-const-global-variables",level:3},{value:"Unused Variables",id:"unused-variables",level:3},{value:"Dead Code",id:"dead-code",level:3},{value:"Empty Code Blocks",id:"empty-code-blocks",level:3},{value:"Bad Indentation or Inconsistent Use of Whitespace",id:"bad-indentation-or-inconsistent-use-of-whitespace",level:3},{value:"Compiler Warnings",id:"compiler-warnings",level:3},{value:"Output",id:"output",level:2},{value:"Common Mistakes",id:"common-mistakes",level:3},{value:"Checking Output",id:"checking-output",level:3},{value:"Compiling",id:"compiling",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"about-grading",children:"About Grading"}),"\n",(0,a.jsx)(n.p,{children:"How to format your lab submissions."}),"\n",(0,a.jsx)(n.h2,{id:"formatting",children:"Formatting"}),"\n",(0,a.jsx)(n.p,{children:"Each of your labs will have 10 to 15 points for grading the format of your code. This includes things like the header, indentation, comments, and coding conventions. A grade like this will not be as present in upper-level CS courses, but one of the goals of 102 is to get you used to writing code that is easy to read and understand. This is a skill that will be useful in all of your future classes."}),"\n",(0,a.jsx)(n.h3,{id:"header",children:"Header"}),"\n",(0,a.jsx)(n.p,{children:"A header will be required for all of your labs at UT, however, the format may vary. For this class, you will need to include the following information in your header:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"/* Program Name: PROGRAM NAME HERE\n * Student Name: YOUR NAME HERE\n * Net ID: NETID HERE\n * Student ID: STUDENT ID HERE (000-12-3456)\n * Program Description: BRIEF, 1-2 SENTENCE DESCRIPTION HERE */\n"})}),"\n",(0,a.jsx)(n.p,{children:"Each field of the header is worth 1 point. If you forget the header, you will lose 5 points."}),"\n",(0,a.jsx)(n.h3,{id:"comments",children:"Comments"}),"\n",(0,a.jsx)(n.p,{children:"If your program does not have comments you will lose 5 points. You should get in the habit of commenting on your code. However, if you over-comment your code, you may also receive a small penalty. The idea behind comments is just to provide a brief explanation of what your code is doing. You should not need to comment on every line of code. Assume the reader of the code already knows C++, comments are just to help the reader understand if something may be unclear."}),"\n",(0,a.jsx)(n.p,{children:"Examples of bad comments:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'cout << "Hello" << endl; // prints "Hello" to the console\n'})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"return 1; // return an error\n"})}),"\n",(0,a.jsxs)(n.p,{children:["It's obvious that ",(0,a.jsx)(n.code,{children:"cout"})," prints to the console, and it's obvious that ",(0,a.jsx)(n.code,{children:"return 1"})," returns an error. These comments are not necessary. You should only comment on things that may not be obvious to the reader."]}),"\n",(0,a.jsx)(n.p,{children:"Examples of good comments:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"// compute the sum of the first n integers\nint sum = 0;\nfor (int i = 1; i <= n; i++) {\n sum += i;\n}\n"})}),"\n",(0,a.jsx)(n.h3,{id:"formatting-comments",children:"Formatting Comments"}),"\n",(0,a.jsx)(n.p,{children:"Poorly formatted comments are -1. Comments should be formatted like this:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'// This is a good comment\nint main() {\n // This is a good comment\n int x = get_x();\n if (x > 0) {\n // This is a good comment\n cout << "x is positive" << endl;\n } else if (x == 0) {\n cout << "x is zero" << endl; // This is a good comment\n//This is a bad comment\n } else {\n //This is a bad comment\n cout << "x is negative" << endl;\n }\n// This is a bad comment\n}\n'})}),"\n",(0,a.jsx)(n.p,{children:"The indentation level of your comments should match the indentation level of the code they are commenting on."}),"\n",(0,a.jsx)(n.h3,{id:"bad-variable-names",children:"Bad Variable Names"}),"\n",(0,a.jsx)(n.p,{children:"If poor or non-descriptive variable names are used, you may lose a couple of points for this depending on how difficult it makes your code to understand."}),"\n",(0,a.jsx)(n.p,{children:"Examples of bad variable names:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"int a, b, c = 0; // single letter variable names which don't explain the contents\nstring un; // username - don't use abbreviations\nint arrlen; // array length - don't shorten words and chunk them together\n"})}),"\n",(0,a.jsx)(n.p,{children:"Examples of good variable names:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"int x, y; // for a coordinate system\nstring username;\nint array_length;\n"})}),"\n",(0,a.jsx)(n.p,{children:"Variable names should rather be too descriptive than not descriptive enough."}),"\n",(0,a.jsx)(n.h3,{id:"bad-variable-casing-conventions",children:"Bad Variable Casing Conventions"}),"\n",(0,a.jsx)(n.p,{children:"You will not necessarily lose points unless there are a lot of inconsistencies and errors in your variable naming conventions. However, it is important to follow the conventions of the language you are using."}),"\n",(0,a.jsx)(n.p,{children:"There are several naming conventions common in programming"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"camelCase: variables and functions"}),"\n",(0,a.jsx)(n.li,{children:"snake_case: variables and functions"}),"\n",(0,a.jsx)(n.li,{children:"PascalCase: classes, structs, enums, and type aliases"}),"\n",(0,a.jsx)(n.li,{children:"UPPER_SNAKE_CASE or SCREAMING_SNAKE_CASE: constants"}),"\n",(0,a.jsx)(n.li,{children:"kebab-case: file names, inside strings, or in markup languages"}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"When naming variables and functions in C++, you should use one of two: camelCase or snake_case."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"void myFunction() {\n int myVariable = 0;\n}\n\nvoid my_function() {\n int my_variable = 0;\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"I prefer snake_case since the C++ standard library uses snake_case, but either one is okay. The important thing is to be consistent!"}),"\n",(0,a.jsx)(n.p,{children:"Variables should not start with capital letters, and should not contain capital letters if not using camelCase. Examples of how not to name your variables:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"int MyVariable = 0;\nint My_Variable = 0;\nint my_Variable = 0;\n"})}),"\n",(0,a.jsx)(n.p,{children:"When naming global constants, or macros, you should use UPPER_SNAKE_CASE."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"#define CIRCLE_RADIUS 10\n\nconst double PI = 3.14159;\n"})}),"\n",(0,a.jsx)(n.p,{children:"Lastly, it is common practice to name any custom types using PascalCase."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"class MyClass {\n // ...\n};\n\nstruct MyStruct {\n // ...\n};\n\nenum MyEnum {\n FieldOne,\n FieldTwo,\n FieldThree,\n};\n\ntypedef int MyTypeAlias1;\nusing MyTypeAlias2 = int;\n\nint main() {\n MyClass my_class;\n MyStruct my_struct;\n MyEnum my_enum = FieldOne;\n MyTypeAlias1 my_type_alias1 = 0;\n MyTypeAlias2 my_type_alias2 = 0;\n}\n"})}),"\n",(0,a.jsx)(n.h3,{id:"non-const-global-variables",children:"Non-Const Global Variables"}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsxs)(n.p,{children:["The ",(0,a.jsx)(n.code,{children:"const"})," keyword in C++ is the equivalent of ",(0,a.jsx)(n.code,{children:"final"})," in Java. It means that the variable cannot be changed."]})}),"\n",(0,a.jsxs)(n.p,{children:["Minus 1 per non-const global variable up to 3. Global variables are variables that are declared outside of any function. They are accessible from anywhere in your program. Non-const global variables are generally considered a bad practice, and you should avoid using them. It may not seem like a big deal now, but as your programs grow in size and complexity, global variables can lead to a lot of difficult-to-find bugs. If you do use a global variable, it should be declared as ",(0,a.jsx)(n.code,{children:"const"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"int my_global_variable = 0; // bad\nconst int MY_GLOBAL_VARIABLE = 0; // okay\n"})}),"\n",(0,a.jsx)(n.p,{children:"The best way to remove global variables is simply to pass them as arguments to any functions that need them."}),"\n",(0,a.jsx)(n.p,{children:"Before"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"vector my_global_variable; // bad\n\nvoid my_function() {\n my_global_variable.push_back(0);\n}\n\nint main() {\n my_function();\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"After"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"void my_function(vector& my_global_variable) {\n my_global_variable.push_back(0);\n}\n\nint main() {\n vector my_global_variable; // okay\n my_function(my_global_variable);\n}\n"})}),"\n",(0,a.jsx)(n.h3,{id:"unused-variables",children:"Unused Variables"}),"\n",(0,a.jsxs)(n.p,{children:["Minus 1 per unused variable up to 3. Unused variables are a bad practice that can make your code messy or harder to understand. If you have a variable that you are not using, you should remove it. The best way to catch global variables is to compile ",(0,a.jsx)(n.code,{children:"g++"})," with the ",(0,a.jsx)(n.code,{children:"-Wall"})," flag. This will print a warning for any unused variables as well as many other useful warnings."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"g++ -Wall -o my_program my_program.cpp\n"})}),"\n",(0,a.jsx)(n.h3,{id:"dead-code",children:"Dead Code"}),"\n",(0,a.jsxs)(n.p,{children:["Dead code is code that is never executed. This can happen for several reasons, but the most common is that you forgot to remove a line of code after a ",(0,a.jsx)(n.code,{children:"return"})," or ",(0,a.jsx)(n.code,{children:"break"})," statement."]}),"\n",(0,a.jsx)(n.p,{children:"Examples:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'int dead_code1(int a) {\n if (a == 0) {\n return 0;\n } else {\n return 1;\n }\n cout << "This line will never be executed because it happens after a return" << endl;\n}\n\nint dead_code2(int a) {\n switch (a) {\n case 0:\n break;\n cout << "This line will never be executed because it happens after a break" << endl;\n case 1:\n break;\n }\n}\n'})}),"\n",(0,a.jsx)(n.h3,{id:"empty-code-blocks",children:"Empty Code Blocks"}),"\n",(0,a.jsx)(n.p,{children:"-1 for empty code blocks."}),"\n",(0,a.jsx)(n.p,{children:"Example:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'if (true) {\n // do nothing - empty block\n} else {\n cout << "It\'s false!" << endl;\n}\n'})}),"\n",(0,a.jsx)(n.p,{children:"You should not have empty code blocks in your code. Any empty code block can be removed by refactoring your code a little bit."}),"\n",(0,a.jsx)(n.p,{children:"Fix:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'if (false) {\n cout << "It\'s false!" << endl;\n}\n'})}),"\n",(0,a.jsx)(n.h3,{id:"bad-indentation-or-inconsistent-use-of-whitespace",children:"Bad Indentation or Inconsistent Use of Whitespace"}),"\n",(0,a.jsx)(n.p,{children:"Example of bad indentation:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"int main() {\nint a = 0;\nint b = 0;\nint c = 0;\n if (a == 0) {\n b = 1;\n }\n else {\n c = 1;\n }\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"Examples of inconsistent use of whitespace:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"int main() {\n int a = 0;\n int b =0;\n int c= 0;\n\n int result = a + b*c;\n}\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Bad indentation makes code incredibly difficult to read. A couple of mistakes are okay, but if we cannot tell where your code blocks begin and end, you will lose points for this. The best advice I can give you is to use a code formatter. This is a program that will automatically fix any whitespace and indentation issues in your code and format everything in a consistent way. To format your code in Vim while in normal mode use the command ",(0,a.jsx)(n.code,{children:"gg=G"}),". To format in VS Code right-click your code and select format document or hit ",(0,a.jsx)(n.code,{children:"shift+alt+f"}),". You may need to install an extension in VS Code, the Microsoft ",(0,a.jsx)(n.code,{children:"C/C++"})," extension should come with whatever you need. If you use a formatter on your code before submitting, you will never have to worry about losing points for this."]}),"\n",(0,a.jsx)(n.p,{children:"A side note: If you are sharing code with a TA on the Discord server, please format your code first, this will make it much easier for us to help you!"}),"\n",(0,a.jsx)(n.h3,{id:"compiler-warnings",children:"Compiler Warnings"}),"\n",(0,a.jsxs)(n.p,{children:["This may not happen for all labs, but some labs will have specific instructions for compiling code such as ",(0,a.jsx)(n.code,{children:"g++ -Wall -o my_program my_program.cpp"}),", which will enable all compiler warnings. You will lose 1 point up to 3 for any compiler warnings."]}),"\n",(0,a.jsx)(n.p,{children:"The most common compiler warning is comparing a signed and unsigned integer."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"int main() {\n vector my_vector = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n\n for (int i = 0; i < my_vector.size(); i++) {\n cout << my_vector[i] << endl;\n }\n\n return 0;\n}\n"})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"warning: comparison of integer expressions of different signedness: \u2018int\u2019 and \u2018size_t\u2019 {aka \u2018long unsigned int\u2019} [-Wsign-compare]\n"})}),"\n",(0,a.jsxs)(n.p,{children:["The variable ",(0,a.jsx)(n.code,{children:"i"})," is a signed ",(0,a.jsx)(n.code,{children:"int"})," and ",(0,a.jsx)(n.code,{children:"my_vector.size()"})," is a ",(0,a.jsx)(n.code,{children:"size_t"})," aka a ",(0,a.jsx)(n.code,{children:"long unsigned int"}),". This is a common mistake that can be avoided by using ",(0,a.jsx)(n.code,{children:"unsigned int"})," or ",(0,a.jsx)(n.code,{children:"size_t"})," for your loop counters."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:"int main() {\n vector my_vector = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n\n for (size_t i = 0; i < my_vector.size(); i++) {\n cout << my_vector[i] << endl;\n }\n\n return 0;\n}\n"})}),"\n",(0,a.jsx)(n.h2,{id:"output",children:"Output"}),"\n",(0,a.jsxs)(n.p,{children:["Almost all of the labs in the class will have a section grading the output of your program (what's printed to the console). Whereas this will be a smaller portion of your grade in this class, having your output match ",(0,a.jsx)(n.strong,{children:"exactly"}),", will be much more important in future classes. For this reason, you should take the time to make sure your output matches the expected output exactly."]}),"\n",(0,a.jsx)(n.p,{children:"Each lab writeup will include some example output such as:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"Your penname name is Birmingham Johnson.\nYou will write as a 15 year old.\nYour address is 59 Student Lane.\n\n\n\nYour penname name is Albuquerque Steve.\nYou will write as a 45 year old.\nYour address is 18 Jack Lane.\n"})}),"\n",(0,a.jsx)(n.p,{children:"This output should look like this as code:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'// Output 1\ncout << "Your penname name is Birmingham Johnson.\\n";\ncout << "You will write as a 15 year old.\\n";\ncout << "Your address is 59 Student Lane.\\n";\n\n// Output 2\ncout << "Your penname name is Albuquerque Steve.\\n";\ncout << "You will write as a 45 year old.\\n";\ncout << "Your address is 18 Jack Lane.\\n";\n'})}),"\n",(0,a.jsx)(n.h3,{id:"common-mistakes",children:"Common Mistakes"}),"\n",(0,a.jsxs)(n.p,{children:["All output should end in a new line ",(0,a.jsx)(n.code,{children:"\\n"})," and only one new line. It is very common for students to forget to add a new line to the end of their output."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'cout << "Your address is 59 Student Lane."; // Wrong, missing `\\n`\n'})}),"\n",(0,a.jsx)(n.p,{children:"Adding extra whitespace. This is just one example, but I have seen this a lot where students will put a space before a new line."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'cout << "Your penname name is Birmingham Johnson. \\n"; // Incorrect, extra whitespace\n'})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'// Incorrect, extra newlines between outputs\ncout << "Your penname name is Birmingham Johnson.\\n\\n";\ncout << "You will write as a 15 year old.\\n\\n";\ncout << "Your address is 59 Student Lane.\\n\\n";\n'})}),"\n",(0,a.jsx)(n.p,{children:"Missing punctuation. This is another common mistake. Make sure you have all of the punctuation in the correct places."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'cout << "Your penname name is Birmingham Johnson\\n"; // Incorrect, missing `.`\n'})}),"\n",(0,a.jsx)(n.p,{children:"Mismatched letter casing."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'cout << "your penname name is Birmingham Johnson.\\n"; // Incorrect, `y` is not capitalized\n'})}),"\n",(0,a.jsx)(n.p,{children:"Mismatched wording."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'cout << "Your penname is Birmingham Johnson.\\n"; // Incorrect, `name` is missing\n'})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-cpp",children:'cout << "Your penname name will be Birmingham Johnson.\\n"; // Incorrect, used `will be` instead of `is`\n'})}),"\n",(0,a.jsx)(n.p,{children:'If something seems incorrect about the output, it possibly is. If you are unsure, please ask a TA on the Discord server. Erring on the side of caution, it is better to match the output exactly, even if there is a mistake. You will not be penalized for any of our mistakes and this will allow you to reference the writeup for "correctness".'}),"\n",(0,a.jsx)(n.h3,{id:"checking-output",children:"Checking Output"}),"\n",(0,a.jsxs)(n.p,{children:["For some of the harder labs like bit set and vectors from scratch, we will try to give you grade scripts for checking your output, but we do not have grade scripts for all the labs. For the labs you do not have grade scripts, you can use the ",(0,a.jsx)(n.code,{children:"diff"})," command to compare your output to the expected output. This is a very useful command that you will use in the future."]}),"\n",(0,a.jsxs)(n.p,{children:["To use the ",(0,a.jsx)(n.code,{children:"diff"})," command, first copy the expected output from the lab writeup into a file."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"output.txt"})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-txt",children:"Your penname name is Birmingham Johnson.\nYou will write as a 15 year old.\nYour address is 59 Student Lane.\n\n"})}),"\n",(0,a.jsx)(n.p,{children:"This file should be in the same directory as your source code and binary. To compare your output to the expected output, first compile your program, then run the following command:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"g++ -o my_program my_program.cpp\ndiff <(./my_program) lab_output.txt\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Run ",(0,a.jsx)(n.code,{children:"diff"})," with the ",(0,a.jsx)(n.code,{children:"-y"})," flag to get a side-by-side comparison."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"diff -y <(./my_program) lab_output.txt\n"})}),"\n",(0,a.jsx)(n.p,{children:"If you want to run your program and save the output to a file, you can do so like this"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"./my_program > my_output.txt\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Then you can compare your output to the expected output using ",(0,a.jsx)(n.code,{children:"diff"})," like this:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"diff -y my_output.txt lab_output.txt\n\n"})}),"\n",(0,a.jsx)(n.p,{children:"This program should easily let you find if any of the mistakes listed above are present in your output."}),"\n",(0,a.jsx)(n.h2,{id:"compiling",children:"Compiling"}),"\n",(0,a.jsx)(n.admonition,{title:"Your Code Must Compile on the Lab Machines",type:"danger",children:(0,a.jsxs)(n.p,{children:["Whenever you are going to submit your code for an assignment, ",(0,a.jsx)(n.strong,{children:"ALWAYS"})," make sure it compiles ",(0,a.jsx)(n.em,{children:"and"})," behaves (as intended) before doing so -- ",(0,a.jsx)(n.strong,{children:"ON THE LAB MACHINES"}),". Compilers work differently across computers, so even if it compiles on your computer, it doesn't necessarily compile or behave the same way on the lab machines. The TA's grade using the lab machines, so if your code doesn't compile or work correctly there, you will ",(0,a.jsx)(n.strong,{children:"not get credit"})," for the assignment. Trust me, it happens all the time."]})}),"\n",(0,a.jsx)(n.p,{children:"This may seem like a steep policy, but this will be the policy used for all upper-level classes, the difference here is since this is an intro class, some degree of error is expected. There will be two extra credit labs available throughout the semester you can use to make up for any points lost due to this policy."}),"\n",(0,a.jsx)(n.p,{children:"The best way to be certain your lab compiles is to download your submission from Canvas, upload it to one of the lab machines, and verify that the submission compiles."}),"\n",(0,a.jsxs)(n.p,{children:["The file can be uploaded using ",(0,a.jsx)(n.code,{children:"scp SOURCE DESTINATION"})," (more on that in the ",(0,a.jsx)(n.a,{href:"/docs/reference/common-linux-commands#copying-to-and-from-the-lab-machines-scp",children:"scp quick guide"}),"), but in this case, the source is the file on your computer, and the destination is the lab machine."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"scp my_program.cpp NETID@hydra0.eecs.utk.edu:~/uploads\n"})})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},1151:(e,n,o)=>{o.d(n,{Z:()=>r,a:()=>t});var a=o(7294);const i={},s=a.createContext(i);function t(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/705890f3.0d4c1b08.js b/assets/js/6ba64b7f.9b5a9a95.js similarity index 54% rename from assets/js/705890f3.0d4c1b08.js rename to assets/js/6ba64b7f.9b5a9a95.js index 9327e263..417607fb 100644 --- a/assets/js/705890f3.0d4c1b08.js +++ b/assets/js/6ba64b7f.9b5a9a95.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[8016],{3411:o=>{o.exports=JSON.parse('{"permalink":"/cs102-writeups/blog/tags/hola","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[4074],{5389:o=>{o.exports=JSON.parse('{"permalink":"/cs102-handbook/blog/tags/hola","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/7245.30fe3ba1.js b/assets/js/7245.f6fdf635.js similarity index 99% rename from assets/js/7245.30fe3ba1.js rename to assets/js/7245.f6fdf635.js index 76d39db2..0499de4c 100644 --- a/assets/js/7245.30fe3ba1.js +++ b/assets/js/7245.f6fdf635.js @@ -1,2 +1,2 @@ -/*! For license information please see 7245.30fe3ba1.js.LICENSE.txt */ -(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7245],{7967:(t,e)=>{"use strict";e.Nm=e.Rq=void 0;var n=/^([^\w]*)(javascript|data|vbscript)/im,r=/&#(\w+)(^\w|;)?/g,i=/&(newline|tab);/gi,o=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,s=/^.+(:|:)/gim,a=[".","/"];e.Rq="about:blank",e.Nm=function(t){if(!t)return e.Rq;var l,c=(l=t,l.replace(o,"").replace(r,(function(t,e){return String.fromCharCode(e)}))).replace(i,"").replace(o,"").trim();if(!c)return e.Rq;if(function(t){return a.indexOf(t[0])>-1}(c))return c;var h=c.match(s);if(!h)return c;var u=h[0];return n.test(u)?e.Rq:c}},2509:function(t,e,n){!function(t,e,n,r){"use strict";const i=0,o=1,s=2,a=3,l=4,c=-1;let h;t.addSegment=void 0,t.addMapping=void 0,t.maybeAddSegment=void 0,t.maybeAddMapping=void 0,t.setSourceContent=void 0,t.toDecodedMap=void 0,t.toEncodedMap=void 0,t.fromMap=void 0,t.allMappings=void 0;class u{constructor({file:t,sourceRoot:n}={}){this._names=new e.SetArray,this._sources=new e.SetArray,this._sourcesContent=[],this._mappings=[],this.file=t,this.sourceRoot=n}}function d(t,e){for(let n=t.length;n<=e;n++)t[n]=[];return t[e]}function p(t,e){let n=t.length;for(let r=n-1;r>=0&&!(e>=t[r][i]);n=r--);return n}function f(t,e,n){for(let r=t.length;r>e;r--)t[r]=t[r-1];t[e]=n}function m(t){const{length:e}=t;let n=e;for(let r=n-1;r>=0&&!(t[r].length>0);n=r,r--);nh(!1,t,e,n,r,i,o,s,a),t.maybeAddSegment=(t,e,n,r,i,o,s,a)=>h(!0,t,e,n,r,i,o,s,a),t.addMapping=(t,e)=>x(!1,t,e),t.maybeAddMapping=(t,e)=>x(!0,t,e),t.setSourceContent=(t,n,r)=>{const{_sources:i,_sourcesContent:o}=t;o[e.put(i,n)]=r},t.toDecodedMap=t=>{const{file:e,sourceRoot:n,_mappings:r,_sources:i,_sourcesContent:o,_names:s}=t;return m(r),{version:3,file:e||void 0,names:s.array,sourceRoot:n||void 0,sources:i.array,sourcesContent:o,mappings:r}},t.toEncodedMap=e=>{const r=t.toDecodedMap(e);return Object.assign(Object.assign({},r),{mappings:n.encode(r.mappings)})},t.allMappings=t=>{const e=[],{_mappings:n,_sources:r,_names:c}=t;for(let h=0;h{const e=new r.TraceMap(t),n=new u({file:e.file,sourceRoot:e.sourceRoot});return g(n._names,e.names),g(n._sources,e.sources),n._sourcesContent=e.sourcesContent||e.sources.map((()=>null)),n._mappings=r.decodedMappings(e),n},h=(t,n,r,i,o,s,a,l,h)=>{const{_mappings:u,_sources:m,_sourcesContent:g,_names:x}=n,_=d(u,r),b=p(_,i);if(!o){if(t&&y(_,b))return;return f(_,b,[i])}const C=e.put(m,o),v=l?e.put(x,l):c;if(C===g.length&&(g[C]=null!=h?h:null),!t||!k(_,b,C,s,a,v))return f(_,b,l?[i,C,s,a,v]:[i,C,s,a])},t.GenMapping=u,Object.defineProperty(t,"__esModule",{value:!0})}(e,n(2208),n(2297),n(3446))},8435:function(t){t.exports=function(){"use strict";const t=/^[\w+.-]+:\/\//,e=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,n=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;var r;function i(e){return t.test(e)}function o(t){return t.startsWith("//")}function s(t){return t.startsWith("/")}function a(t){return t.startsWith("file:")}function l(t){return/^[.?#]/.test(t)}function c(t){const n=e.exec(t);return u(n[1],n[2]||"",n[3],n[4]||"",n[5]||"/",n[6]||"",n[7]||"")}function h(t){const e=n.exec(t),r=e[2];return u("file:","",e[1]||"","",s(r)?r:"/"+r,e[3]||"",e[4]||"")}function u(t,e,n,i,o,s,a){return{scheme:t,user:e,host:n,port:i,path:o,query:s,hash:a,type:r.Absolute}}function d(t){if(o(t)){const e=c("http:"+t);return e.scheme="",e.type=r.SchemeRelative,e}if(s(t)){const e=c("http://foo.com"+t);return e.scheme="",e.host="",e.type=r.AbsolutePath,e}if(a(t))return h(t);if(i(t))return c(t);const e=c("http://foo.com/"+t);return e.scheme="",e.host="",e.type=t?t.startsWith("?")?r.Query:t.startsWith("#")?r.Hash:r.RelativePath:r.Empty,e}function p(t){if(t.endsWith("/.."))return t;const e=t.lastIndexOf("/");return t.slice(0,e+1)}function f(t,e){m(e,e.type),"/"===t.path?t.path=e.path:t.path=p(e.path)+t.path}function m(t,e){const n=e<=r.RelativePath,i=t.path.split("/");let o=1,s=0,a=!1;for(let r=1;ri&&(i=o)}m(n,i);const o=n.query+n.hash;switch(i){case r.Hash:case r.Query:return o;case r.RelativePath:{const r=n.path.slice(1);return r?l(e||t)&&!l(r)?"./"+r+o:r+o:o||"."}case r.AbsolutePath:return n.path+o;default:return n.scheme+"//"+n.user+n.host+n.port+n.path+o}}return function(t){t[t.Empty=1]="Empty",t[t.Hash=2]="Hash",t[t.Query=3]="Query",t[t.RelativePath=4]="RelativePath",t[t.AbsolutePath=5]="AbsolutePath",t[t.SchemeRelative=6]="SchemeRelative",t[t.Absolute=7]="Absolute"}(r||(r={})),g}()},2208:function(t,e){!function(t){"use strict";t.get=void 0,t.put=void 0,t.pop=void 0;class e{constructor(){this._indexes={__proto__:null},this.array=[]}}t.get=(t,e)=>t._indexes[e],t.put=(e,n)=>{const r=t.get(e,n);if(void 0!==r)return r;const{array:i,_indexes:o}=e;return o[n]=i.push(n)-1},t.pop=t=>{const{array:e,_indexes:n}=t;0!==e.length&&(n[e.pop()]=void 0)},t.SetArray=e,Object.defineProperty(t,"__esModule",{value:!0})}(e)},2297:function(t,e){!function(t){"use strict";const e=",".charCodeAt(0),n=";".charCodeAt(0),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(64),o=new Uint8Array(128);for(let m=0;mBuffer.from(t.buffer,t.byteOffset,t.byteLength).toString()}:{decode(t){let e="";for(let n=0;n>>=1,l&&(i=-2147483648|-i),n[r]+=i,e}function h(t,n,r){return!(n>=r)&&t.charCodeAt(n)!==e}function u(t){t.sort(d)}function d(t,e){return t[0]-e[0]}function p(t){const r=new Int32Array(5),i=16384,o=i-36,a=new Uint8Array(i),l=a.subarray(0,o);let c=0,h="";for(let u=0;u0&&(c===i&&(h+=s.decode(a),c=0),a[c++]=n),0!==d.length){r[0]=0;for(let t=0;to&&(h+=s.decode(l),a.copyWithin(0,o,c),c-=o),t>0&&(a[c++]=e),c=f(a,c,r,n,0),1!==n.length&&(c=f(a,c,r,n,1),c=f(a,c,r,n,2),c=f(a,c,r,n,3),4!==n.length&&(c=f(a,c,r,n,4)))}}}return h+s.decode(a.subarray(0,c))}function f(t,e,n,r,o){const s=r[o];let a=s-n[o];n[o]=s,a=a<0?-a<<1|1:a<<1;do{let n=31&a;a>>>=5,a>0&&(n|=32),t[e++]=i[n]}while(a>0);return e}t.decode=a,t.encode=p,Object.defineProperty(t,"__esModule",{value:!0})}(e)},3446:function(t,e,n){!function(t,e,n){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=r(n);function o(t,e){return e&&!e.endsWith("/")&&(e+="/"),i.default(t,e)}function s(t){if(!t)return"";const e=t.lastIndexOf("/");return t.slice(0,e+1)}const a=0,l=1,c=2,h=3,u=4,d=1,p=2;function f(t,e){const n=m(t,0);if(n===t.length)return t;e||(t=t.slice());for(let r=n;r>1),o=t[i][a]-e;if(0===o)return x=!0,i;o<0?n=i+1:r=i-1}return x=!1,n-1}function b(t,e,n){for(let r=n+1;r=0&&t[r][a]===e;n=r--);return n}function v(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function T(t,e,n,r){const{lastKey:i,lastNeedle:o,lastIndex:s}=n;let l=0,c=t.length-1;if(r===i){if(e===o)return x=-1!==s&&t[s][a]===e,s;e>=o?l=-1===s?0:s:c=s}return n.lastKey=r,n.lastNeedle=e,n.lastIndex=_(t,e,l,c)}function w(t,e){const n=e.map(A);for(let r=0;re;r--)t[r]=t[r-1];t[e]=n}function A(){return{__proto__:null}}const I=function(e,n){const r="string"==typeof e?JSON.parse(e):e;if(!("sections"in r))return new R(r,n);const i=[],o=[],s=[],a=[];B(r,n,i,o,s,a,0,0,1/0,1/0);const l={version:3,file:r.file,names:a,sources:o,sourcesContent:s,mappings:i};return t.presortedDecodedMap(l)};function B(t,e,n,r,i,o,s,a,l,c){const{sections:h}=t;for(let u=0;uf)return;const n=F(r,e),i=0===t?p:0,o=x[t];for(let t=0;t=m)return;if(1===r.length){n.push([s]);continue}const d=y+r[l],p=r[c],g=r[h];n.push(4===r.length?[s,d,p,g]:[s,d,p,g,k+r[u]])}}}function L(t,e){for(let n=0;no(t||"",d)));const{mappings:p}=r;"string"==typeof p?(this._encoded=p,this._decoded=void 0):(this._encoded=void 0,this._decoded=f(p,n)),this._decodedMemo=v(),this._bySources=void 0,this._bySourceMemos=void 0}}function D(t,e){return{version:t.version,file:t.file,names:t.names,sourceRoot:t.sourceRoot,sources:t.sources,sourcesContent:t.sourcesContent,mappings:e}}function q(t,e,n,r){return{source:t,line:e,column:n,name:r}}function $(t,e){return{line:t,column:e}}function P(t,e,n,r,i){let o=T(t,r,e,n);return x?o=(i===j?b:C)(t,r,o):i===j&&o++,-1===o||o===t.length?-1:o}function Z(t,e,n,r,i){let o=P(t,e,n,r,O);if(x||i!==j||o++,-1===o||o===t.length)return[];const s=x?r:t[o][a];x||(o=C(t,s,o));const l=b(t,s,o),c=[];for(;o<=l;o++){const e=t[o];c.push($(e[d]+1,e[p]))}return c}(()=>{function n(e,n,r,i,o,s){if(--r<0)throw new Error(N);if(i<0)throw new Error(M);const{sources:a,resolvedSources:l}=e;let c=a.indexOf(n);if(-1===c&&(c=l.indexOf(n)),-1===c)return s?[]:$(null,null);const h=(e._bySources||(e._bySources=w(t.decodedMappings(e),e._bySourceMemos=a.map(v))))[c][r];if(null==h)return s?[]:$(null,null);const u=e._bySourceMemos[c];if(s)return Z(h,u,r,i,o);const f=P(h,u,r,i,o);if(-1===f)return $(null,null);const m=h[f];return $(m[d]+1,m[p])}t.encodedMappings=t=>{var n;return null!==(n=t._encoded)&&void 0!==n?n:t._encoded=e.encode(t._decoded)},t.decodedMappings=t=>t._decoded||(t._decoded=e.decode(t._encoded)),t.traceSegment=(e,n,r)=>{const i=t.decodedMappings(e);if(n>=i.length)return null;const o=i[n],s=P(o,e._decodedMemo,n,r,O);return-1===s?null:o[s]},t.originalPositionFor=(e,{line:n,column:r,bias:i})=>{if(--n<0)throw new Error(N);if(r<0)throw new Error(M);const o=t.decodedMappings(e);if(n>=o.length)return q(null,null,null,null);const s=o[n],a=P(s,e._decodedMemo,n,r,i||O);if(-1===a)return q(null,null,null,null);const d=s[a];if(1===d.length)return q(null,null,null,null);const{names:p,resolvedSources:f}=e;return q(f[d[l]],d[c]+1,d[h],5===d.length?p[d[u]]:null)},t.allGeneratedPositionsFor=(t,{source:e,line:r,column:i,bias:o})=>n(t,e,r,i,o||j,!0),t.generatedPositionFor=(t,{source:e,line:r,column:i,bias:o})=>n(t,e,r,i,o||O,!1),t.eachMapping=(e,n)=>{const r=t.decodedMappings(e),{names:i,resolvedSources:o}=e;for(let t=0;t{const{sources:n,resolvedSources:r,sourcesContent:i}=t;if(null==i)return null;let o=n.indexOf(e);return-1===o&&(o=r.indexOf(e)),-1===o?null:i[o]},t.presortedDecodedMap=(t,e)=>{const n=new R(D(t,[]),e);return n._decoded=t.mappings,n},t.decodedMap=e=>D(e,t.decodedMappings(e)),t.encodedMap=e=>D(e,t.encodedMappings(e))})(),t.AnyMap=I,t.GREATEST_LOWER_BOUND=O,t.LEAST_UPPER_BOUND=j,t.TraceMap=R,Object.defineProperty(t,"__esModule",{value:!0})}(e,n(2297),n(8435))},9047:(t,e,n)=>{"use strict";n.d(e,{Z:()=>B});var r=n(7294),i=n(5893);function o(t){const{mdxAdmonitionTitle:e,rest:n}=function(t){const e=r.Children.toArray(t),n=e.find((t=>r.isValidElement(t)&&"mdxAdmonitionTitle"===t.type)),o=e.filter((t=>t!==n)),s=n?.props.children;return{mdxAdmonitionTitle:s,rest:o.length>0?(0,i.jsx)(i.Fragment,{children:o}):null}}(t.children),o=t.title??e;return{...t,...o&&{title:o},children:n}}var s=n(512),a=n(5999),l=n(5281);const c={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function h(t){let{type:e,className:n,children:r}=t;return(0,i.jsx)("div",{className:(0,s.Z)(l.k.common.admonition,l.k.common.admonitionType(e),c.admonition,n),children:r})}function u(t){let{icon:e,title:n}=t;return(0,i.jsxs)("div",{className:c.admonitionHeading,children:[(0,i.jsx)("span",{className:c.admonitionIcon,children:e}),n]})}function d(t){let{children:e}=t;return e?(0,i.jsx)("div",{className:c.admonitionContent,children:e}):null}function p(t){const{type:e,icon:n,title:r,children:o,className:s}=t;return(0,i.jsxs)(h,{type:e,className:s,children:[(0,i.jsx)(u,{title:r,icon:n}),(0,i.jsx)(d,{children:o})]})}function f(t){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const m={icon:(0,i.jsx)(f,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function g(t){return(0,i.jsx)(p,{...m,...t,className:(0,s.Z)("alert alert--secondary",t.className),children:t.children})}function y(t){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const k={icon:(0,i.jsx)(y,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function x(t){return(0,i.jsx)(p,{...k,...t,className:(0,s.Z)("alert alert--success",t.className),children:t.children})}function _(t){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const b={icon:(0,i.jsx)(_,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function C(t){return(0,i.jsx)(p,{...b,...t,className:(0,s.Z)("alert alert--info",t.className),children:t.children})}function v(t){return(0,i.jsx)("svg",{viewBox:"0 0 16 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const T={icon:(0,i.jsx)(v,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function w(t){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const S={icon:(0,i.jsx)(w,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const A={icon:(0,i.jsx)(v,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const I={...{note:g,tip:x,info:C,warning:function(t){return(0,i.jsx)(p,{...T,...t,className:(0,s.Z)("alert alert--warning",t.className),children:t.children})},danger:function(t){return(0,i.jsx)(p,{...S,...t,className:(0,s.Z)("alert alert--danger",t.className),children:t.children})}},...{secondary:t=>(0,i.jsx)(g,{title:"secondary",...t}),important:t=>(0,i.jsx)(C,{title:"important",...t}),success:t=>(0,i.jsx)(x,{title:"success",...t}),caution:function(t){return(0,i.jsx)(p,{...A,...t,className:(0,s.Z)("alert alert--warning",t.className),children:t.children})}}};function B(t){const e=o(t),n=(r=e.type,I[r]||(console.warn(`No admonition component found for admonition type "${r}". Using Info as fallback.`),I.info));var r;return(0,i.jsx)(n,{...e})}},4881:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});n(7294);var r=n(5999),i=n(5281),o=n(3692),s=n(512);const a={iconEdit:"iconEdit_Z9Sw"};var l=n(5893);function c(t){let{className:e,...n}=t;return(0,l.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)(a.iconEdit,e),"aria-hidden":"true",...n,children:(0,l.jsx)("g",{children:(0,l.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function h(t){let{editUrl:e}=t;return(0,l.jsxs)(o.Z,{to:e,className:i.k.common.editThisPage,children:[(0,l.jsx)(c,{}),(0,l.jsx)(r.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},9608:(t,e,n)=>{"use strict";n.d(e,{Z:()=>Ts});var r=n(7294),i=n(1151),o=n(5742),s=n(512),a=n(2389),l=n(2573),c={characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0};function h(t){var e=window.getSelection();e.empty(),e.addRange(t)}function u(t){return(t.metaKey||t.ctrlKey)&&!t.altKey&&"KeyZ"===t.code}function d(t){t=[t.firstChild];for(var e,n="";e=t.pop();)e.nodeType===Node.TEXT_NODE?n+=e.textContent:e.nodeType===Node.ELEMENT_NODE&&"BR"===e.nodeName&&(n+="\n"),e.nextSibling&&t.push(e.nextSibling),e.firstChild&&t.push(e.firstChild);return"\n"!==n[n.length-1]&&(n+="\n"),n}function p(t){var e=window.getSelection().getRangeAt(0),n=e.collapsed?0:e.toString().length,r=document.createRange();return r.setStart(t,0),r.setEnd(e.startContainer,e.startOffset),{position:t=(r=r.toString()).length,extent:n,content:r=(r=r.split("\n"))[e=r.length-1],line:e}}function f(t,e,n){0>=e&&(e=0),(!n||0>n)&&(n=e);var r=document.createRange();t=[t.firstChild];for(var i,o=0,s=e;i=t[t.length-1];){if(i.nodeType===Node.TEXT_NODE){if(o+i.textContent.length>=s){var a=s-o;if(s===e){if(s=r,a=s){if(s===e){if(a=r,0";case g.template:return"template";case g.ellipsis:return"...";case g.backQuote:return"`";case g.dollarBraceL:return"${";case g.at:return"@";case g.hash:return"#";case g.eq:return"=";case g.assign:return"_=";case g.preIncDec:case g.postIncDec:return"++/--";case g.bang:return"!";case g.tilde:return"~";case g.pipeline:return"|>";case g.nullishCoalescing:return"??";case g.logicalOR:return"||";case g.logicalAND:return"&&";case g.bitwiseOR:return"|";case g.bitwiseXOR:return"^";case g.bitwiseAND:return"&";case g.equality:return"==/!=";case g.lessThan:return"<";case g.greaterThan:return">";case g.relationalOrEqual:return"<=/>=";case g.bitShiftL:return"<<";case g.bitShiftR:return">>/>>>";case g.plus:return"+";case g.minus:return"-";case g.modulo:return"%";case g.star:return"*";case g.slash:return"/";case g.exponent:return"**";case g.jsxName:return"jsxName";case g.jsxText:return"jsxText";case g.jsxEmptyText:return"jsxEmptyText";case g.jsxTagStart:return"jsxTagStart";case g.jsxTagEnd:return"jsxTagEnd";case g.typeParameterStart:return"typeParameterStart";case g.nonNullAssertion:return"nonNullAssertion";case g._break:return"break";case g._case:return"case";case g._catch:return"catch";case g._continue:return"continue";case g._debugger:return"debugger";case g._default:return"default";case g._do:return"do";case g._else:return"else";case g._finally:return"finally";case g._for:return"for";case g._function:return"function";case g._if:return"if";case g._return:return"return";case g._switch:return"switch";case g._throw:return"throw";case g._try:return"try";case g._var:return"var";case g._let:return"let";case g._const:return"const";case g._while:return"while";case g._with:return"with";case g._new:return"new";case g._this:return"this";case g._super:return"super";case g._class:return"class";case g._extends:return"extends";case g._export:return"export";case g._import:return"import";case g._yield:return"yield";case g._null:return"null";case g._true:return"true";case g._false:return"false";case g._in:return"in";case g._instanceof:return"instanceof";case g._typeof:return"typeof";case g._void:return"void";case g._delete:return"delete";case g._async:return"async";case g._get:return"get";case g._set:return"set";case g._declare:return"declare";case g._readonly:return"readonly";case g._abstract:return"abstract";case g._static:return"static";case g._public:return"public";case g._private:return"private";case g._protected:return"protected";case g._override:return"override";case g._as:return"as";case g._enum:return"enum";case g._type:return"type";case g._implements:return"implements";default:return""}}(t)}"`)}function Z(t="Unexpected token",e=w.start){if(w.error)return;const n=new SyntaxError(t);n.pos=e,w.error=n,w.pos=S.length,vt(g.eof)}const z=[9,11,12,y.space,y.nonBreakingSpace,y.oghamSpaceMark,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],W=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,U=new Uint8Array(65536);for(const ws of z)U[ws]=1;function H(t){if(t<48)return 36===t;if(t<58)return!0;if(t<65)return!1;if(t<91)return!0;if(t<97)return 95===t;if(t<123)return!0;if(t<128)return!1;throw new Error("Should not be called with non-ASCII char code.")}const Y=new Uint8Array(65536);for(let ws=0;ws<128;ws++)Y[ws]=H(ws)?1:0;for(let ws=128;ws<65536;ws++)Y[ws]=1;for(const ws of z)Y[ws]=0;Y[8232]=0,Y[8233]=0;const V=Y.slice();for(let ws=y.digit0;ws<=y.digit9;ws++)V[ws]=0;const K=new Int32Array([-1,27,783,918,1755,2376,2862,3483,-1,3699,-1,4617,4752,4833,5130,5508,5940,-1,6480,6939,7749,8181,8451,8613,-1,8829,-1,-1,-1,54,243,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,432,-1,-1,-1,675,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,81,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,108,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,135,-1,-1,-1,-1,-1,-1,-1,-1,-1,162,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,189,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,216,-1,-1,-1,-1,-1,-1,m._abstract<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,270,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,297,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,324,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,351,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,378,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,405,-1,-1,-1,-1,-1,-1,-1,-1,m._accessor<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._as<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,459,-1,-1,-1,-1,-1,594,-1,-1,-1,-1,-1,-1,486,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,513,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,540,-1,-1,-1,-1,-1,-1,m._assert<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,567,-1,-1,-1,-1,-1,-1,-1,m._asserts<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,621,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,648,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._async<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,702,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,729,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,756,-1,-1,-1,-1,-1,-1,m._await<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,810,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,837,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,864,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,891,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._break<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,945,-1,-1,-1,-1,-1,-1,1107,-1,-1,-1,1242,-1,-1,1350,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,972,1026,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,999,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._case<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1053,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1080,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._catch<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1134,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1161,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1188,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1215,-1,-1,-1,-1,-1,-1,-1,m._checks<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1269,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1296,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1323,-1,-1,-1,-1,-1,-1,-1,1+(g._class<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1377,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1404,1620,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1431,-1,-1,-1,-1,-1,-1,1+(g._const<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1458,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1485,-1,-1,-1,-1,-1,-1,-1,-1,1512,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1539,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1566,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1593,-1,-1,-1,-1,-1,-1,-1,-1,m._constructor<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1647,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1674,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1701,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1728,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._continue<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1782,-1,-1,-1,-1,-1,-1,-1,-1,-1,2349,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1809,1971,-1,-1,2106,-1,-1,-1,-1,-1,2241,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1836,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1863,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1890,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1917,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1944,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._debugger<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2025,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2052,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2079,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._declare<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2133,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2160,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2187,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2214,-1,-1,-1,-1,-1,-1,1+(g._default<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2268,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2295,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2322,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._delete<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._do<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2403,-1,2484,-1,-1,-1,-1,-1,-1,-1,-1,-1,2565,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2430,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2457,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._else<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2511,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2538,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._enum<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2592,-1,-1,-1,2727,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2619,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2646,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2673,-1,-1,-1,-1,-1,-1,1+(g._export<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2700,-1,-1,-1,-1,-1,-1,-1,m._exports<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2754,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2781,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2808,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2835,-1,-1,-1,-1,-1,-1,-1,1+(g._extends<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2889,-1,-1,-1,-1,-1,-1,-1,2997,-1,-1,-1,-1,-1,3159,-1,-1,3213,-1,-1,3294,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2916,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2943,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2970,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._false<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3024,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3051,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3078,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3105,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3132,-1,1+(g._finally<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3186,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._for<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3240,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3267,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._from<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3321,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3348,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3375,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3402,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3429,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3456,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._function<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3510,-1,-1,-1,-1,-1,-1,3564,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3537,-1,-1,-1,-1,-1,-1,m._get<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3591,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3618,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3645,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3672,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._global<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3726,-1,-1,-1,-1,-1,-1,3753,4077,-1,-1,-1,-1,4590,-1,-1,-1,-1,-1,-1,-1,1+(g._if<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3780,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3807,-1,-1,3996,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3834,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3861,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3888,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3915,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3942,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3969,-1,-1,-1,-1,-1,-1,-1,m._implements<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4023,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4050,-1,-1,-1,-1,-1,-1,1+(g._import<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._in<<1),-1,-1,-1,-1,-1,4104,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4185,4401,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4131,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4158,-1,-1,-1,-1,-1,-1,-1,-1,m._infer<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4212,-1,-1,-1,-1,-1,-1,-1,4239,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4266,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4293,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4320,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4347,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4374,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._instanceof<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4428,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4455,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4482,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4509,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4536,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4563,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._interface<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._is<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4644,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4671,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4698,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4725,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._keyof<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4779,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4806,-1,-1,-1,-1,-1,-1,1+(g._let<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4860,-1,-1,-1,-1,-1,4995,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4887,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4914,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4941,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4968,-1,-1,-1,-1,-1,-1,-1,m._mixins<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5022,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5049,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5076,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5103,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._module<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5157,-1,-1,-1,5373,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5427,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5184,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5211,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5238,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5265,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5292,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5319,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5346,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._namespace<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5400,-1,-1,-1,1+(g._new<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5454,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5481,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._null<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5535,-1,-1,-1,-1,-1,-1,-1,-1,-1,5562,-1,-1,-1,-1,5697,5751,-1,-1,-1,-1,m._of<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5589,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5616,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5643,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5670,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._opaque<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5724,-1,-1,-1,-1,-1,-1,m._out<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5778,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5805,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5832,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5859,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5886,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5913,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._override<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5967,-1,-1,6345,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5994,-1,-1,-1,-1,-1,6129,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6021,-1,-1,-1,-1,-1,6048,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6075,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6102,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._private<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6156,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6183,-1,-1,-1,-1,-1,-1,-1,-1,-1,6318,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6210,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6237,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6264,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6291,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._protected<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._proto<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6372,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6399,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6426,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6453,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._public<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6507,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6534,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6696,-1,-1,6831,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6561,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6588,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6615,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6642,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6669,-1,m._readonly<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6723,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6750,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6777,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6804,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._require<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6858,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6885,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6912,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._return<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6966,-1,-1,-1,7182,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7236,7371,-1,7479,-1,7614,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6993,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7047,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7074,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7101,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7128,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7155,-1,-1,-1,-1,-1,-1,-1,m._satisfies<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7209,-1,-1,-1,-1,-1,-1,m._set<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7263,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7290,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7317,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7344,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._static<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7398,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7425,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7452,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._super<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7506,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7533,-1,-1,-1,-1,-1,-1,-1,-1,-1,7560,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7587,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._switch<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7641,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7668,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7695,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7722,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._symbol<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7776,-1,-1,-1,-1,-1,-1,-1,-1,-1,7938,-1,-1,-1,-1,-1,-1,8046,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7803,-1,-1,-1,-1,-1,-1,-1,-1,7857,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7830,-1,-1,-1,-1,-1,-1,-1,1+(g._this<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7884,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7911,-1,-1,-1,1+(g._throw<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7965,-1,-1,-1,8019,-1,-1,-1,-1,-1,-1,7992,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._true<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._try<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8073,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8100,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._type<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8127,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8154,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._typeof<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8208,-1,-1,-1,-1,8343,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8235,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8262,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8289,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8316,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._unique<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8370,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8397,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8424,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._using<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8478,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8532,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8505,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._var<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8559,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8586,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._void<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8640,8748,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8667,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8694,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8721,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._while<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8775,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8802,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._with<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8856,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8883,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8910,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8937,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._yield<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);var X,G;function J(t){const e=t.identifierRole;return e===X.TopLevelDeclaration||e===X.FunctionScopedDeclaration||e===X.BlockScopedDeclaration||e===X.ObjectShorthandTopLevelDeclaration||e===X.ObjectShorthandFunctionScopedDeclaration||e===X.ObjectShorthandBlockScopedDeclaration}function Q(t){const e=t.identifierRole;return e===X.FunctionScopedDeclaration||e===X.BlockScopedDeclaration||e===X.ObjectShorthandFunctionScopedDeclaration||e===X.ObjectShorthandBlockScopedDeclaration}function tt(t){const e=t.identifierRole;return e===X.TopLevelDeclaration||e===X.ObjectShorthandTopLevelDeclaration||e===X.ImportDeclaration}function et(t){const e=t.identifierRole;return e===X.TopLevelDeclaration||e===X.BlockScopedDeclaration||e===X.ObjectShorthandTopLevelDeclaration||e===X.ObjectShorthandBlockScopedDeclaration}function nt(t){const e=t.identifierRole;return e===X.FunctionScopedDeclaration||e===X.ObjectShorthandFunctionScopedDeclaration}function rt(t){return t.identifierRole===X.ObjectShorthandTopLevelDeclaration||t.identifierRole===X.ObjectShorthandBlockScopedDeclaration||t.identifierRole===X.ObjectShorthandFunctionScopedDeclaration}!function(t){t[t.Access=0]="Access";t[t.ExportAccess=1]="ExportAccess";t[t.TopLevelDeclaration=2]="TopLevelDeclaration";t[t.FunctionScopedDeclaration=3]="FunctionScopedDeclaration";t[t.BlockScopedDeclaration=4]="BlockScopedDeclaration";t[t.ObjectShorthandTopLevelDeclaration=5]="ObjectShorthandTopLevelDeclaration";t[t.ObjectShorthandFunctionScopedDeclaration=6]="ObjectShorthandFunctionScopedDeclaration";t[t.ObjectShorthandBlockScopedDeclaration=7]="ObjectShorthandBlockScopedDeclaration";t[t.ObjectShorthand=8]="ObjectShorthand";t[t.ImportDeclaration=9]="ImportDeclaration";t[t.ObjectKey=10]="ObjectKey";t[t.ImportAccess=11]="ImportAccess"}(X||(X={})),function(t){t[t.NoChildren=0]="NoChildren";t[t.OneChild=1]="OneChild";t[t.StaticChildren=2]="StaticChildren";t[t.KeyAfterPropSpread=3]="KeyAfterPropSpread"}(G||(G={}));class it{constructor(){this.type=w.type,this.contextualKeyword=w.contextualKeyword,this.start=w.start,this.end=w.end,this.scopeDepth=w.scopeDepth,this.isType=w.isType,this.identifierRole=null,this.jsxRole=null,this.shadowsGlobal=!1,this.isAsyncOperation=!1,this.contextId=null,this.rhsEndIndex=null,this.isExpression=!1,this.numNullishCoalesceStarts=0,this.numNullishCoalesceEnds=0,this.isOptionalChainStart=!1,this.isOptionalChainEnd=!1,this.subscriptStartIndex=null,this.nullishStartIndex=null}}function ot(){w.tokens.push(new it),xt()}function st(){w.tokens.push(new it),w.start=w.pos,function(){for(;;){if(w.pos>=S.length)return void Z("Unterminated template");const t=S.charCodeAt(w.pos);if(t===y.graveAccent||t===y.dollarSign&&S.charCodeAt(w.pos+1)===y.leftCurlyBrace)return w.pos===w.start&&dt(g.template)?t===y.dollarSign?(w.pos+=2,void vt(g.dollarBraceL)):(++w.pos,void vt(g.backQuote)):void vt(g.template);t===y.backslash&&w.pos++,w.pos++}}()}function at(){w.type===g.assign&&--w.pos,function(){const t=w.pos;let e=!1,n=!1;for(;;){if(w.pos>=S.length)return void Z("Unterminated regular expression",t);const r=S.charCodeAt(w.pos);if(e)e=!1;else{if(r===y.leftSquareBracket)n=!0;else if(r===y.rightSquareBracket&&n)n=!1;else if(r===y.slash&&!n)break;e=r===y.backslash}++w.pos}++w.pos,function(){for(;w.pos=S.length){const t=w.tokens;return t.length>=2&&t[t.length-1].start>=S.length&&t[t.length-2].start>=S.length&&Z("Unexpectedly reached the end of input."),void vt(g.eof)}var t;t=S.charCodeAt(w.pos),V[t]||t===y.backslash||t===y.atSign&&S.charCodeAt(w.pos+1)===y.atSign?function(){let t=0,e=0,n=w.pos;for(;ny.lowercaseZ));){const r=K[t+(e-y.lowercaseA)+1];if(-1===r)break;t=r,n++}const r=K[t];if(r>-1&&!Y[e])return w.pos=n,void(1&r?vt(r>>>1):vt(g.name,r>>>1));for(;nS.length)return void Z("Unterminated comment",w.pos-2);w.pos+=2}function bt(t){let e=S.charCodeAt(w.pos+=t);if(w.pos=y.digit0&&t<=y.digit9?Bt(!0):t===y.dot&&S.charCodeAt(w.pos+2)===y.dot?(w.pos+=3,vt(g.ellipsis)):(++w.pos,vt(g.dot))}();case y.leftParenthesis:return++w.pos,void vt(g.parenL);case y.rightParenthesis:return++w.pos,void vt(g.parenR);case y.semicolon:return++w.pos,void vt(g.semi);case y.comma:return++w.pos,void vt(g.comma);case y.leftSquareBracket:return++w.pos,void vt(g.bracketL);case y.rightSquareBracket:return++w.pos,void vt(g.bracketR);case y.leftCurlyBrace:return void(T&&S.charCodeAt(w.pos+1)===y.verticalBar?At(g.braceBarL,2):(++w.pos,vt(g.braceL)));case y.rightCurlyBrace:return++w.pos,void vt(g.braceR);case y.colon:return void(S.charCodeAt(w.pos+1)===y.colon?At(g.doubleColon,2):(++w.pos,vt(g.colon)));case y.questionMark:return void function(){const t=S.charCodeAt(w.pos+1),e=S.charCodeAt(w.pos+2);t!==y.questionMark||T&&w.isType?t!==y.dot||e>=y.digit0&&e<=y.digit9?(++w.pos,vt(g.question)):(w.pos+=2,vt(g.questionDot)):e===y.equalsTo?At(g.assign,3):At(g.nullishCoalescing,2)}();case y.atSign:return++w.pos,void vt(g.at);case y.graveAccent:return++w.pos,void vt(g.backQuote);case y.digit0:{const t=S.charCodeAt(w.pos+1);if(t===y.lowercaseX||t===y.uppercaseX||t===y.lowercaseO||t===y.uppercaseO||t===y.lowercaseB||t===y.uppercaseB)return void function(){w.pos+=2;for(;;){const t=S.charCodeAt(w.pos);if(!(t>=y.digit0&&t<=y.digit9||t>=y.lowercaseA&&t<=y.lowercaseF||t>=y.uppercaseA&&t<=y.uppercaseF||t===y.underscore))break;w.pos++}const t=S.charCodeAt(w.pos);t===y.lowercaseN?(++w.pos,vt(g.bigint)):vt(g.num)}()}case y.digit1:case y.digit2:case y.digit3:case y.digit4:case y.digit5:case y.digit6:case y.digit7:case y.digit8:case y.digit9:return void Bt(!1);case y.quotationMark:case y.apostrophe:return void function(t){for(w.pos++;;){if(w.pos>=S.length)return void Z("Unterminated string constant");const e=S.charCodeAt(w.pos);if(e===y.backslash)w.pos++;else if(e===t)break;w.pos++}w.pos++,vt(g.string)}(t);case y.slash:return void(S.charCodeAt(w.pos+1)===y.equalsTo?At(g.assign,2):At(g.slash,1));case y.percentSign:case y.asterisk:return void function(t){let e=t===y.asterisk?g.star:g.modulo,n=1,r=S.charCodeAt(w.pos+1);t===y.asterisk&&r===y.asterisk&&(n++,r=S.charCodeAt(w.pos+2),e=g.exponent),r===y.equalsTo&&S.charCodeAt(w.pos+2)!==y.greaterThan&&(n++,e=g.assign),At(e,n)}(t);case y.verticalBar:case y.ampersand:return void function(t){const e=S.charCodeAt(w.pos+1);if(e!==t){if(t===y.verticalBar){if(e===y.greaterThan)return void At(g.pipeline,2);if(e===y.rightCurlyBrace&&T)return void At(g.braceBarR,2)}e!==y.equalsTo?At(t===y.verticalBar?g.bitwiseOR:g.bitwiseAND,1):At(g.assign,2)}else S.charCodeAt(w.pos+2)===y.equalsTo?At(g.assign,3):At(t===y.verticalBar?g.logicalOR:g.logicalAND,2)}(t);case y.caret:return void(S.charCodeAt(w.pos+1)===y.equalsTo?At(g.assign,2):At(g.bitwiseXOR,1));case y.plusSign:case y.dash:return void function(t){const e=S.charCodeAt(w.pos+1);e!==t?e===y.equalsTo?At(g.assign,2):t===y.plusSign?At(g.plus,1):At(g.minus,1):At(g.preIncDec,2)}(t);case y.lessThan:return void function(){const t=S.charCodeAt(w.pos+1);if(t===y.lessThan)return S.charCodeAt(w.pos+2)===y.equalsTo?void At(g.assign,3):void(w.isType?At(g.lessThan,1):At(g.bitShiftL,2));t===y.equalsTo?At(g.relationalOrEqual,2):At(g.lessThan,1)}();case y.greaterThan:return void Tt();case y.equalsTo:case y.exclamationMark:return void function(t){const e=S.charCodeAt(w.pos+1);if(e!==y.equalsTo)return t===y.equalsTo&&e===y.greaterThan?(w.pos+=2,void vt(g.arrow)):void At(t===y.equalsTo?g.eq:g.bang,1);At(g.equality,S.charCodeAt(w.pos+2)===y.equalsTo?3:2)}(t);case y.tilde:return void At(g.tilde,1)}Z(`Unexpected character '${String.fromCharCode(t)}'`,w.pos)}function At(t,e){w.pos+=e,vt(t)}function It(){for(;;){const t=S.charCodeAt(w.pos);if(!(t>=y.digit0&&t<=y.digit9||t===y.underscore))break;w.pos++}}function Bt(t){let e=!1,n=!1;t||It();let r=S.charCodeAt(w.pos);r===y.dot&&(++w.pos,It(),r=S.charCodeAt(w.pos)),r!==y.uppercaseE&&r!==y.lowercaseE||(r=S.charCodeAt(++w.pos),r!==y.plusSign&&r!==y.dash||++w.pos,It(),r=S.charCodeAt(w.pos)),r===y.lowercaseN?(++w.pos,e=!0):r===y.lowercaseM&&(++w.pos,n=!0),vt(e?g.bigint:n?g.decimal:g.num)}function Et(t,e=t.currentIndex()){let n=e+1;if(Lt(t,n)){const r=t.identifierNameAtIndex(e);return{isType:!1,leftName:r,rightName:r,endIndex:n}}if(n++,Lt(t,n))return{isType:!0,leftName:null,rightName:null,endIndex:n};if(n++,Lt(t,n))return{isType:!1,leftName:t.identifierNameAtIndex(e),rightName:t.identifierNameAtIndex(e+2),endIndex:n};if(n++,Lt(t,n))return{isType:!0,leftName:null,rightName:null,endIndex:n};throw new Error(`Unexpected import/export specifier at ${e}`)}function Lt(t,e){const n=t.tokens[e];return n.type===g.braceR||n.type===g.comma}const Ft=new Map([["quot",'"'],["amp","&"],["apos","'"],["lt","<"],["gt",">"],["nbsp","\xa0"],["iexcl","\xa1"],["cent","\xa2"],["pound","\xa3"],["curren","\xa4"],["yen","\xa5"],["brvbar","\xa6"],["sect","\xa7"],["uml","\xa8"],["copy","\xa9"],["ordf","\xaa"],["laquo","\xab"],["not","\xac"],["shy","\xad"],["reg","\xae"],["macr","\xaf"],["deg","\xb0"],["plusmn","\xb1"],["sup2","\xb2"],["sup3","\xb3"],["acute","\xb4"],["micro","\xb5"],["para","\xb6"],["middot","\xb7"],["cedil","\xb8"],["sup1","\xb9"],["ordm","\xba"],["raquo","\xbb"],["frac14","\xbc"],["frac12","\xbd"],["frac34","\xbe"],["iquest","\xbf"],["Agrave","\xc0"],["Aacute","\xc1"],["Acirc","\xc2"],["Atilde","\xc3"],["Auml","\xc4"],["Aring","\xc5"],["AElig","\xc6"],["Ccedil","\xc7"],["Egrave","\xc8"],["Eacute","\xc9"],["Ecirc","\xca"],["Euml","\xcb"],["Igrave","\xcc"],["Iacute","\xcd"],["Icirc","\xce"],["Iuml","\xcf"],["ETH","\xd0"],["Ntilde","\xd1"],["Ograve","\xd2"],["Oacute","\xd3"],["Ocirc","\xd4"],["Otilde","\xd5"],["Ouml","\xd6"],["times","\xd7"],["Oslash","\xd8"],["Ugrave","\xd9"],["Uacute","\xda"],["Ucirc","\xdb"],["Uuml","\xdc"],["Yacute","\xdd"],["THORN","\xde"],["szlig","\xdf"],["agrave","\xe0"],["aacute","\xe1"],["acirc","\xe2"],["atilde","\xe3"],["auml","\xe4"],["aring","\xe5"],["aelig","\xe6"],["ccedil","\xe7"],["egrave","\xe8"],["eacute","\xe9"],["ecirc","\xea"],["euml","\xeb"],["igrave","\xec"],["iacute","\xed"],["icirc","\xee"],["iuml","\xef"],["eth","\xf0"],["ntilde","\xf1"],["ograve","\xf2"],["oacute","\xf3"],["ocirc","\xf4"],["otilde","\xf5"],["ouml","\xf6"],["divide","\xf7"],["oslash","\xf8"],["ugrave","\xf9"],["uacute","\xfa"],["ucirc","\xfb"],["uuml","\xfc"],["yacute","\xfd"],["thorn","\xfe"],["yuml","\xff"],["OElig","\u0152"],["oelig","\u0153"],["Scaron","\u0160"],["scaron","\u0161"],["Yuml","\u0178"],["fnof","\u0192"],["circ","\u02c6"],["tilde","\u02dc"],["Alpha","\u0391"],["Beta","\u0392"],["Gamma","\u0393"],["Delta","\u0394"],["Epsilon","\u0395"],["Zeta","\u0396"],["Eta","\u0397"],["Theta","\u0398"],["Iota","\u0399"],["Kappa","\u039a"],["Lambda","\u039b"],["Mu","\u039c"],["Nu","\u039d"],["Xi","\u039e"],["Omicron","\u039f"],["Pi","\u03a0"],["Rho","\u03a1"],["Sigma","\u03a3"],["Tau","\u03a4"],["Upsilon","\u03a5"],["Phi","\u03a6"],["Chi","\u03a7"],["Psi","\u03a8"],["Omega","\u03a9"],["alpha","\u03b1"],["beta","\u03b2"],["gamma","\u03b3"],["delta","\u03b4"],["epsilon","\u03b5"],["zeta","\u03b6"],["eta","\u03b7"],["theta","\u03b8"],["iota","\u03b9"],["kappa","\u03ba"],["lambda","\u03bb"],["mu","\u03bc"],["nu","\u03bd"],["xi","\u03be"],["omicron","\u03bf"],["pi","\u03c0"],["rho","\u03c1"],["sigmaf","\u03c2"],["sigma","\u03c3"],["tau","\u03c4"],["upsilon","\u03c5"],["phi","\u03c6"],["chi","\u03c7"],["psi","\u03c8"],["omega","\u03c9"],["thetasym","\u03d1"],["upsih","\u03d2"],["piv","\u03d6"],["ensp","\u2002"],["emsp","\u2003"],["thinsp","\u2009"],["zwnj","\u200c"],["zwj","\u200d"],["lrm","\u200e"],["rlm","\u200f"],["ndash","\u2013"],["mdash","\u2014"],["lsquo","\u2018"],["rsquo","\u2019"],["sbquo","\u201a"],["ldquo","\u201c"],["rdquo","\u201d"],["bdquo","\u201e"],["dagger","\u2020"],["Dagger","\u2021"],["bull","\u2022"],["hellip","\u2026"],["permil","\u2030"],["prime","\u2032"],["Prime","\u2033"],["lsaquo","\u2039"],["rsaquo","\u203a"],["oline","\u203e"],["frasl","\u2044"],["euro","\u20ac"],["image","\u2111"],["weierp","\u2118"],["real","\u211c"],["trade","\u2122"],["alefsym","\u2135"],["larr","\u2190"],["uarr","\u2191"],["rarr","\u2192"],["darr","\u2193"],["harr","\u2194"],["crarr","\u21b5"],["lArr","\u21d0"],["uArr","\u21d1"],["rArr","\u21d2"],["dArr","\u21d3"],["hArr","\u21d4"],["forall","\u2200"],["part","\u2202"],["exist","\u2203"],["empty","\u2205"],["nabla","\u2207"],["isin","\u2208"],["notin","\u2209"],["ni","\u220b"],["prod","\u220f"],["sum","\u2211"],["minus","\u2212"],["lowast","\u2217"],["radic","\u221a"],["prop","\u221d"],["infin","\u221e"],["ang","\u2220"],["and","\u2227"],["or","\u2228"],["cap","\u2229"],["cup","\u222a"],["int","\u222b"],["there4","\u2234"],["sim","\u223c"],["cong","\u2245"],["asymp","\u2248"],["ne","\u2260"],["equiv","\u2261"],["le","\u2264"],["ge","\u2265"],["sub","\u2282"],["sup","\u2283"],["nsub","\u2284"],["sube","\u2286"],["supe","\u2287"],["oplus","\u2295"],["otimes","\u2297"],["perp","\u22a5"],["sdot","\u22c5"],["lceil","\u2308"],["rceil","\u2309"],["lfloor","\u230a"],["rfloor","\u230b"],["lang","\u2329"],["rang","\u232a"],["loz","\u25ca"],["spades","\u2660"],["clubs","\u2663"],["hearts","\u2665"],["diams","\u2666"]]);function Nt(t){const[e,n]=Mt(t.jsxPragma||"React.createElement"),[r,i]=Mt(t.jsxFragmentPragma||"React.Fragment");return{base:e,suffix:n,fragmentBase:r,fragmentSuffix:i}}function Mt(t){let e=t.indexOf(".");return-1===e&&(e=t.length),[t.slice(0,e),t.slice(e)]}class jt{getPrefixCode(){return""}getHoistedCode(){return""}getSuffixCode(){return""}}class Ot extends jt{__init(){this.lastLineNumber=1}__init2(){this.lastIndex=0}__init3(){this.filenameVarName=null}__init4(){this.esmAutomaticImportNameResolutions={}}__init5(){this.cjsAutomaticModuleNameResolutions={}}constructor(t,e,n,r,i){super(),this.rootTransformer=t,this.tokens=e,this.importProcessor=n,this.nameManager=r,this.options=i,Ot.prototype.__init.call(this),Ot.prototype.__init2.call(this),Ot.prototype.__init3.call(this),Ot.prototype.__init4.call(this),Ot.prototype.__init5.call(this),this.jsxPragmaInfo=Nt(i),this.isAutomaticRuntime="automatic"===i.jsxRuntime,this.jsxImportSource=i.jsxImportSource||"react"}process(){return!!this.tokens.matches1(g.jsxTagStart)&&(this.processJSXTag(),!0)}getPrefixCode(){let t="";if(this.filenameVarName&&(t+=`const ${this.filenameVarName} = ${JSON.stringify(this.options.filePath||"")};`),this.isAutomaticRuntime)if(this.importProcessor)for(const[e,n]of Object.entries(this.cjsAutomaticModuleNameResolutions))t+=`var ${n} = require("${e}");`;else{const{createElement:e,...n}=this.esmAutomaticImportNameResolutions;e&&(t+=`import {createElement as ${e}} from "${this.jsxImportSource}";`);const r=Object.entries(n).map((([t,e])=>`${t} as ${e}`)).join(", ");if(r){t+=`import {${r}} from "${this.jsxImportSource+(this.options.production?"/jsx-runtime":"/jsx-dev-runtime")}";`}}return t}processJSXTag(){const{jsxRole:t,start:e}=this.tokens.currentToken(),n=this.options.production?null:this.getElementLocationCode(e);this.isAutomaticRuntime&&t!==G.KeyAfterPropSpread?this.transformTagToJSXFunc(n,t):this.transformTagToCreateElement(n)}getElementLocationCode(t){return`lineNumber: ${this.getLineNumberForIndex(t)}`}getLineNumberForIndex(t){const e=this.tokens.code;for(;this.lastIndex or > at the end of the tag.");this.tokens.removeToken(),this.processAutomaticChildrenAndEndProps(e)}r&&this.tokens.appendCode(`, ${r}`)}for(this.options.production||(null===r&&this.tokens.appendCode(", void 0"),this.tokens.appendCode(`, ${n}, ${this.getDevSource(t)}, this`)),this.tokens.removeInitialToken();!this.tokens.matches1(g.jsxTagEnd);)this.tokens.removeToken();this.tokens.replaceToken(")")}transformTagToCreateElement(t){if(this.tokens.replaceToken(this.getCreateElementInvocationCode()),this.tokens.matches1(g.jsxTagEnd))this.tokens.replaceToken(`${this.getFragmentCode()}, null`),this.processChildren(!0);else if(this.processTagIntro(),this.processPropsObjectWithDevInfo(t),this.tokens.matches2(g.slash,g.jsxTagEnd));else{if(!this.tokens.matches1(g.jsxTagEnd))throw new Error("Expected either /> or > at the end of the tag.");this.tokens.removeToken(),this.processChildren(!0)}for(this.tokens.removeInitialToken();!this.tokens.matches1(g.jsxTagEnd);)this.tokens.removeToken();this.tokens.replaceToken(")")}getJSXFuncInvocationCode(t){return this.options.production?t?this.claimAutoImportedFuncInvocation("jsxs","/jsx-runtime"):this.claimAutoImportedFuncInvocation("jsx","/jsx-runtime"):this.claimAutoImportedFuncInvocation("jsxDEV","/jsx-dev-runtime")}getCreateElementInvocationCode(){if(this.isAutomaticRuntime)return this.claimAutoImportedFuncInvocation("createElement","");{const{jsxPragmaInfo:t}=this;return`${this.importProcessor&&this.importProcessor.getIdentifierReplacement(t.base)||t.base}${t.suffix}(`}}getFragmentCode(){if(this.isAutomaticRuntime)return this.claimAutoImportedName("Fragment",this.options.production?"/jsx-runtime":"/jsx-dev-runtime");{const{jsxPragmaInfo:t}=this;return(this.importProcessor&&this.importProcessor.getIdentifierReplacement(t.fragmentBase)||t.fragmentBase)+t.fragmentSuffix}}claimAutoImportedFuncInvocation(t,e){const n=this.claimAutoImportedName(t,e);return this.importProcessor?`${n}.call(void 0, `:`${n}(`}claimAutoImportedName(t,e){if(this.importProcessor){const n=this.jsxImportSource+e;return this.cjsAutomaticModuleNameResolutions[n]||(this.cjsAutomaticModuleNameResolutions[n]=this.importProcessor.getFreeIdentifierForPath(n)),`${this.cjsAutomaticModuleNameResolutions[n]}.${t}`}return this.esmAutomaticImportNameResolutions[t]||(this.esmAutomaticImportNameResolutions[t]=this.nameManager.claimFreeName(`_${t}`)),this.esmAutomaticImportNameResolutions[t]}processTagIntro(){let t=this.tokens.currentIndex()+1;for(;this.tokens.tokens[t].isType||!this.tokens.matches2AtIndex(t-1,g.jsxName,g.jsxName)&&!this.tokens.matches2AtIndex(t-1,g.greaterThan,g.jsxName)&&!this.tokens.matches1AtIndex(t,g.braceL)&&!this.tokens.matches1AtIndex(t,g.jsxTagEnd)&&!this.tokens.matches2AtIndex(t,g.slash,g.jsxTagEnd);)t++;if(t===this.tokens.currentIndex()+1){const t=this.tokens.identifierName();Rt(t)&&this.tokens.replaceToken(`'${t}'`)}for(;this.tokens.currentIndex()=y.lowercaseA&&e<=y.lowercaseZ}function Dt(t){let e=0,n=0;for(const r of t)"\n"===r?(e++,n=0):" "===r&&n++;return"\n".repeat(e)+" ".repeat(n)}function qt(t,e){let n,r="",i=0,o=e;if("#"===t[o]){let e,r=10;if(o++,"x"===t[o])for(r=16,o++,e=o;o=y.digit0&&s<=y.digit9||s>=y.lowercaseA&&s<=y.lowercaseF||s>=y.uppercaseA&&s<=y.uppercaseF);)o++;else for(e=o;o=y.digit0&&t<=y.digit9}function Pt(t,e){const n=Nt(e),r=new Set;for(let i=0;i0||e.namedExports.length>0)continue;[...e.defaultNames,...e.wildcardNames,...e.namedImports.map((({localName:t})=>t))].every((t=>this.shouldAutomaticallyElideImportedName(t)))&&this.importsToReplace.set(t,"")}}shouldAutomaticallyElideImportedName(t){return this.isTypeScriptTransformEnabled&&!this.keepUnusedImports&&!this.nonTypeIdentifiers.has(t)}generateImportReplacements(){for(const[t,e]of this.importInfoByPath.entries()){const{defaultNames:n,wildcardNames:r,namedImports:i,namedExports:o,exportStarNames:s,hasStarExport:a}=e;if(0===n.length&&0===r.length&&0===i.length&&0===o.length&&0===s.length&&!a){this.importsToReplace.set(t,`require('${t}');`);continue}const l=this.getFreeIdentifierForPath(t);let c;c=this.enableLegacyTypeScriptModuleInterop?l:r.length>0?r[0]:this.getFreeIdentifierForPath(t);let h=`var ${l} = require('${t}');`;if(r.length>0)for(const t of r){h+=` var ${t} = ${this.enableLegacyTypeScriptModuleInterop?l:`${this.helperManager.getHelperName("interopRequireWildcard")}(${l})`};`}else s.length>0&&c!==l?h+=` var ${c} = ${this.helperManager.getHelperName("interopRequireWildcard")}(${l});`:n.length>0&&c!==l&&(h+=` var ${c} = ${this.helperManager.getHelperName("interopRequireDefault")}(${l});`);for(const{importedName:t,localName:e}of o)h+=` ${this.helperManager.getHelperName("createNamedExportFrom")}(${l}, '${e}', '${t}');`;for(const t of s)h+=` exports.${t} = ${c};`;a&&(h+=` ${this.helperManager.getHelperName("createStarExport")}(${l});`),this.importsToReplace.set(t,h);for(const t of n)this.identifierReplacements.set(t,`${c}.default`);for(const{importedName:t,localName:e}of i)this.identifierReplacements.set(e,`${l}.${t}`)}}getFreeIdentifierForPath(t){const e=t.split("/"),n=e[e.length-1].replace(/\W/g,"");return this.nameManager.claimFreeName(`_${n}`)}preprocessImportAtIndex(t){const e=[],n=[],r=[];if(t++,(this.tokens.matchesContextualAtIndex(t,m._type)||this.tokens.matches1AtIndex(t,g._typeof))&&!this.tokens.matches1AtIndex(t+1,g.comma)&&!this.tokens.matchesContextualAtIndex(t+1,m._from))return;if(this.tokens.matches1AtIndex(t,g.parenL))return;if(this.tokens.matches1AtIndex(t,g.name)&&(e.push(this.tokens.identifierNameAtIndex(t)),t++,this.tokens.matches1AtIndex(t,g.comma)&&t++),this.tokens.matches1AtIndex(t,g.star)&&(t+=2,n.push(this.tokens.identifierNameAtIndex(t)),t++),this.tokens.matches1AtIndex(t,g.braceL)){const n=this.getNamedImports(t+1);t=n.newIndex;for(const t of n.namedImports)"default"===t.importedName?e.push(t.localName):r.push(t)}if(this.tokens.matchesContextualAtIndex(t,m._from)&&t++,!this.tokens.matches1AtIndex(t,g.string))throw new Error("Expected string token at the end of import statement.");const i=this.tokens.stringValueAtIndex(t),o=this.getImportInfo(i);o.defaultNames.push(...e),o.wildcardNames.push(...n),o.namedImports.push(...r),0===e.length&&0===n.length&&0===r.length&&(o.hasBareImport=!0)}preprocessExportAtIndex(t){if(this.tokens.matches2AtIndex(t,g._export,g._var)||this.tokens.matches2AtIndex(t,g._export,g._let)||this.tokens.matches2AtIndex(t,g._export,g._const))this.preprocessVarExportAtIndex(t);else if(this.tokens.matches2AtIndex(t,g._export,g._function)||this.tokens.matches2AtIndex(t,g._export,g._class)){const e=this.tokens.identifierNameAtIndex(t+2);this.addExportBinding(e,e)}else if(this.tokens.matches3AtIndex(t,g._export,g.name,g._function)){const e=this.tokens.identifierNameAtIndex(t+3);this.addExportBinding(e,e)}else this.tokens.matches2AtIndex(t,g._export,g.braceL)?this.preprocessNamedExportAtIndex(t):this.tokens.matches2AtIndex(t,g._export,g.star)&&this.preprocessExportStarAtIndex(t)}preprocessVarExportAtIndex(t){let e=0;for(let n=t+2;;n++)if(this.tokens.matches1AtIndex(n,g.braceL)||this.tokens.matches1AtIndex(n,g.dollarBraceL)||this.tokens.matches1AtIndex(n,g.bracketL))e++;else if(this.tokens.matches1AtIndex(n,g.braceR)||this.tokens.matches1AtIndex(n,g.bracketR))e--;else{if(0===e&&!this.tokens.matches1AtIndex(n,g.name))break;if(this.tokens.matches1AtIndex(1,g.eq)){const t=this.tokens.currentToken().rhsEndIndex;if(null==t)throw new Error("Expected = token with an end index.");n=t-1}else{if(J(this.tokens.tokens[n])){const t=this.tokens.identifierNameAtIndex(n);this.identifierReplacements.set(t,`exports.${t}`)}}}}preprocessNamedExportAtIndex(t){t+=2;const{newIndex:e,namedImports:n}=this.getNamedImports(t);if(t=e,!this.tokens.matchesContextualAtIndex(t,m._from)){for(const{importedName:t,localName:e}of n)this.addExportBinding(t,e);return}if(t++,!this.tokens.matches1AtIndex(t,g.string))throw new Error("Expected string token at the end of import statement.");const r=this.tokens.stringValueAtIndex(t);this.getImportInfo(r).namedExports.push(...n)}preprocessExportStarAtIndex(t){let e=null;if(this.tokens.matches3AtIndex(t,g._export,g.star,g._as)?(t+=3,e=this.tokens.identifierNameAtIndex(t),t+=2):t+=3,!this.tokens.matches1AtIndex(t,g.string))throw new Error("Expected string token at the end of star export statement.");const n=this.tokens.stringValueAtIndex(t),r=this.getImportInfo(n);null!==e?r.exportStarNames.push(e):r.hasStarExport=!0}getNamedImports(t){const e=[];for(;;){if(this.tokens.matches1AtIndex(t,g.braceR)){t++;break}const n=Et(this.tokens,t);if(t=n.endIndex,n.isType||e.push({importedName:n.leftName,localName:n.rightName}),this.tokens.matches2AtIndex(t,g.comma,g.braceR)){t+=2;break}if(this.tokens.matches1AtIndex(t,g.braceR)){t++;break}if(!this.tokens.matches1AtIndex(t,g.comma))throw new Error(`Unexpected token: ${JSON.stringify(this.tokens.tokens[t])}`);t++}return{newIndex:t,namedImports:e}}getImportInfo(t){const e=this.importInfoByPath.get(t);if(e)return e;const n={defaultNames:[],wildcardNames:[],namedImports:[],namedExports:[],hasBareImport:!1,exportStarNames:[],hasStarExport:!1};return this.importInfoByPath.set(t,n),n}addExportBinding(t,e){this.exportBindingsByLocalName.has(t)||this.exportBindingsByLocalName.set(t,[]),this.exportBindingsByLocalName.get(t).push(e)}claimImportCode(t){const e=this.importsToReplace.get(t);return this.importsToReplace.set(t,""),e||""}getIdentifierReplacement(t){return this.identifierReplacements.get(t)||null}resolveExportBinding(t){const e=this.exportBindingsByLocalName.get(t);return e&&0!==e.length?e.map((t=>`exports.${t}`)).join(" = "):null}getGlobalNames(){return new Set([...this.identifierReplacements.keys(),...this.exportBindingsByLocalName.keys()])}}var zt=n(2509);function Wt({code:t,mappings:e},n,r,i,o){const s=function(t,e){const n=new Array(e.length);let r=0,i=e[r].start,o=0;for(let s=0;s obj[importedName]});\n }\n ",createStarExport:'\n function createStarExport(obj) {\n Object.keys(obj)\n .filter((key) => key !== "default" && key !== "__esModule")\n .forEach((key) => {\n if (exports.hasOwnProperty(key)) {\n return;\n }\n Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]});\n });\n }\n ',nullishCoalesce:"\n function nullishCoalesce(lhs, rhsFn) {\n if (lhs != null) {\n return lhs;\n } else {\n return rhsFn();\n }\n }\n ",asyncNullishCoalesce:"\n async function asyncNullishCoalesce(lhs, rhsFn) {\n if (lhs != null) {\n return lhs;\n } else {\n return await rhsFn();\n }\n }\n ",optionalChain:"\n function optionalChain(ops) {\n let lastAccessLHS = undefined;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n return undefined;\n }\n if (op === 'access' || op === 'optionalAccess') {\n lastAccessLHS = value;\n value = fn(value);\n } else if (op === 'call' || op === 'optionalCall') {\n value = fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = undefined;\n }\n }\n return value;\n }\n ",asyncOptionalChain:"\n async function asyncOptionalChain(ops) {\n let lastAccessLHS = undefined;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n return undefined;\n }\n if (op === 'access' || op === 'optionalAccess') {\n lastAccessLHS = value;\n value = await fn(value);\n } else if (op === 'call' || op === 'optionalCall') {\n value = await fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = undefined;\n }\n }\n return value;\n }\n ",optionalChainDelete:"\n function optionalChainDelete(ops) {\n const result = OPTIONAL_CHAIN_NAME(ops);\n return result == null ? true : result;\n }\n ",asyncOptionalChainDelete:"\n async function asyncOptionalChainDelete(ops) {\n const result = await ASYNC_OPTIONAL_CHAIN_NAME(ops);\n return result == null ? true : result;\n }\n "};class Ht{__init(){this.helperNames={}}__init2(){this.createRequireName=null}constructor(t){this.nameManager=t,Ht.prototype.__init.call(this),Ht.prototype.__init2.call(this)}getHelperName(t){let e=this.helperNames[t];return e||(e=this.nameManager.claimFreeName(`_${t}`),this.helperNames[t]=e,e)}emitHelpers(){let t="";this.helperNames.optionalChainDelete&&this.getHelperName("optionalChain"),this.helperNames.asyncOptionalChainDelete&&this.getHelperName("asyncOptionalChain");for(const[e,n]of Object.entries(Ut)){const r=this.helperNames[e];let i=n;"optionalChainDelete"===e?i=i.replace("OPTIONAL_CHAIN_NAME",this.helperNames.optionalChain):"asyncOptionalChainDelete"===e?i=i.replace("ASYNC_OPTIONAL_CHAIN_NAME",this.helperNames.asyncOptionalChain):"require"===e&&(null===this.createRequireName&&(this.createRequireName=this.nameManager.claimFreeName("_createRequire")),i=i.replace(/CREATE_REQUIRE_NAME/g,this.createRequireName)),r&&(t+=" ",t+=i.replace(e,r).replace(/\s+/g," ").trim())}return t}}function Yt(t,e,n){(function(t,e){for(const n of t.tokens)if(n.type===g.name&&!n.isType&&Q(n)&&e.has(t.identifierNameForToken(n)))return!0;return!1})(t,n)&&function(t,e,n){const r=[];let i=e.length-1;for(let o=t.tokens.length-1;;o--){for(;r.length>0&&r[r.length-1].startTokenIndex===o+1;)r.pop();for(;i>=0&&e[i].endTokenIndex===o+1;)r.push(e[i]),i--;if(o<0)break;const s=t.tokens[o],a=t.identifierNameForToken(s);if(r.length>1&&!s.isType&&s.type===g.name&&n.has(a))if(et(s))Vt(r[r.length-1],t,a);else if(nt(s)){let e=r.length-1;for(;e>0&&!r[e].isFunctionScope;)e--;if(e<0)throw new Error("Did not find parent function scope.");Vt(r[e],t,a)}}if(r.length>0)throw new Error("Expected empty scope stack after processing file.")}(t,e,n)}function Vt(t,e,n){for(let r=t.startTokenIndex;r0&&!w.error;)dt(g.braceL)||dt(g.bracketL)?t++:(dt(g.braceR)||dt(g.bracketR))&&t--,ot();return!0}return!1}()){if(dt(g.colon)||dt(g.comma)||dt(g.question)||dt(g.eq))return!0;if(dt(g.parenR)&&(ot(),dt(g.arrow)))return!0}return!1}();return w.restoreFromSnapshot(t),e}()}function Me(t){const e=lt(0);P(t);(function(){const t=w.snapshot();if(F(m._asserts))return ot(),M(m._is)?(Re(),!0):ce()||dt(g._this)?(ot(),M(m._is)&&Re(),!0):(w.restoreFromSnapshot(t),!1);if(ce()||dt(g._this))return ot(),F(m._is)&&!R()?(ot(),Re(),!0):(w.restoreFromSnapshot(t),!1);return!1})()||Re(),ct(e)}function je(){dt(g.colon)&&Oe()}function Oe(){const t=lt(0);P(g.colon),Re(),ct(t)}function Re(){if(De(),w.inDisallowConditionalTypesContext||R()||!ht(g._extends))return;const t=w.inDisallowConditionalTypesContext;w.inDisallowConditionalTypesContext=!0,De(),w.inDisallowConditionalTypesContext=t,P(g.question),Re(),P(g.colon),Re()}function De(){Ne()?Be(Ie.TSFunctionType):dt(g._new)?Be(Ie.TSConstructorType):F(m._abstract)&&pt()===g._new?Be(Ie.TSAbstractConstructorType):function(){if(ht(g.bitwiseOR),Fe(),dt(g.bitwiseOR))for(;ht(g.bitwiseOR);)Fe()}()}function qe(){for(;!dt(g.braceL)&&!w.error;)$e(),ht(g.comma)}function $e(){pe(),dt(g.lessThan)&&Qe()}function Pe(){if(dt(g.string)?Bn():Un(),ht(g.eq)){const t=w.tokens.length-1;fn(),w.tokens[t].rhsEndIndex=w.tokens.length}}function Ze(){for(ee(!1),P(g.braceL);!ht(g.braceR)&&!w.error;)Pe(),ht(g.comma)}function ze(){P(g.braceL),Er(g.braceR)}function We(){ee(!1),ht(g.dot)?We():ze()}function Ue(){F(m._global)?Un():dt(g.string)?An():Z(),dt(g.braceL)?ze():$()}function He(){ne(),P(g.eq),F(m._require)&&pt()===g.parenL?(j(m._require),P(g.parenL),dt(g.string)||Z(),Bn(),P(g.parenR)):pe(),$()}function Ye(){return Ke(w.contextualKeyword,!0)}function Ve(t){switch(t){case m._declare:{const t=w.tokens.length-1,e=function(){if(q())return!1;switch(w.type){case g._function:{const t=lt(1);return ot(),jr(w.start,!0),ct(t),!0}case g._class:{const t=lt(1);return Rr(!0,!1),ct(t),!0}case g._const:if(dt(g._const)&&N(m._enum)){const t=lt(1);return P(g._const),j(m._enum),w.tokens[w.tokens.length-1].type=g._enum,Ze(),ct(t),!0}case g._var:case g._let:{const t=lt(1);return Ir(w.type!==g._var),ct(t),!0}case g.name:{const t=lt(1),e=w.contextualKeyword;let n=!1;return e===m._global?(Ue(),n=!0):n=Ke(e,!0),ct(t),n}default:return!1}}();if(e)return w.tokens[t].type=g._declare,!0;break}case m._global:if(dt(g.braceL))return ze(),!0;break;default:return Ke(t,!1)}return!1}function Ke(t,e){switch(t){case m._abstract:if(Xe(e)&&dt(g._class))return w.tokens[w.tokens.length-1].type=g._abstract,Rr(!0,!1),!0;break;case m._enum:if(Xe(e)&&dt(g.name))return w.tokens[w.tokens.length-1].type=g._enum,Ze(),!0;break;case m._interface:if(Xe(e)&&dt(g.name)){const t=lt(e?2:1);return ee(!1),ge(),ht(g._extends)&&qe(),Te(),ct(t),!0}break;case m._module:if(Xe(e)){if(dt(g.string)){const t=lt(e?2:1);return Ue(),ct(t),!0}if(dt(g.name)){const t=lt(e?2:1);return We(),ct(t),!0}}break;case m._namespace:if(Xe(e)&&dt(g.name)){const t=lt(e?2:1);return We(),ct(t),!0}break;case m._type:if(Xe(e)&&dt(g.name)){const t=lt(e?2:1);return ee(!1),ge(),P(g.eq),Re(),$(),ct(t),!0}}return!1}function Xe(t){return t?(ot(),!0):!q()}function Ge(){const t=w.snapshot();return ye(),Or(),dt(g.colon)&&Me(g.colon),P(g.arrow),w.error?(w.restoreFromSnapshot(t),!1):(Zn(!0),!0)}function Je(){w.type===g.bitShiftL&&(w.pos-=1,vt(g.lessThan)),Qe()}function Qe(){const t=lt(0);for(P(g.lessThan);!dt(g.greaterThan)&&!w.error;)Re(),ht(g.comma);t?(P(g.greaterThan),ct(t)):(ct(t),wt(),P(g.greaterThan),w.tokens[w.tokens.length-1].isType=!0)}function tn(){if(dt(g.name))switch(w.contextualKeyword){case m._abstract:case m._declare:case m._enum:case m._interface:case m._module:case m._namespace:case m._type:return!0}return!1}function en(t,e){return C?function(t,e){if(!dt(g.lessThan))return mn(t,e);const n=w.snapshot();let r=mn(t,e);if(!w.error)return r;w.restoreFromSnapshot(n);w.type=g.typeParameterStart,ye(),r=mn(t,e),r||Z();return r}(t,e):function(t,e){if(!dt(g.lessThan))return mn(t,e);const n=w.snapshot();ye();const r=mn(t,e);r||Z();if(!w.error)return r;w.restoreFromSnapshot(n);return mn(t,e)}(t,e)}function nn(){hn()}function rn(t){nn(),ht(g.colon)?nn():w.tokens[w.tokens.length-1].identifierRole=t}function on(){const t=w.tokens.length;rn(X.Access);let e=!1;for(;dt(g.dot);)e=!0,hn(),nn();if(!e){const e=w.tokens[t],n=S.charCodeAt(e.start);n>=y.lowercaseA&&n<=y.lowercaseZ&&(e.identifierRole=null)}}function sn(){switch(w.type){case g.braceL:return ot(),pn(),void hn();case g.jsxTagStart:return cn(),void hn();case g.string:return void hn();default:Z("JSX value should be either an expression or a quoted JSX text")}}function an(t){if(dt(g.jsxTagEnd))return!1;on(),v&&function(){if(ht(g.jsxTagStart)){w.tokens[w.tokens.length-1].type=g.typeParameterStart;const t=lt(1);for(;!dt(g.greaterThan)&&!w.error;)Re(),ht(g.comma);hn(),ct(t)}}();let e=!1;for(;!dt(g.slash)&&!dt(g.jsxTagEnd)&&!w.error;)ht(g.braceL)?(e=!0,P(g.ellipsis),fn(),hn()):(e&&w.end-w.start==3&&S.charCodeAt(w.start)===y.lowercaseK&&S.charCodeAt(w.start+1)===y.lowercaseE&&S.charCodeAt(w.start+2)===y.lowercaseY&&(w.tokens[t].jsxRole=G.KeyAfterPropSpread),rn(X.ObjectKey),dt(g.eq)&&(hn(),sn()));const n=dt(g.slash);return n&&hn(),n}function ln(){const t=w.tokens.length-1;w.tokens[t].jsxRole=G.NoChildren;let e=0;if(!an(t))for(un();;)switch(w.type){case g.jsxTagStart:if(hn(),dt(g.slash))return hn(),dt(g.jsxTagEnd)||on(),void(w.tokens[t].jsxRole!==G.KeyAfterPropSpread&&(1===e?w.tokens[t].jsxRole=G.OneChild:e>1&&(w.tokens[t].jsxRole=G.StaticChildren)));e++,ln(),un();break;case g.jsxText:e++,un();break;case g.jsxEmptyText:un();break;case g.braceL:ot(),dt(g.ellipsis)?(P(g.ellipsis),pn(),un(),e+=2):(dt(g.braceR)||(e++,pn()),un());break;default:return void Z()}}function cn(){hn(),ln()}function hn(){w.tokens.push(new it),Ct(),w.start=w.pos;const t=S.charCodeAt(w.pos);if(V[t])!function(){let t;do{if(w.pos>S.length)return void Z("Unexpectedly reached the end of input.");t=S.charCodeAt(++w.pos)}while(Y[t]||t===y.dash);vt(g.jsxName)}();else if(t===y.quotationMark||t===y.apostrophe)!function(t){for(w.pos++;;){if(w.pos>=S.length)return void Z("Unterminated string constant");if(S.charCodeAt(w.pos)===t){w.pos++;break}w.pos++}vt(g.string)}(t);else switch(++w.pos,t){case y.greaterThan:vt(g.jsxTagEnd);break;case y.lessThan:vt(g.jsxTagStart);break;case y.slash:vt(g.slash);break;case y.equalsTo:vt(g.eq);break;case y.leftCurlyBrace:vt(g.braceL);break;case y.dot:vt(g.dot);break;case y.colon:vt(g.colon);break;default:Z()}}function un(){w.tokens.push(new it),w.start=w.pos,function(){let t=!1,e=!1;for(;;){if(w.pos>=S.length)return void Z("Unterminated JSX contents");const n=S.charCodeAt(w.pos);if(n===y.lessThan||n===y.leftCurlyBrace)return w.pos===w.start?n===y.lessThan?(w.pos++,void vt(g.jsxTagStart)):void St(n):void vt(t&&!e?g.jsxEmptyText:g.jsxText);n===y.lineFeed?t=!0:n!==y.space&&n!==y.carriageReturn&&n!==y.tab&&(e=!0),w.pos++}}()}!function(t){t[t.TSFunctionType=0]="TSFunctionType";t[t.TSConstructorType=1]="TSConstructorType";t[t.TSAbstractConstructorType=2]="TSAbstractConstructorType"}(Ie||(Ie={}));class dn{constructor(t){this.stop=t}}function pn(t=!1){if(fn(t),dt(g.comma))for(;ht(g.comma);)fn(t)}function fn(t=!1,e=!1){return v?en(t,e):T?function(t,e){if(dt(g.lessThan)){const n=w.snapshot();let r=mn(t,e);if(!w.error)return r;w.restoreFromSnapshot(n),w.type=g.typeParameterStart;const i=lt(0);if(nr(),ct(i),r=mn(t,e),r)return!0;Z()}return mn(t,e)}(t,e):mn(t,e)}function mn(t,e){if(dt(g._yield))return ot(),dt(g.semi)||O()||(ht(g.star),fn()),!1;(dt(g.parenL)||dt(g.name)||dt(g._yield))&&(w.potentialArrowAt=w.start);const n=function(t){const e=function(t){const e=w.tokens.length,n=kn();if(n)return!0;return yn(e,-1,t),!1}(t);if(e)return!0;return function(t){v||T?function(t){if(dt(g.question)){const t=pt();if(t===g.colon||t===g.comma||t===g.parenR)return}gn(t)}(t):gn(t)}(t),!1}(t);return e&&Nn(),w.type&g.IS_ASSIGN?(ot(),fn(t),!1):n}function gn(t){ht(g.question)&&(fn(),P(g.colon),fn(t))}function yn(t,e,n){if(v&&(g._in&g.PRECEDENCE_MASK)>e&&!R()&&(M(m._as)||M(m._satisfies))){const r=lt(1);return Re(),ct(r),wt(),void yn(t,e,n)}const r=w.type&g.PRECEDENCE_MASK;if(r>0&&(!n||!dt(g._in))&&r>e){const i=w.type;ot(),i===g.nullishCoalescing&&(w.tokens[w.tokens.length-1].nullishStartIndex=t);const o=w.tokens.length;kn(),yn(o,i&g.IS_RIGHT_ASSOCIATIVE?r-1:r,n),i===g.nullishCoalescing&&(w.tokens[t].numNullishCoalesceStarts++,w.tokens[w.tokens.length-1].numNullishCoalesceEnds++),yn(t,e,n)}}function kn(){if(v&&!C&&ht(g.lessThan))return function(){const t=lt(1);Re(),P(g.greaterThan),ct(t),kn()}(),!1;if(F(m._module)&&kt()===y.leftCurlyBrace&&!D())return j(m._module),P(g.braceL),Er(g.braceR),!1;if(w.type&g.IS_PREFIX)return ot(),kn(),!1;if(xn())return!0;for(;w.type&g.IS_POSTFIX&&!O();)w.type===g.preIncDec&&(w.type=g.postIncDec),ot();return!1}function xn(){const t=w.tokens.length;return!!An()||(_n(t),w.tokens.length>t&&w.tokens[t].isOptionalChainStart&&(w.tokens[w.tokens.length-1].isOptionalChainEnd=!0),!1)}function _n(t,e=!1){T?function(t,e=!1){if(w.tokens[w.tokens.length-1].contextualKeyword===m._async&&dt(g.lessThan)){const t=w.snapshot(),e=function(){w.scopeDepth++;const t=w.tokens.length;if(Or(),!Fn())return!1;return $n(t),!0}();if(e&&!w.error)return;w.restoreFromSnapshot(t)}bn(t,e)}(t,e):bn(t,e)}function bn(t,e=!1){const n=new dn(!1);do{Cn(t,e,n)}while(!n.stop&&!w.error)}function Cn(t,e,n){v?function(t,e,n){if(R()||!ht(g.bang)){if(dt(g.lessThan)||dt(g.bitShiftL)){const n=w.snapshot();if(!e&&Tn()&&Ge())return;if(Je(),!e&&ht(g.parenL)?(w.tokens[w.tokens.length-1].subscriptStartIndex=t,wn()):dt(g.backQuote)?Mn():(w.type===g.greaterThan||w.type!==g.parenL&&Boolean(w.type&g.IS_EXPRESSION_START)&&!R())&&Z(),!w.error)return;w.restoreFromSnapshot(n)}else!e&&dt(g.questionDot)&&pt()===g.lessThan&&(ot(),w.tokens[t].isOptionalChainStart=!0,w.tokens[w.tokens.length-1].subscriptStartIndex=t,Qe(),P(g.parenL),wn());vn(t,e,n)}else w.tokens[w.tokens.length-1].type=g.nonNullAssertion}(t,e,n):T?function(t,e,n){if(dt(g.questionDot)&&pt()===g.lessThan)return e?void(n.stop=!0):(ot(),rr(),P(g.parenL),void wn());if(!e&&dt(g.lessThan)){const t=w.snapshot();if(rr(),P(g.parenL),wn(),!w.error)return;w.restoreFromSnapshot(t)}vn(t,e,n)}(t,e,n):vn(t,e,n)}function vn(t,e,n){if(!e&&ht(g.doubleColon))Sn(),n.stop=!0,_n(t,e);else if(dt(g.questionDot)){if(w.tokens[t].isOptionalChainStart=!0,e&&pt()===g.parenL)return void(n.stop=!0);ot(),w.tokens[w.tokens.length-1].subscriptStartIndex=t,ht(g.bracketL)?(pn(),P(g.bracketR)):ht(g.parenL)?wn():In()}else if(ht(g.dot))w.tokens[w.tokens.length-1].subscriptStartIndex=t,In();else if(ht(g.bracketL))w.tokens[w.tokens.length-1].subscriptStartIndex=t,pn(),P(g.bracketR);else if(!e&&dt(g.parenL))if(Tn()){const e=w.snapshot(),r=w.tokens.length;ot(),w.tokens[w.tokens.length-1].subscriptStartIndex=t;const i=I();w.tokens[w.tokens.length-1].contextId=i,wn(),w.tokens[w.tokens.length-1].contextId=i,(dt(g.colon)||dt(g.arrow))&&(w.restoreFromSnapshot(e),n.stop=!0,w.scopeDepth++,Or(),function(t){v?dt(g.colon)&&Oe():T&&function(){if(dt(g.colon)){const t=w.noAnonFunctionType;w.noAnonFunctionType=!0,yr(),w.noAnonFunctionType=t}}();P(g.arrow),$n(t)}(r))}else{ot(),w.tokens[w.tokens.length-1].subscriptStartIndex=t;const e=I();w.tokens[w.tokens.length-1].contextId=e,wn(),w.tokens[w.tokens.length-1].contextId=e}else dt(g.backQuote)?Mn():n.stop=!0}function Tn(){return w.tokens[w.tokens.length-1].contextualKeyword===m._async&&!O()}function wn(){let t=!0;for(;!ht(g.parenR)&&!w.error;){if(t)t=!1;else if(P(g.comma),ht(g.parenR))break;Wn(!1)}}function Sn(){const t=w.tokens.length;An(),_n(t,!0)}function An(){if(ht(g.modulo))return Un(),!1;if(dt(g.jsxText)||dt(g.jsxEmptyText))return Bn(),!1;if(dt(g.lessThan)&&C)return w.type=g.jsxTagStart,cn(),ot(),!1;const t=w.potentialArrowAt===w.start;switch(w.type){case g.slash:case g.assign:at();case g._super:case g._this:case g.regexp:case g.num:case g.bigint:case g.decimal:case g.string:case g._null:case g._true:case g._false:return ot(),!1;case g._import:return ot(),dt(g.dot)&&(w.tokens[w.tokens.length-1].type=g.name,ot(),Un()),!1;case g.name:{const e=w.tokens.length,n=w.start,r=w.contextualKeyword;return Un(),r===m._await?(kn(),!1):r===m._async&&dt(g._function)&&!O()?(ot(),jr(n,!1),!1):t&&r===m._async&&!O()&&dt(g.name)?(w.scopeDepth++,ee(!1),P(g.arrow),$n(e),!0):dt(g._do)&&!O()?(ot(),Br(),!1):t&&!O()&&dt(g.arrow)?(w.scopeDepth++,re(!1),P(g.arrow),$n(e),!0):(w.tokens[w.tokens.length-1].identifierRole=X.Access,!1)}case g._do:return ot(),Br(),!1;case g.parenL:return Ln(t);case g.bracketL:return ot(),zn(g.bracketR,!0),!1;case g.braceL:return jn(!1,!1),!1;case g._function:return function(){const t=w.start;Un(),ht(g.dot)&&Un();jr(t,!1)}(),!1;case g.at:wr();case g._class:return Rr(!1),!1;case g._new:return function(){if(P(g._new),ht(g.dot))return void Un();Sn(),void ht(g.questionDot),T&&function(){if(dt(g.lessThan)){const t=w.snapshot();rr(),w.error&&w.restoreFromSnapshot(t)}}();ht(g.parenL)&&zn(g.parenR)}(),!1;case g.backQuote:return Mn(),!1;case g.doubleColon:return ot(),Sn(),!1;case g.hash:{const t=kt();return V[t]||t===y.backslash?In():ot(),!1}default:return Z(),!1}}function In(){ht(g.hash),Un()}function Bn(){ot()}function En(){P(g.parenL),pn(),P(g.parenR)}function Ln(t){const e=w.snapshot(),n=w.tokens.length;P(g.parenL);let r=!0;for(;!dt(g.parenR)&&!w.error;){if(r)r=!1;else if(P(g.comma),dt(g.parenR))break;if(dt(g.ellipsis)){te(!1),Nn();break}fn(!1,!0)}if(P(g.parenR),t&&(dt(g.colon)||!O())){if(Fn())return w.restoreFromSnapshot(e),w.scopeDepth++,Or(),Fn(),$n(n),!w.error||(w.restoreFromSnapshot(e),Ln(!1),!1)}return!1}function Fn(){return v?function(){if(dt(g.colon)){const t=w.snapshot();Me(g.colon),O()&&Z(),dt(g.arrow)||Z(),w.error&&w.restoreFromSnapshot(t)}return ht(g.arrow)}():T?function(){if(dt(g.colon)){const t=lt(0),e=w.snapshot(),n=w.noAnonFunctionType;w.noAnonFunctionType=!0,Vn(),w.noAnonFunctionType=n,O()&&Z(),dt(g.arrow)||Z(),w.error&&w.restoreFromSnapshot(e),ct(t)}return ht(g.arrow)}():ht(g.arrow)}function Nn(){(v||T)&&(ut(g.question),dt(g.colon)&&(v?Oe():T&&yr()))}function Mn(){for(st(),st();!dt(g.backQuote)&&!w.error;)P(g.dollarBraceL),pn(),st(),st();ot()}function jn(t,e){const n=I();let r=!0;for(ot(),w.tokens[w.tokens.length-1].contextId=n;!ht(g.braceR)&&!w.error;){if(r)r=!1;else if(P(g.comma),ht(g.braceR))break;let i=!1;if(dt(g.ellipsis)){const n=w.tokens.length;if(Qt(),t&&(w.tokens.length===n+2&&re(e),ht(g.braceR)))break}else t||(i=ht(g.star)),!t&&F(m._async)?(i&&Z(),Un(),dt(g.colon)||dt(g.parenL)||dt(g.braceR)||dt(g.eq)||dt(g.comma)||(dt(g.star)&&(ot(),i=!0),Dn(n))):Dn(n),Rn(t,e,n)}w.tokens[w.tokens.length-1].contextId=n}function On(t,e){const n=w.start;return dt(g.parenL)?(t&&Z(),qn(n,!1),!0):!!function(t){return!t&&(dt(g.string)||dt(g.num)||dt(g.bracketL)||dt(g.name)||!!(w.type&g.IS_KEYWORD))}(t)&&(Dn(e),qn(n,!1),!0)}function Rn(t,e,n){v?ge():T&&dt(g.lessThan)&&(nr(),dt(g.parenL)||Z());On(t,n)||function(t,e){if(ht(g.colon))return void(t?le(e):fn(!1));let n;n=t?0===w.scopeDepth?X.ObjectShorthandTopLevelDeclaration:e?X.ObjectShorthandBlockScopedDeclaration:X.ObjectShorthandFunctionScopedDeclaration:X.ObjectShorthand,w.tokens[w.tokens.length-1].identifierRole=n,le(e,!0)}(t,e)}function Dn(t){T&&xr(),ht(g.bracketL)?(w.tokens[w.tokens.length-1].contextId=t,fn(),P(g.bracketR),w.tokens[w.tokens.length-1].contextId=t):(dt(g.num)||dt(g.string)||dt(g.bigint)||dt(g.decimal)?An():In(),w.tokens[w.tokens.length-1].identifierRole=X.ObjectKey,w.tokens[w.tokens.length-1].contextId=t)}function qn(t,e){const n=I();w.scopeDepth++;const r=w.tokens.length;Or(e,n),Pn(t,n);const i=w.tokens.length;w.scopes.push(new x(r,i,!0)),w.scopeDepth--}function $n(t){Zn(!0);const e=w.tokens.length;w.scopes.push(new x(t,e,!0)),w.scopeDepth--}function Pn(t,e=0){v?function(t,e){if(dt(g.colon)&&Me(g.colon),dt(g.braceL)||!q())Zn(!1,e);else{let e=w.tokens.length-1;for(;e>=0&&(w.tokens[e].start>=t||w.tokens[e].type===g._default||w.tokens[e].type===g._export);)w.tokens[e].isType=!0,e--}}(t,e):T?function(t){dt(g.colon)&&Vn();Zn(!1,t)}(e):Zn(!1,e)}function Zn(t,e=0){t&&!dt(g.braceL)?fn():Br(!0,e)}function zn(t,e=!1){let n=!0;for(;!ht(t)&&!w.error;){if(n)n=!1;else if(P(g.comma),ht(t))break;Wn(e)}}function Wn(t){t&&dt(g.comma)||(dt(g.ellipsis)?(Qt(),Nn()):dt(g.question)?ot():fn(!1,!0))}function Un(){ot(),w.tokens[w.tokens.length-1].type=g.name}function Hn(t){const e=lt(0);P(t||g.colon),gr(),ct(e)}function Yn(){P(g.modulo),j(m._checks),ht(g.parenL)&&(pn(),P(g.parenR))}function Vn(){const t=lt(0);P(g.colon),dt(g.modulo)?Yn():(gr(),dt(g.modulo)&&Yn()),ct(t)}function Kn(){dt(g._class)?(ot(),Xn(!0)):dt(g._function)?(ot(),Un(),dt(g.lessThan)&&nr(),P(g.parenL),ur(),P(g.parenR),Vn(),$()):dt(g._var)?(ot(),kr(),$()):M(m._module)?ht(g.dot)?(j(m._exports),yr(),$()):function(){dt(g.string)?An():Un();P(g.braceL);for(;!dt(g.braceR)&&!w.error;)dt(g._import)?(ot(),Jr()):Z();P(g.braceR)}():F(m._type)?(ot(),tr()):F(m._opaque)?(ot(),er(!0)):F(m._interface)?(ot(),Xn()):dt(g._export)?(P(g._export),ht(g._default)?dt(g._function)||dt(g._class)?Kn():(gr(),$()):dt(g._var)||dt(g._function)||dt(g._class)||F(m._opaque)?Kn():dt(g.star)||dt(g.braceL)||F(m._interface)||F(m._type)||F(m._opaque)?Ur():Z()):Z()}function Xn(t=!1){if(Qn(),dt(g.lessThan)&&nr(),ht(g._extends))do{Gn()}while(!t&&ht(g.comma));if(F(m._mixins)){ot();do{Gn()}while(ht(g.comma))}if(F(m._implements)){ot();do{Gn()}while(ht(g.comma))}sr(t,!1,t)}function Gn(){cr(!1),dt(g.lessThan)&&rr()}function Jn(){Xn()}function Qn(){Un()}function tr(){Qn(),dt(g.lessThan)&&nr(),Hn(g.eq),$()}function er(t){j(m._type),Qn(),dt(g.lessThan)&&nr(),dt(g.colon)&&Hn(g.colon),t||Hn(g.eq),$()}function nr(){const t=lt(0);dt(g.lessThan)||dt(g.typeParameterStart)?ot():Z();do{xr(),kr(),ht(g.eq)&&gr(),dt(g.greaterThan)||P(g.comma)}while(!dt(g.greaterThan)&&!w.error);P(g.greaterThan),ct(t)}function rr(){const t=lt(0);for(P(g.lessThan);!dt(g.greaterThan)&&!w.error;)gr(),dt(g.greaterThan)||P(g.comma);P(g.greaterThan),ct(t)}function ir(){dt(g.num)||dt(g.string)?An():Un()}function or(){for(dt(g.lessThan)&&nr(),P(g.parenL);!dt(g.parenR)&&!dt(g.ellipsis)&&!w.error;)hr(),dt(g.parenR)||P(g.comma);ht(g.ellipsis)&&hr(),P(g.parenR),Hn()}function sr(t,e,n){let r;for(e&&dt(g.braceBarL)?(P(g.braceBarL),r=g.braceBarR):(P(g.braceL),r=g.braceR);!dt(r)&&!w.error;){if(n&&F(m._proto)){const e=pt();e!==g.colon&&e!==g.question&&(ot(),t=!1)}if(t&&F(m._static)){const t=pt();t!==g.colon&&t!==g.question&&ot()}if(xr(),ht(g.bracketL))ht(g.bracketL)?(ir(),P(g.bracketR),P(g.bracketR),dt(g.lessThan)||dt(g.parenL)?or():(ht(g.question),Hn())):(pt()===g.colon?(ir(),Hn()):gr(),P(g.bracketR),Hn());else if(dt(g.parenL)||dt(g.lessThan))or();else{if(F(m._get)||F(m._set)){const t=pt();t!==g.name&&t!==g.string&&t!==g.num||ot()}ar()}lr()}P(r)}function ar(){if(dt(g.ellipsis)){if(P(g.ellipsis),ht(g.comma)||ht(g.semi),dt(g.braceR))return;gr()}else ir(),dt(g.lessThan)||dt(g.parenL)?or():(ht(g.question),Hn())}function lr(){ht(g.semi)||ht(g.comma)||dt(g.braceR)||dt(g.braceBarR)||Z()}function cr(t){for(t||Un();ht(g.dot);)Un()}function hr(){const t=pt();t===g.colon||t===g.question?(Un(),ht(g.question),Hn()):gr()}function ur(){for(;!dt(g.parenR)&&!dt(g.ellipsis)&&!w.error;)hr(),dt(g.parenR)||P(g.comma);ht(g.ellipsis)&&hr()}function dr(){let t=!1;const e=w.noAnonFunctionType;switch(w.type){case g.name:return F(m._interface)?void function(){if(j(m._interface),ht(g._extends))do{Gn()}while(ht(g.comma));sr(!1,!1,!1)}():(Un(),cr(!0),void(dt(g.lessThan)&&rr()));case g.braceL:return void sr(!1,!1,!1);case g.braceBarL:return void sr(!1,!0,!1);case g.bracketL:return void function(){for(P(g.bracketL);w.pos0?this.tokens[this.tokenIndex-1].end:0,this.tokenIndex0&&e0&&this.tokenAtRelativeIndex(-1).type===g._delete?t.isAsyncOperation?this.resultCode+=this.helperManager.getHelperName("asyncOptionalChainDelete"):this.resultCode+=this.helperManager.getHelperName("optionalChainDelete"):t.isAsyncOperation?this.resultCode+=this.helperManager.getHelperName("asyncOptionalChain"):this.resultCode+=this.helperManager.getHelperName("optionalChain"),this.resultCode+="([")}}appendTokenSuffix(){const t=this.currentToken();if(t.isOptionalChainEnd&&!this.disableESTransforms&&(this.resultCode+="])"),t.numNullishCoalesceEnds&&!this.disableESTransforms)for(let e=0;e ${t}require`);const e=this.tokens.currentToken().contextId;if(null==e)throw new Error("Expected context ID on dynamic import invocation.");for(this.tokens.copyToken();!this.tokens.matchesContextIdAndLabel(g.parenR,e);)this.rootTransformer.processToken();return void this.tokens.replaceToken(t?")))":"))")}if(this.removeImportAndDetectIfShouldElide())this.tokens.removeToken();else{const t=this.tokens.stringValue();this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(t)),this.tokens.appendCode(this.importProcessor.claimImportCode(t))}fi(this.tokens),this.tokens.matches1(g.semi)&&this.tokens.removeToken()}removeImportAndDetectIfShouldElide(){if(this.tokens.removeInitialToken(),this.tokens.matchesContextual(m._type)&&!this.tokens.matches1AtIndex(this.tokens.currentIndex()+1,g.comma)&&!this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,m._from))return this.removeRemainingImport(),!0;if(this.tokens.matches1(g.name)||this.tokens.matches1(g.star))return this.removeRemainingImport(),!1;if(this.tokens.matches1(g.string))return!1;let t=!1,e=!1;for(;!this.tokens.matches1(g.string);)(!t&&this.tokens.matches1(g.braceL)||this.tokens.matches1(g.comma))&&(this.tokens.removeToken(),this.tokens.matches1(g.braceR)||(e=!0),(this.tokens.matches2(g.name,g.comma)||this.tokens.matches2(g.name,g.braceR)||this.tokens.matches4(g.name,g.name,g.name,g.comma)||this.tokens.matches4(g.name,g.name,g.name,g.braceR))&&(t=!0)),this.tokens.removeToken();return!this.keepUnusedImports&&(this.isTypeScriptTransformEnabled?!t:!!this.isFlowTransformEnabled&&(e&&!t))}removeRemainingImport(){for(;!this.tokens.matches1(g.string);)this.tokens.removeToken()}processIdentifier(){const t=this.tokens.currentToken();if(t.shadowsGlobal)return!1;if(t.identifierRole===X.ObjectShorthand)return this.processObjectShorthand();if(t.identifierRole!==X.Access)return!1;const e=this.importProcessor.getIdentifierReplacement(this.tokens.identifierNameForToken(t));if(!e)return!1;let n=this.tokens.currentIndex()+1;for(;n=2&&this.tokens.matches1AtIndex(t-2,g.dot))return!1;if(t>=2&&[g._var,g._let,g._const].includes(this.tokens.tokens[t-2].type))return!1;const n=this.importProcessor.resolveExportBinding(this.tokens.identifierNameForToken(e));return!!n&&(this.tokens.copyToken(),this.tokens.appendCode(` ${n} =`),!0)}processComplexAssignment(){const t=this.tokens.currentIndex(),e=this.tokens.tokens[t-1];if(e.type!==g.name)return!1;if(e.shadowsGlobal)return!1;if(t>=2&&this.tokens.matches1AtIndex(t-2,g.dot))return!1;const n=this.importProcessor.resolveExportBinding(this.tokens.identifierNameForToken(e));return!!n&&(this.tokens.appendCode(` = ${n}`),this.tokens.copyToken(),!0)}processPreIncDec(){const t=this.tokens.currentIndex(),e=this.tokens.tokens[t+1];if(e.type!==g.name)return!1;if(e.shadowsGlobal)return!1;if(t+2=1&&this.tokens.matches1AtIndex(t-1,g.dot))return!1;const r=this.tokens.identifierNameForToken(e),i=this.importProcessor.resolveExportBinding(r);if(!i)return!1;const o=this.tokens.rawCodeForToken(n),s=this.importProcessor.getIdentifierReplacement(r)||r;if("++"===o)this.tokens.replaceToken(`(${s} = ${i} = ${s} + 1, ${s} - 1)`);else{if("--"!==o)throw new Error(`Unexpected operator: ${o}`);this.tokens.replaceToken(`(${s} = ${i} = ${s} - 1, ${s} + 1)`)}return this.tokens.removeToken(),!0}processExportDefault(){let t=!0;if(this.tokens.matches4(g._export,g._default,g._function,g.name)||this.tokens.matches5(g._export,g._default,g.name,g._function,g.name)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+2,m._async)){this.tokens.removeInitialToken(),this.tokens.removeToken();const t=this.processNamedFunction();this.tokens.appendCode(` exports.default = ${t};`)}else if(this.tokens.matches4(g._export,g._default,g._class,g.name)||this.tokens.matches5(g._export,g._default,g._abstract,g._class,g.name)||this.tokens.matches3(g._export,g._default,g.at)){this.tokens.removeInitialToken(),this.tokens.removeToken(),this.copyDecorators(),this.tokens.matches1(g._abstract)&&this.tokens.removeToken();const t=this.rootTransformer.processNamedClass();this.tokens.appendCode(` exports.default = ${t};`)}else if(mi(this.isTypeScriptTransformEnabled,this.keepUnusedImports,this.tokens,this.declarationInfo))t=!1,this.tokens.removeInitialToken(),this.tokens.removeToken(),this.tokens.removeToken();else if(this.reactHotLoaderTransformer){const t=this.nameManager.claimFreeName("_default");this.tokens.replaceToken(`let ${t}; exports.`),this.tokens.copyToken(),this.tokens.appendCode(` = ${t} =`),this.reactHotLoaderTransformer.setExtractedDefaultExportName(t)}else this.tokens.replaceToken("exports."),this.tokens.copyToken(),this.tokens.appendCode(" =");t&&(this.hadDefaultExport=!0)}copyDecorators(){for(;this.tokens.matches1(g.at);)if(this.tokens.copyToken(),this.tokens.matches1(g.parenL))this.tokens.copyExpectedToken(g.parenL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR);else{for(this.tokens.copyExpectedToken(g.name);this.tokens.matches1(g.dot);)this.tokens.copyExpectedToken(g.dot),this.tokens.copyExpectedToken(g.name);this.tokens.matches1(g.parenL)&&(this.tokens.copyExpectedToken(g.parenL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR))}}processExportVar(){this.isSimpleExportVar()?this.processSimpleExportVar():this.processComplexExportVar()}isSimpleExportVar(){let t=this.tokens.currentIndex();if(t++,t++,!this.tokens.matches1AtIndex(t,g.name))return!1;for(t++;tn.call(e,...t))),e=void 0)}return n}([this,"access",t=>t.importProcessor,"optionalAccess",t=>t.getGlobalNames,"call",t=>t(),"optionalAccess",t=>t.has,"call",t=>t(xi)])&&this.extractHoistedCalls())}getHoistedCode(){return this.hoistedFunctionNames.length>0?this.hoistedFunctionNames.map((t=>`${t}();`)).join(""):""}extractHoistedCalls(){this.tokens.removeToken();let t=!1;for(;this.tokens.matches3(g.dot,g.name,g.parenL);){const e=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);if(_i.includes(e)){const e=this.nameManager.claimFreeName("__jestHoist");this.hoistedFunctionNames.push(e),this.tokens.replaceToken(`function ${e}(){${xi}.`),this.tokens.copyToken(),this.tokens.copyToken(),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR),this.tokens.appendCode(";}"),t=!1}else t?this.tokens.copyToken():this.tokens.replaceToken(`${xi}.`),this.tokens.copyToken(),this.tokens.copyToken(),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR),t=!0}return!0}}class Ci extends jt{constructor(t){super(),this.tokens=t}process(){if(this.tokens.matches1(g.num)){const t=this.tokens.currentTokenCode();if(t.includes("_"))return this.tokens.replaceToken(t.replace(/_/g,"")),!0}return!1}}class vi extends jt{constructor(t,e){super(),this.tokens=t,this.nameManager=e}process(){return!!this.tokens.matches2(g._catch,g.braceL)&&(this.tokens.copyToken(),this.tokens.appendCode(` (${this.nameManager.claimFreeName("e")})`),!0)}}class Ti extends jt{constructor(t,e){super(),this.tokens=t,this.nameManager=e}process(){if(this.tokens.matches1(g.nullishCoalescing)){const t=this.tokens.currentToken();return this.tokens.tokens[t.nullishStartIndex].isAsyncOperation?this.tokens.replaceTokenTrimmingLeftWhitespace(", async () => ("):this.tokens.replaceTokenTrimmingLeftWhitespace(", () => ("),!0}if(this.tokens.matches1(g._delete)){if(this.tokens.tokenAtRelativeIndex(1).isOptionalChainStart)return this.tokens.removeInitialToken(),!0}const t=this.tokens.currentToken().subscriptStartIndex;if(null!=t&&this.tokens.tokens[t].isOptionalChainStart&&this.tokens.tokenAtRelativeIndex(-1).type!==g._super){const e=this.nameManager.claimFreeName("_");let n;if(n=t>0&&this.tokens.matches1AtIndex(t-1,g._delete)&&this.isLastSubscriptInChain()?`${e} => delete ${e}`:`${e} => ${e}`,this.tokens.tokens[t].isAsyncOperation&&(n=`async ${n}`),this.tokens.matches2(g.questionDot,g.parenL)||this.tokens.matches2(g.questionDot,g.lessThan))this.justSkippedSuper()&&this.tokens.appendCode(".bind(this)"),this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalCall', ${n}`);else if(this.tokens.matches2(g.questionDot,g.bracketL))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${n}`);else if(this.tokens.matches1(g.questionDot))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${n}.`);else if(this.tokens.matches1(g.dot))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${n}.`);else if(this.tokens.matches1(g.bracketL))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${n}[`);else{if(!this.tokens.matches1(g.parenL))throw new Error("Unexpected subscript operator in optional chain.");this.justSkippedSuper()&&this.tokens.appendCode(".bind(this)"),this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'call', ${n}(`)}return!0}return!1}isLastSubscriptInChain(){let t=0;for(let e=this.tokens.currentIndex()+1;;e++){if(e>=this.tokens.tokens.length)throw new Error("Reached the end of the code while finding the end of the access chain.");if(this.tokens.tokens[e].isOptionalChainStart?t++:this.tokens.tokens[e].isOptionalChainEnd&&t--,t<0)return!0;if(0===t&&null!=this.tokens.tokens[e].subscriptStartIndex)return!1}}justSkippedSuper(){let t=0,e=this.tokens.currentIndex()-1;for(;;){if(e<0)throw new Error("Reached the start of the code while finding the start of the access chain.");if(this.tokens.tokens[e].isOptionalChainStart?t--:this.tokens.tokens[e].isOptionalChainEnd&&t++,t<0)return!1;if(0===t&&null!=this.tokens.tokens[e].subscriptStartIndex)return this.tokens.tokens[e-1].type===g._super;e--}}}class wi extends jt{constructor(t,e,n,r){super(),this.rootTransformer=t,this.tokens=e,this.importProcessor=n,this.options=r}process(){const t=this.tokens.currentIndex();if("createReactClass"===this.tokens.identifierName()){const e=this.importProcessor&&this.importProcessor.getIdentifierReplacement("createReactClass");return e?this.tokens.replaceToken(`(0, ${e})`):this.tokens.copyToken(),this.tryProcessCreateClassCall(t),!0}if(this.tokens.matches3(g.name,g.dot,g.name)&&"React"===this.tokens.identifierName()&&"createClass"===this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+2)){const e=this.importProcessor&&this.importProcessor.getIdentifierReplacement("React")||"React";return e?(this.tokens.replaceToken(e),this.tokens.copyToken(),this.tokens.copyToken()):(this.tokens.copyToken(),this.tokens.copyToken(),this.tokens.copyToken()),this.tryProcessCreateClassCall(t),!0}return!1}tryProcessCreateClassCall(t){const e=this.findDisplayName(t);e&&this.classNeedsDisplayName()&&(this.tokens.copyExpectedToken(g.parenL),this.tokens.copyExpectedToken(g.braceL),this.tokens.appendCode(`displayName: '${e}',`),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.braceR),this.tokens.copyExpectedToken(g.parenR))}findDisplayName(t){return t<2?null:this.tokens.matches2AtIndex(t-2,g.name,g.eq)||t>=2&&this.tokens.tokens[t-2].identifierRole===X.ObjectKey?this.tokens.identifierNameAtIndex(t-2):this.tokens.matches2AtIndex(t-2,g._export,g._default)?this.getDisplayNameFromFilename():null}getDisplayNameFromFilename(){const t=(this.options.filePath||"unknown").split("/"),e=t[t.length-1],n=e.lastIndexOf("."),r=-1===n?e:e.slice(0,n);return"index"===r&&t[t.length-2]?t[t.length-2]:r}classNeedsDisplayName(){let t=this.tokens.currentIndex();if(!this.tokens.matches2(g.parenL,g.braceL))return!1;const e=t+1,n=this.tokens.tokens[e].contextId;if(null==n)throw new Error("Expected non-null context ID on object open-brace.");for(;t({variableName:t,uniqueLocalName:t})));return this.extractedDefaultExportName&&e.push({variableName:this.extractedDefaultExportName,uniqueLocalName:"default"}),`\n;(function () {\n var reactHotLoader = require('react-hot-loader').default;\n var leaveModule = require('react-hot-loader').leaveModule;\n if (!reactHotLoader) {\n return;\n }\n${e.map((({variableName:t,uniqueLocalName:e})=>` reactHotLoader.register(${t}, "${e}", ${JSON.stringify(this.filePath||"")});`)).join("\n")}\n leaveModule(module);\n})();`}process(){return!1}}const Ai=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","implements","interface","let","package","private","protected","public","static","await","false","null","true"]);function Ii(t){if(0===t.length)return!1;if(!V[t.charCodeAt(0)])return!1;for(let e=1;e` var ${t};`)).join("");for(const i of this.transformers)t+=i.getHoistedCode();let e="";for(const i of this.transformers)e+=i.getSuffixCode();const n=this.tokens.finish();let{code:r}=n;if(r.startsWith("#!")){let i=r.indexOf("\n");return-1===i&&(i=r.length,r+="\n"),{code:r.slice(0,i+1)+t+r.slice(i+1)+e,mappings:this.shiftMappings(n.mappings,t.length)}}return{code:t+r+e,mappings:this.shiftMappings(n.mappings,t.length)}}processBalancedCode(){let t=0,e=0;for(;!this.tokens.isAtEnd();){if(this.tokens.matches1(g.braceL)||this.tokens.matches1(g.dollarBraceL))t++;else if(this.tokens.matches1(g.braceR)){if(0===t)return;t--}if(this.tokens.matches1(g.parenL))e++;else if(this.tokens.matches1(g.parenR)){if(0===e)return;e--}this.processToken()}}processToken(){if(this.tokens.matches1(g._class))this.processClass();else{for(const t of this.transformers){if(t.process())return}this.tokens.copyToken()}}processNamedClass(){if(!this.tokens.matches2(g._class,g.name))throw new Error("Expected identifier for exported class name.");const t=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);return this.processClass(),t}processClass(){const t=oi(this,this.tokens,this.nameManager,this.disableESTransforms),e=(t.headerInfo.isExpression||!t.headerInfo.className)&&t.staticInitializerNames.length+t.instanceInitializerNames.length>0;let n=t.headerInfo.className;e&&(n=this.nameManager.claimFreeName("_class"),this.generatedVariables.push(n),this.tokens.appendCode(` (${n} =`));const r=this.tokens.currentToken().contextId;if(null==r)throw new Error("Expected class to have a context ID.");for(this.tokens.copyExpectedToken(g._class);!this.tokens.matchesContextIdAndLabel(g.braceL,r);)this.processToken();this.processClassBody(t,n);const i=t.staticInitializerNames.map((t=>`${n}.${t}()`));e?this.tokens.appendCode(`, ${i.map((t=>`${t}, `)).join("")}${n})`):t.staticInitializerNames.length>0&&this.tokens.appendCode(` ${i.map((t=>`${t};`)).join(" ")}`)}processClassBody(t,e){const{headerInfo:n,constructorInsertPos:r,constructorInitializerStatements:i,fields:o,instanceInitializerNames:s,rangesToRemove:a}=t;let l=0,c=0;const h=this.tokens.currentToken().contextId;if(null==h)throw new Error("Expected non-null context ID on class.");this.tokens.copyExpectedToken(g.braceL),this.isReactHotLoaderTransformEnabled&&this.tokens.appendCode("__reactstandin__regenerateByEval(key, code) {this[key] = eval(code);}");const u=i.length+s.length>0;if(null===r&&u){const t=this.makeConstructorInitCode(i,s,e);if(n.hasSuperclass){const e=this.nameManager.claimFreeName("args");this.tokens.appendCode(`constructor(...${e}) { super(...${e}); ${t}; }`)}else this.tokens.appendCode(`constructor() { ${t}; }`)}for(;!this.tokens.matchesContextIdAndLabel(g.braceR,h);)if(l=a[c].start){for(this.tokens.currentIndex()`${n}.prototype.${t}.call(this)`))].join(";")}processPossibleArrowParamEnd(){if(this.tokens.matches2(g.parenR,g.colon)&&this.tokens.tokenAtRelativeIndex(1).isType){let t=this.tokens.currentIndex()+1;for(;this.tokens.tokens[t].isType;)t++;if(this.tokens.matches1AtIndex(t,g.arrow)){for(this.tokens.removeInitialToken();this.tokens.currentIndex()"),!0}}return!1}processPossibleAsyncArrowWithTypeParams(){if(!this.tokens.matchesContextual(m._async)&&!this.tokens.matches1(g._async))return!1;const t=this.tokens.tokenAtRelativeIndex(1);if(t.type!==g.lessThan||!t.isType)return!1;let e=this.tokens.currentIndex()+1;for(;this.tokens.tokens[e].isType;)e++;if(this.tokens.matches1AtIndex(e,g.parenL)){for(this.tokens.replaceToken("async ("),this.tokens.removeInitialToken();this.tokens.currentIndex()e in t?Mi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Pi=(t,e)=>{for(var n in e||(e={}))Di.call(e,n)&&$i(t,n,e[n]);if(Ri)for(var n of Ri(e))qi.call(e,n)&&$i(t,n,e[n]);return t},Zi=(t,e)=>ji(t,Oi(e)),zi=t=>{const e=(0,r.useRef)(null),[n,i]=(0,r.useState)(t.code||""),{theme:o}=t;return(0,r.useEffect)((()=>{i(t.code)}),[t.code]),function(t,e,n){function i(e){var n=t.current;if(n){var r=p(n);n=d(n),r.position+=e.length-n.length,g.position=r,g.onChange(e,r)}}function o(e,n){var r=t.current;if(r){var i=window.getSelection().getRangeAt(0);i.deleteContents(),i.collapse();var o=n||0;(i=f(r,n=(i=p(r)).position+(0>o?o:0),i.position+(0o-l||s&&s[1]===r?l=o:(n=++g.historyAt,g.history[n]=[i,r],g.history.splice(n+1),500i(t.slice(0,-1))),{disabled:t.disabled,indentation:"indentation"===t.tabMode?2:void 0}),(0,r.useEffect)((()=>{t.onChange&&t.onChange(n)}),[n]),(0,k.jsx)("div",{className:t.className,style:t.style,children:(0,k.jsx)(l.y$,{code:n,theme:t.theme||l.np.nightOwl,language:t.language,children:({className:t,tokens:n,getLineProps:r,getTokenProps:i,style:s})=>(0,k.jsx)("pre",{className:t,style:Pi(Pi({margin:0,outline:"none",padding:10,fontFamily:"inherit"},o&&"object"==typeof o.plain?o.plain:{}),s),ref:e,spellCheck:"false",children:n.map(((t,e)=>(0,k.jsxs)("span",Zi(Pi({},r({line:t})),{children:[t.filter((t=>!t.empty)).map(((t,e)=>(0,k.jsx)("span",Pi({},i({token:t})),`token-${e}`))),"\n"]}),`line-${e}`)))})})})};zi.defaultProps={tabMode:"indentation"};var Wi=zi,Ui=(0,r.createContext)({}),Hi=["jsx","imports"];function Yi(t={}){const e=Array.isArray(t.transforms)?t.transforms.filter(Boolean):Hi;return t=>Fi(t,{transforms:e}).code}var Vi=(t,e)=>class extends r.Component{componentDidCatch(t){e(t)}render(){return"function"==typeof t?(0,k.jsx)(t,{}):r.isValidElement(t)?t:null}},Ki=(t,e)=>{const n=Object.keys(e),r=n.map((t=>e[t]));return new Function(...n,t)(...r)};var Xi='const _jsxFileName = "";',Gi=t=>t.trim().replace(/;$/,""),Ji=t=>t.replace(Xi,"").trim(),Qi=t=>Xi+t,to=t=>`return (${t})`;var eo=function({children:t,code:e="",language:n="tsx",theme:i,enableTypeScript:o=!0,disabled:s=!1,scope:a,transformCode:l,noInline:c=!1}){const[h,u]=(0,r.useState)({error:void 0,element:void 0});function d(t){return e=this,n=null,i=function*(){const e=t=>{u({error:t.toString(),element:void 0})};try{const i=l?l(t):t;try{const t=yield Promise.resolve(i),n=t=>u({error:void 0,element:t});if("string"!=typeof t)throw new Error("Code failed to transform");const s={code:t,scope:a,enableTypeScript:o};c?(u({error:void 0,element:null}),(({code:t="",scope:e={},enableTypeScript:n=!0},i,o)=>{if(!/render\s*\(/.test(t))return o(new SyntaxError("No-Inline evaluations must call `render`."));const s=["jsx","imports"];n&&s.splice(1,0,"typescript"),Ki(Yi({transforms:s})(t),Zi(Pi({React:r},e),{render:t=>{void 0===t?o(new SyntaxError("`render` must be called with valid JSX.")):i(Vi(t,o))}}))})(s,n,e)):n((({code:t="",scope:e={},enableTypeScript:n=!0},i)=>{const o=["jsx"];n&&o.push("typescript");const s=function(...t){return t.reduce(((t,e)=>(...n)=>t(e(...n))))}(Qi,Yi({transforms:["imports"]}),to,Ji,Gi,Yi({transforms:o}),Gi)(t);return Vi(Ki(s,Pi({React:r},e)),i)})(s,e))}catch(n){return e(n)}}catch(i){return e(i),Promise.resolve()}},new Promise(((t,r)=>{var o=t=>{try{a(i.next(t))}catch(e){r(e)}},s=t=>{try{a(i.throw(t))}catch(e){r(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,s);a((i=i.apply(e,n)).next())}));var e,n,i}const p=t=>u({error:t.toString()});return(0,r.useEffect)((()=>{d(e).catch(p)}),[e,a,c,l]),(0,k.jsx)(Ui.Provider,{value:Zi(Pi({},h),{code:e,language:n,theme:i,disabled:s,onError:p,onChange:t=>{d(t).catch(p)}}),children:t})};function no(t){const{code:e,language:n,theme:i,disabled:o,onChange:s}=(0,r.useContext)(Ui);return(0,k.jsx)(Wi,Pi({theme:i,code:e,language:n,disabled:o,onChange:s},t))}function ro(t){const{error:e}=(0,r.useContext)(Ui);return e?(0,k.jsx)("pre",Zi(Pi({},t),{children:e})):null}var io=function(t){var e=t,{Component:n="div"}=e,i=((t,e)=>{var n={};for(var r in t)Di.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&Ri)for(var r of Ri(t))e.indexOf(r)<0&&qi.call(t,r)&&(n[r]=t[r]);return n})(e,["Component"]);const{element:o}=(0,r.useContext)(Ui);return(0,k.jsx)(n,Zi(Pi({},i),{children:o?(0,k.jsx)(o,{}):null}))};var oo=n(5999),so=n(2263);function ao(t){let{children:e,fallback:n}=t;return(0,a.Z)()?(0,k.jsx)(k.Fragment,{children:e?.()}):n??null}var lo=n(9690),co=n(2949),ho=n(6668);function uo(){const{prism:t}=(0,ho.L)(),{colorMode:e}=(0,co.I)(),n=t.theme,r=t.darkTheme||n;return"dark"===e?r:n}var po=n(4763);const fo={playgroundContainer:"playgroundContainer_X_Ta",playgroundHeader:"playgroundHeader_dyrN",playgroundEditor:"playgroundEditor_Q6Y7",playgroundPreview:"playgroundPreview_DzOI"};function mo(t){let{children:e}=t;return(0,k.jsx)("div",{className:(0,s.Z)(fo.playgroundHeader),children:e})}function go(){return(0,k.jsx)("div",{children:"Loading..."})}function yo(){return(0,k.jsx)(ao,{fallback:(0,k.jsx)(go,{}),children:()=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(po.Z,{fallback:t=>(0,k.jsx)(lo.Ac,{...t}),children:(0,k.jsx)(io,{})}),(0,k.jsx)(ro,{})]})})}function ko(){return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(mo,{children:(0,k.jsx)(oo.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,k.jsx)("div",{className:fo.playgroundPreview,children:(0,k.jsx)(yo,{})})]})}function xo(){const t=(0,a.Z)();return(0,k.jsx)(no,{className:fo.playgroundEditor},String(t))}function _o(){return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(mo,{children:(0,k.jsx)(oo.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,k.jsx)(xo,{})]})}const bo=t=>`${t};`;function Co(t){let{children:e,transformCode:n,...r}=t;const{siteConfig:{themeConfig:i}}=(0,so.Z)(),{liveCodeBlock:{playgroundPosition:o}}=i,s=uo(),a=r.metastring?.includes("noInline")??!1;return(0,k.jsx)("div",{className:fo.playgroundContainer,children:(0,k.jsx)(eo,{code:e?.replace(/\n$/,""),noInline:a,transformCode:n??bo,theme:s,...r,children:"top"===o?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ko,{}),(0,k.jsx)(_o,{})]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(_o,{}),(0,k.jsx)(ko,{})]})})})}const vo={React:r,...r};var To=n(5281),wo=n(7594),So=n.n(wo);const Ao=/title=(?["'])(?.*?)\1/,Io=/\{(?<range>[\d,-]+)\}/,Bo={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},Eo={...Bo,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},Lo=Object.keys(Bo);function Fo(t,e){const n=t.map((t=>{const{start:n,end:r}=Eo[t];return`(?:${n}\\s*(${e.flatMap((t=>[t.line,t.block?.start,t.block?.end].filter(Boolean))).join("|")})\\s*${r})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function No(t,e){let n=t.replace(/\n$/,"");const{language:r,magicComments:i,metastring:o}=e;if(o&&Io.test(o)){const t=o.match(Io).groups.range;if(0===i.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const e=i[0].className,r=So()(t).filter((t=>t>0)).map((t=>[t-1,[e]]));return{lineClassNames:Object.fromEntries(r),code:n}}if(void 0===r)return{lineClassNames:{},code:n};const s=function(t,e){switch(t){case"js":case"javascript":case"ts":case"typescript":return Fo(["js","jsBlock"],e);case"jsx":case"tsx":return Fo(["js","jsBlock","jsx"],e);case"html":return Fo(["js","jsBlock","html"],e);case"python":case"py":case"bash":return Fo(["bash"],e);case"markdown":case"md":return Fo(["html","jsx","bash"],e);case"tex":case"latex":case"matlab":return Fo(["tex"],e);case"lua":case"haskell":case"sql":return Fo(["lua"],e);case"wasm":return Fo(["wasm"],e);case"vb":case"vbnet":case"vba":case"visual-basic":return Fo(["vb","rem"],e);case"batch":return Fo(["rem"],e);case"basic":return Fo(["rem","f90"],e);case"fsharp":return Fo(["js","ml"],e);case"ocaml":case"sml":return Fo(["ml"],e);case"fortran":return Fo(["f90"],e);case"cobol":return Fo(["cobol"],e);default:return Fo(Lo,e)}}(r,i),a=n.split("\n"),l=Object.fromEntries(i.map((t=>[t.className,{start:0,range:""}]))),c=Object.fromEntries(i.filter((t=>t.line)).map((t=>{let{className:e,line:n}=t;return[n,e]}))),h=Object.fromEntries(i.filter((t=>t.block)).map((t=>{let{className:e,block:n}=t;return[n.start,e]}))),u=Object.fromEntries(i.filter((t=>t.block)).map((t=>{let{className:e,block:n}=t;return[n.end,e]})));for(let p=0;p<a.length;){const t=a[p].match(s);if(!t){p+=1;continue}const e=t.slice(1).find((t=>void 0!==t));c[e]?l[c[e]].range+=`${p},`:h[e]?l[h[e]].start=p:u[e]&&(l[u[e]].range+=`${l[u[e]].start}-${p-1},`),a.splice(p,1)}n=a.join("\n");const d={};return Object.entries(l).forEach((t=>{let[e,{range:n}]=t;So()(n).forEach((t=>{d[t]??=[],d[t].push(e)}))})),{lineClassNames:d,code:n}}const Mo={codeBlockContainer:"codeBlockContainer_Ckt0"};function jo(t){let{as:e,...n}=t;const r=function(t){const e={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(t.plain).forEach((t=>{let[r,i]=t;const o=e[r];o&&"string"==typeof i&&(n[o]=i)})),n}(uo());return(0,k.jsx)(e,{...n,style:r,className:(0,s.Z)(n.className,Mo.codeBlockContainer,To.k.common.codeBlock)})}const Oo={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function Ro(t){let{children:e,className:n}=t;return(0,k.jsx)(jo,{as:"pre",tabIndex:0,className:(0,s.Z)(Oo.codeBlockStandalone,"thin-scrollbar",n),children:(0,k.jsx)("code",{className:Oo.codeBlockLines,children:e})})}var Do=n(902);const qo={attributes:!0,characterData:!0,childList:!0,subtree:!0};function $o(t,e){const[n,i]=(0,r.useState)(),o=(0,r.useCallback)((()=>{i(t.current?.closest("[role=tabpanel][hidden]"))}),[t,i]);(0,r.useEffect)((()=>{o()}),[o]),function(t,e,n){void 0===n&&(n=qo);const i=(0,Do.zX)(e),o=(0,Do.Ql)(n);(0,r.useEffect)((()=>{const e=new MutationObserver(i);return t&&e.observe(t,o),()=>e.disconnect()}),[t,i,o])}(n,(t=>{t.forEach((t=>{"attributes"===t.type&&"hidden"===t.attributeName&&(e(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const Po={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function Zo(t){let{line:e,classNames:n,showLineNumbers:r,getLineProps:i,getTokenProps:o}=t;1===e.length&&"\n"===e[0].content&&(e[0].content="");const a=i({line:e,className:(0,s.Z)(n,r&&Po.codeLine)}),l=e.map(((t,e)=>(0,k.jsx)("span",{...o({token:t,key:e})},e)));return(0,k.jsxs)("span",{...a,children:[r?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("span",{className:Po.codeLineNumber}),(0,k.jsx)("span",{className:Po.codeLineContent,children:l})]}):l,(0,k.jsx)("br",{})]})}function zo(t){return(0,k.jsx)("svg",{viewBox:"0 0 24 24",...t,children:(0,k.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function Wo(t){return(0,k.jsx)("svg",{viewBox:"0 0 24 24",...t,children:(0,k.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const Uo={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function Ho(t){let{code:e,className:n}=t;const[i,o]=(0,r.useState)(!1),a=(0,r.useRef)(void 0),l=(0,r.useCallback)((()=>{!function(t,e){let{target:n=document.body}=void 0===e?{}:e;if("string"!=typeof t)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof t}\`.`);const r=document.createElement("textarea"),i=document.activeElement;r.value=t,r.setAttribute("readonly",""),r.style.contain="strict",r.style.position="absolute",r.style.left="-9999px",r.style.fontSize="12pt";const o=document.getSelection(),s=o.rangeCount>0&&o.getRangeAt(0);n.append(r),r.select(),r.selectionStart=0,r.selectionEnd=t.length;let a=!1;try{a=document.execCommand("copy")}catch{}r.remove(),s&&(o.removeAllRanges(),o.addRange(s)),i&&i.focus()}(e),o(!0),a.current=window.setTimeout((()=>{o(!1)}),1e3)}),[e]);return(0,r.useEffect)((()=>()=>window.clearTimeout(a.current)),[]),(0,k.jsx)("button",{type:"button","aria-label":i?(0,oo.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,oo.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,oo.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,s.Z)("clean-btn",n,Uo.copyButton,i&&Uo.copyButtonCopied),onClick:l,children:(0,k.jsxs)("span",{className:Uo.copyButtonIcons,"aria-hidden":"true",children:[(0,k.jsx)(zo,{className:Uo.copyButtonIcon}),(0,k.jsx)(Wo,{className:Uo.copyButtonSuccessIcon})]})})}function Yo(t){return(0,k.jsx)("svg",{viewBox:"0 0 24 24",...t,children:(0,k.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const Vo={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function Ko(t){let{className:e,onClick:n,isEnabled:r}=t;const i=(0,oo.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,k.jsx)("button",{type:"button",onClick:n,className:(0,s.Z)("clean-btn",e,r&&Vo.wordWrapButtonEnabled),"aria-label":i,title:i,children:(0,k.jsx)(Yo,{className:Vo.wordWrapButtonIcon,"aria-hidden":"true"})})}function Xo(t){let{children:e,className:n="",metastring:i,title:o,showLineNumbers:a,language:c}=t;const{prism:{defaultLanguage:h,magicComments:u}}=(0,ho.L)(),d=function(t){return t?.toLowerCase()}(c??function(t){const e=t.split(" ").find((t=>t.startsWith("language-")));return e?.replace(/language-/,"")}(n)??h),p=uo(),f=function(){const[t,e]=(0,r.useState)(!1),[n,i]=(0,r.useState)(!1),o=(0,r.useRef)(null),s=(0,r.useCallback)((()=>{const n=o.current.querySelector("code");t?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),e((t=>!t))}),[o,t]),a=(0,r.useCallback)((()=>{const{scrollWidth:t,clientWidth:e}=o.current,n=t>e||o.current.querySelector("code").hasAttribute("style");i(n)}),[o]);return $o(o,a),(0,r.useEffect)((()=>{a()}),[t,a]),(0,r.useEffect)((()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)})),[a]),{codeBlockRef:o,isEnabled:t,isCodeScrollable:n,toggle:s}}(),m=function(t){return t?.match(Ao)?.groups.title??""}(i)||o,{lineClassNames:g,code:y}=No(e,{metastring:i,language:d,magicComments:u}),x=a??function(t){return Boolean(t?.includes("showLineNumbers"))}(i);return(0,k.jsxs)(jo,{as:"div",className:(0,s.Z)(n,d&&!n.includes(`language-${d}`)&&`language-${d}`),children:[m&&(0,k.jsx)("div",{className:Oo.codeBlockTitle,children:m}),(0,k.jsxs)("div",{className:Oo.codeBlockContent,children:[(0,k.jsx)(l.y$,{theme:p,code:y,language:d??"text",children:t=>{let{className:e,style:n,tokens:r,getLineProps:i,getTokenProps:o}=t;return(0,k.jsx)("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,s.Z)(e,Oo.codeBlock,"thin-scrollbar"),style:n,children:(0,k.jsx)("code",{className:(0,s.Z)(Oo.codeBlockLines,x&&Oo.codeBlockLinesWithNumbering),children:r.map(((t,e)=>(0,k.jsx)(Zo,{line:t,getLineProps:i,getTokenProps:o,classNames:g[e],showLineNumbers:x},e)))})})}}),(0,k.jsxs)("div",{className:Oo.buttonGroup,children:[(f.isEnabled||f.isCodeScrollable)&&(0,k.jsx)(Ko,{className:Oo.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),(0,k.jsx)(Ho,{className:Oo.codeButton,code:y})]})]})]})}const Go=(Jo=function(t){let{children:e,...n}=t;const i=(0,a.Z)(),o=function(t){return r.Children.toArray(t).some((t=>(0,r.isValidElement)(t)))?t:Array.isArray(t)?t.join(""):t}(e),s="string"==typeof o?Xo:Ro;return(0,k.jsx)(s,{...n,children:o},String(i))},function(t){return t.live?(0,k.jsx)(Co,{scope:vo,...t}):(0,k.jsx)(Jo,{...t})});var Jo;function Qo(t){return(0,k.jsx)("code",{...t})}var ts=n(3692);var es=n(6043);const ns={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function rs(t){return!!t&&("SUMMARY"===t.tagName||rs(t.parentElement))}function is(t,e){return!!t&&(t===e||is(t.parentElement,e))}function os(t){let{summary:e,children:n,...i}=t;const o=(0,a.Z)(),l=(0,r.useRef)(null),{collapsed:c,setCollapsed:h}=(0,es.u)({initialState:!i.open}),[u,d]=(0,r.useState)(i.open),p=r.isValidElement(e)?e:(0,k.jsx)("summary",{children:e??"Details"});return(0,k.jsxs)("details",{...i,ref:l,open:u,"data-collapsed":c,className:(0,s.Z)(ns.details,o&&ns.isBrowser,i.className),onMouseDown:t=>{rs(t.target)&&t.detail>1&&t.preventDefault()},onClick:t=>{t.stopPropagation();const e=t.target;rs(e)&&is(e,l.current)&&(t.preventDefault(),c?(h(!1),d(!0)):h(!0))},children:[p,(0,k.jsx)(es.z,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:t=>{h(t),d(!t)},children:(0,k.jsx)("div",{className:ns.collapsibleContent,children:n})})]})}const ss={details:"details_b_Ee"},as="alert alert--info";function ls(t){let{...e}=t;return(0,k.jsx)(os,{...e,className:(0,s.Z)(as,ss.details,e.className)})}function cs(t){const e=r.Children.toArray(t.children),n=e.find((t=>r.isValidElement(t)&&"summary"===t.type)),i=(0,k.jsx)(k.Fragment,{children:e.filter((t=>t!==n))});return(0,k.jsx)(ls,{...t,summary:n,children:i})}var hs=n(2503);function us(t){return(0,k.jsx)(hs.Z,{...t})}const ds={containsTaskList:"containsTaskList_mC6p"};function ps(t){if(void 0!==t)return(0,s.Z)(t,t?.includes("contains-task-list")&&ds.containsTaskList)}const fs={img:"img_ev3q"};var ms=n(9047),gs=n(5322);const ys="docusaurus-mermaid-container";function ks(){const{colorMode:t}=(0,co.I)(),e=(0,ho.L)().mermaid,n=e.theme[t],{options:i}=e;return(0,r.useMemo)((()=>({startOnLoad:!1,...i,theme:n})),[n,i])}function xs(t){let{text:e,config:n}=t;const[i,o]=(0,r.useState)(null),s=(0,r.useRef)(`mermaid-svg-${Math.round(1e7*Math.random())}`).current,a=ks(),l=n??a;return(0,r.useEffect)((()=>{(async function(t){let{id:e,text:n,config:r}=t;gs.L.mermaidAPI.initialize(r);try{return await gs.L.render(e,n)}catch(i){throw document.querySelector(`#d${e}`)?.remove(),i}})({id:s,text:e,config:l}).then(o).catch((t=>{o((()=>{throw t}))}))}),[s,e,l]),i}const _s={container:"container_lyt7"};function bs(t){let{renderResult:e}=t;const n=(0,r.useRef)(null);return(0,r.useEffect)((()=>{const t=n.current;e.bindFunctions?.(t)}),[e]),(0,k.jsx)("div",{ref:n,className:`${ys} ${_s.container}`,dangerouslySetInnerHTML:{__html:e.svg}})}function Cs(t){let{value:e}=t;const n=xs({text:e});return null===n?null:(0,k.jsx)(bs,{renderResult:n})}const vs={Head:o.Z,details:cs,Details:cs,code:function(t){return function(t){return void 0!==t.children&&r.Children.toArray(t.children).every((t=>"string"==typeof t&&!t.includes("\n")))}(t)?(0,k.jsx)(Qo,{...t}):(0,k.jsx)(Go,{...t})},a:function(t){return(0,k.jsx)(ts.Z,{...t})},pre:function(t){return(0,k.jsx)(k.Fragment,{children:t.children})},ul:function(t){return(0,k.jsx)("ul",{...t,className:ps(t.className)})},img:function(t){return(0,k.jsx)("img",{loading:"lazy",...t,className:(e=t.className,(0,s.Z)(e,fs.img))});var e},h1:t=>(0,k.jsx)(us,{as:"h1",...t}),h2:t=>(0,k.jsx)(us,{as:"h2",...t}),h3:t=>(0,k.jsx)(us,{as:"h3",...t}),h4:t=>(0,k.jsx)(us,{as:"h4",...t}),h5:t=>(0,k.jsx)(us,{as:"h5",...t}),h6:t=>(0,k.jsx)(us,{as:"h6",...t}),admonition:ms.Z,mermaid:function(t){return(0,k.jsx)(po.Z,{fallback:t=>(0,k.jsx)(lo.Ac,{...t}),children:(0,k.jsx)(Cs,{...t})})}};function Ts(t){let{children:e}=t;return(0,k.jsx)(i.Z,{components:vs,children:e})}},2244:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});n(7294);var r=n(512),i=n(3692),o=n(5893);function s(t){const{permalink:e,title:n,subLabel:s,isNext:a}=t;return(0,o.jsxs)(i.Z,{className:(0,r.Z)("pagination-nav__link",a?"pagination-nav__link--next":"pagination-nav__link--prev"),to:e,children:[s&&(0,o.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,o.jsx)("div",{className:"pagination-nav__label",children:n})]})}},3008:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});n(7294);var r=n(512),i=n(3692);const o={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var s=n(5893);function a(t){let{permalink:e,label:n,count:a}=t;return(0,s.jsxs)(i.Z,{href:e,className:(0,r.Z)(o.tag,a?o.tagWithCount:o.tagRegular),children:[n,a&&(0,s.jsx)("span",{children:a})]})}},1526:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});n(7294);var r=n(512),i=n(5999),o=n(3008);const s={tags:"tags_jXut",tag:"tag_QGVx"};var a=n(5893);function l(t){let{tags:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("b",{children:(0,a.jsx)(i.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,a.jsx)("ul",{className:(0,r.Z)(s.tags,"padding--none","margin-left--sm"),children:e.map((t=>{let{label:e,permalink:n}=t;return(0,a.jsx)("li",{className:s.tag,children:(0,a.jsx)(o.Z,{label:e,permalink:n})},n)}))})]})}},7484:function(t){t.exports=function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",o="minute",s="hour",a="day",l="week",c="month",h="quarter",u="year",d="date",p="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},y=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},k={s:y,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+y(r,2,"0")+":"+y(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),o=n-i<0,s=e.clone().add(r+(o?-1:1),c);return+(-(r+(n-i)/(o?i-s:s-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:u,w:l,d:a,D:d,h:s,m:o,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},x="en",_={};_[x]=g;var b="$isDayjsObject",C=function(t){return t instanceof S||!(!t||!t[b])},v=function t(e,n,r){var i;if(!e)return x;if("string"==typeof e){var o=e.toLowerCase();_[o]&&(i=o),n&&(_[o]=n,i=o);var s=e.split("-");if(!i&&s.length>1)return t(s[0])}else{var a=e.name;_[a]=e,i=a}return!r&&i&&(x=i),i||!r&&x},T=function(t,e){if(C(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new S(n)},w=k;w.l=v,w.i=C,w.w=function(t,e){return T(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var S=function(){function g(t){this.$L=v(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[b]=!0}var y=g.prototype;return y.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(w.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(f);if(r){var i=r[2]-1||0,o=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)}}return new Date(e)}(t),this.init()},y.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},y.$utils=function(){return w},y.isValid=function(){return!(this.$d.toString()===p)},y.isSame=function(t,e){var n=T(t);return this.startOf(e)<=n&&n<=this.endOf(e)},y.isAfter=function(t,e){return T(t)<this.startOf(e)},y.isBefore=function(t,e){return this.endOf(e)<T(t)},y.$g=function(t,e,n){return w.u(t)?this[e]:this.set(n,t)},y.unix=function(){return Math.floor(this.valueOf()/1e3)},y.valueOf=function(){return this.$d.getTime()},y.startOf=function(t,e){var n=this,r=!!w.u(e)||e,h=w.p(t),p=function(t,e){var i=w.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},f=function(t,e){return w.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},m=this.$W,g=this.$M,y=this.$D,k="set"+(this.$u?"UTC":"");switch(h){case u:return r?p(1,0):p(31,11);case c:return r?p(1,g):p(0,g+1);case l:var x=this.$locale().weekStart||0,_=(m<x?m+7:m)-x;return p(r?y-_:y+(6-_),g);case a:case d:return f(k+"Hours",0);case s:return f(k+"Minutes",1);case o:return f(k+"Seconds",2);case i:return f(k+"Milliseconds",3);default:return this.clone()}},y.endOf=function(t){return this.startOf(t,!1)},y.$set=function(t,e){var n,l=w.p(t),h="set"+(this.$u?"UTC":""),p=(n={},n[a]=h+"Date",n[d]=h+"Date",n[c]=h+"Month",n[u]=h+"FullYear",n[s]=h+"Hours",n[o]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[l],f=l===a?this.$D+(e-this.$W):e;if(l===c||l===u){var m=this.clone().set(d,1);m.$d[p](f),m.init(),this.$d=m.set(d,Math.min(this.$D,m.daysInMonth())).$d}else p&&this.$d[p](f);return this.init(),this},y.set=function(t,e){return this.clone().$set(t,e)},y.get=function(t){return this[w.p(t)]()},y.add=function(r,h){var d,p=this;r=Number(r);var f=w.p(h),m=function(t){var e=T(p);return w.w(e.date(e.date()+Math.round(t*r)),p)};if(f===c)return this.set(c,this.$M+r);if(f===u)return this.set(u,this.$y+r);if(f===a)return m(1);if(f===l)return m(7);var g=(d={},d[o]=e,d[s]=n,d[i]=t,d)[f]||1,y=this.$d.getTime()+r*g;return w.w(y,this)},y.subtract=function(t,e){return this.add(-1*t,e)},y.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=w.z(this),o=this.$H,s=this.$m,a=this.$M,l=n.weekdays,c=n.months,h=n.meridiem,u=function(t,n,i,o){return t&&(t[n]||t(e,r))||i[n].slice(0,o)},d=function(t){return w.s(o%12||12,t,"0")},f=h||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(m,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return w.s(e.$y,4,"0");case"M":return a+1;case"MM":return w.s(a+1,2,"0");case"MMM":return u(n.monthsShort,a,c,3);case"MMMM":return u(c,a);case"D":return e.$D;case"DD":return w.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return u(n.weekdaysMin,e.$W,l,2);case"ddd":return u(n.weekdaysShort,e.$W,l,3);case"dddd":return l[e.$W];case"H":return String(o);case"HH":return w.s(o,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return f(o,s,!0);case"A":return f(o,s,!1);case"m":return String(s);case"mm":return w.s(s,2,"0");case"s":return String(e.$s);case"ss":return w.s(e.$s,2,"0");case"SSS":return w.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},y.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},y.diff=function(r,d,p){var f,m=this,g=w.p(d),y=T(r),k=(y.utcOffset()-this.utcOffset())*e,x=this-y,_=function(){return w.m(m,y)};switch(g){case u:f=_()/12;break;case c:f=_();break;case h:f=_()/3;break;case l:f=(x-k)/6048e5;break;case a:f=(x-k)/864e5;break;case s:f=x/n;break;case o:f=x/e;break;case i:f=x/t;break;default:f=x}return p?f:w.a(f)},y.daysInMonth=function(){return this.endOf(c).$D},y.$locale=function(){return _[this.$L]},y.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=v(t,e,!0);return r&&(n.$L=r),n},y.clone=function(){return w.w(this.$d,this)},y.toDate=function(){return new Date(this.valueOf())},y.toJSON=function(){return this.isValid()?this.toISOString():null},y.toISOString=function(){return this.$d.toISOString()},y.toString=function(){return this.$d.toUTCString()},g}(),A=S.prototype;return T.prototype=A,[["$ms",r],["$s",i],["$m",o],["$H",s],["$W",a],["$M",c],["$y",u],["$D",d]].forEach((function(t){A[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),T.extend=function(t,e){return t.$i||(t(e,S,T),t.$i=!0),T},T.locale=v,T.isDayjs=C,T.unix=function(t){return T(1e3*t)},T.en=_[x],T.Ls=_,T.p={},T}()},7856:function(t){t.exports=function(){"use strict";const{entries:t,setPrototypeOf:e,isFrozen:n,getPrototypeOf:r,getOwnPropertyDescriptor:i}=Object;let{freeze:o,seal:s,create:a}=Object,{apply:l,construct:c}="undefined"!=typeof Reflect&&Reflect;o||(o=function(t){return t}),s||(s=function(t){return t}),l||(l=function(t,e,n){return t.apply(e,n)}),c||(c=function(t,e){return new t(...e)});const h=b(Array.prototype.forEach),u=b(Array.prototype.pop),d=b(Array.prototype.push),p=b(String.prototype.toLowerCase),f=b(String.prototype.toString),m=b(String.prototype.match),g=b(String.prototype.replace),y=b(String.prototype.indexOf),k=b(String.prototype.trim),x=b(RegExp.prototype.test),_=C(TypeError);function b(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return l(t,e,r)}}function C(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return c(t,n)}}function v(t,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:p;e&&e(t,null);let o=r.length;for(;o--;){let e=r[o];if("string"==typeof e){const t=i(e);t!==e&&(n(r)||(r[o]=t),e=t)}t[e]=!0}return t}function T(e){const n=a(null);for(const[r,o]of t(e))void 0!==i(e,r)&&(n[r]=o);return n}function w(t,e){for(;null!==t;){const n=i(t,e);if(n){if(n.get)return b(n.get);if("function"==typeof n.value)return b(n.value)}t=r(t)}function n(t){return console.warn("fallback value for",t),null}return n}const S=o(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),A=o(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),I=o(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),B=o(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),E=o(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),L=o(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),F=o(["#text"]),N=o(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),M=o(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),j=o(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),O=o(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),R=s(/\{\{[\w\W]*|[\w\W]*\}\}/gm),D=s(/<%[\w\W]*|[\w\W]*%>/gm),q=s(/\${[\w\W]*}/gm),$=s(/^data-[\-\w.\u00B7-\uFFFF]/),P=s(/^aria-[\-\w]+$/),Z=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),z=s(/^(?:\w+script|data):/i),W=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),U=s(/^html$/i);var H=Object.freeze({__proto__:null,MUSTACHE_EXPR:R,ERB_EXPR:D,TMPLIT_EXPR:q,DATA_ATTR:$,ARIA_ATTR:P,IS_ALLOWED_URI:Z,IS_SCRIPT_OR_DATA:z,ATTR_WHITESPACE:W,DOCTYPE_NAME:U});const Y=function(){return"undefined"==typeof window?null:window},V=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let n=null;const r="data-tt-policy-suffix";e&&e.hasAttribute(r)&&(n=e.getAttribute(r));const i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML:t=>t,createScriptURL:t=>t})}catch(o){return console.warn("TrustedTypes policy "+i+" could not be created."),null}};function K(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Y();const n=t=>K(t);if(n.version="3.0.6",n.removed=[],!e||!e.document||9!==e.document.nodeType)return n.isSupported=!1,n;let{document:r}=e;const i=r,s=i.currentScript,{DocumentFragment:l,HTMLTemplateElement:c,Node:b,Element:C,NodeFilter:R,NamedNodeMap:D=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:q,DOMParser:$,trustedTypes:P}=e,z=C.prototype,W=w(z,"cloneNode"),X=w(z,"nextSibling"),G=w(z,"childNodes"),J=w(z,"parentNode");if("function"==typeof c){const t=r.createElement("template");t.content&&t.content.ownerDocument&&(r=t.content.ownerDocument)}let Q,tt="";const{implementation:et,createNodeIterator:nt,createDocumentFragment:rt,getElementsByTagName:it}=r,{importNode:ot}=i;let st={};n.isSupported="function"==typeof t&&"function"==typeof J&&et&&void 0!==et.createHTMLDocument;const{MUSTACHE_EXPR:at,ERB_EXPR:lt,TMPLIT_EXPR:ct,DATA_ATTR:ht,ARIA_ATTR:ut,IS_SCRIPT_OR_DATA:dt,ATTR_WHITESPACE:pt}=H;let{IS_ALLOWED_URI:ft}=H,mt=null;const gt=v({},[...S,...A,...I,...E,...F]);let yt=null;const kt=v({},[...N,...M,...j,...O]);let xt=Object.seal(a(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),_t=null,bt=null,Ct=!0,vt=!0,Tt=!1,wt=!0,St=!1,At=!1,It=!1,Bt=!1,Et=!1,Lt=!1,Ft=!1,Nt=!0,Mt=!1;const jt="user-content-";let Ot=!0,Rt=!1,Dt={},qt=null;const $t=v({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Pt=null;const Zt=v({},["audio","video","img","source","image","track"]);let zt=null;const Wt=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ut="http://www.w3.org/1998/Math/MathML",Ht="http://www.w3.org/2000/svg",Yt="http://www.w3.org/1999/xhtml";let Vt=Yt,Kt=!1,Xt=null;const Gt=v({},[Ut,Ht,Yt],f);let Jt=null;const Qt=["application/xhtml+xml","text/html"],te="text/html";let ee=null,ne=null;const re=r.createElement("form"),ie=function(t){return t instanceof RegExp||t instanceof Function},oe=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ne||ne!==t){if(t&&"object"==typeof t||(t={}),t=T(t),Jt=Jt=-1===Qt.indexOf(t.PARSER_MEDIA_TYPE)?te:t.PARSER_MEDIA_TYPE,ee="application/xhtml+xml"===Jt?f:p,mt="ALLOWED_TAGS"in t?v({},t.ALLOWED_TAGS,ee):gt,yt="ALLOWED_ATTR"in t?v({},t.ALLOWED_ATTR,ee):kt,Xt="ALLOWED_NAMESPACES"in t?v({},t.ALLOWED_NAMESPACES,f):Gt,zt="ADD_URI_SAFE_ATTR"in t?v(T(Wt),t.ADD_URI_SAFE_ATTR,ee):Wt,Pt="ADD_DATA_URI_TAGS"in t?v(T(Zt),t.ADD_DATA_URI_TAGS,ee):Zt,qt="FORBID_CONTENTS"in t?v({},t.FORBID_CONTENTS,ee):$t,_t="FORBID_TAGS"in t?v({},t.FORBID_TAGS,ee):{},bt="FORBID_ATTR"in t?v({},t.FORBID_ATTR,ee):{},Dt="USE_PROFILES"in t&&t.USE_PROFILES,Ct=!1!==t.ALLOW_ARIA_ATTR,vt=!1!==t.ALLOW_DATA_ATTR,Tt=t.ALLOW_UNKNOWN_PROTOCOLS||!1,wt=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,St=t.SAFE_FOR_TEMPLATES||!1,At=t.WHOLE_DOCUMENT||!1,Et=t.RETURN_DOM||!1,Lt=t.RETURN_DOM_FRAGMENT||!1,Ft=t.RETURN_TRUSTED_TYPE||!1,Bt=t.FORCE_BODY||!1,Nt=!1!==t.SANITIZE_DOM,Mt=t.SANITIZE_NAMED_PROPS||!1,Ot=!1!==t.KEEP_CONTENT,Rt=t.IN_PLACE||!1,ft=t.ALLOWED_URI_REGEXP||Z,Vt=t.NAMESPACE||Yt,xt=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&ie(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(xt.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&ie(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(xt.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(xt.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),St&&(vt=!1),Lt&&(Et=!0),Dt&&(mt=v({},[...F]),yt=[],!0===Dt.html&&(v(mt,S),v(yt,N)),!0===Dt.svg&&(v(mt,A),v(yt,M),v(yt,O)),!0===Dt.svgFilters&&(v(mt,I),v(yt,M),v(yt,O)),!0===Dt.mathMl&&(v(mt,E),v(yt,j),v(yt,O))),t.ADD_TAGS&&(mt===gt&&(mt=T(mt)),v(mt,t.ADD_TAGS,ee)),t.ADD_ATTR&&(yt===kt&&(yt=T(yt)),v(yt,t.ADD_ATTR,ee)),t.ADD_URI_SAFE_ATTR&&v(zt,t.ADD_URI_SAFE_ATTR,ee),t.FORBID_CONTENTS&&(qt===$t&&(qt=T(qt)),v(qt,t.FORBID_CONTENTS,ee)),Ot&&(mt["#text"]=!0),At&&v(mt,["html","head","body"]),mt.table&&(v(mt,["tbody"]),delete _t.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw _('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw _('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Q=t.TRUSTED_TYPES_POLICY,tt=Q.createHTML("")}else void 0===Q&&(Q=V(P,s)),null!==Q&&"string"==typeof tt&&(tt=Q.createHTML(""));o&&o(t),ne=t}},se=v({},["mi","mo","mn","ms","mtext"]),ae=v({},["foreignobject","desc","title","annotation-xml"]),le=v({},["title","style","font","a","script"]),ce=v({},A);v(ce,I),v(ce,B);const he=v({},E);v(he,L);const ue=function(t){let e=J(t);e&&e.tagName||(e={namespaceURI:Vt,tagName:"template"});const n=p(t.tagName),r=p(e.tagName);return!!Xt[t.namespaceURI]&&(t.namespaceURI===Ht?e.namespaceURI===Yt?"svg"===n:e.namespaceURI===Ut?"svg"===n&&("annotation-xml"===r||se[r]):Boolean(ce[n]):t.namespaceURI===Ut?e.namespaceURI===Yt?"math"===n:e.namespaceURI===Ht?"math"===n&&ae[r]:Boolean(he[n]):t.namespaceURI===Yt?!(e.namespaceURI===Ht&&!ae[r])&&!(e.namespaceURI===Ut&&!se[r])&&!he[n]&&(le[n]||!ce[n]):!("application/xhtml+xml"!==Jt||!Xt[t.namespaceURI]))},de=function(t){d(n.removed,{element:t});try{t.parentNode.removeChild(t)}catch(e){t.remove()}},pe=function(t,e){try{d(n.removed,{attribute:e.getAttributeNode(t),from:e})}catch(r){d(n.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t&&!yt[t])if(Et||Lt)try{de(e)}catch(r){}else try{e.setAttribute(t,"")}catch(r){}},fe=function(t){let e=null,n=null;if(Bt)t="<remove></remove>"+t;else{const e=m(t,/^[\r\n\t ]+/);n=e&&e[0]}"application/xhtml+xml"===Jt&&Vt===Yt&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");const i=Q?Q.createHTML(t):t;if(Vt===Yt)try{e=(new $).parseFromString(i,Jt)}catch(s){}if(!e||!e.documentElement){e=et.createDocument(Vt,"template",null);try{e.documentElement.innerHTML=Kt?tt:i}catch(s){}}const o=e.body||e.documentElement;return t&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),Vt===Yt?it.call(e,At?"html":"body")[0]:At?e.documentElement:o},me=function(t){return nt.call(t.ownerDocument||t,t,R.SHOW_ELEMENT|R.SHOW_COMMENT|R.SHOW_TEXT,null)},ge=function(t){return t instanceof q&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof D)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},ye=function(t){return"function"==typeof b&&t instanceof b},ke=function(t,e,r){st[t]&&h(st[t],(t=>{t.call(n,e,r,ne)}))},xe=function(t){let e=null;if(ke("beforeSanitizeElements",t,null),ge(t))return de(t),!0;const r=ee(t.nodeName);if(ke("uponSanitizeElement",t,{tagName:r,allowedTags:mt}),t.hasChildNodes()&&!ye(t.firstElementChild)&&x(/<[/\w]/g,t.innerHTML)&&x(/<[/\w]/g,t.textContent))return de(t),!0;if(!mt[r]||_t[r]){if(!_t[r]&&be(r)){if(xt.tagNameCheck instanceof RegExp&&x(xt.tagNameCheck,r))return!1;if(xt.tagNameCheck instanceof Function&&xt.tagNameCheck(r))return!1}if(Ot&&!qt[r]){const e=J(t)||t.parentNode,n=G(t)||t.childNodes;if(n&&e)for(let r=n.length-1;r>=0;--r)e.insertBefore(W(n[r],!0),X(t))}return de(t),!0}return t instanceof C&&!ue(t)?(de(t),!0):"noscript"!==r&&"noembed"!==r&&"noframes"!==r||!x(/<\/no(script|embed|frames)/i,t.innerHTML)?(St&&3===t.nodeType&&(e=t.textContent,h([at,lt,ct],(t=>{e=g(e,t," ")})),t.textContent!==e&&(d(n.removed,{element:t.cloneNode()}),t.textContent=e)),ke("afterSanitizeElements",t,null),!1):(de(t),!0)},_e=function(t,e,n){if(Nt&&("id"===e||"name"===e)&&(n in r||n in re))return!1;if(vt&&!bt[e]&&x(ht,e));else if(Ct&&x(ut,e));else if(!yt[e]||bt[e]){if(!(be(t)&&(xt.tagNameCheck instanceof RegExp&&x(xt.tagNameCheck,t)||xt.tagNameCheck instanceof Function&&xt.tagNameCheck(t))&&(xt.attributeNameCheck instanceof RegExp&&x(xt.attributeNameCheck,e)||xt.attributeNameCheck instanceof Function&&xt.attributeNameCheck(e))||"is"===e&&xt.allowCustomizedBuiltInElements&&(xt.tagNameCheck instanceof RegExp&&x(xt.tagNameCheck,n)||xt.tagNameCheck instanceof Function&&xt.tagNameCheck(n))))return!1}else if(zt[e]);else if(x(ft,g(n,pt,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==y(n,"data:")||!Pt[t])if(Tt&&!x(dt,g(n,pt,"")));else if(n)return!1;return!0},be=function(t){return t.indexOf("-")>0},Ce=function(t){ke("beforeSanitizeAttributes",t,null);const{attributes:e}=t;if(!e)return;const r={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:yt};let i=e.length;for(;i--;){const s=e[i],{name:a,namespaceURI:l,value:c}=s,d=ee(a);let p="value"===a?c:k(c);if(r.attrName=d,r.attrValue=p,r.keepAttr=!0,r.forceKeepAttr=void 0,ke("uponSanitizeAttribute",t,r),p=r.attrValue,r.forceKeepAttr)continue;if(pe(a,t),!r.keepAttr)continue;if(!wt&&x(/\/>/i,p)){pe(a,t);continue}St&&h([at,lt,ct],(t=>{p=g(p,t," ")}));const f=ee(t.nodeName);if(_e(f,d,p)){if(!Mt||"id"!==d&&"name"!==d||(pe(a,t),p=jt+p),Q&&"object"==typeof P&&"function"==typeof P.getAttributeType)if(l);else switch(P.getAttributeType(f,d)){case"TrustedHTML":p=Q.createHTML(p);break;case"TrustedScriptURL":p=Q.createScriptURL(p)}try{l?t.setAttributeNS(l,a,p):t.setAttribute(a,p),u(n.removed)}catch(o){}}}ke("afterSanitizeAttributes",t,null)},ve=function t(e){let n=null;const r=me(e);for(ke("beforeSanitizeShadowDOM",e,null);n=r.nextNode();)ke("uponSanitizeShadowNode",n,null),xe(n)||(n.content instanceof l&&t(n.content),Ce(n));ke("afterSanitizeShadowDOM",e,null)};return n.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,o=null,s=null,a=null;if(Kt=!t,Kt&&(t="\x3c!--\x3e"),"string"!=typeof t&&!ye(t)){if("function"!=typeof t.toString)throw _("toString is not a function");if("string"!=typeof(t=t.toString()))throw _("dirty is not a string, aborting")}if(!n.isSupported)return t;if(It||oe(e),n.removed=[],"string"==typeof t&&(Rt=!1),Rt){if(t.nodeName){const e=ee(t.nodeName);if(!mt[e]||_t[e])throw _("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof b)r=fe("\x3c!----\x3e"),o=r.ownerDocument.importNode(t,!0),1===o.nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?r=o:r.appendChild(o);else{if(!Et&&!St&&!At&&-1===t.indexOf("<"))return Q&&Ft?Q.createHTML(t):t;if(r=fe(t),!r)return Et?null:Ft?tt:""}r&&Bt&&de(r.firstChild);const c=me(Rt?t:r);for(;s=c.nextNode();)xe(s)||(s.content instanceof l&&ve(s.content),Ce(s));if(Rt)return t;if(Et){if(Lt)for(a=rt.call(r.ownerDocument);r.firstChild;)a.appendChild(r.firstChild);else a=r;return(yt.shadowroot||yt.shadowrootmode)&&(a=ot.call(i,a,!0)),a}let u=At?r.outerHTML:r.innerHTML;return At&&mt["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&x(U,r.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+r.ownerDocument.doctype.name+">\n"+u),St&&h([at,lt,ct],(t=>{u=g(u,t," ")})),Q&&Ft?Q.createHTML(u):u},n.setConfig=function(){oe(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),It=!0},n.clearConfig=function(){ne=null,It=!1},n.isValidAttribute=function(t,e,n){ne||oe({});const r=ee(t),i=ee(e);return _e(r,i,n)},n.addHook=function(t,e){"function"==typeof e&&(st[t]=st[t]||[],d(st[t],e))},n.removeHook=function(t){if(st[t])return u(st[t])},n.removeHooks=function(t){st[t]&&(st[t]=[])},n.removeAllHooks=function(){st={}},n}return K()}()},8589:(t,e)=>{"use strict";var n="\n",r=function(){function t(t){this.string=t;for(var e=[0],r=0;r<t.length;)switch(t[r]){case n:r+=1,e.push(r);break;case"\r":t[r+=1]===n&&(r+=1),e.push(r);break;default:r++}this.offsets=e}return t.prototype.locationForIndex=function(t){if(t<0||t>this.string.length)return null;for(var e=0,n=this.offsets;n[e+1]<=t;)e++;return{line:e,column:t-n[e]}},t.prototype.indexForLocation=function(t){var e=t.line,n=t.column;return e<0||e>=this.offsets.length||n<0||n>this.lengthOfLine(e)?null:this.offsets[e]+n},t.prototype.lengthOfLine=function(t){var e=this.offsets[t];return(t===this.offsets.length-1?this.string.length:this.offsets[t+1])-e},t}()},7594:(t,e)=>{function n(t){let e,n=[];for(let r of t.split(",").map((t=>t.trim())))if(/^-?\d+$/.test(r))n.push(parseInt(r,10));else if(e=r.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[t,r,i,o]=e;if(r&&o){r=parseInt(r),o=parseInt(o);const t=r<o?1:-1;"-"!==i&&".."!==i&&"\u2025"!==i||(o+=t);for(let e=r;e!==o;e+=t)n.push(e)}}return n}e.default=n,t.exports=n},8464:(t,e,n)=>{"use strict";function r(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var r=Array.from("string"==typeof t?[t]:t);r[r.length-1]=r[r.length-1].replace(/\r?\n([\t ]*)$/,"");var i=r.reduce((function(t,e){var n=e.match(/\n([\t ]+|(?!\s).)/g);return n?t.concat(n.map((function(t){var e,n;return null!==(n=null===(e=t.match(/[\t ]/g))||void 0===e?void 0:e.length)&&void 0!==n?n:0}))):t}),[]);if(i.length){var o=new RegExp("\n[\t ]{"+Math.min.apply(Math,i)+"}","g");r=r.map((function(t){return t.replace(o,"\n")}))}r[0]=r[0].replace(/^\r?\n/,"");var s=r[0];return e.forEach((function(t,e){var n=s.match(/(?:^|\n)( *)$/),i=n?n[1]:"",o=t;"string"==typeof t&&t.includes("\n")&&(o=String(t).split("\n").map((function(t,e){return 0===e?t:""+i+t})).join("\n")),s+=o+r[e+1]})),s}n.d(e,{Z:()=>r})},1074:function(t,e,n){"use strict";var r=this&&this.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r};Object.defineProperty(e,"__esModule",{value:!0}),e.Checker=e.createCheckers=void 0;var i=n(2746),o=n(7180),s=n(2746);Object.defineProperty(e,"TArray",{enumerable:!0,get:function(){return s.TArray}}),Object.defineProperty(e,"TEnumType",{enumerable:!0,get:function(){return s.TEnumType}}),Object.defineProperty(e,"TEnumLiteral",{enumerable:!0,get:function(){return s.TEnumLiteral}}),Object.defineProperty(e,"TFunc",{enumerable:!0,get:function(){return s.TFunc}}),Object.defineProperty(e,"TIface",{enumerable:!0,get:function(){return s.TIface}}),Object.defineProperty(e,"TLiteral",{enumerable:!0,get:function(){return s.TLiteral}}),Object.defineProperty(e,"TName",{enumerable:!0,get:function(){return s.TName}}),Object.defineProperty(e,"TOptional",{enumerable:!0,get:function(){return s.TOptional}}),Object.defineProperty(e,"TParam",{enumerable:!0,get:function(){return s.TParam}}),Object.defineProperty(e,"TParamList",{enumerable:!0,get:function(){return s.TParamList}}),Object.defineProperty(e,"TProp",{enumerable:!0,get:function(){return s.TProp}}),Object.defineProperty(e,"TTuple",{enumerable:!0,get:function(){return s.TTuple}}),Object.defineProperty(e,"TType",{enumerable:!0,get:function(){return s.TType}}),Object.defineProperty(e,"TUnion",{enumerable:!0,get:function(){return s.TUnion}}),Object.defineProperty(e,"TIntersection",{enumerable:!0,get:function(){return s.TIntersection}}),Object.defineProperty(e,"array",{enumerable:!0,get:function(){return s.array}}),Object.defineProperty(e,"enumlit",{enumerable:!0,get:function(){return s.enumlit}}),Object.defineProperty(e,"enumtype",{enumerable:!0,get:function(){return s.enumtype}}),Object.defineProperty(e,"func",{enumerable:!0,get:function(){return s.func}}),Object.defineProperty(e,"iface",{enumerable:!0,get:function(){return s.iface}}),Object.defineProperty(e,"lit",{enumerable:!0,get:function(){return s.lit}}),Object.defineProperty(e,"name",{enumerable:!0,get:function(){return s.name}}),Object.defineProperty(e,"opt",{enumerable:!0,get:function(){return s.opt}}),Object.defineProperty(e,"param",{enumerable:!0,get:function(){return s.param}}),Object.defineProperty(e,"tuple",{enumerable:!0,get:function(){return s.tuple}}),Object.defineProperty(e,"union",{enumerable:!0,get:function(){return s.union}}),Object.defineProperty(e,"intersection",{enumerable:!0,get:function(){return s.intersection}}),Object.defineProperty(e,"BasicType",{enumerable:!0,get:function(){return s.BasicType}});var a=n(7180);Object.defineProperty(e,"VError",{enumerable:!0,get:function(){return a.VError}}),e.createCheckers=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n=Object.assign.apply(Object,r([{},i.basicTypes],t)),o={},s=0,a=t;s<a.length;s++)for(var c=a[s],h=0,u=Object.keys(c);h<u.length;h++){var d=u[h];o[d]=new l(n,c[d])}return o};var l=function(){function t(t,e,n){if(void 0===n&&(n="value"),this.suite=t,this.ttype=e,this._path=n,this.props=new Map,e instanceof i.TIface)for(var r=0,o=e.props;r<o.length;r++){var s=o[r];this.props.set(s.name,s.ttype)}this.checkerPlain=this.ttype.getChecker(t,!1),this.checkerStrict=this.ttype.getChecker(t,!0)}return t.prototype.setReportedPath=function(t){this._path=t},t.prototype.check=function(t){return this._doCheck(this.checkerPlain,t)},t.prototype.test=function(t){return this.checkerPlain(t,new o.NoopContext)},t.prototype.validate=function(t){return this._doValidate(this.checkerPlain,t)},t.prototype.strictCheck=function(t){return this._doCheck(this.checkerStrict,t)},t.prototype.strictTest=function(t){return this.checkerStrict(t,new o.NoopContext)},t.prototype.strictValidate=function(t){return this._doValidate(this.checkerStrict,t)},t.prototype.getProp=function(e){var n=this.props.get(e);if(!n)throw new Error("Type has no property "+e);return new t(this.suite,n,this._path+"."+e)},t.prototype.methodArgs=function(e){var n=this._getMethod(e);return new t(this.suite,n.paramList)},t.prototype.methodResult=function(e){var n=this._getMethod(e);return new t(this.suite,n.result)},t.prototype.getArgs=function(){if(!(this.ttype instanceof i.TFunc))throw new Error("getArgs() applied to non-function");return new t(this.suite,this.ttype.paramList)},t.prototype.getResult=function(){if(!(this.ttype instanceof i.TFunc))throw new Error("getResult() applied to non-function");return new t(this.suite,this.ttype.result)},t.prototype.getType=function(){return this.ttype},t.prototype._doCheck=function(t,e){if(!t(e,new o.NoopContext)){var n=new o.DetailContext;throw t(e,n),n.getError(this._path)}},t.prototype._doValidate=function(t,e){if(t(e,new o.NoopContext))return null;var n=new o.DetailContext;return t(e,n),n.getErrorDetail(this._path)},t.prototype._getMethod=function(t){var e=this.props.get(t);if(!e)throw new Error("Type has no property "+t);if(!(e instanceof i.TFunc))throw new Error("Property "+t+" is not a method");return e},t}();e.Checker=l},2746:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.basicTypes=e.BasicType=e.TParamList=e.TParam=e.param=e.TFunc=e.func=e.TProp=e.TOptional=e.opt=e.TIface=e.iface=e.TEnumLiteral=e.enumlit=e.TEnumType=e.enumtype=e.TIntersection=e.intersection=e.TUnion=e.union=e.TTuple=e.tuple=e.TArray=e.array=e.TLiteral=e.lit=e.TName=e.name=e.TType=void 0;var o=n(7180),s=function(){};function a(t){return"string"==typeof t?c(t):t}function l(t,e){var n=t[e];if(!n)throw new Error("Unknown type "+e);return n}function c(t){return new h(t)}e.TType=s,e.name=c;var h=function(t){function e(e){var n=t.call(this)||this;return n.name=e,n._failMsg="is not a "+e,n}return i(e,t),e.prototype.getChecker=function(t,n,r){var i=this,o=l(t,this.name),s=o.getChecker(t,n,r);return o instanceof w||o instanceof e?s:function(t,e){return!!s(t,e)||e.fail(null,i._failMsg,0)}},e}(s);e.TName=h,e.lit=function(t){return new u(t)};var u=function(t){function e(e){var n=t.call(this)||this;return n.value=e,n.name=JSON.stringify(e),n._failMsg="is not "+n.name,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this;return function(t,e){return t===n.value||e.fail(null,n._failMsg,-1)}},e}(s);e.TLiteral=u,e.array=function(t){return new d(a(t))};var d=function(t){function e(e){var n=t.call(this)||this;return n.ttype=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this.ttype.getChecker(t,e);return function(t,e){if(!Array.isArray(t))return e.fail(null,"is not an array",0);for(var r=0;r<t.length;r++){if(!n(t[r],e))return e.fail(r,null,1)}return!0}},e}(s);e.TArray=d,e.tuple=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new p(t.map((function(t){return a(t)})))};var p=function(t){function e(e){var n=t.call(this)||this;return n.ttypes=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this.ttypes.map((function(n){return n.getChecker(t,e)})),r=function(t,e){if(!Array.isArray(t))return e.fail(null,"is not an array",0);for(var r=0;r<n.length;r++){if(!n[r](t[r],e))return e.fail(r,null,1)}return!0};return e?function(t,e){return!!r(t,e)&&(t.length<=n.length||e.fail(n.length,"is extraneous",2))}:r},e}(s);e.TTuple=p,e.union=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new f(t.map((function(t){return a(t)})))};var f=function(t){function e(e){var n=t.call(this)||this;n.ttypes=e;var r=e.map((function(t){return t instanceof h||t instanceof u?t.name:null})).filter((function(t){return t})),i=e.length-r.length;return r.length?(i>0&&r.push(i+" more"),n._failMsg="is none of "+r.join(", ")):n._failMsg="is none of "+i+" types",n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this,r=this.ttypes.map((function(n){return n.getChecker(t,e)}));return function(t,e){for(var i=e.unionResolver(),o=0;o<r.length;o++){if(r[o](t,i.createContext()))return!0}return e.resolveUnion(i),e.fail(null,n._failMsg,0)}},e}(s);e.TUnion=f,e.intersection=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new m(t.map((function(t){return a(t)})))};var m=function(t){function e(e){var n=t.call(this)||this;return n.ttypes=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=new Set,r=this.ttypes.map((function(r){return r.getChecker(t,e,n)}));return function(t,e){return!!r.every((function(n){return n(t,e)}))||e.fail(null,null,0)}},e}(s);e.TIntersection=m,e.enumtype=function(t){return new g(t)};var g=function(t){function e(e){var n=t.call(this)||this;return n.members=e,n.validValues=new Set,n._failMsg="is not a valid enum value",n.validValues=new Set(Object.keys(e).map((function(t){return e[t]}))),n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this;return function(t,e){return!!n.validValues.has(t)||e.fail(null,n._failMsg,0)}},e}(s);e.TEnumType=g,e.enumlit=function(t,e){return new y(t,e)};var y=function(t){function e(e,n){var r=t.call(this)||this;return r.enumName=e,r.prop=n,r._failMsg="is not "+e+"."+n,r}return i(e,t),e.prototype.getChecker=function(t,e){var n=this,r=l(t,this.enumName);if(!(r instanceof g))throw new Error("Type "+this.enumName+" used in enumlit is not an enum type");var i=r.members[this.prop];if(!r.members.hasOwnProperty(this.prop))throw new Error("Unknown value "+this.enumName+"."+this.prop+" used in enumlit");return function(t,e){return t===i||e.fail(null,n._failMsg,-1)}},e}(s);function k(t){return Object.keys(t).map((function(e){return function(t,e){return e instanceof _?new b(t,e.ttype,!0):new b(t,a(e),!1)}(e,t[e])}))}e.TEnumLiteral=y,e.iface=function(t,e){return new x(t,k(e))};var x=function(t){function e(e,n){var r=t.call(this)||this;return r.bases=e,r.props=n,r.propSet=new Set(n.map((function(t){return t.name}))),r}return i(e,t),e.prototype.getChecker=function(t,e,n){var r=this,i=this.bases.map((function(n){return l(t,n).getChecker(t,e)})),s=this.props.map((function(n){return n.ttype.getChecker(t,e)})),a=new o.NoopContext,c=this.props.map((function(t,e){return!t.isOpt&&!s[e](void 0,a)})),h=function(t,e){if("object"!=typeof t||null===t)return e.fail(null,"is not an object",0);for(var n=0;n<i.length;n++)if(!i[n](t,e))return!1;for(n=0;n<s.length;n++){var o=r.props[n].name,a=t[o];if(void 0===a){if(c[n])return e.fail(o,"is missing",1)}else if(!s[n](a,e))return e.fail(o,null,1)}return!0};if(!e)return h;var u=this.propSet;return n&&(this.propSet.forEach((function(t){return n.add(t)})),u=n),function(t,e){if(!h(t,e))return!1;for(var n in t)if(!u.has(n))return e.fail(n,"is extraneous",2);return!0}},e}(s);e.TIface=x,e.opt=function(t){return new _(a(t))};var _=function(t){function e(e){var n=t.call(this)||this;return n.ttype=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this.ttype.getChecker(t,e);return function(t,e){return void 0===t||n(t,e)}},e}(s);e.TOptional=_;var b=function(t,e,n){this.name=t,this.ttype=e,this.isOpt=n};e.TProp=b,e.func=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return new C(new T(e),a(t))};var C=function(t){function e(e,n){var r=t.call(this)||this;return r.paramList=e,r.result=n,r}return i(e,t),e.prototype.getChecker=function(t,e){return function(t,e){return"function"==typeof t||e.fail(null,"is not a function",0)}},e}(s);e.TFunc=C,e.param=function(t,e,n){return new v(t,a(e),Boolean(n))};var v=function(t,e,n){this.name=t,this.ttype=e,this.isOpt=n};e.TParam=v;var T=function(t){function e(e){var n=t.call(this)||this;return n.params=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this,r=this.params.map((function(n){return n.ttype.getChecker(t,e)})),i=new o.NoopContext,s=this.params.map((function(t,e){return!t.isOpt&&!r[e](void 0,i)})),a=function(t,e){if(!Array.isArray(t))return e.fail(null,"is not an array",0);for(var i=0;i<r.length;i++){var o=n.params[i];if(void 0===t[i]){if(s[i])return e.fail(o.name,"is missing",1)}else if(!r[i](t[i],e))return e.fail(o.name,null,1)}return!0};return e?function(t,e){return!!a(t,e)&&(t.length<=r.length||e.fail(r.length,"is extraneous",2))}:a},e}(s);e.TParamList=T;var w=function(t){function e(e,n){var r=t.call(this)||this;return r.validator=e,r.message=n,r}return i(e,t),e.prototype.getChecker=function(t,e){var n=this;return function(t,e){return!!n.validator(t)||e.fail(null,n.message,0)}},e}(s);e.BasicType=w,e.basicTypes={any:new w((function(t){return!0}),"is invalid"),number:new w((function(t){return"number"==typeof t}),"is not a number"),object:new w((function(t){return"object"==typeof t&&t}),"is not an object"),boolean:new w((function(t){return"boolean"==typeof t}),"is not a boolean"),string:new w((function(t){return"string"==typeof t}),"is not a string"),symbol:new w((function(t){return"symbol"==typeof t}),"is not a symbol"),void:new w((function(t){return null==t}),"is not void"),undefined:new w((function(t){return void 0===t}),"is not undefined"),null:new w((function(t){return null===t}),"is not null"),never:new w((function(t){return!1}),"is unexpected"),Date:new w(A("[object Date]"),"is not a Date"),RegExp:new w(A("[object RegExp]"),"is not a RegExp")};var S=Object.prototype.toString;function A(t){return function(e){return"object"==typeof e&&e&&S.call(e)===t}}"undefined"!=typeof Buffer&&(e.basicTypes.Buffer=new w((function(t){return Buffer.isBuffer(t)}),"is not a Buffer"));for(var I=function(t){e.basicTypes[t.name]=new w((function(e){return e instanceof t}),"is not a "+t.name)},B=0,E=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,ArrayBuffer];B<E.length;B++){I(E[B])}},7180:function(t,e){"use strict";var n,r=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.DetailContext=e.NoopContext=e.VError=void 0;var i=function(t){function e(n,r){var i=t.call(this,r)||this;return i.path=n,Object.setPrototypeOf(i,e.prototype),i}return r(e,t),e}(Error);e.VError=i;var o=function(){function t(){}return t.prototype.fail=function(t,e,n){return!1},t.prototype.unionResolver=function(){return this},t.prototype.createContext=function(){return this},t.prototype.resolveUnion=function(t){},t}();e.NoopContext=o;var s=function(){function t(){this._propNames=[""],this._messages=[null],this._score=0}return t.prototype.fail=function(t,e,n){return this._propNames.push(t),this._messages.push(e),this._score+=n,!1},t.prototype.unionResolver=function(){return new a},t.prototype.resolveUnion=function(t){for(var e,n,r=null,i=0,o=t.contexts;i<o.length;i++){var s=o[i];(!r||s._score>=r._score)&&(r=s)}r&&r._score>0&&((e=this._propNames).push.apply(e,r._propNames),(n=this._messages).push.apply(n,r._messages))},t.prototype.getError=function(t){for(var e=[],n=this._propNames.length-1;n>=0;n--){var r=this._propNames[n];t+="number"==typeof r?"["+r+"]":r?"."+r:"";var o=this._messages[n];o&&e.push(t+" "+o)}return new i(t,e.join("; "))},t.prototype.getErrorDetail=function(t){for(var e=[],n=this._propNames.length-1;n>=0;n--){var r=this._propNames[n];t+="number"==typeof r?"["+r+"]":r?"."+r:"";var i=this._messages[n];i&&e.push({path:t,message:i})}var o=null;for(n=e.length-1;n>=0;n--)o&&(e[n].nested=[o]),o=e[n];return o},t}();e.DetailContext=s;var a=function(){function t(){this.contexts=[]}return t.prototype.createContext=function(){var t=new s;return this.contexts.push(t),t},t}()},1151:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a,a:()=>s});var r=n(7294);const i={},o=r.createContext(i);function s(t){const e=r.useContext(o);return r.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),r.createElement(o.Provider,{value:e},t.children)}},4218:(t,e,n)=>{"use strict";function r(t,e){let n;if(void 0===e)for(const r of t)null!=r&&(n<r||void 0===n&&r>=r)&&(n=r);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function i(t,e){let n;if(void 0===e)for(const r of t)null!=r&&(n>r||void 0===n&&r>=r)&&(n=r);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function o(t){return t}n.d(e,{Nb1:()=>ca,LLu:()=>k,F5q:()=>y,$0Z:()=>Ca,Dts:()=>Ta,WQY:()=>Sa,qpX:()=>Ia,u93:()=>Ba,tFB:()=>La,YY7:()=>Ma,OvA:()=>Oa,dCK:()=>Da,zgE:()=>Pa,fGX:()=>za,$m7:()=>Ua,c_6:()=>da,fxm:()=>Ya,FdL:()=>el,ak_:()=>nl,SxZ:()=>ol,eA_:()=>al,jsv:()=>cl,iJ:()=>ll,JHv:()=>mr,jvg:()=>ma,Fp7:()=>r,VV$:()=>i,ve8:()=>ka,tiA:()=>Tr,BYU:()=>gi,PKp:()=>vr,Xf:()=>Ns,K2I:()=>Ms,Ys:()=>js,td_:()=>Os,YPS:()=>Vn,rr1:()=>Ni,i$Z:()=>uo,y2j:()=>Zi,WQD:()=>Li,U8T:()=>Ai,Z_i:()=>Bi,Ox9:()=>Di,F0B:()=>Ji,LqH:()=>zi,S1K:()=>Ii,Zyz:()=>Ri,Igq:()=>Pi,YDX:()=>qi,EFj:()=>$i});var s=1,a=2,l=3,c=4,h=1e-6;function u(t){return"translate("+t+",0)"}function d(t){return"translate(0,"+t+")"}function p(t){return e=>+t(e)}function f(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function m(){return!this.__axis}function g(t,e){var n=[],r=null,i=null,g=6,y=6,k=3,x="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,_=t===s||t===c?-1:1,b=t===c||t===a?"x":"y",C=t===s||t===l?u:d;function v(u){var d=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,v=null==i?e.tickFormat?e.tickFormat.apply(e,n):o:i,T=Math.max(g,0)+k,w=e.range(),S=+w[0]+x,A=+w[w.length-1]+x,I=(e.bandwidth?f:p)(e.copy(),x),B=u.selection?u.selection():u,E=B.selectAll(".domain").data([null]),L=B.selectAll(".tick").data(d,e).order(),F=L.exit(),N=L.enter().append("g").attr("class","tick"),M=L.select("line"),j=L.select("text");E=E.merge(E.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),L=L.merge(N),M=M.merge(N.append("line").attr("stroke","currentColor").attr(b+"2",_*g)),j=j.merge(N.append("text").attr("fill","currentColor").attr(b,_*T).attr("dy",t===s?"0em":t===l?"0.71em":"0.32em")),u!==B&&(E=E.transition(u),L=L.transition(u),M=M.transition(u),j=j.transition(u),F=F.transition(u).attr("opacity",h).attr("transform",(function(t){return isFinite(t=I(t))?C(t+x):this.getAttribute("transform")})),N.attr("opacity",h).attr("transform",(function(t){var e=this.parentNode.__axis;return C((e&&isFinite(e=e(t))?e:I(t))+x)}))),F.remove(),E.attr("d",t===c||t===a?y?"M"+_*y+","+S+"H"+x+"V"+A+"H"+_*y:"M"+x+","+S+"V"+A:y?"M"+S+","+_*y+"V"+x+"H"+A+"V"+_*y:"M"+S+","+x+"H"+A),L.attr("opacity",1).attr("transform",(function(t){return C(I(t)+x)})),M.attr(b+"2",_*g),j.attr(b,_*T).text(v),B.filter(m).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===a?"start":t===c?"end":"middle"),B.each((function(){this.__axis=I}))}return v.scale=function(t){return arguments.length?(e=t,v):e},v.ticks=function(){return n=Array.from(arguments),v},v.tickArguments=function(t){return arguments.length?(n=null==t?[]:Array.from(t),v):n.slice()},v.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),v):r&&r.slice()},v.tickFormat=function(t){return arguments.length?(i=t,v):i},v.tickSize=function(t){return arguments.length?(g=y=+t,v):g},v.tickSizeInner=function(t){return arguments.length?(g=+t,v):g},v.tickSizeOuter=function(t){return arguments.length?(y=+t,v):y},v.tickPadding=function(t){return arguments.length?(k=+t,v):k},v.offset=function(t){return arguments.length?(x=+t,v):x},v}function y(t){return g(s,t)}function k(t){return g(l,t)}function x(){}function _(t){return null==t?x:function(){return this.querySelector(t)}}function b(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function C(){return[]}function v(t){return null==t?C:function(){return this.querySelectorAll(t)}}function T(t){return function(){return this.matches(t)}}function w(t){return function(e){return e.matches(t)}}var S=Array.prototype.find;function A(){return this.firstElementChild}var I=Array.prototype.filter;function B(){return Array.from(this.children)}function E(t){return new Array(t.length)}function L(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function F(t,e,n,r,i,o){for(var s,a=0,l=e.length,c=o.length;a<c;++a)(s=e[a])?(s.__data__=o[a],r[a]=s):n[a]=new L(t,o[a]);for(;a<l;++a)(s=e[a])&&(i[a]=s)}function N(t,e,n,r,i,o,s){var a,l,c,h=new Map,u=e.length,d=o.length,p=new Array(u);for(a=0;a<u;++a)(l=e[a])&&(p[a]=c=s.call(l,l.__data__,a,e)+"",h.has(c)?i[a]=l:h.set(c,l));for(a=0;a<d;++a)c=s.call(t,o[a],a,o)+"",(l=h.get(c))?(r[a]=l,l.__data__=o[a],h.delete(c)):n[a]=new L(t,o[a]);for(a=0;a<u;++a)(l=e[a])&&h.get(p[a])===l&&(i[a]=l)}function M(t){return t.__data__}function j(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function O(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}L.prototype={constructor:L,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var R="http://www.w3.org/1999/xhtml";const D={svg:"http://www.w3.org/2000/svg",xhtml:R,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function q(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),D.hasOwnProperty(e)?{space:D[e],local:t}:t}function $(t){return function(){this.removeAttribute(t)}}function P(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Z(t,e){return function(){this.setAttribute(t,e)}}function z(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function W(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function U(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function H(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function Y(t){return function(){this.style.removeProperty(t)}}function V(t,e,n){return function(){this.style.setProperty(t,e,n)}}function K(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function X(t,e){return t.style.getPropertyValue(e)||H(t).getComputedStyle(t,null).getPropertyValue(e)}function G(t){return function(){delete this[t]}}function J(t,e){return function(){this[t]=e}}function Q(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function tt(t){return t.trim().split(/^|\s+/)}function et(t){return t.classList||new nt(t)}function nt(t){this._node=t,this._names=tt(t.getAttribute("class")||"")}function rt(t,e){for(var n=et(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function it(t,e){for(var n=et(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function ot(t){return function(){rt(this,t)}}function st(t){return function(){it(this,t)}}function at(t,e){return function(){(e.apply(this,arguments)?rt:it)(this,t)}}function lt(){this.textContent=""}function ct(t){return function(){this.textContent=t}}function ht(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function ut(){this.innerHTML=""}function dt(t){return function(){this.innerHTML=t}}function pt(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function ft(){this.nextSibling&&this.parentNode.appendChild(this)}function mt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function gt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===R&&e.documentElement.namespaceURI===R?e.createElement(t):e.createElementNS(n,t)}}function yt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function kt(t){var e=q(t);return(e.local?yt:gt)(e)}function xt(){return null}function _t(){var t=this.parentNode;t&&t.removeChild(this)}function bt(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Ct(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function vt(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r<o;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?e.length=i:delete this.__on}}}function Tt(t,e,n){return function(){var r,i=this.__on,o=function(t){return function(e){t.call(this,e,this.__data__)}}(e);if(i)for(var s=0,a=i.length;s<a;++s)if((r=i[s]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),void(r.value=e);this.addEventListener(t.type,o,n),r={type:t.type,name:t.name,value:e,listener:o,options:n},i?i.push(r):this.__on=[r]}}function wt(t,e,n){var r=H(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function St(t,e){return function(){return wt(this,t,e)}}function At(t,e){return function(){return wt(this,t,e.apply(this,arguments))}}nt.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var It=[null];function Bt(t,e){this._groups=t,this._parents=e}function Et(){return new Bt([[document.documentElement]],It)}Bt.prototype=Et.prototype={constructor:Bt,select:function(t){"function"!=typeof t&&(t=_(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o,s,a=e[i],l=a.length,c=r[i]=new Array(l),h=0;h<l;++h)(o=a[h])&&(s=t.call(o,o.__data__,h,a))&&("__data__"in o&&(s.__data__=o.__data__),c[h]=s);return new Bt(r,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return b(t.apply(this,arguments))}}(t):v(t);for(var e=this._groups,n=e.length,r=[],i=[],o=0;o<n;++o)for(var s,a=e[o],l=a.length,c=0;c<l;++c)(s=a[c])&&(r.push(t.call(s,s.__data__,c,a)),i.push(s));return new Bt(r,i)},selectChild:function(t){return this.select(null==t?A:function(t){return function(){return S.call(this.children,t)}}("function"==typeof t?t:w(t)))},selectChildren:function(t){return this.selectAll(null==t?B:function(t){return function(){return I.call(this.children,t)}}("function"==typeof t?t:w(t)))},filter:function(t){"function"!=typeof t&&(t=T(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o,s=e[i],a=s.length,l=r[i]=[],c=0;c<a;++c)(o=s[c])&&t.call(o,o.__data__,c,s)&&l.push(o);return new Bt(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,M);var n,r=e?N:F,i=this._parents,o=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var s=o.length,a=new Array(s),l=new Array(s),c=new Array(s),h=0;h<s;++h){var u=i[h],d=o[h],p=d.length,f=j(t.call(u,u&&u.__data__,h,i)),m=f.length,g=l[h]=new Array(m),y=a[h]=new Array(m);r(u,d,g,y,c[h]=new Array(p),f,e);for(var k,x,_=0,b=0;_<m;++_)if(k=g[_]){for(_>=b&&(b=_+1);!(x=y[b])&&++b<m;);k._next=x||null}}return(a=new Bt(a,i))._enter=l,a._exit=c,a},enter:function(){return new Bt(this._enter||this._groups.map(E),this._parents)},exit:function(){return new Bt(this._exit||this._groups.map(E),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,s=Math.min(i,o),a=new Array(i),l=0;l<s;++l)for(var c,h=n[l],u=r[l],d=h.length,p=a[l]=new Array(d),f=0;f<d;++f)(c=h[f]||u[f])&&(p[f]=c);for(;l<i;++l)a[l]=n[l];return new Bt(a,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],o=i.length-1,s=i[o];--o>=0;)(r=i[o])&&(s&&4^r.compareDocumentPosition(s)&&s.parentNode.insertBefore(r,s),s=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=O);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var s,a=n[o],l=a.length,c=i[o]=new Array(l),h=0;h<l;++h)(s=a[h])&&(c[h]=s);c.sort(e)}return new Bt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var s=r[i];if(s)return s}return null},size:function(){let t=0;for(const e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,o=e[n],s=0,a=o.length;s<a;++s)(i=o[s])&&t.call(i,i.__data__,s,o);return this},attr:function(t,e){var n=q(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?P:$:"function"==typeof e?n.local?U:W:n.local?z:Z)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?Y:"function"==typeof e?K:V)(t,e,null==n?"":n)):X(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?G:"function"==typeof e?Q:J)(t,e)):this.node()[t]},classed:function(t,e){var n=tt(t+"");if(arguments.length<2){for(var r=et(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?at:e?ot:st)(n,e))},text:function(t){return arguments.length?this.each(null==t?lt:("function"==typeof t?ht:ct)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?ut:("function"==typeof t?pt:dt)(t)):this.node().innerHTML},raise:function(){return this.each(ft)},lower:function(){return this.each(mt)},append:function(t){var e="function"==typeof t?t:kt(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:kt(t),r=null==e?xt:"function"==typeof e?e:_(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(_t)},clone:function(t){return this.select(t?Ct:bt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,o=function(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}(t+""),s=o.length;if(!(arguments.length<2)){for(a=e?Tt:vt,r=0;r<s;++r)this.each(a(o[r],e,n));return this}var a=this.node().__on;if(a)for(var l,c=0,h=a.length;c<h;++c)for(r=0,l=a[c];r<s;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(t,e){return this.each(("function"==typeof e?At:St)(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,i=t[e],o=0,s=i.length;o<s;++o)(r=i[o])&&(yield r)}};const Lt=Et;var Ft={value:()=>{}};function Nt(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new Mt(r)}function Mt(t){this._=t}function jt(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function Ot(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=Ft,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}Mt.prototype=Nt.prototype={constructor:Mt,on:function(t,e){var n,r,i=this._,o=(r=i,(t+"").trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),s=-1,a=o.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++s<a;)if(n=(t=o[s]).type)i[n]=Ot(i[n],t.name,e);else if(null==e)for(n in i)i[n]=Ot(i[n],t.name,null);return this}for(;++s<a;)if((n=(t=o[s]).type)&&(n=jt(i[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new Mt(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,n=(r=this._[t]).length;o<n;++o)r[o].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};const Rt=Nt;var Dt,qt,$t=0,Pt=0,Zt=0,zt=1e3,Wt=0,Ut=0,Ht=0,Yt="object"==typeof performance&&performance.now?performance:Date,Vt="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Kt(){return Ut||(Vt(Xt),Ut=Yt.now()+Ht)}function Xt(){Ut=0}function Gt(){this._call=this._time=this._next=null}function Jt(t,e,n){var r=new Gt;return r.restart(t,e,n),r}function Qt(){Ut=(Wt=Yt.now())+Ht,$t=Pt=0;try{!function(){Kt(),++$t;for(var t,e=Dt;e;)(t=Ut-e._time)>=0&&e._call.call(void 0,t),e=e._next;--$t}()}finally{$t=0,function(){var t,e,n=Dt,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Dt=e);qt=t,ee(r)}(),Ut=0}}function te(){var t=Yt.now(),e=t-Wt;e>zt&&(Ht-=e,Wt=t)}function ee(t){$t||(Pt&&(Pt=clearTimeout(Pt)),t-Ut>24?(t<1/0&&(Pt=setTimeout(Qt,t-Yt.now()-Ht)),Zt&&(Zt=clearInterval(Zt))):(Zt||(Wt=Yt.now(),Zt=setInterval(te,zt)),$t=1,Vt(Qt)))}function ne(t,e,n){var r=new Gt;return e=null==e?0:+e,r.restart((n=>{r.stop(),t(n+e)}),e,n),r}Gt.prototype=Jt.prototype={constructor:Gt,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Kt():+n)+(null==e?0:+e),this._next||qt===this||(qt?qt._next=this:Dt=this,qt=this),this._call=t,this._time=n,ee()},stop:function(){this._call&&(this._call=null,this._time=1/0,ee())}};var re=Rt("start","end","cancel","interrupt"),ie=[],oe=0,se=1,ae=2,le=3,ce=4,he=5,ue=6;function de(t,e,n,r,i,o){var s=t.__transition;if(s){if(n in s)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(t){n.state=se,n.timer.restart(s,n.delay,n.time),n.delay<=t&&s(t-n.delay)}function s(o){var c,h,u,d;if(n.state!==se)return l();for(c in i)if((d=i[c]).name===n.name){if(d.state===le)return ne(s);d.state===ce?(d.state=ue,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete i[c]):+c<e&&(d.state=ue,d.timer.stop(),d.on.call("cancel",t,t.__data__,d.index,d.group),delete i[c])}if(ne((function(){n.state===le&&(n.state=ce,n.timer.restart(a,n.delay,n.time),a(o))})),n.state=ae,n.on.call("start",t,t.__data__,n.index,n.group),n.state===ae){for(n.state=le,r=new Array(u=n.tween.length),c=0,h=-1;c<u;++c)(d=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(r[++h]=d);r.length=h+1}}function a(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(l),n.state=he,1),o=-1,s=r.length;++o<s;)r[o].call(t,i);n.state===he&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){for(var r in n.state=ue,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=Jt(o,0,n.time)}(t,n,{name:e,index:r,group:i,on:re,tween:ie,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:oe})}function pe(t,e){var n=me(t,e);if(n.state>oe)throw new Error("too late; already scheduled");return n}function fe(t,e){var n=me(t,e);if(n.state>le)throw new Error("too late; already running");return n}function me(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function ge(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var ye,ke=180/Math.PI,xe={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function _e(t,e,n,r,i,o){var s,a,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,l/=a),t*r<e*n&&(t=-t,e=-e,l=-l,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*ke,skewX:Math.atan(l)*ke,scaleX:s,scaleY:a}}function be(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(o,s){var a=[],l=[];return o=t(o),s=t(s),function(t,r,i,o,s,a){if(t!==i||r!==o){var l=s.push("translate(",null,e,null,n);a.push({i:l-4,x:ge(t,i)},{i:l-2,x:ge(r,o)})}else(i||o)&&s.push("translate("+i+e+o+n)}(o.translateX,o.translateY,s.translateX,s.translateY,a,l),function(t,e,n,o){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:ge(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(o.rotate,s.rotate,a,l),function(t,e,n,o){t!==e?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:ge(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(o.skewX,s.skewX,a,l),function(t,e,n,r,o,s){if(t!==n||e!==r){var a=o.push(i(o)+"scale(",null,",",null,")");s.push({i:a-4,x:ge(t,n)},{i:a-2,x:ge(e,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,s.scaleX,s.scaleY,a,l),o=s=null,function(t){for(var e,n=-1,r=l.length;++n<r;)a[(e=l[n]).i]=e.x(t);return a.join("")}}}var Ce=be((function(t){const e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?xe:_e(e.a,e.b,e.c,e.d,e.e,e.f)}),"px, ","px)","deg)"),ve=be((function(t){return null==t?xe:(ye||(ye=document.createElementNS("http://www.w3.org/2000/svg","g")),ye.setAttribute("transform",t),(t=ye.transform.baseVal.consolidate())?_e((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):xe)}),", ",")",")");function Te(t,e){var n,r;return function(){var i=fe(this,t),o=i.tween;if(o!==n)for(var s=0,a=(r=n=o).length;s<a;++s)if(r[s].name===e){(r=r.slice()).splice(s,1);break}i.tween=r}}function we(t,e,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var o=fe(this,t),s=o.tween;if(s!==r){i=(r=s).slice();for(var a={name:e,value:n},l=0,c=i.length;l<c;++l)if(i[l].name===e){i[l]=a;break}l===c&&i.push(a)}o.tween=i}}function Se(t,e,n){var r=t._id;return t.each((function(){var t=fe(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return me(t,r).value[e]}}function Ae(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Ie(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Be(){}var Ee=.7,Le=1/Ee,Fe="\\s*([+-]?\\d+)\\s*",Ne="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Me="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",je=/^#([0-9a-f]{3,8})$/,Oe=new RegExp(`^rgb\\(${Fe},${Fe},${Fe}\\)$`),Re=new RegExp(`^rgb\\(${Me},${Me},${Me}\\)$`),De=new RegExp(`^rgba\\(${Fe},${Fe},${Fe},${Ne}\\)$`),qe=new RegExp(`^rgba\\(${Me},${Me},${Me},${Ne}\\)$`),$e=new RegExp(`^hsl\\(${Ne},${Me},${Me}\\)$`),Pe=new RegExp(`^hsla\\(${Ne},${Me},${Me},${Ne}\\)$`),Ze={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function ze(){return this.rgb().formatHex()}function We(){return this.rgb().formatRgb()}function Ue(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=je.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?He(e):3===n?new Xe(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?Ye(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?Ye(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Oe.exec(t))?new Xe(e[1],e[2],e[3],1):(e=Re.exec(t))?new Xe(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=De.exec(t))?Ye(e[1],e[2],e[3],e[4]):(e=qe.exec(t))?Ye(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=$e.exec(t))?nn(e[1],e[2]/100,e[3]/100,1):(e=Pe.exec(t))?nn(e[1],e[2]/100,e[3]/100,e[4]):Ze.hasOwnProperty(t)?He(Ze[t]):"transparent"===t?new Xe(NaN,NaN,NaN,0):null}function He(t){return new Xe(t>>16&255,t>>8&255,255&t,1)}function Ye(t,e,n,r){return r<=0&&(t=e=n=NaN),new Xe(t,e,n,r)}function Ve(t){return t instanceof Be||(t=Ue(t)),t?new Xe((t=t.rgb()).r,t.g,t.b,t.opacity):new Xe}function Ke(t,e,n,r){return 1===arguments.length?Ve(t):new Xe(t,e,n,null==r?1:r)}function Xe(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Ge(){return`#${en(this.r)}${en(this.g)}${en(this.b)}`}function Je(){const t=Qe(this.opacity);return`${1===t?"rgb(":"rgba("}${tn(this.r)}, ${tn(this.g)}, ${tn(this.b)}${1===t?")":`, ${t})`}`}function Qe(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function tn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function en(t){return((t=tn(t))<16?"0":"")+t.toString(16)}function nn(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new on(t,e,n,r)}function rn(t){if(t instanceof on)return new on(t.h,t.s,t.l,t.opacity);if(t instanceof Be||(t=Ue(t)),!t)return new on;if(t instanceof on)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(s=e===o?(n-r)/a+6*(n<r):n===o?(r-e)/a+2:(e-n)/a+4,a/=l<.5?o+i:2-o-i,s*=60):a=l>0&&l<1?0:s,new on(s,a,l,t.opacity)}function on(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function sn(t){return(t=(t||0)%360)<0?t+360:t}function an(t){return Math.max(0,Math.min(1,t||0))}function ln(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function cn(t,e,n,r,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*n+(1+3*t+3*o-3*s)*r+s*i)/6}Ae(Be,Ue,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:ze,formatHex:ze,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return rn(this).formatHsl()},formatRgb:We,toString:We}),Ae(Xe,Ke,Ie(Be,{brighter(t){return t=null==t?Le:Math.pow(Le,t),new Xe(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Ee:Math.pow(Ee,t),new Xe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Xe(tn(this.r),tn(this.g),tn(this.b),Qe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ge,formatHex:Ge,formatHex8:function(){return`#${en(this.r)}${en(this.g)}${en(this.b)}${en(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Je,toString:Je})),Ae(on,(function(t,e,n,r){return 1===arguments.length?rn(t):new on(t,e,n,null==r?1:r)}),Ie(Be,{brighter(t){return t=null==t?Le:Math.pow(Le,t),new on(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Ee:Math.pow(Ee,t),new on(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Xe(ln(t>=240?t-240:t+120,i,r),ln(t,i,r),ln(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new on(sn(this.h),an(this.s),an(this.l),Qe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Qe(this.opacity);return`${1===t?"hsl(":"hsla("}${sn(this.h)}, ${100*an(this.s)}%, ${100*an(this.l)}%${1===t?")":`, ${t})`}`}}));const hn=t=>()=>t;function un(t,e){return function(n){return t+n*e}}function dn(t){return 1==(t=+t)?pn:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):hn(isNaN(e)?n:e)}}function pn(t,e){var n=e-t;return n?un(t,n):hn(isNaN(t)?e:t)}const fn=function t(e){var n=dn(e);function r(t,e){var r=n((t=Ke(t)).r,(e=Ke(e)).r),i=n(t.g,e.g),o=n(t.b,e.b),s=pn(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+""}}return r.gamma=t,r}(1);function mn(t){return function(e){var n,r,i=e.length,o=new Array(i),s=new Array(i),a=new Array(i);for(n=0;n<i;++n)r=Ke(e[n]),o[n]=r.r||0,s[n]=r.g||0,a[n]=r.b||0;return o=t(o),s=t(s),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=s(t),r.b=a(t),r+""}}}mn((function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],s=r>0?t[r-1]:2*i-o,a=r<e-1?t[r+2]:2*o-i;return cn((n-r/e)*e,s,i,o,a)}})),mn((function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],s=t[(r+1)%e],a=t[(r+2)%e];return cn((n-r/e)*e,i,o,s,a)}}));var gn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,yn=new RegExp(gn.source,"g");function kn(t,e){var n,r,i,o=gn.lastIndex=yn.lastIndex=0,s=-1,a=[],l=[];for(t+="",e+="";(n=gn.exec(t))&&(r=yn.exec(e));)(i=r.index)>o&&(i=e.slice(o,i),a[s]?a[s]+=i:a[++s]=i),(n=n[0])===(r=r[0])?a[s]?a[s]+=r:a[++s]=r:(a[++s]=null,l.push({i:s,x:ge(n,r)})),o=yn.lastIndex;return o<e.length&&(i=e.slice(o),a[s]?a[s]+=i:a[++s]=i),a.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var n,r=0;r<e;++r)a[(n=l[r]).i]=n.x(t);return a.join("")})}function xn(t,e){var n;return("number"==typeof e?ge:e instanceof Ue?fn:(n=Ue(e))?(e=n,fn):kn)(t,e)}function _n(t){return function(){this.removeAttribute(t)}}function bn(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Cn(t,e,n){var r,i,o=n+"";return function(){var s=this.getAttribute(t);return s===o?null:s===r?i:i=e(r=s,n)}}function vn(t,e,n){var r,i,o=n+"";return function(){var s=this.getAttributeNS(t.space,t.local);return s===o?null:s===r?i:i=e(r=s,n)}}function Tn(t,e,n){var r,i,o;return function(){var s,a,l=n(this);if(null!=l)return(s=this.getAttribute(t))===(a=l+"")?null:s===r&&a===i?o:(i=a,o=e(r=s,l));this.removeAttribute(t)}}function wn(t,e,n){var r,i,o;return function(){var s,a,l=n(this);if(null!=l)return(s=this.getAttributeNS(t.space,t.local))===(a=l+"")?null:s===r&&a===i?o:(i=a,o=e(r=s,l));this.removeAttributeNS(t.space,t.local)}}function Sn(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}(t,i)),n}return i._value=e,i}function An(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}(t,i)),n}return i._value=e,i}function In(t,e){return function(){pe(this,t).delay=+e.apply(this,arguments)}}function Bn(t,e){return e=+e,function(){pe(this,t).delay=e}}function En(t,e){return function(){fe(this,t).duration=+e.apply(this,arguments)}}function Ln(t,e){return e=+e,function(){fe(this,t).duration=e}}var Fn=Lt.prototype.constructor;function Nn(t){return function(){this.style.removeProperty(t)}}var Mn=0;function jn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function On(){return++Mn}var Rn=Lt.prototype;jn.prototype=function(t){return Lt().transition(t)}.prototype={constructor:jn,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=_(t));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s<i;++s)for(var a,l,c=r[s],h=c.length,u=o[s]=new Array(h),d=0;d<h;++d)(a=c[d])&&(l=t.call(a,a.__data__,d,c))&&("__data__"in a&&(l.__data__=a.__data__),u[d]=l,de(u[d],e,n,d,u,me(a,n)));return new jn(o,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=v(t));for(var r=this._groups,i=r.length,o=[],s=[],a=0;a<i;++a)for(var l,c=r[a],h=c.length,u=0;u<h;++u)if(l=c[u]){for(var d,p=t.call(l,l.__data__,u,c),f=me(l,n),m=0,g=p.length;m<g;++m)(d=p[m])&&de(d,e,n,m,p,f);o.push(p),s.push(l)}return new jn(o,s,e,n)},selectChild:Rn.selectChild,selectChildren:Rn.selectChildren,filter:function(t){"function"!=typeof t&&(t=T(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o,s=e[i],a=s.length,l=r[i]=[],c=0;c<a;++c)(o=s[c])&&t.call(o,o.__data__,c,s)&&l.push(o);return new jn(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),s=new Array(r),a=0;a<o;++a)for(var l,c=e[a],h=n[a],u=c.length,d=s[a]=new Array(u),p=0;p<u;++p)(l=c[p]||h[p])&&(d[p]=l);for(;a<r;++a)s[a]=e[a];return new jn(s,this._parents,this._name,this._id)},selection:function(){return new Fn(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=On(),r=this._groups,i=r.length,o=0;o<i;++o)for(var s,a=r[o],l=a.length,c=0;c<l;++c)if(s=a[c]){var h=me(s,e);de(s,t,n,c,a,{time:h.time+h.delay+h.duration,delay:0,duration:h.duration,ease:h.ease})}return new jn(r,this._parents,t,n)},call:Rn.call,nodes:Rn.nodes,node:Rn.node,size:Rn.size,empty:Rn.empty,each:Rn.each,on:function(t,e){var n=this._id;return arguments.length<2?me(this.node(),n).on.on(t):this.each(function(t,e,n){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?pe:fe;return function(){var s=o(this,t),a=s.on;a!==r&&(i=(r=a).copy()).on(e,n),s.on=i}}(n,t,e))},attr:function(t,e){var n=q(t),r="transform"===n?ve:xn;return this.attrTween(t,"function"==typeof e?(n.local?wn:Tn)(n,r,Se(this,"attr."+t,e)):null==e?(n.local?bn:_n)(n):(n.local?vn:Cn)(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=q(t);return this.tween(n,(r.local?Sn:An)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?Ce:xn;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var o=X(this,t),s=(this.style.removeProperty(t),X(this,t));return o===s?null:o===n&&s===r?i:i=e(n=o,r=s)}}(t,r)).on("end.style."+t,Nn(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,i,o;return function(){var s=X(this,t),a=n(this),l=a+"";return null==a&&(this.style.removeProperty(t),l=a=X(this,t)),s===l?null:s===r&&l===i?o:(i=l,o=e(r=s,a))}}(t,r,Se(this,"style."+t,e))).each(function(t,e){var n,r,i,o,s="style."+e,a="end."+s;return function(){var l=fe(this,t),c=l.on,h=null==l.value[s]?o||(o=Nn(e)):void 0;c===n&&i===h||(r=(n=c).copy()).on(a,i=h),l.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,i,o=n+"";return function(){var s=X(this,t);return s===o?null:s===r?i:i=e(r=s,n)}}(t,r,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}(t,o,n)),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(Se(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){return function(e){this.textContent=t.call(this,e)}}(r)),e}return r._value=t,r}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=me(this.node(),n).tween,o=0,s=i.length;o<s;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==e?Te:we)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?In:Bn)(e,t)):me(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?En:Ln)(e,t)):me(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw new Error;return function(){fe(this,t).ease=e}}(e,t)):me(this.node(),e).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,e){return function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw new Error;fe(this,t).ease=n}}(this._id,t))},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise((function(o,s){var a={value:s},l={value:function(){0==--i&&o()}};n.each((function(){var n=fe(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(a),e._.interrupt.push(a),e._.end.push(l)),n.on=e})),0===i&&o()}))},[Symbol.iterator]:Rn[Symbol.iterator]};var Dn={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function qn(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}Lt.prototype.interrupt=function(t){return this.each((function(){!function(t,e){var n,r,i,o=t.__transition,s=!0;if(o){for(i in e=null==e?null:e+"",o)(n=o[i]).name===e?(r=n.state>ae&&n.state<he,n.state=ue,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete o[i]):s=!1;s&&delete t.__transition}}(this,t)}))},Lt.prototype.transition=function(t){var e,n;t instanceof jn?(e=t._id,t=t._name):(e=On(),(n=Dn).time=Kt(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var s,a=r[o],l=a.length,c=0;c<l;++c)(s=a[c])&&de(s,t,e,c,a,n||qn(s,e));return new jn(r,this._parents,t,e)};const{abs:$n,max:Pn,min:Zn}=Math;function zn(t){return[+t[0],+t[1]]}function Wn(t){return[zn(t[0]),zn(t[1])]}["w","e"].map(Un),["n","s"].map(Un),["n","w","e","s","nw","ne","sw","se"].map(Un);function Un(t){return{type:t}}function Hn(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function Yn(t){return(e,n)=>function(t,e){return fetch(t,e).then(Hn)}(e,n).then((e=>(new DOMParser).parseFromString(e,t)))}Yn("application/xml");Yn("text/html");var Vn=Yn("image/svg+xml");const Kn=Math.PI/180,Xn=180/Math.PI,Gn=.96422,Jn=1,Qn=.82521,tr=4/29,er=6/29,nr=3*er*er,rr=er*er*er;function ir(t){if(t instanceof or)return new or(t.l,t.a,t.b,t.opacity);if(t instanceof dr)return pr(t);t instanceof Xe||(t=Ve(t));var e,n,r=cr(t.r),i=cr(t.g),o=cr(t.b),s=sr((.2225045*r+.7168786*i+.0606169*o)/Jn);return r===i&&i===o?e=n=s:(e=sr((.4360747*r+.3850649*i+.1430804*o)/Gn),n=sr((.0139322*r+.0971045*i+.7141733*o)/Qn)),new or(116*s-16,500*(e-s),200*(s-n),t.opacity)}function or(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function sr(t){return t>rr?Math.pow(t,1/3):t/nr+tr}function ar(t){return t>er?t*t*t:nr*(t-tr)}function lr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function cr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function hr(t){if(t instanceof dr)return new dr(t.h,t.c,t.l,t.opacity);if(t instanceof or||(t=ir(t)),0===t.a&&0===t.b)return new dr(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*Xn;return new dr(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function ur(t,e,n,r){return 1===arguments.length?hr(t):new dr(t,e,n,null==r?1:r)}function dr(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function pr(t){if(isNaN(t.h))return new or(t.l,0,0,t.opacity);var e=t.h*Kn;return new or(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}function fr(t){return function(e,n){var r=t((e=ur(e)).h,(n=ur(n)).h),i=pn(e.c,n.c),o=pn(e.l,n.l),s=pn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=o(t),e.opacity=s(t),e+""}}}Ae(or,(function(t,e,n,r){return 1===arguments.length?ir(t):new or(t,e,n,null==r?1:r)}),Ie(Be,{brighter(t){return new or(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker(t){return new or(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return new Xe(lr(3.1338561*(e=Gn*ar(e))-1.6168667*(t=Jn*ar(t))-.4906146*(n=Qn*ar(n))),lr(-.9787684*e+1.9161415*t+.033454*n),lr(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),Ae(dr,ur,Ie(Be,{brighter(t){return new dr(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker(t){return new dr(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb(){return pr(this).rgb()}}));const mr=fr((function(t,e){var n=e-t;return n?un(t,n>180||n<-180?n-360*Math.round(n/360):n):hn(isNaN(t)?e:t)}));fr(pn);function gr(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}class yr extends Map{constructor(t,e=br){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const[n,r]of t)this.set(n,r)}get(t){return super.get(kr(this,t))}has(t){return super.has(kr(this,t))}set(t,e){return super.set(xr(this,t),e)}delete(t){return super.delete(_r(this,t))}}function kr({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function xr({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function _r({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function br(t){return null!==t&&"object"==typeof t?t.valueOf():t}const Cr=Symbol("implicit");function vr(){var t=new yr,e=[],n=[],r=Cr;function i(i){let o=t.get(i);if(void 0===o){if(r!==Cr)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new yr;for(const r of n)t.has(r)||t.set(r,e.push(r)-1);return i},i.range=function(t){return arguments.length?(n=Array.from(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return vr(e,n).unknown(r)},gr.apply(i,arguments),i}function Tr(){var t,e,n=vr().unknown(void 0),r=n.domain,i=n.range,o=0,s=1,a=!1,l=0,c=0,h=.5;function u(){var n=r().length,u=s<o,d=u?s:o,p=u?o:s;t=(p-d)/Math.max(1,n-l+2*c),a&&(t=Math.floor(t)),d+=(p-d-t*(n-l))*h,e=t*(1-l),a&&(d=Math.round(d),e=Math.round(e));var f=function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),o=new Array(i);++r<i;)o[r]=t+r*n;return o}(n).map((function(e){return d+t*e}));return i(u?f.reverse():f)}return delete n.unknown,n.domain=function(t){return arguments.length?(r(t),u()):r()},n.range=function(t){return arguments.length?([o,s]=t,o=+o,s=+s,u()):[o,s]},n.rangeRound=function(t){return[o,s]=t,o=+o,s=+s,a=!0,u()},n.bandwidth=function(){return e},n.step=function(){return t},n.round=function(t){return arguments.length?(a=!!t,u()):a},n.padding=function(t){return arguments.length?(l=Math.min(1,c=+t),u()):l},n.paddingInner=function(t){return arguments.length?(l=Math.min(1,t),u()):l},n.paddingOuter=function(t){return arguments.length?(c=+t,u()):c},n.align=function(t){return arguments.length?(h=Math.max(0,Math.min(1,t)),u()):h},n.copy=function(){return Tr(r(),[o,s]).round(a).paddingInner(l).paddingOuter(c).align(h)},gr.apply(u(),arguments)}const wr=Math.sqrt(50),Sr=Math.sqrt(10),Ar=Math.sqrt(2);function Ir(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),s=o>=wr?10:o>=Sr?5:o>=Ar?2:1;let a,l,c;return i<0?(c=Math.pow(10,-i)/s,a=Math.round(t*c),l=Math.round(e*c),a/c<t&&++a,l/c>e&&--l,c=-c):(c=Math.pow(10,i)*s,a=Math.round(t/c),l=Math.round(e/c),a*c<t&&++a,l*c>e&&--l),l<a&&.5<=n&&n<2?Ir(t,e,2*n):[a,l,c]}function Br(t,e,n){return Ir(t=+t,e=+e,n=+n)[2]}function Er(t,e,n){n=+n;const r=(e=+e)<(t=+t),i=r?Br(e,t,n):Br(t,e,n);return(r?-1:1)*(i<0?1/-i:i)}function Lr(t,e){return null==t||null==e?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Fr(t,e){return null==t||null==e?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Nr(t){let e,n,r;function i(t,r,i=0,o=t.length){if(i<o){if(0!==e(r,r))return o;do{const e=i+o>>>1;n(t[e],r)<0?i=e+1:o=e}while(i<o)}return i}return 2!==t.length?(e=Lr,n=(e,n)=>Lr(t(e),n),r=(e,n)=>t(e)-n):(e=t===Lr||t===Fr?t:Mr,n=t,r=t),{left:i,center:function(t,e,n=0,o=t.length){const s=i(t,e,n,o-1);return s>n&&r(t[s-1],e)>-r(t[s],e)?s-1:s},right:function(t,r,i=0,o=t.length){if(i<o){if(0!==e(r,r))return o;do{const e=i+o>>>1;n(t[e],r)<=0?i=e+1:o=e}while(i<o)}return i}}}function Mr(){return 0}const jr=Nr(Lr),Or=jr.right,Rr=(jr.left,Nr((function(t){return null===t?NaN:+t})).center,Or);function Dr(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,o=new Array(i),s=new Array(r);for(n=0;n<i;++n)o[n]=Zr(t[n],e[n]);for(;n<r;++n)s[n]=e[n];return function(t){for(n=0;n<i;++n)s[n]=o[n](t);return s}}function qr(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function $r(t,e){var n,r={},i={};for(n in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)n in t?r[n]=Zr(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}}function Pr(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(o){for(n=0;n<r;++n)i[n]=t[n]*(1-o)+e[n]*o;return i}}function Zr(t,e){var n,r,i=typeof e;return null==e||"boolean"===i?hn(e):("number"===i?ge:"string"===i?(n=Ue(e))?(e=n,fn):kn:e instanceof Ue?fn:e instanceof Date?qr:(r=e,!ArrayBuffer.isView(r)||r instanceof DataView?Array.isArray(e)?Dr:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?$r:ge:Pr))(t,e)}function zr(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}function Wr(t){return+t}var Ur=[0,1];function Hr(t){return t}function Yr(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:(n=isNaN(e)?NaN:.5,function(){return n});var n}function Vr(t,e,n){var r=t[0],i=t[1],o=e[0],s=e[1];return i<r?(r=Yr(i,r),o=n(s,o)):(r=Yr(r,i),o=n(o,s)),function(t){return o(r(t))}}function Kr(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),o=new Array(r),s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)i[s]=Yr(t[s],t[s+1]),o[s]=n(e[s],e[s+1]);return function(e){var n=Rr(t,e,1,r)-1;return o[n](i[n](e))}}function Xr(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Gr(){var t,e,n,r,i,o,s=Ur,a=Ur,l=Zr,c=Hr;function h(){var t,e,n,l=Math.min(s.length,a.length);return c!==Hr&&(t=s[0],e=s[l-1],t>e&&(n=t,t=e,e=n),c=function(n){return Math.max(t,Math.min(e,n))}),r=l>2?Kr:Vr,i=o=null,u}function u(e){return null==e||isNaN(e=+e)?n:(i||(i=r(s.map(t),a,l)))(t(c(e)))}return u.invert=function(n){return c(e((o||(o=r(a,s.map(t),ge)))(n)))},u.domain=function(t){return arguments.length?(s=Array.from(t,Wr),h()):s.slice()},u.range=function(t){return arguments.length?(a=Array.from(t),h()):a.slice()},u.rangeRound=function(t){return a=Array.from(t),l=zr,h()},u.clamp=function(t){return arguments.length?(c=!!t||Hr,h()):c!==Hr},u.interpolate=function(t){return arguments.length?(l=t,h()):l},u.unknown=function(t){return arguments.length?(n=t,u):n},function(n,r){return t=n,e=r,h()}}function Jr(){return Gr()(Hr,Hr)}var Qr,ti=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ei(t){if(!(e=ti.exec(t)))throw new Error("invalid format: "+t);var e;return new ni({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function ni(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function ri(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function ii(t){return(t=ri(Math.abs(t)))?t[1]:NaN}function oi(t,e){var n=ri(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}ei.prototype=ni.prototype,ni.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const si={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>oi(100*t,e),r:oi,s:function(t,e){var n=ri(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(Qr=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+ri(t,Math.max(0,e+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function ai(t){return t}var li,ci,hi,ui=Array.prototype.map,di=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function pi(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?ai:(e=ui.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,o=[],s=0,a=e[0],l=0;i>0&&a>0&&(l+a+1>r&&(a=Math.max(1,r-l)),o.push(t.substring(i-=a,i+a)),!((l+=a+1)>r));)a=e[s=(s+1)%e.length];return o.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",s=void 0===t.decimal?".":t.decimal+"",a=void 0===t.numerals?ai:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(ui.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"\u2212":t.minus+"",h=void 0===t.nan?"NaN":t.nan+"";function u(t){var e=(t=ei(t)).fill,n=t.align,u=t.sign,d=t.symbol,p=t.zero,f=t.width,m=t.comma,g=t.precision,y=t.trim,k=t.type;"n"===k?(m=!0,k="g"):si[k]||(void 0===g&&(g=12),y=!0,k="g"),(p||"0"===e&&"="===n)&&(p=!0,e="0",n="=");var x="$"===d?i:"#"===d&&/[boxX]/.test(k)?"0"+k.toLowerCase():"",_="$"===d?o:/[%p]/.test(k)?l:"",b=si[k],C=/[defgprs%]/.test(k);function v(t){var i,o,l,d=x,v=_;if("c"===k)v=b(t)+v,t="";else{var T=(t=+t)<0||1/t<0;if(t=isNaN(t)?h:b(Math.abs(t),g),y&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r<n;++r)switch(t[r]){case".":i=e=r;break;case"0":0===i&&(i=r),e=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),T&&0==+t&&"+"!==u&&(T=!1),d=(T?"("===u?u:c:"-"===u||"("===u?"":u)+d,v=("s"===k?di[8+Qr/3]:"")+v+(T&&"("===u?")":""),C)for(i=-1,o=t.length;++i<o;)if(48>(l=t.charCodeAt(i))||l>57){v=(46===l?s+t.slice(i+1):t.slice(i))+v,t=t.slice(0,i);break}}m&&!p&&(t=r(t,1/0));var w=d.length+t.length+v.length,S=w<f?new Array(f-w+1).join(e):"";switch(m&&p&&(t=r(S+t,S.length?f-v.length:1/0),S=""),n){case"<":t=d+t+v+S;break;case"=":t=d+S+t+v;break;case"^":t=S.slice(0,w=S.length>>1)+d+t+v+S.slice(w);break;default:t=S+d+t+v}return a(t)}return g=void 0===g?6:/[gprs]/.test(k)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),v.toString=function(){return t+""},v}return{format:u,formatPrefix:function(t,e){var n=u(((t=ei(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(ii(e)/3))),i=Math.pow(10,-r),o=di[8+r/3];return function(t){return n(i*t)+o}}}}function fi(t,e,n,r){var i,o=Er(t,e,n);switch((r=ei(null==r?",f":r)).type){case"s":var s=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ii(e)/3)))-ii(Math.abs(t)))}(o,s))||(r.precision=i),hi(r,s);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ii(e)-ii(t))+1}(o,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-ii(Math.abs(t)))}(o))||(r.precision=i-2*("%"===r.type))}return ci(r)}function mi(t){var e=t.domain;return t.ticks=function(t){var n=e();return function(t,e,n){if(!((n=+n)>0))return[];if((t=+t)==(e=+e))return[t];const r=e<t,[i,o,s]=r?Ir(e,t,n):Ir(t,e,n);if(!(o>=i))return[];const a=o-i+1,l=new Array(a);if(r)if(s<0)for(let c=0;c<a;++c)l[c]=(o-c)/-s;else for(let c=0;c<a;++c)l[c]=(o-c)*s;else if(s<0)for(let c=0;c<a;++c)l[c]=(i+c)/-s;else for(let c=0;c<a;++c)l[c]=(i+c)*s;return l}(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return fi(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i,o=e(),s=0,a=o.length-1,l=o[s],c=o[a],h=10;for(c<l&&(i=l,l=c,c=i,i=s,s=a,a=i);h-- >0;){if((i=Br(l,c,n))===r)return o[s]=l,o[a]=c,e(o);if(i>0)l=Math.floor(l/i)*i,c=Math.ceil(c/i)*i;else{if(!(i<0))break;l=Math.ceil(l*i)/i,c=Math.floor(c*i)/i}r=i}return t},t}function gi(){var t=Jr();return t.copy=function(){return Xr(t,gi())},gr.apply(t,arguments),mi(t)}li=pi({thousands:",",grouping:[3],currency:["$",""]}),ci=li.format,hi=li.formatPrefix;const yi=1e3,ki=6e4,xi=36e5,_i=864e5,bi=6048e5,Ci=2592e6,vi=31536e6,Ti=new Date,wi=new Date;function Si(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=e=>(t(e=new Date(+e)),e),i.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),i.round=t=>{const e=i(t),n=i.ceil(t);return t-e<n-t?e:n},i.offset=(t,n)=>(e(t=new Date(+t),null==n?1:Math.floor(n)),t),i.range=(n,r,o)=>{const s=[];if(n=i.ceil(n),o=null==o?1:Math.floor(o),!(n<r&&o>0))return s;let a;do{s.push(a=new Date(+n)),e(n,o),t(n)}while(a<n&&n<r);return s},i.filter=n=>Si((e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),((t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););})),n&&(i.count=(e,r)=>(Ti.setTime(+e),wi.setTime(+r),t(Ti),t(wi),Math.floor(n(Ti,wi))),i.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?e=>r(e)%t==0:e=>i.count(0,e)%t==0):i:null)),i}const Ai=Si((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t));Ai.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?Si((e=>{e.setTime(Math.floor(e/t)*t)}),((e,n)=>{e.setTime(+e+n*t)}),((e,n)=>(n-e)/t)):Ai:null);Ai.range;const Ii=Si((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+e*yi)}),((t,e)=>(e-t)/yi),(t=>t.getUTCSeconds())),Bi=(Ii.range,Si((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*yi)}),((t,e)=>{t.setTime(+t+e*ki)}),((t,e)=>(e-t)/ki),(t=>t.getMinutes()))),Ei=(Bi.range,Si((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+e*ki)}),((t,e)=>(e-t)/ki),(t=>t.getUTCMinutes()))),Li=(Ei.range,Si((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*yi-t.getMinutes()*ki)}),((t,e)=>{t.setTime(+t+e*xi)}),((t,e)=>(e-t)/xi),(t=>t.getHours()))),Fi=(Li.range,Si((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+e*xi)}),((t,e)=>(e-t)/xi),(t=>t.getUTCHours()))),Ni=(Fi.range,Si((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ki)/_i),(t=>t.getDate()-1))),Mi=(Ni.range,Si((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/_i),(t=>t.getUTCDate()-1))),ji=(Mi.range,Si((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/_i),(t=>Math.floor(t/_i))));ji.range;function Oi(t){return Si((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ki)/bi))}const Ri=Oi(0),Di=Oi(1),qi=Oi(2),$i=Oi(3),Pi=Oi(4),Zi=Oi(5),zi=Oi(6);Ri.range,Di.range,qi.range,$i.range,Pi.range,Zi.range,zi.range;function Wi(t){return Si((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/bi))}const Ui=Wi(0),Hi=Wi(1),Yi=Wi(2),Vi=Wi(3),Ki=Wi(4),Xi=Wi(5),Gi=Wi(6),Ji=(Ui.range,Hi.range,Yi.range,Vi.range,Ki.range,Xi.range,Gi.range,Si((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth()))),Qi=(Ji.range,Si((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth()))),to=(Qi.range,Si((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear())));to.every=t=>isFinite(t=Math.floor(t))&&t>0?Si((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,n)=>{e.setFullYear(e.getFullYear()+n*t)})):null;to.range;const eo=Si((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));eo.every=t=>isFinite(t=Math.floor(t))&&t>0?Si((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null;eo.range;function no(t,e,n,r,i,o){const s=[[Ii,1,yi],[Ii,5,5e3],[Ii,15,15e3],[Ii,30,3e4],[o,1,ki],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,xi],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,_i],[r,2,1728e5],[n,1,bi],[e,1,Ci],[e,3,7776e6],[t,1,vi]];function a(e,n,r){const i=Math.abs(n-e)/r,o=Nr((([,,t])=>t)).right(s,i);if(o===s.length)return t.every(Er(e/vi,n/vi,r));if(0===o)return Ai.every(Math.max(Er(e,n,r),1));const[a,l]=s[i/s[o-1][2]<s[o][2]/i?o-1:o];return a.every(l)}return[function(t,e,n){const r=e<t;r&&([t,e]=[e,t]);const i=n&&"function"==typeof n.range?n:a(t,e,n),o=i?i.range(t,+e+1):[];return r?o.reverse():o},a]}const[ro,io]=no(eo,Qi,Ui,ji,Fi,Ei),[oo,so]=no(to,Ji,Ri,Ni,Li,Bi);function ao(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function lo(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function co(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}var ho,uo,po={"-":"",_:" ",0:"0"},fo=/^\s*\d+/,mo=/^%/,go=/[\\^$*+?|[\]().{}]/g;function yo(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<n?new Array(n-o+1).join(e)+i:i)}function ko(t){return t.replace(go,"\\$&")}function xo(t){return new RegExp("^(?:"+t.map(ko).join("|")+")","i")}function _o(t){return new Map(t.map(((t,e)=>[t.toLowerCase(),e])))}function bo(t,e,n){var r=fo.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Co(t,e,n){var r=fo.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function vo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function To(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function wo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function So(t,e,n){var r=fo.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ao(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Io(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Bo(t,e,n){var r=fo.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function Eo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Lo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Fo(t,e,n){var r=fo.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function No(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Mo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function jo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Oo(t,e,n){var r=fo.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ro(t,e,n){var r=fo.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Do(t,e,n){var r=mo.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function qo(t,e,n){var r=fo.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function $o(t,e,n){var r=fo.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Po(t,e){return yo(t.getDate(),e,2)}function Zo(t,e){return yo(t.getHours(),e,2)}function zo(t,e){return yo(t.getHours()%12||12,e,2)}function Wo(t,e){return yo(1+Ni.count(to(t),t),e,3)}function Uo(t,e){return yo(t.getMilliseconds(),e,3)}function Ho(t,e){return Uo(t,e)+"000"}function Yo(t,e){return yo(t.getMonth()+1,e,2)}function Vo(t,e){return yo(t.getMinutes(),e,2)}function Ko(t,e){return yo(t.getSeconds(),e,2)}function Xo(t){var e=t.getDay();return 0===e?7:e}function Go(t,e){return yo(Ri.count(to(t)-1,t),e,2)}function Jo(t){var e=t.getDay();return e>=4||0===e?Pi(t):Pi.ceil(t)}function Qo(t,e){return t=Jo(t),yo(Pi.count(to(t),t)+(4===to(t).getDay()),e,2)}function ts(t){return t.getDay()}function es(t,e){return yo(Di.count(to(t)-1,t),e,2)}function ns(t,e){return yo(t.getFullYear()%100,e,2)}function rs(t,e){return yo((t=Jo(t)).getFullYear()%100,e,2)}function is(t,e){return yo(t.getFullYear()%1e4,e,4)}function os(t,e){var n=t.getDay();return yo((t=n>=4||0===n?Pi(t):Pi.ceil(t)).getFullYear()%1e4,e,4)}function ss(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+yo(e/60|0,"0",2)+yo(e%60,"0",2)}function as(t,e){return yo(t.getUTCDate(),e,2)}function ls(t,e){return yo(t.getUTCHours(),e,2)}function cs(t,e){return yo(t.getUTCHours()%12||12,e,2)}function hs(t,e){return yo(1+Mi.count(eo(t),t),e,3)}function us(t,e){return yo(t.getUTCMilliseconds(),e,3)}function ds(t,e){return us(t,e)+"000"}function ps(t,e){return yo(t.getUTCMonth()+1,e,2)}function fs(t,e){return yo(t.getUTCMinutes(),e,2)}function ms(t,e){return yo(t.getUTCSeconds(),e,2)}function gs(t){var e=t.getUTCDay();return 0===e?7:e}function ys(t,e){return yo(Ui.count(eo(t)-1,t),e,2)}function ks(t){var e=t.getUTCDay();return e>=4||0===e?Ki(t):Ki.ceil(t)}function xs(t,e){return t=ks(t),yo(Ki.count(eo(t),t)+(4===eo(t).getUTCDay()),e,2)}function _s(t){return t.getUTCDay()}function bs(t,e){return yo(Hi.count(eo(t)-1,t),e,2)}function Cs(t,e){return yo(t.getUTCFullYear()%100,e,2)}function vs(t,e){return yo((t=ks(t)).getUTCFullYear()%100,e,2)}function Ts(t,e){return yo(t.getUTCFullYear()%1e4,e,4)}function ws(t,e){var n=t.getUTCDay();return yo((t=n>=4||0===n?Ki(t):Ki.ceil(t)).getUTCFullYear()%1e4,e,4)}function Ss(){return"+0000"}function As(){return"%"}function Is(t){return+t}function Bs(t){return Math.floor(+t/1e3)}function Es(t){return new Date(t)}function Ls(t){return t instanceof Date?+t:+new Date(+t)}function Fs(t,e,n,r,i,o,s,a,l,c){var h=Jr(),u=h.invert,d=h.domain,p=c(".%L"),f=c(":%S"),m=c("%I:%M"),g=c("%I %p"),y=c("%a %d"),k=c("%b %d"),x=c("%B"),_=c("%Y");function b(t){return(l(t)<t?p:a(t)<t?f:s(t)<t?m:o(t)<t?g:r(t)<t?i(t)<t?y:k:n(t)<t?x:_)(t)}return h.invert=function(t){return new Date(u(t))},h.domain=function(t){return arguments.length?d(Array.from(t,Ls)):d().map(Es)},h.ticks=function(e){var n=d();return t(n[0],n[n.length-1],null==e?10:e)},h.tickFormat=function(t,e){return null==e?b:c(e)},h.nice=function(t){var n=d();return t&&"function"==typeof t.range||(t=e(n[0],n[n.length-1],null==t?10:t)),t?d(function(t,e){var n,r=0,i=(t=t.slice()).length-1,o=t[r],s=t[i];return s<o&&(n=r,r=i,i=n,n=o,o=s,s=n),t[r]=e.floor(o),t[i]=e.ceil(s),t}(n,t)):h},h.copy=function(){return Xr(h,Fs(t,e,n,r,i,o,s,a,l,c))},h}function Ns(){return gr.apply(Fs(oo,so,to,Ji,Ri,Ni,Li,Bi,Ii,uo).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}!function(t){ho=function(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,l=t.shortMonths,c=xo(i),h=_o(i),u=xo(o),d=_o(o),p=xo(s),f=_o(s),m=xo(a),g=_o(a),y=xo(l),k=_o(l),x={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return a[t.getMonth()]},c:null,d:Po,e:Po,f:Ho,g:rs,G:os,H:Zo,I:zo,j:Wo,L:Uo,m:Yo,M:Vo,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Is,s:Bs,S:Ko,u:Xo,U:Go,V:Qo,w:ts,W:es,x:null,X:null,y:ns,Y:is,Z:ss,"%":As},_={a:function(t){return s[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return a[t.getUTCMonth()]},c:null,d:as,e:as,f:ds,g:vs,G:ws,H:ls,I:cs,j:hs,L:us,m:ps,M:fs,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Is,s:Bs,S:ms,u:gs,U:ys,V:xs,w:_s,W:bs,x:null,X:null,y:Cs,Y:Ts,Z:Ss,"%":As},b={a:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=f.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=u.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=k.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=g.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return T(t,e,n,r)},d:Lo,e:Lo,f:Ro,g:Ao,G:So,H:No,I:No,j:Fo,L:Oo,m:Eo,M:Mo,p:function(t,e,n){var r=c.exec(e.slice(n));return r?(t.p=h.get(r[0].toLowerCase()),n+r[0].length):-1},q:Bo,Q:qo,s:$o,S:jo,u:Co,U:vo,V:To,w:bo,W:wo,x:function(t,e,r){return T(t,n,e,r)},X:function(t,e,n){return T(t,r,e,n)},y:Ao,Y:So,Z:Io,"%":Do};function C(t,e){return function(n){var r,i,o,s=[],a=-1,l=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++a<c;)37===t.charCodeAt(a)&&(s.push(t.slice(l,a)),null!=(i=po[r=t.charAt(++a)])?r=t.charAt(++a):i="e"===r?" ":"0",(o=e[r])&&(r=o(n,i)),s.push(r),l=a+1);return s.push(t.slice(l,a)),s.join("")}}function v(t,e){return function(n){var r,i,o=co(1900,void 0,1);if(T(o,t,n+="",0)!=n.length)return null;if("Q"in o)return new Date(o.Q);if("s"in o)return new Date(1e3*o.s+("L"in o?o.L:0));if(e&&!("Z"in o)&&(o.Z=0),"p"in o&&(o.H=o.H%12+12*o.p),void 0===o.m&&(o.m="q"in o?o.q:0),"V"in o){if(o.V<1||o.V>53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=lo(co(o.y,0,1))).getUTCDay(),r=i>4||0===i?Hi.ceil(r):Hi(r),r=Mi.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=ao(co(o.y,0,1))).getDay(),r=i>4||0===i?Di.ceil(r):Di(r),r=Ni.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?lo(co(o.y,0,1)).getUTCDay():ao(co(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,lo(o)):ao(o)}}function T(t,e,n,r){for(var i,o,s=0,a=e.length,l=n.length;s<a;){if(r>=l)return-1;if(37===(i=e.charCodeAt(s++))){if(i=e.charAt(s++),!(o=b[i in po?e.charAt(s++):i])||(r=o(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return x.x=C(n,x),x.X=C(r,x),x.c=C(e,x),_.x=C(n,_),_.X=C(r,_),_.c=C(e,_),{format:function(t){var e=C(t+="",x);return e.toString=function(){return t},e},parse:function(t){var e=v(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=C(t+="",_);return e.toString=function(){return t},e},utcParse:function(t){var e=v(t+="",!0);return e.toString=function(){return t},e}}}(t),uo=ho.format,ho.parse,ho.utcFormat,ho.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});const Ms=function(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(6*r,6*++r);return n}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function js(t){return"string"==typeof t?new Bt([[document.querySelector(t)]],[document.documentElement]):new Bt([[t]],It)}function Os(t){return"string"==typeof t?new Bt([document.querySelectorAll(t)],[document.documentElement]):new Bt([b(t)],It)}function Rs(t){return function(){return t}}const Ds=Math.abs,qs=Math.atan2,$s=Math.cos,Ps=Math.max,Zs=Math.min,zs=Math.sin,Ws=Math.sqrt,Us=1e-12,Hs=Math.PI,Ys=Hs/2,Vs=2*Hs;function Ks(t){return t>=1?Ys:t<=-1?-Ys:Math.asin(t)}const Xs=Math.PI,Gs=2*Xs,Js=1e-6,Qs=Gs-Js;function ta(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}class ea{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?ta:function(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return ta;const n=10**e;return function(t){this._+=t[0];for(let e=1,r=t.length;e<r;++e)this._+=Math.round(arguments[e]*n)/n+t[e]}}(t)}moveTo(t,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,e){this._append`L${this._x1=+t},${this._y1=+e}`}quadraticCurveTo(t,e,n,r){this._append`Q${+t},${+e},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(t,e,n,r,i,o){this._append`C${+t},${+e},${+n},${+r},${this._x1=+i},${this._y1=+o}`}arcTo(t,e,n,r,i){if(t=+t,e=+e,n=+n,r=+r,(i=+i)<0)throw new Error(`negative radius: ${i}`);let o=this._x1,s=this._y1,a=n-t,l=r-e,c=o-t,h=s-e,u=c*c+h*h;if(null===this._x1)this._append`M${this._x1=t},${this._y1=e}`;else if(u>Js)if(Math.abs(h*a-l*c)>Js&&i){let d=n-o,p=r-s,f=a*a+l*l,m=d*d+p*p,g=Math.sqrt(f),y=Math.sqrt(u),k=i*Math.tan((Xs-Math.acos((f+u-m)/(2*g*y)))/2),x=k/y,_=k/g;Math.abs(x-1)>Js&&this._append`L${t+x*c},${e+x*h}`,this._append`A${i},${i},0,0,${+(h*d>c*p)},${this._x1=t+_*a},${this._y1=e+_*l}`}else this._append`L${this._x1=t},${this._y1=e}`;else;}arc(t,e,n,r,i,o){if(t=+t,e=+e,o=!!o,(n=+n)<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(r),a=n*Math.sin(r),l=t+s,c=e+a,h=1^o,u=o?r-i:i-r;null===this._x1?this._append`M${l},${c}`:(Math.abs(this._x1-l)>Js||Math.abs(this._y1-c)>Js)&&this._append`L${l},${c}`,n&&(u<0&&(u=u%Gs+Gs),u>Qs?this._append`A${n},${n},0,1,${h},${t-s},${e-a}A${n},${n},0,1,${h},${this._x1=l},${this._y1=c}`:u>Js&&this._append`A${n},${n},0,${+(u>=Xs)},${h},${this._x1=t+n*Math.cos(i)},${this._y1=e+n*Math.sin(i)}`)}rect(t,e,n,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function na(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{const t=Math.floor(n);if(!(t>=0))throw new RangeError(`invalid digits: ${n}`);e=t}return t},()=>new ea(e)}function ra(t){return t.innerRadius}function ia(t){return t.outerRadius}function oa(t){return t.startAngle}function sa(t){return t.endAngle}function aa(t){return t&&t.padAngle}function la(t,e,n,r,i,o,s){var a=t-n,l=e-r,c=(s?o:-o)/Ws(a*a+l*l),h=c*l,u=-c*a,d=t+h,p=e+u,f=n+h,m=r+u,g=(d+f)/2,y=(p+m)/2,k=f-d,x=m-p,_=k*k+x*x,b=i-o,C=d*m-f*p,v=(x<0?-1:1)*Ws(Ps(0,b*b*_-C*C)),T=(C*x-k*v)/_,w=(-C*k-x*v)/_,S=(C*x+k*v)/_,A=(-C*k+x*v)/_,I=T-g,B=w-y,E=S-g,L=A-y;return I*I+B*B>E*E+L*L&&(T=S,w=A),{cx:T,cy:w,x01:-h,y01:-u,x11:T*(i/b-1),y11:w*(i/b-1)}}function ca(){var t=ra,e=ia,n=Rs(0),r=null,i=oa,o=sa,s=aa,a=null,l=na(c);function c(){var c,h,u,d=+t.apply(this,arguments),p=+e.apply(this,arguments),f=i.apply(this,arguments)-Ys,m=o.apply(this,arguments)-Ys,g=Ds(m-f),y=m>f;if(a||(a=c=l()),p<d&&(h=p,p=d,d=h),p>Us)if(g>Vs-Us)a.moveTo(p*$s(f),p*zs(f)),a.arc(0,0,p,f,m,!y),d>Us&&(a.moveTo(d*$s(m),d*zs(m)),a.arc(0,0,d,m,f,y));else{var k,x,_=f,b=m,C=f,v=m,T=g,w=g,S=s.apply(this,arguments)/2,A=S>Us&&(r?+r.apply(this,arguments):Ws(d*d+p*p)),I=Zs(Ds(p-d)/2,+n.apply(this,arguments)),B=I,E=I;if(A>Us){var L=Ks(A/d*zs(S)),F=Ks(A/p*zs(S));(T-=2*L)>Us?(C+=L*=y?1:-1,v-=L):(T=0,C=v=(f+m)/2),(w-=2*F)>Us?(_+=F*=y?1:-1,b-=F):(w=0,_=b=(f+m)/2)}var N=p*$s(_),M=p*zs(_),j=d*$s(v),O=d*zs(v);if(I>Us){var R,D=p*$s(b),q=p*zs(b),$=d*$s(C),P=d*zs(C);if(g<Hs)if(R=function(t,e,n,r,i,o,s,a){var l=n-t,c=r-e,h=s-i,u=a-o,d=u*l-h*c;if(!(d*d<Us))return[t+(d=(h*(e-o)-u*(t-i))/d)*l,e+d*c]}(N,M,$,P,D,q,j,O)){var Z=N-R[0],z=M-R[1],W=D-R[0],U=q-R[1],H=1/zs(((u=(Z*W+z*U)/(Ws(Z*Z+z*z)*Ws(W*W+U*U)))>1?0:u<-1?Hs:Math.acos(u))/2),Y=Ws(R[0]*R[0]+R[1]*R[1]);B=Zs(I,(d-Y)/(H-1)),E=Zs(I,(p-Y)/(H+1))}else B=E=0}w>Us?E>Us?(k=la($,P,N,M,p,E,y),x=la(D,q,j,O,p,E,y),a.moveTo(k.cx+k.x01,k.cy+k.y01),E<I?a.arc(k.cx,k.cy,E,qs(k.y01,k.x01),qs(x.y01,x.x01),!y):(a.arc(k.cx,k.cy,E,qs(k.y01,k.x01),qs(k.y11,k.x11),!y),a.arc(0,0,p,qs(k.cy+k.y11,k.cx+k.x11),qs(x.cy+x.y11,x.cx+x.x11),!y),a.arc(x.cx,x.cy,E,qs(x.y11,x.x11),qs(x.y01,x.x01),!y))):(a.moveTo(N,M),a.arc(0,0,p,_,b,!y)):a.moveTo(N,M),d>Us&&T>Us?B>Us?(k=la(j,O,D,q,d,-B,y),x=la(N,M,$,P,d,-B,y),a.lineTo(k.cx+k.x01,k.cy+k.y01),B<I?a.arc(k.cx,k.cy,B,qs(k.y01,k.x01),qs(x.y01,x.x01),!y):(a.arc(k.cx,k.cy,B,qs(k.y01,k.x01),qs(k.y11,k.x11),!y),a.arc(0,0,d,qs(k.cy+k.y11,k.cx+k.x11),qs(x.cy+x.y11,x.cx+x.x11),y),a.arc(x.cx,x.cy,B,qs(x.y11,x.x11),qs(x.y01,x.x01),!y))):a.arc(0,0,d,v,C,y):a.lineTo(j,O)}else a.moveTo(0,0);if(a.closePath(),c)return a=null,c+""||null}return c.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-Hs/2;return[$s(r)*n,zs(r)*n]},c.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),c):t},c.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:Rs(+t),c):e},c.cornerRadius=function(t){return arguments.length?(n="function"==typeof t?t:Rs(+t),c):n},c.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Rs(+t),c):r},c.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:Rs(+t),c):i},c.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:Rs(+t),c):o},c.padAngle=function(t){return arguments.length?(s="function"==typeof t?t:Rs(+t),c):s},c.context=function(t){return arguments.length?(a=null==t?null:t,c):a},c}ea.prototype;Array.prototype.slice;function ha(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function ua(t){this._context=t}function da(t){return new ua(t)}function pa(t){return t[0]}function fa(t){return t[1]}function ma(t,e){var n=Rs(!0),r=null,i=da,o=null,s=na(a);function a(a){var l,c,h,u=(a=ha(a)).length,d=!1;for(null==r&&(o=i(h=s())),l=0;l<=u;++l)!(l<u&&n(c=a[l],l,a))===d&&((d=!d)?o.lineStart():o.lineEnd()),d&&o.point(+t(c,l,a),+e(c,l,a));if(h)return o=null,h+""||null}return t="function"==typeof t?t:void 0===t?pa:Rs(t),e="function"==typeof e?e:void 0===e?fa:Rs(e),a.x=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),a):t},a.y=function(t){return arguments.length?(e="function"==typeof t?t:Rs(+t),a):e},a.defined=function(t){return arguments.length?(n="function"==typeof t?t:Rs(!!t),a):n},a.curve=function(t){return arguments.length?(i=t,null!=r&&(o=i(r)),a):i},a.context=function(t){return arguments.length?(null==t?r=o=null:o=i(r=t),a):r},a}function ga(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function ya(t){return t}function ka(){var t=ya,e=ga,n=null,r=Rs(0),i=Rs(Vs),o=Rs(0);function s(s){var a,l,c,h,u,d=(s=ha(s)).length,p=0,f=new Array(d),m=new Array(d),g=+r.apply(this,arguments),y=Math.min(Vs,Math.max(-Vs,i.apply(this,arguments)-g)),k=Math.min(Math.abs(y)/d,o.apply(this,arguments)),x=k*(y<0?-1:1);for(a=0;a<d;++a)(u=m[f[a]=a]=+t(s[a],a,s))>0&&(p+=u);for(null!=e?f.sort((function(t,n){return e(m[t],m[n])})):null!=n&&f.sort((function(t,e){return n(s[t],s[e])})),a=0,c=p?(y-d*x)/p:0;a<d;++a,g=h)l=f[a],h=g+((u=m[l])>0?u*c:0)+x,m[l]={data:s[l],index:a,value:u,startAngle:g,endAngle:h,padAngle:k};return m}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Rs(+t),s):r},s.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Rs(+t),s):i},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:Rs(+t),s):o},s}function xa(){}function _a(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function ba(t){this._context=t}function Ca(t){return new ba(t)}function va(t){this._context=t}function Ta(t){return new va(t)}function wa(t){this._context=t}function Sa(t){return new wa(t)}ua.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},ba.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:_a(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:_a(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},va.prototype={areaStart:xa,areaEnd:xa,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:_a(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},wa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:_a(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class Aa{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function Ia(t){return new Aa(t,!0)}function Ba(t){return new Aa(t,!1)}function Ea(t,e){this._basis=new ba(t),this._beta=e}Ea.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],o=e[0],s=t[n]-i,a=e[n]-o,l=-1;++l<=n;)r=l/n,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+r*s),this._beta*e[l]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const La=function t(e){function n(t){return 1===e?new ba(t):new Ea(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function Fa(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Na(t,e){this._context=t,this._k=(1-e)/6}Na.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Fa(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Fa(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Ma=function t(e){function n(t){return new Na(t,e)}return n.tension=function(e){return t(+e)},n}(0);function ja(t,e){this._context=t,this._k=(1-e)/6}ja.prototype={areaStart:xa,areaEnd:xa,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Fa(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Oa=function t(e){function n(t){return new ja(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Ra(t,e){this._context=t,this._k=(1-e)/6}Ra.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Fa(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Da=function t(e){function n(t){return new Ra(t,e)}return n.tension=function(e){return t(+e)},n}(0);function qa(t,e,n){var r=t._x1,i=t._y1,o=t._x2,s=t._y2;if(t._l01_a>Us){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Us){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*c+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*c+t._y1*t._l23_2a-n*t._l12_2a)/h}t._context.bezierCurveTo(r,i,o,s,t._x2,t._y2)}function $a(t,e){this._context=t,this._alpha=e}$a.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:qa(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Pa=function t(e){function n(t){return e?new $a(t,e):new Na(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Za(t,e){this._context=t,this._alpha=e}Za.prototype={areaStart:xa,areaEnd:xa,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:qa(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const za=function t(e){function n(t){return e?new Za(t,e):new ja(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Wa(t,e){this._context=t,this._alpha=e}Wa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:qa(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Ua=function t(e){function n(t){return e?new Wa(t,e):new Ra(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Ha(t){this._context=t}function Ya(t){return new Ha(t)}function Va(t){return t<0?-1:1}function Ka(t,e,n){var r=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),s=(n-t._y1)/(i||r<0&&-0),a=(o*i+s*r)/(r+i);return(Va(o)+Va(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function Xa(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Ga(t,e,n){var r=t._x0,i=t._y0,o=t._x1,s=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,i+a*e,o-a,s-a*n,o,s)}function Ja(t){this._context=t}function Qa(t){this._context=new tl(t)}function tl(t){this._context=t}function el(t){return new Ja(t)}function nl(t){return new Qa(t)}function rl(t){this._context=t}function il(t){var e,n,r=t.length-1,i=new Array(r),o=new Array(r),s=new Array(r);for(i[0]=0,o[0]=2,s[0]=t[0]+2*t[1],e=1;e<r-1;++e)i[e]=1,o[e]=4,s[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,o[r-1]=7,s[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/o[e-1],o[e]-=n,s[e]-=n*s[e-1];for(i[r-1]=s[r-1]/o[r-1],e=r-2;e>=0;--e)i[e]=(s[e]-i[e+1])/o[e];for(o[r-1]=(t[r]+i[r-1])/2,e=0;e<r-1;++e)o[e]=2*t[e+1]-i[e+1];return[i,o]}function ol(t){return new rl(t)}function sl(t,e){this._context=t,this._t=e}function al(t){return new sl(t,.5)}function ll(t){return new sl(t,0)}function cl(t){return new sl(t,1)}function hl(t,e,n){this.k=t,this.x=e,this.y=n}Ha.prototype={areaStart:xa,areaEnd:xa,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},Ja.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Ga(this,this._t0,Xa(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Ga(this,Xa(this,n=Ka(this,t,e)),n);break;default:Ga(this,this._t0,n=Ka(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(Qa.prototype=Object.create(Ja.prototype)).point=function(t,e){Ja.prototype.point.call(this,e,t)},tl.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,o){this._context.bezierCurveTo(e,t,r,n,o,i)}},rl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var r=il(t),i=il(e),o=0,s=1;s<n;++o,++s)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[s],e[s]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},sl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}},hl.prototype={constructor:hl,scale:function(t){return 1===t?this:new hl(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new hl(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};new hl(1,0,0);hl.prototype},1883:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(1691),i=n(2142);const o=class{constructor(){this.type=i.w.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=i.w.ALL}is(t){return this.type===t}};const s=new class{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new o}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=i.w.ALL,this}_ensureHSL(){const t=this.data,{h:e,s:n,l:i}=t;void 0===e&&(t.h=r.Z.channel.rgb2hsl(t,"h")),void 0===n&&(t.s=r.Z.channel.rgb2hsl(t,"s")),void 0===i&&(t.l=r.Z.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r:e,g:n,b:i}=t;void 0===e&&(t.r=r.Z.channel.hsl2rgb(t,"r")),void 0===n&&(t.g=r.Z.channel.hsl2rgb(t,"g")),void 0===i&&(t.b=r.Z.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,e=t.r;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"r")):e}get g(){const t=this.data,e=t.g;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"g")):e}get b(){const t=this.data,e=t.b;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"b")):e}get h(){const t=this.data,e=t.h;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"h")):e}get s(){const t=this.data,e=t.s;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"s")):e}get l(){const t=this.data,e=t.l;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(i.w.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(i.w.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(i.w.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(i.w.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(i.w.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(i.w.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}({r:0,g:0,b:0,a:0},"transparent")},1610:(t,e,n)=>{"use strict";n.d(e,{Z:()=>m});var r=n(1883),i=n(2142);const o={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;const e=t.match(o.re);if(!e)return;const n=e[1],i=parseInt(n,16),s=n.length,a=s%4==0,l=s>4,c=l?1:17,h=l?8:4,u=a?0:-1,d=l?255:15;return r.Z.set({r:(i>>h*(u+3)&d)*c,g:(i>>h*(u+2)&d)*c,b:(i>>h*(u+1)&d)*c,a:a?(i&d)*c/255:1},t)},stringify:t=>{const{r:e,g:n,b:r,a:o}=t;return o<1?`#${i.Q[Math.round(e)]}${i.Q[Math.round(n)]}${i.Q[Math.round(r)]}${i.Q[Math.round(255*o)]}`:`#${i.Q[Math.round(e)]}${i.Q[Math.round(n)]}${i.Q[Math.round(r)]}`}},s=o;var a=n(1691);const l={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(l.hueRe);if(e){const[,t,n]=e;switch(n){case"grad":return a.Z.channel.clamp.h(.9*parseFloat(t));case"rad":return a.Z.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return a.Z.channel.clamp.h(360*parseFloat(t))}}return a.Z.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(104!==e&&72!==e)return;const n=t.match(l.re);if(!n)return;const[,i,o,s,c,h]=n;return r.Z.set({h:l._hue2deg(i),s:a.Z.channel.clamp.s(parseFloat(o)),l:a.Z.channel.clamp.l(parseFloat(s)),a:c?a.Z.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},t)},stringify:t=>{const{h:e,s:n,l:r,a:i}=t;return i<1?`hsla(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}%, ${a.Z.lang.round(r)}%, ${i})`:`hsl(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}%, ${a.Z.lang.round(r)}%)`}},c=l,h={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=h.colors[t];if(e)return s.parse(e)},stringify:t=>{const e=s.stringify(t);for(const n in h.colors)if(h.colors[n]===e)return n}},u=h,d={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(114!==e&&82!==e)return;const n=t.match(d.re);if(!n)return;const[,i,o,s,l,c,h,u,p]=n;return r.Z.set({r:a.Z.channel.clamp.r(o?2.55*parseFloat(i):parseFloat(i)),g:a.Z.channel.clamp.g(l?2.55*parseFloat(s):parseFloat(s)),b:a.Z.channel.clamp.b(h?2.55*parseFloat(c):parseFloat(c)),a:u?a.Z.channel.clamp.a(p?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:n,b:r,a:i}=t;return i<1?`rgba(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}, ${a.Z.lang.round(r)}, ${a.Z.lang.round(i)})`:`rgb(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}, ${a.Z.lang.round(r)})`}},p=d,f={format:{keyword:h,hex:s,rgb:d,rgba:d,hsl:l,hsla:l},parse:t=>{if("string"!=typeof t)return t;const e=s.parse(t)||p.parse(t)||c.parse(t)||u.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(i.w.HSL)||void 0===t.data.r?c.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?p.stringify(t):s.stringify(t)},m=f},2142:(t,e,n)=>{"use strict";n.d(e,{Q:()=>i,w:()=>o});var r=n(1691);const i={};for(let s=0;s<=255;s++)i[s]=r.Z.unit.dec2hex(s);const o={ALL:0,RGB:1,HSL:2}},6174:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(1691),i=n(1610);const o=(t,e,n)=>{const o=i.Z.parse(t),s=o[e],a=r.Z.channel.clamp[e](s+n);return s!==a&&(o[e]=a),i.Z.stringify(o)}},3438:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(1691),i=n(1610);const o=(t,e)=>{const n=i.Z.parse(t);for(const i in e)n[i]=r.Z.channel.clamp[i](e[i]);return i.Z.stringify(n)}},7201:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(6174);const i=(t,e)=>(0,r.Z)(t,"l",-e)},1619:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(1691),i=n(1610);const o=t=>{const{r:e,g:n,b:o}=i.Z.parse(t),s=.2126*r.Z.channel.toLinear(e)+.7152*r.Z.channel.toLinear(n)+.0722*r.Z.channel.toLinear(o);return r.Z.lang.round(s)},s=t=>o(t)>=.5,a=t=>!s(t)},2281:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(6174);const i=(t,e)=>(0,r.Z)(t,"l",e)},1117:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(1691),i=n(1883),o=n(1610),s=n(3438);const a=(t,e,n=0,a=1)=>{if("number"!=typeof t)return(0,s.Z)(t,{a:e});const l=i.Z.set({r:r.Z.channel.clamp.r(t),g:r.Z.channel.clamp.g(e),b:r.Z.channel.clamp.b(n),a:r.Z.channel.clamp.a(a)});return o.Z.stringify(l)}},1691:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});const r={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),hsl2rgb:({h:t,s:e,l:n},i)=>{if(!e)return 2.55*n;t/=360,e/=100;const o=(n/=100)<.5?n*(1+e):n+e-n*e,s=2*n-o;switch(i){case"r":return 255*r.hue2rgb(s,o,t+1/3);case"g":return 255*r.hue2rgb(s,o,t);case"b":return 255*r.hue2rgb(s,o,t-1/3)}},rgb2hsl:({r:t,g:e,b:n},r)=>{t/=255,e/=255,n/=255;const i=Math.max(t,e,n),o=Math.min(t,e,n),s=(i+o)/2;if("l"===r)return 100*s;if(i===o)return 0;const a=i-o;if("s"===r)return 100*(s>.5?a/(2-i-o):a/(i+o));switch(i){case t:return 60*((e-n)/a+(e<n?6:0));case e:return 60*((n-t)/a+2);case n:return 60*((t-e)/a+4);default:return-1}}},i={channel:r,lang:{clamp:(t,e,n)=>e>n?Math.min(e,Math.max(n,t)):Math.min(n,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}}},7308:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});const r=function(){this.__data__=[],this.size=0};var i=n(9651);const o=function(t,e){for(var n=t.length;n--;)if((0,i.Z)(t[n][0],e))return n;return-1};var s=Array.prototype.splice;const a=function(t){var e=this.__data__,n=o(e,t);return!(n<0)&&(n==e.length-1?e.pop():s.call(e,n,1),--this.size,!0)};const l=function(t){var e=this.__data__,n=o(e,t);return n<0?void 0:e[n][1]};const c=function(t){return o(this.__data__,t)>-1};const h=function(t,e){var n=this.__data__,r=o(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=a,u.prototype.get=l,u.prototype.has=c,u.prototype.set=h;const d=u},6183:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(2508),i=n(6092);const o=(0,r.Z)(i.Z,"Map")},7834:(t,e,n)=>{"use strict";n.d(e,{Z:()=>v});const r=(0,n(2508).Z)(Object,"create");const i=function(){this.__data__=r?r(null):{},this.size=0};const o=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e};var s=Object.prototype.hasOwnProperty;const a=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return s.call(e,t)?e[t]:void 0};var l=Object.prototype.hasOwnProperty;const c=function(t){var e=this.__data__;return r?void 0!==e[t]:l.call(e,t)};const h=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this};function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=c,u.prototype.set=h;const d=u;var p=n(7308),f=n(6183);const m=function(){this.size=0,this.__data__={hash:new d,map:new(f.Z||p.Z),string:new d}};const g=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};const y=function(t,e){var n=t.__data__;return g(e)?n["string"==typeof e?"string":"hash"]:n.map};const k=function(t){var e=y(this,t).delete(t);return this.size-=e?1:0,e};const x=function(t){return y(this,t).get(t)};const _=function(t){return y(this,t).has(t)};const b=function(t,e){var n=y(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function C(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}C.prototype.clear=m,C.prototype.delete=k,C.prototype.get=x,C.prototype.has=_,C.prototype.set=b;const v=C},3203:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(2508),i=n(6092);const o=(0,r.Z)(i.Z,"Set")},1667:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=n(7308);const i=function(){this.__data__=new r.Z,this.size=0};const o=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n};const s=function(t){return this.__data__.get(t)};const a=function(t){return this.__data__.has(t)};var l=n(6183),c=n(7834);const h=function(t,e){var n=this.__data__;if(n instanceof r.Z){var i=n.__data__;if(!l.Z||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new c.Z(i)}return n.set(t,e),this.size=n.size,this};function u(t){var e=this.__data__=new r.Z(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=s,u.prototype.has=a,u.prototype.set=h;const d=u},7685:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=n(6092).Z.Symbol},4073:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=n(6092).Z.Uint8Array},7668:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});const r=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r};var i=n(9169),o=n(7771),s=n(7008),a=n(6009),l=n(8843),c=Object.prototype.hasOwnProperty;const h=function(t,e){var n=(0,o.Z)(t),h=!n&&(0,i.Z)(t),u=!n&&!h&&(0,s.Z)(t),d=!n&&!h&&!u&&(0,l.Z)(t),p=n||h||u||d,f=p?r(t.length,String):[],m=f.length;for(var g in t)!e&&!c.call(t,g)||p&&("length"==g||u&&("offset"==g||"parent"==g)||d&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||(0,a.Z)(g,m))||f.push(g);return f}},2954:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(4752),i=n(9651),o=Object.prototype.hasOwnProperty;const s=function(t,e,n){var s=t[e];o.call(t,e)&&(0,i.Z)(s,n)&&(void 0!==n||e in t)||(0,r.Z)(t,e,n)}},4752:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(7904);const i=function(t,e,n){"__proto__"==e&&r.Z?(0,r.Z)(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},1395:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return function(e,n,r){for(var i=-1,o=Object(e),s=r(e),a=s.length;a--;){var l=s[t?a:++i];if(!1===n(o[l],l,o))break}return e}}()},3589:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=n(7685),i=Object.prototype,o=i.hasOwnProperty,s=i.toString,a=r.Z?r.Z.toStringTag:void 0;const l=function(t){var e=o.call(t,a),n=t[a];try{t[a]=void 0;var r=!0}catch(l){}var i=s.call(t);return r&&(e?t[a]=n:delete t[a]),i};var c=Object.prototype.toString;const h=function(t){return c.call(t)};var u=r.Z?r.Z.toStringTag:void 0;const d=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":u&&u in Object(t)?l(t):h(t)}},9473:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(2764);const i=(0,n(1851).Z)(Object.keys,Object);var o=Object.prototype.hasOwnProperty;const s=function(t){if(!(0,r.Z)(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},9581:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(9203),i=n(1211),o=n(7227);const s=function(t,e){return(0,o.Z)((0,i.Z)(t,e,r.Z),t+"")}},1162:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return function(e){return t(e)}}},1884:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(4073);const i=function(t){var e=new t.constructor(t.byteLength);return new r.Z(e).set(new r.Z(t)),e}},1050:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(6092),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&"object"==typeof module&&module&&!module.nodeType&&module,s=o&&o.exports===i?r.Z.Buffer:void 0,a=s?s.allocUnsafe:void 0;const l=function(t,e){if(e)return t.slice();var n=t.length,r=a?a(n):new t.constructor(n);return t.copy(r),r}},2701:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(1884);const i=function(t,e){var n=e?(0,r.Z)(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},7215:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},5569:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(2954),i=n(4752);const o=function(t,e,n,o){var s=!n;n||(n={});for(var a=-1,l=e.length;++a<l;){var c=e[a],h=o?o(n[c],t[c],c,n,t):void 0;void 0===h&&(h=t[c]),s?(0,i.Z)(n,c,h):(0,r.Z)(n,c,h)}return n}},7904:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(2508);const i=function(){try{var t=(0,r.Z)(Object,"defineProperty");return t({},"",{}),t}catch(e){}}()},3413:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r="object"==typeof global&&global&&global.Object===Object&&global},2508:(t,e,n)=>{"use strict";n.d(e,{Z:()=>k});var r=n(3234);const i=n(6092).Z["__core-js_shared__"];var o,s=(o=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+o:"";const a=function(t){return!!s&&s in t};var l=n(7226),c=n(19),h=/^\[object .+?Constructor\]$/,u=Function.prototype,d=Object.prototype,p=u.toString,f=d.hasOwnProperty,m=RegExp("^"+p.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const g=function(t){return!(!(0,l.Z)(t)||a(t))&&((0,r.Z)(t)?m:h).test((0,c.Z)(t))};const y=function(t,e){return null==t?void 0:t[e]};const k=function(t,e){var n=y(t,e);return g(n)?n:void 0}},2513:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=(0,n(1851).Z)(Object.getPrototypeOf,Object)},3970:(t,e,n)=>{"use strict";n.d(e,{Z:()=>v});var r=n(2508),i=n(6092);const o=(0,r.Z)(i.Z,"DataView");var s=n(6183);const a=(0,r.Z)(i.Z,"Promise");var l=n(3203);const c=(0,r.Z)(i.Z,"WeakMap");var h=n(3589),u=n(19),d="[object Map]",p="[object Promise]",f="[object Set]",m="[object WeakMap]",g="[object DataView]",y=(0,u.Z)(o),k=(0,u.Z)(s.Z),x=(0,u.Z)(a),_=(0,u.Z)(l.Z),b=(0,u.Z)(c),C=h.Z;(o&&C(new o(new ArrayBuffer(1)))!=g||s.Z&&C(new s.Z)!=d||a&&C(a.resolve())!=p||l.Z&&C(new l.Z)!=f||c&&C(new c)!=m)&&(C=function(t){var e=(0,h.Z)(t),n="[object Object]"==e?t.constructor:void 0,r=n?(0,u.Z)(n):"";if(r)switch(r){case y:return g;case k:return d;case x:return p;case _:return f;case b:return m}return e});const v=C},3658:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(7226),i=Object.create;const o=function(){function t(){}return function(e){if(!(0,r.Z)(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();var s=n(2513),a=n(2764);const l=function(t){return"function"!=typeof t.constructor||(0,a.Z)(t)?{}:o((0,s.Z)(t))}},6009:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=/^(?:0|[1-9]\d*)$/;const i=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&r.test(t))&&t>-1&&t%1==0&&t<e}},439:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(9651),i=n(585),o=n(6009),s=n(7226);const a=function(t,e,n){if(!(0,s.Z)(n))return!1;var a=typeof e;return!!("number"==a?(0,i.Z)(n)&&(0,o.Z)(e,n.length):"string"==a&&e in n)&&(0,r.Z)(n[e],t)}},2764:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=Object.prototype;const i=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||r)}},8351:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(3413),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&"object"==typeof module&&module&&!module.nodeType&&module,s=o&&o.exports===i&&r.Z.process;const a=function(){try{var t=o&&o.require&&o.require("util").types;return t||s&&s.binding&&s.binding("util")}catch(e){}}()},1851:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){return function(n){return t(e(n))}}},1211:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});const r=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)};var i=Math.max;const o=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,s=-1,a=i(o.length-e,0),l=Array(a);++s<a;)l[s]=o[e+s];s=-1;for(var c=Array(e+1);++s<e;)c[s]=o[s];return c[e]=n(l),r(t,this,c)}}},6092:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(3413),i="object"==typeof self&&self&&self.Object===Object&&self;const o=r.Z||i||Function("return this")()},7227:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(2002),i=n(7904),o=n(9203);const s=i.Z?function(t,e){return(0,i.Z)(t,"toString",{configurable:!0,enumerable:!1,value:(0,r.Z)(e),writable:!0})}:o.Z;var a=Date.now;const l=function(t){var e=0,n=0;return function(){var r=a(),i=16-(r-n);if(n=r,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(s)},19:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=Function.prototype.toString;const i=function(t){if(null!=t){try{return r.call(t)}catch(e){}try{return t+""}catch(e){}}return""}},2002:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return function(){return t}}},9651:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){return t===e||t!=t&&e!=e}},9203:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return t}},9169:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(3589),i=n(8533);const o=function(t){return(0,i.Z)(t)&&"[object Arguments]"==(0,r.Z)(t)};var s=Object.prototype,a=s.hasOwnProperty,l=s.propertyIsEnumerable;const c=o(function(){return arguments}())?o:function(t){return(0,i.Z)(t)&&a.call(t,"callee")&&!l.call(t,"callee")}},7771:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=Array.isArray},585:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(3234),i=n(1656);const o=function(t){return null!=t&&(0,i.Z)(t.length)&&!(0,r.Z)(t)}},836:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(585),i=n(8533);const o=function(t){return(0,i.Z)(t)&&(0,r.Z)(t)}},7008:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(6092);const i=function(){return!1};var o="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=o&&"object"==typeof module&&module&&!module.nodeType&&module,a=s&&s.exports===o?r.Z.Buffer:void 0;const l=(a?a.isBuffer:void 0)||i},9697:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=n(9473),i=n(3970),o=n(9169),s=n(7771),a=n(585),l=n(7008),c=n(2764),h=n(8843),u=Object.prototype.hasOwnProperty;const d=function(t){if(null==t)return!0;if((0,a.Z)(t)&&((0,s.Z)(t)||"string"==typeof t||"function"==typeof t.splice||(0,l.Z)(t)||(0,h.Z)(t)||(0,o.Z)(t)))return!t.length;var e=(0,i.Z)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,c.Z)(t))return!(0,r.Z)(t).length;for(var n in t)if(u.call(t,n))return!1;return!0}},3234:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(3589),i=n(7226);const o=function(t){if(!(0,i.Z)(t))return!1;var e=(0,r.Z)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1656:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},7226:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},8533:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return null!=t&&"object"==typeof t}},7514:(t,e,n)=>{"use strict";n.d(e,{Z:()=>u});var r=n(3589),i=n(2513),o=n(8533),s=Function.prototype,a=Object.prototype,l=s.toString,c=a.hasOwnProperty,h=l.call(Object);const u=function(t){if(!(0,o.Z)(t)||"[object Object]"!=(0,r.Z)(t))return!1;var e=(0,i.Z)(t);if(null===e)return!0;var n=c.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==h}},8843:(t,e,n)=>{"use strict";n.d(e,{Z:()=>u});var r=n(3589),i=n(1656),o=n(8533),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1;const a=function(t){return(0,o.Z)(t)&&(0,i.Z)(t.length)&&!!s[(0,r.Z)(t)]};var l=n(1162),c=n(8351),h=c.Z&&c.Z.isTypedArray;const u=h?(0,l.Z)(h):a},2957:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});var r=n(7668),i=n(7226),o=n(2764);const s=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e};var a=Object.prototype.hasOwnProperty;const l=function(t){if(!(0,i.Z)(t))return s(t);var e=(0,o.Z)(t),n=[];for(var r in t)("constructor"!=r||!e&&a.call(t,r))&&n.push(r);return n};var c=n(585);const h=function(t){return(0,c.Z)(t)?(0,r.Z)(t,!0):l(t)}},2454:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(7834);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=t.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(i.Cache||r.Z),n}i.Cache=r.Z;const o=i},9236:(t,e,n)=>{"use strict";n.d(e,{Z:()=>I});var r=n(1667),i=n(4752),o=n(9651);const s=function(t,e,n){(void 0!==n&&!(0,o.Z)(t[e],n)||void 0===n&&!(e in t))&&(0,i.Z)(t,e,n)};var a=n(1395),l=n(1050),c=n(2701),h=n(7215),u=n(3658),d=n(9169),p=n(7771),f=n(836),m=n(7008),g=n(3234),y=n(7226),k=n(7514),x=n(8843);const _=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};var b=n(5569),C=n(2957);const v=function(t){return(0,b.Z)(t,(0,C.Z)(t))};const T=function(t,e,n,r,i,o,a){var b=_(t,n),C=_(e,n),T=a.get(C);if(T)s(t,n,T);else{var w=o?o(b,C,n+"",t,e,a):void 0,S=void 0===w;if(S){var A=(0,p.Z)(C),I=!A&&(0,m.Z)(C),B=!A&&!I&&(0,x.Z)(C);w=C,A||I||B?(0,p.Z)(b)?w=b:(0,f.Z)(b)?w=(0,h.Z)(b):I?(S=!1,w=(0,l.Z)(C,!0)):B?(S=!1,w=(0,c.Z)(C,!0)):w=[]:(0,k.Z)(C)||(0,d.Z)(C)?(w=b,(0,d.Z)(b)?w=v(b):(0,y.Z)(b)&&!(0,g.Z)(b)||(w=(0,u.Z)(C))):S=!1}S&&(a.set(C,w),i(w,C,r,o,a),a.delete(C)),s(t,n,w)}};const w=function t(e,n,i,o,l){e!==n&&(0,a.Z)(n,(function(a,c){if(l||(l=new r.Z),(0,y.Z)(a))T(e,n,c,i,t,o,l);else{var h=o?o(_(e,c),a,c+"",e,n,l):void 0;void 0===h&&(h=a),s(e,c,h)}}),C.Z)};var S=n(9581),A=n(439);const I=function(t){return(0,S.Z)((function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(i--,o):void 0,s&&(0,A.Z)(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),e=Object(e);++r<i;){var a=n[r];a&&t(e,a,r,o)}return e}))}((function(t,e,n){w(t,e,n)}))},5322:(t,e,n)=>{"use strict";n.d(e,{A:()=>Ot,B:()=>ge,C:()=>me,D:()=>It,E:()=>Ae,F:()=>nr,G:()=>oe,H:()=>ht,I:()=>Fn,J:()=>qi,K:()=>An,L:()=>to,Z:()=>Kt,a:()=>Tn,b:()=>vn,c:()=>En,d:()=>pt,e:()=>bt,f:()=>Vt,g:()=>Cn,h:()=>ue,i:()=>dn,j:()=>he,k:()=>re,l:()=>at,m:()=>gt,n:()=>Qt,o:()=>pn,p:()=>Ln,q:()=>wn,r:()=>Sn,s:()=>bn,t:()=>_n,u:()=>ye,v:()=>yt,w:()=>le,x:()=>se,y:()=>Mn,z:()=>qn});var r=n(8464),i=n(7484),o=n(7967),s=n(4218),a=n(7856),l=n(1610),c=n(3438);const h=(t,e)=>{const n=l.Z.parse(t),r={};for(const i in e)e[i]&&(r[i]=n[i]+e[i]);return(0,c.Z)(t,r)};var u=n(1117);const d=(t,e,n=50)=>{const{r:r,g:i,b:o,a:s}=l.Z.parse(t),{r:a,g:c,b:h,a:d}=l.Z.parse(e),p=n/100,f=2*p-1,m=s-d,g=((f*m==-1?f:(f+m)/(1+f*m))+1)/2,y=1-g,k=r*g+a*y,x=i*g+c*y,_=o*g+h*y,b=s*p+d*(1-p);return(0,u.Z)(k,x,_,b)},p=(t,e=100)=>{const n=l.Z.parse(t);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,d(n,t,e)};var f=n(7201),m=n(2281),g=n(1619),y=n(2454),k=n(9236),x="comm",_="rule",b="decl",C=Math.abs,v=String.fromCharCode;Object.assign;function T(t){return t.trim()}function w(t,e,n){return t.replace(e,n)}function S(t,e){return t.indexOf(e)}function A(t,e){return 0|t.charCodeAt(e)}function I(t,e,n){return t.slice(e,n)}function B(t){return t.length}function E(t,e){return e.push(t),t}function L(t,e){for(var n="",r=0;r<t.length;r++)n+=e(t[r],r,t,e)||"";return n}function F(t,e,n,r){switch(t.type){case"@layer":if(t.children.length)break;case"@import":case b:return t.return=t.return||t.value;case x:return"";case"@keyframes":return t.return=t.value+"{"+L(t.children,r)+"}";case _:if(!B(t.value=t.props.join(",")))return""}return B(n=L(t.children,r))?t.return=t.value+"{"+n+"}":""}var N=1,M=1,j=0,O=0,R=0,D="";function q(t,e,n,r,i,o,s,a){return{value:t,root:e,parent:n,type:r,props:i,children:o,line:N,column:M,length:s,return:"",siblings:a}}function $(){return R=O>0?A(D,--O):0,M--,10===R&&(M=1,N--),R}function P(){return R=O<j?A(D,O++):0,M++,10===R&&(M=1,N++),R}function Z(){return A(D,O)}function z(){return O}function W(t,e){return I(D,t,e)}function U(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function H(t){return N=M=1,j=B(D=t),O=0,[]}function Y(t){return D="",t}function V(t){return T(W(O-1,G(91===t?t+2:40===t?t+1:t)))}function K(t){for(;(R=Z())&&R<33;)P();return U(t)>2||U(R)>3?"":" "}function X(t,e){for(;--e&&P()&&!(R<48||R>102||R>57&&R<65||R>70&&R<97););return W(t,z()+(e<6&&32==Z()&&32==P()))}function G(t){for(;P();)switch(R){case t:return O;case 34:case 39:34!==t&&39!==t&&G(R);break;case 40:41===t&&G(t);break;case 92:P()}return O}function J(t,e){for(;P()&&t+R!==57&&(t+R!==84||47!==Z()););return"/*"+W(e,O-1)+"*"+v(47===t?t:P())}function Q(t){for(;!U(Z());)P();return W(t,O)}function tt(t){return Y(et("",null,null,null,[""],t=H(t),0,[0],t))}function et(t,e,n,r,i,o,s,a,l){for(var c=0,h=0,u=s,d=0,p=0,f=0,m=1,g=1,y=1,k=0,x="",_=i,b=o,C=r,T=x;g;)switch(f=k,k=P()){case 40:if(108!=f&&58==A(T,u-1)){-1!=S(T+=w(V(k),"&","&\f"),"&\f")&&(y=-1);break}case 34:case 39:case 91:T+=V(k);break;case 9:case 10:case 13:case 32:T+=K(f);break;case 92:T+=X(z()-1,7);continue;case 47:switch(Z()){case 42:case 47:E(rt(J(P(),z()),e,n,l),l);break;default:T+="/"}break;case 123*m:a[c++]=B(T)*y;case 125*m:case 59:case 0:switch(k){case 0:case 125:g=0;case 59+h:-1==y&&(T=w(T,/\f/g,"")),p>0&&B(T)-u&&E(p>32?it(T+";",r,n,u-1,l):it(w(T," ","")+";",r,n,u-2,l),l);break;case 59:T+=";";default:if(E(C=nt(T,e,n,c,h,i,a,x,_=[],b=[],u,o),o),123===k)if(0===h)et(T,e,C,C,_,o,u,a,b);else switch(99===d&&110===A(T,3)?100:d){case 100:case 108:case 109:case 115:et(t,C,C,r&&E(nt(t,C,C,0,0,i,a,x,i,_=[],u,b),b),i,b,u,a,r?_:b);break;default:et(T,C,C,C,[""],b,0,a,b)}}c=h=p=0,m=y=1,x=T="",u=s;break;case 58:u=1+B(T),p=f;default:if(m<1)if(123==k)--m;else if(125==k&&0==m++&&125==$())continue;switch(T+=v(k),k*m){case 38:y=h>0?1:(T+="\f",-1);break;case 44:a[c++]=(B(T)-1)*y,y=1;break;case 64:45===Z()&&(T+=V(P())),d=Z(),h=u=B(x=T+=Q(z())),k++;break;case 45:45===f&&2==B(T)&&(m=0)}}return o}function nt(t,e,n,r,i,o,s,a,l,c,h,u){for(var d=i-1,p=0===i?o:[""],f=function(t){return t.length}(p),m=0,g=0,y=0;m<r;++m)for(var k=0,x=I(t,d+1,d=C(g=s[m])),b=t;k<f;++k)(b=T(g>0?p[k]+" "+x:w(x,/&\f/g,p[k])))&&(l[y++]=b);return q(t,e,n,0===i?_:a,l,c,h,u)}function rt(t,e,n,r){return q(t,e,n,x,v(R),I(t,2,-2),0,r)}function it(t,e,n,r,i){return q(t,e,n,b,I(t,0,r),I(t,r+1,-1),r,i)}var ot=n(9697);const st={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},at={trace:(...t)=>{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},lt=function(t="fatal"){let e=st.fatal;"string"==typeof t?(t=t.toLowerCase())in st&&(e=st[t]):"number"==typeof t&&(e=t),at.trace=()=>{},at.debug=()=>{},at.info=()=>{},at.warn=()=>{},at.error=()=>{},at.fatal=()=>{},e<=st.fatal&&(at.fatal=console.error?console.error.bind(console,ct("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",ct("FATAL"))),e<=st.error&&(at.error=console.error?console.error.bind(console,ct("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",ct("ERROR"))),e<=st.warn&&(at.warn=console.warn?console.warn.bind(console,ct("WARN"),"color: orange"):console.log.bind(console,"\x1b[33m",ct("WARN"))),e<=st.info&&(at.info=console.info?console.info.bind(console,ct("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",ct("INFO"))),e<=st.debug&&(at.debug=console.debug?console.debug.bind(console,ct("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",ct("DEBUG"))),e<=st.trace&&(at.trace=console.debug?console.debug.bind(console,ct("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",ct("TRACE")))},ct=t=>`%c${i().format("ss.SSS")} : ${t} : `,ht=/<br\s*\/?>/gi,ut=t=>a.sanitize(t),dt=(t,e)=>{var n;if(!1!==(null==(n=e.flowchart)?void 0:n.htmlLabels)){const n=e.securityLevel;"antiscript"===n||"strict"===n?t=ut(t):"loose"!==n&&(t=(t=(t=mt(t)).replace(/</g,"<").replace(/>/g,">")).replace(/=/g,"="),t=ft(t))}return t},pt=(t,e)=>t?t=e.dompurifyConfig?a.sanitize(dt(t,e),e.dompurifyConfig).toString():a.sanitize(dt(t,e),{FORBID_TAGS:["style"]}).toString():t,ft=t=>t.replace(/#br#/g,"<br/>"),mt=t=>t.replace(ht,"#br#"),gt=t=>!1!==t&&!["false","null","0"].includes(String(t).trim().toLowerCase()),yt=function(t){const e=t.split(/(,)/),n=[];for(let r=0;r<e.length;r++){let t=e[r];if(","===t&&r>0&&r+1<e.length){const i=e[r-1],o=e[r+1];xt(i,o)&&(t=i+","+o,r++,n.pop())}n.push(_t(t))}return n.join("")},kt=(t,e)=>Math.max(0,t.split(e).length-1),xt=(t,e)=>{const n=kt(t,"~"),r=kt(e,"~");return 1===n&&1===r},_t=t=>{const e=kt(t,"~");let n=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),n=!0);const r=[...t];let i=r.indexOf("~"),o=r.lastIndexOf("~");for(;-1!==i&&-1!==o&&i!==o;)r[i]="<",r[o]=">",i=r.indexOf("~"),o=r.lastIndexOf("~");return n&&r.unshift("~"),r.join("")},bt={getRows:t=>{if(!t)return[""];return mt(t).replace(/\\n/g,"#br#").split("#br#")},sanitizeText:pt,sanitizeTextOrArray:(t,e)=>"string"==typeof t?pt(t,e):t.flat().map((t=>pt(t,e))),hasBreaks:t=>ht.test(t),splitBreaks:t=>t.split(ht),lineBreakRegex:ht,removeScript:ut,getUrl:t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},evaluate:gt,getMax:function(...t){const e=t.filter((t=>!isNaN(t)));return Math.max(...e)},getMin:function(...t){const e=t.filter((t=>!isNaN(t)));return Math.min(...e)}},Ct=(t,e)=>h(t,e?{s:-40,l:10}:{s:-40,l:-10}),vt="#ffffff",Tt="#f2f2f2";let wt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||h(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||h(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Ct(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Ct(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||p(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||p(this.tertiaryColor),this.lineColor=this.lineColor||p(this.background),this.arrowheadColor=this.arrowheadColor||p(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,f.Z)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,f.Z)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||p(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,m.Z)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||h(this.primaryColor,{h:30}),this.cScale4=this.cScale4||h(this.primaryColor,{h:60}),this.cScale5=this.cScale5||h(this.primaryColor,{h:90}),this.cScale6=this.cScale6||h(this.primaryColor,{h:120}),this.cScale7=this.cScale7||h(this.primaryColor,{h:150}),this.cScale8=this.cScale8||h(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||h(this.primaryColor,{h:270}),this.cScale10=this.cScale10||h(this.primaryColor,{h:300}),this.cScale11=this.cScale11||h(this.primaryColor,{h:330}),this.darkMode)for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScale"+h]=(0,f.Z)(this["cScale"+h],75);else for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScale"+h]=(0,f.Z)(this["cScale"+h],25);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleInv"+h]=this["cScaleInv"+h]||p(this["cScale"+h]);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this.darkMode?this["cScalePeer"+h]=this["cScalePeer"+h]||(0,m.Z)(this["cScale"+h],10):this["cScalePeer"+h]=this["cScalePeer"+h]||(0,f.Z)(this["cScale"+h],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleLabel"+h]=this["cScaleLabel"+h]||this.scaleLabelColor;const d=this.darkMode?-4:-1;for(let p=0;p<5;p++)this["surface"+p]=this["surface"+p]||h(this.mainBkg,{h:180,s:-15,l:d*(5+3*p)}),this["surfacePeer"+p]=this["surfacePeer"+p]||h(this.mainBkg,{h:180,s:-15,l:d*(8+3*p)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||h(this.primaryColor,{h:64}),this.fillType3=this.fillType3||h(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||h(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||h(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||h(this.primaryColor,{h:128}),this.fillType7=this.fillType7||h(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||h(this.primaryColor,{l:-10}),this.pie5=this.pie5||h(this.secondaryColor,{l:-10}),this.pie6=this.pie6||h(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||h(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||h(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||h(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||h(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||h(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||h(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,f.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||h(this.primaryColor,{h:-30}),this.git4=this.git4||h(this.primaryColor,{h:-60}),this.git5=this.git5||h(this.primaryColor,{h:-90}),this.git6=this.git6||h(this.primaryColor,{h:60}),this.git7=this.git7||h(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,m.Z)(this.git0,25),this.git1=(0,m.Z)(this.git1,25),this.git2=(0,m.Z)(this.git2,25),this.git3=(0,m.Z)(this.git3,25),this.git4=(0,m.Z)(this.git4,25),this.git5=(0,m.Z)(this.git5,25),this.git6=(0,m.Z)(this.git6,25),this.git7=(0,m.Z)(this.git7,25)):(this.git0=(0,f.Z)(this.git0,25),this.git1=(0,f.Z)(this.git1,25),this.git2=(0,f.Z)(this.git2,25),this.git3=(0,f.Z)(this.git3,25),this.git4=(0,f.Z)(this.git4,25),this.git5=(0,f.Z)(this.git5,25),this.git6=(0,f.Z)(this.git6,25),this.git7=(0,f.Z)(this.git7,25)),this.gitInv0=this.gitInv0||p(this.git0),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||vt,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Tt}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};let St=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,m.Z)(this.primaryColor,16),this.tertiaryColor=h(this.primaryColor,{h:-160}),this.primaryBorderColor=p(this.background),this.secondaryBorderColor=Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=p(this.primaryColor),this.secondaryTextColor=p(this.secondaryColor),this.tertiaryTextColor=p(this.tertiaryColor),this.lineColor=p(this.background),this.textColor=p(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,m.Z)(p("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=(0,u.Z)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=(0,f.Z)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=(0,f.Z)(this.sectionBkgColor,10),this.taskBorderColor=(0,u.Z)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,u.Z)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;this.secondBkg=(0,m.Z)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=(0,m.Z)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=(0,m.Z)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=h(this.primaryColor,{h:64}),this.fillType3=h(this.secondaryColor,{h:64}),this.fillType4=h(this.primaryColor,{h:-64}),this.fillType5=h(this.secondaryColor,{h:-64}),this.fillType6=h(this.primaryColor,{h:128}),this.fillType7=h(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||h(this.primaryColor,{h:30}),this.cScale4=this.cScale4||h(this.primaryColor,{h:60}),this.cScale5=this.cScale5||h(this.primaryColor,{h:90}),this.cScale6=this.cScale6||h(this.primaryColor,{h:120}),this.cScale7=this.cScale7||h(this.primaryColor,{h:150}),this.cScale8=this.cScale8||h(this.primaryColor,{h:210}),this.cScale9=this.cScale9||h(this.primaryColor,{h:270}),this.cScale10=this.cScale10||h(this.primaryColor,{h:300}),this.cScale11=this.cScale11||h(this.primaryColor,{h:330});for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleInv"+h]=this["cScaleInv"+h]||p(this["cScale"+h]);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScalePeer"+h]=this["cScalePeer"+h]||(0,m.Z)(this["cScale"+h],10);for(let d=0;d<5;d++)this["surface"+d]=this["surface"+d]||h(this.mainBkg,{h:30,s:-30,l:-(4*d-10)}),this["surfacePeer"+d]=this["surfacePeer"+d]||h(this.mainBkg,{h:30,s:-30,l:-(4*d-7)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleLabel"+h]=this["cScaleLabel"+h]||this.scaleLabelColor;for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["pie"+h]=this["cScale"+h];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,f.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,m.Z)(this.secondaryColor,20),this.git1=(0,m.Z)(this.pie2||this.secondaryColor,20),this.git2=(0,m.Z)(this.pie3||this.tertiaryColor,20),this.git3=(0,m.Z)(this.pie4||h(this.primaryColor,{h:-30}),20),this.git4=(0,m.Z)(this.pie5||h(this.primaryColor,{h:-60}),20),this.git5=(0,m.Z)(this.pie6||h(this.primaryColor,{h:-90}),10),this.git6=(0,m.Z)(this.pie7||h(this.primaryColor,{h:60}),10),this.git7=(0,m.Z)(this.pie8||h(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||p(this.git0),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||p(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||p(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||(0,m.Z)(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||(0,m.Z)(this.background,2)}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};let At=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=h(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=h(this.primaryColor,{h:-160}),this.primaryBorderColor=Ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=p(this.primaryColor),this.secondaryTextColor=p(this.secondaryColor),this.tertiaryTextColor=p(this.tertiaryColor),this.lineColor=p(this.background),this.textColor=p(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=(0,u.Z)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||h(this.primaryColor,{h:30}),this.cScale4=this.cScale4||h(this.primaryColor,{h:60}),this.cScale5=this.cScale5||h(this.primaryColor,{h:90}),this.cScale6=this.cScale6||h(this.primaryColor,{h:120}),this.cScale7=this.cScale7||h(this.primaryColor,{h:150}),this.cScale8=this.cScale8||h(this.primaryColor,{h:210}),this.cScale9=this.cScale9||h(this.primaryColor,{h:270}),this.cScale10=this.cScale10||h(this.primaryColor,{h:300}),this.cScale11=this.cScale11||h(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,f.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,f.Z)(this.tertiaryColor,40);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScale"+h]=(0,f.Z)(this["cScale"+h],10),this["cScalePeer"+h]=this["cScalePeer"+h]||(0,f.Z)(this["cScale"+h],25);for(let d=0;d<this.THEME_COLOR_LIMIT;d++)this["cScaleInv"+d]=this["cScaleInv"+d]||h(this["cScale"+d],{h:180});for(let d=0;d<5;d++)this["surface"+d]=this["surface"+d]||h(this.mainBkg,{h:30,l:-(5+5*d)}),this["surfacePeer"+d]=this["surfacePeer"+d]||h(this.mainBkg,{h:30,l:-(7+5*d)});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||p(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||p(this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=(0,m.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=h(this.primaryColor,{h:64}),this.fillType3=h(this.secondaryColor,{h:64}),this.fillType4=h(this.primaryColor,{h:-64}),this.fillType5=h(this.secondaryColor,{h:-64}),this.fillType6=h(this.primaryColor,{h:128}),this.fillType7=h(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||h(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||h(this.primaryColor,{l:-10}),this.pie5=this.pie5||h(this.secondaryColor,{l:-30}),this.pie6=this.pie6||h(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||h(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||h(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||h(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||h(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||h(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||h(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||h(this.primaryColor,{h:-30}),this.git4=this.git4||h(this.primaryColor,{h:-60}),this.git5=this.git5||h(this.primaryColor,{h:-90}),this.git6=this.git6||h(this.primaryColor,{h:60}),this.git7=this.git7||h(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,m.Z)(this.git0,25),this.git1=(0,m.Z)(this.git1,25),this.git2=(0,m.Z)(this.git2,25),this.git3=(0,m.Z)(this.git3,25),this.git4=(0,m.Z)(this.git4,25),this.git5=(0,m.Z)(this.git5,25),this.git6=(0,m.Z)(this.git6,25),this.git7=(0,m.Z)(this.git7,25)):(this.git0=(0,f.Z)(this.git0,25),this.git1=(0,f.Z)(this.git1,25),this.git2=(0,f.Z)(this.git2,25),this.git3=(0,f.Z)(this.git3,25),this.git4=(0,f.Z)(this.git4,25),this.git5=(0,f.Z)(this.git5,25),this.git6=(0,f.Z)(this.git6,25),this.git7=(0,f.Z)(this.git7,25)),this.gitInv0=this.gitInv0||(0,f.Z)(p(this.git0),25),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||p(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||p(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||vt,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Tt}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};const It=t=>{const e=new At;return e.calculate(t),e};let Bt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=(0,m.Z)("#cde498",10),this.primaryBorderColor=Ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=p(this.primaryColor),this.secondaryTextColor=p(this.secondaryColor),this.tertiaryTextColor=p(this.primaryColor),this.lineColor=p(this.background),this.textColor=p(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;this.actorBorder=(0,f.Z)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||h(this.primaryColor,{h:30}),this.cScale4=this.cScale4||h(this.primaryColor,{h:60}),this.cScale5=this.cScale5||h(this.primaryColor,{h:90}),this.cScale6=this.cScale6||h(this.primaryColor,{h:120}),this.cScale7=this.cScale7||h(this.primaryColor,{h:150}),this.cScale8=this.cScale8||h(this.primaryColor,{h:210}),this.cScale9=this.cScale9||h(this.primaryColor,{h:270}),this.cScale10=this.cScale10||h(this.primaryColor,{h:300}),this.cScale11=this.cScale11||h(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,f.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,f.Z)(this.tertiaryColor,40);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScale"+h]=(0,f.Z)(this["cScale"+h],10),this["cScalePeer"+h]=this["cScalePeer"+h]||(0,f.Z)(this["cScale"+h],25);for(let d=0;d<this.THEME_COLOR_LIMIT;d++)this["cScaleInv"+d]=this["cScaleInv"+d]||h(this["cScale"+d],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleLabel"+h]=this["cScaleLabel"+h]||this.scaleLabelColor;for(let d=0;d<5;d++)this["surface"+d]=this["surface"+d]||h(this.mainBkg,{h:30,s:-30,l:-(5+5*d)}),this["surfacePeer"+d]=this["surfacePeer"+d]||h(this.mainBkg,{h:30,s:-30,l:-(8+5*d)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=h(this.primaryColor,{h:64}),this.fillType3=h(this.secondaryColor,{h:64}),this.fillType4=h(this.primaryColor,{h:-64}),this.fillType5=h(this.secondaryColor,{h:-64}),this.fillType6=h(this.primaryColor,{h:128}),this.fillType7=h(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||h(this.primaryColor,{l:-30}),this.pie5=this.pie5||h(this.secondaryColor,{l:-30}),this.pie6=this.pie6||h(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||h(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||h(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||h(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||h(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||h(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||h(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||h(this.primaryColor,{h:-30}),this.git4=this.git4||h(this.primaryColor,{h:-60}),this.git5=this.git5||h(this.primaryColor,{h:-90}),this.git6=this.git6||h(this.primaryColor,{h:60}),this.git7=this.git7||h(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,m.Z)(this.git0,25),this.git1=(0,m.Z)(this.git1,25),this.git2=(0,m.Z)(this.git2,25),this.git3=(0,m.Z)(this.git3,25),this.git4=(0,m.Z)(this.git4,25),this.git5=(0,m.Z)(this.git5,25),this.git6=(0,m.Z)(this.git6,25),this.git7=(0,m.Z)(this.git7,25)):(this.git0=(0,f.Z)(this.git0,25),this.git1=(0,f.Z)(this.git1,25),this.git2=(0,f.Z)(this.git2,25),this.git3=(0,f.Z)(this.git3,25),this.git4=(0,f.Z)(this.git4,25),this.git5=(0,f.Z)(this.git5,25),this.git6=(0,f.Z)(this.git6,25),this.git7=(0,f.Z)(this.git7,25)),this.gitInv0=this.gitInv0||p(this.git0),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||p(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||p(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||vt,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Tt}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};class Et{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,m.Z)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=h(this.primaryColor,{h:-160}),this.primaryBorderColor=Ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=p(this.primaryColor),this.secondaryTextColor=p(this.secondaryColor),this.tertiaryTextColor=p(this.tertiaryColor),this.lineColor=p(this.background),this.textColor=p(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;this.secondBkg=(0,m.Z)(this.contrast,55),this.border2=this.contrast,this.actorBorder=(0,m.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleInv"+h]=this["cScaleInv"+h]||p(this["cScale"+h]);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this.darkMode?this["cScalePeer"+h]=this["cScalePeer"+h]||(0,m.Z)(this["cScale"+h],10):this["cScalePeer"+h]=this["cScalePeer"+h]||(0,f.Z)(this["cScale"+h],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleLabel"+h]=this["cScaleLabel"+h]||this.scaleLabelColor;for(let d=0;d<5;d++)this["surface"+d]=this["surface"+d]||h(this.mainBkg,{l:-(5+5*d)}),this["surfacePeer"+d]=this["surfacePeer"+d]||h(this.mainBkg,{l:-(8+5*d)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=(0,m.Z)(this.contrast,30),this.sectionBkgColor2=(0,m.Z)(this.contrast,30),this.taskBorderColor=(0,f.Z)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=(0,m.Z)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=(0,f.Z)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=h(this.primaryColor,{h:64}),this.fillType3=h(this.secondaryColor,{h:64}),this.fillType4=h(this.primaryColor,{h:-64}),this.fillType5=h(this.secondaryColor,{h:-64}),this.fillType6=h(this.primaryColor,{h:128}),this.fillType7=h(this.secondaryColor,{h:128});for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["pie"+h]=this["cScale"+h];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,f.Z)(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||h(this.primaryColor,{h:-30}),this.git4=this.pie5||h(this.primaryColor,{h:-60}),this.git5=this.pie6||h(this.primaryColor,{h:-90}),this.git6=this.pie7||h(this.primaryColor,{h:60}),this.git7=this.pie8||h(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||p(this.git0),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||vt,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Tt}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}}const Lt={base:{getThemeVariables:t=>{const e=new wt;return e.calculate(t),e}},dark:{getThemeVariables:t=>{const e=new St;return e.calculate(t),e}},default:{getThemeVariables:It},forest:{getThemeVariables:t=>{const e=new Bt;return e.calculate(t),e}},neutral:{getThemeVariables:t=>{const e=new Et;return e.calculate(t),e}}},Ft={flowchart:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},theme:"default",maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,fontSize:16},Nt={...Ft,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Lt.default.getThemeVariables(),sequence:{...Ft.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...Ft.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Ft.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...Ft.pie,useWidth:984},xyChart:{...Ft.xyChart,useWidth:void 0},requirement:{...Ft.requirement,useWidth:void 0},gitGraph:{...Ft.gitGraph,useMaxWidth:!1},sankey:{...Ft.sankey,useMaxWidth:!1}},Mt=(t,e="")=>Object.keys(t).reduce(((n,r)=>Array.isArray(t[r])?n:"object"==typeof t[r]&&null!==t[r]?[...n,e+r,...Mt(t[r],"")]:[...n,e+r]),[]),jt=new Set(Mt(Nt,"")),Ot=Nt,Rt=t=>{if(at.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t)if(Array.isArray(t))t.forEach((t=>Rt(t)));else{for(const e of Object.keys(t)){if(at.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!jt.has(e)||null==t[e]){at.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){at.debug("sanitizing object",e),Rt(t[e]);continue}const n=["themeCSS","fontFamily","altFontFamily"];for(const r of n)e.includes(r)&&(at.debug("sanitizing css option",e),t[e]=Dt(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const n=t.themeVariables[e];(null==n?void 0:n.match)&&!n.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}at.debug("After sanitization",t)}},Dt=t=>{let e=0,n=0;for(const r of t){if(e<n)return"{ /* ERROR: Unbalanced CSS */ }";"{"===r?e++:"}"===r&&n++}return e!==n?"{ /* ERROR: Unbalanced CSS */ }":t},qt=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,$t=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Pt=/\s*%%.*\n/gm;class Zt extends Error{constructor(t){super(t),this.name="UnknownDiagramError"}}const zt={},Wt=function(t,e){t=t.replace(qt,"").replace($t,"").replace(Pt,"\n");for(const[n,{detector:r}]of Object.entries(zt)){if(r(t,e))return n}throw new Zt(`No diagram type detected matching given configuration for text: ${t}`)},Ut=(...t)=>{for(const{id:e,detector:n,loader:r}of t)Ht(e,n,r)},Ht=(t,e,n)=>{zt[t]?at.error(`Detector with key ${t} already exists`):zt[t]={detector:e,loader:n},at.debug(`Detector with key ${t} added${n?" with loader":""}`)},Yt=(t,e,{depth:n=2,clobber:r=!1}={})=>{const i={depth:n,clobber:r};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach((e=>Yt(t,e,i))),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach((e=>{t.includes(e)||t.push(e)})),t):void 0===t||n<=0?null!=t&&"object"==typeof t&&"object"==typeof e?Object.assign(t,e):e:(void 0!==e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).forEach((i=>{"object"!=typeof e[i]||void 0!==t[i]&&"object"!=typeof t[i]?(r||"object"!=typeof t[i]&&"object"!=typeof e[i])&&(t[i]=e[i]):(void 0===t[i]&&(t[i]=Array.isArray(e[i])?[]:{}),t[i]=Yt(t[i],e[i],{depth:n-1,clobber:r}))})),t)},Vt=Yt,Kt="\u200b",Xt={curveBasis:s.$0Z,curveBasisClosed:s.Dts,curveBasisOpen:s.WQY,curveBumpX:s.qpX,curveBumpY:s.u93,curveBundle:s.tFB,curveCardinalClosed:s.OvA,curveCardinalOpen:s.dCK,curveCardinal:s.YY7,curveCatmullRomClosed:s.fGX,curveCatmullRomOpen:s.$m7,curveCatmullRom:s.zgE,curveLinear:s.c_6,curveLinearClosed:s.fxm,curveMonotoneX:s.FdL,curveMonotoneY:s.ak_,curveNatural:s.SxZ,curveStep:s.eA_,curveStepAfter:s.jsv,curveStepBefore:s.iJ},Gt=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Jt=function(t,e=null){try{const n=new RegExp(`[%]{2}(?![{]${Gt.source})(?=[}][%]{2}).*\n`,"ig");let r;t=t.trim().replace(n,"").replace(/'/gm,'"'),at.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);const i=[];for(;null!==(r=$t.exec(t));)if(r.index===$t.lastIndex&&$t.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const t=r[1]?r[1]:r[2],e=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;i.push({type:t,args:e})}return 0===i.length?{type:t,args:null}:1===i.length?i[0]:i}catch(n){return at.error(`ERROR: ${n.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}};function Qt(t,e){if(!t)return e;const n=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return Xt[n]??e}function te(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}const ee=(t,e=2)=>{const n=Math.pow(10,e);return Math.round(t*n)/n},ne=(t,e)=>{let n,r=e;for(const i of t){if(n){const t=te(i,n);if(t<r)r-=t;else{const e=r/t;if(e<=0)return n;if(e>=1)return{x:i.x,y:i.y};if(e>0&&e<1)return{x:ee((1-e)*n.x+e*i.x,5),y:ee((1-e)*n.y+e*i.y,5)}}}n=i}throw new Error("Could not find a suitable point for the given distance")};function re(t){let e="",n="";for(const r of t)void 0!==r&&(r.startsWith("color:")||r.startsWith("text-align:")?n=n+r+";":e=e+r+";");return{style:e,labelStyle:n}}let ie=0;const oe=()=>(ie++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ie);const se=t=>function(t){let e="";const n="0123456789abcdef";for(let r=0;r<t;r++)e+=n.charAt(Math.floor(16*Math.random()));return e}(t.length),ae=function(t,e){const n=e.text.replace(bt.lineBreakRegex," "),[,r]=me(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",r),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);const o=i.append("tspan");return o.attr("x",e.x+2*e.textMargin),o.attr("fill",e.fill),o.text(n),i},le=(0,y.Z)(((t,e,n)=>{if(!t)return t;if(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},n),bt.lineBreakRegex.test(t))return t;const r=t.split(" "),i=[];let o="";return r.forEach(((t,s)=>{const a=ue(`${t} `,n),l=ue(o,n);if(a>e){const{hyphenatedStrings:r,remainingWord:s}=ce(t,e,"-",n);i.push(o,...r),o=s}else l+a>=e?(i.push(o),o=t):o=[o,t].filter(Boolean).join(" ");s+1===r.length&&i.push(o)})),i.filter((t=>""!==t)).join(n.joinWith)}),((t,e,n)=>`${t}${e}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}`)),ce=(0,y.Z)(((t,e,n="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const i=[...t],o=[];let s="";return i.forEach(((t,a)=>{const l=`${s}${t}`;if(ue(l,r)>=e){const t=a+1,e=i.length===t,r=`${l}${n}`;o.push(e?l:r),s=""}else s=l})),{hyphenatedStrings:o,remainingWord:s}}),((t,e,n="-",r)=>`${t}${e}${n}${r.fontSize}${r.fontWeight}${r.fontFamily}`));function he(t,e){return de(t,e).height}function ue(t,e){return de(t,e).width}const de=(0,y.Z)(((t,e)=>{const{fontSize:n=12,fontFamily:r="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,o]=me(n),a=["sans-serif",r],l=t.split(bt.lineBreakRegex),c=[],h=(0,s.Ys)("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const u=h.append("svg");for(const s of a){let t=0;const e={width:0,height:0,lineHeight:0};for(const n of l){const r={x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""};r.text=n||Kt;const a=ae(u,r).style("font-size",o).style("font-weight",i).style("font-family",s),l=(a._groups||a)[0][0].getBBox();if(0===l.width&&0===l.height)throw new Error("svg element not in render tree");e.width=Math.round(Math.max(e.width,l.width)),t=Math.round(l.height),e.height+=t,e.lineHeight=Math.round(Math.max(e.lineHeight,t))}c.push(e)}u.remove();return c[isNaN(c[1].height)||isNaN(c[1].width)||isNaN(c[1].lineHeight)||c[0].height>c[1].height&&c[0].width>c[1].width&&c[0].lineHeight>c[1].lineHeight?0:1]}),((t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`));let pe;function fe(t){return"str"in t}const me=t=>{if("number"==typeof t)return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]};function ge(t,e){return(0,k.Z)({},t,e)}const ye={assignWithDepth:Vt,wrapLabel:le,calculateTextHeight:he,calculateTextWidth:ue,calculateTextDimensions:de,cleanAndMerge:ge,detectInit:function(t,e){const n=Jt(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(n)){const t=n.map((t=>t.args));Rt(t),r=Vt(r,[...t])}else r=n.args;if(!r)return;let i=Wt(t,e);const o="config";return void 0!==r[o]&&("flowchart-v2"===i&&(i="flowchart"),r[i]=r[o],delete r[o]),r},detectDirective:Jt,isSubstringInArray:function(t,e){for(const[n,r]of e.entries())if(r.match(t))return n;return-1},interpolateToCurve:Qt,calcLabelPosition:function(t){return 1===t.length?t[0]:function(t){let e,n=0;return t.forEach((t=>{n+=te(t,e),e=t})),ne(t,n/2)}(t)},calcCardinalityPosition:(t,e,n)=>{at.info(`our points ${JSON.stringify(e)}`),e[0]!==n&&(e=e.reverse());const r=ne(e,25),i=t?10:5,o=Math.atan2(e[0].y-r.y,e[0].x-r.x),s={x:0,y:0};return s.x=Math.sin(o)*i+(e[0].x+r.x)/2,s.y=-Math.cos(o)*i+(e[0].y+r.y)/2,s},calcTerminalLabelPosition:function(t,e,n){const r=structuredClone(n);at.info("our points",r),"start_left"!==e&&"start_right"!==e&&r.reverse();const i=ne(r,25+t),o=10+.5*t,s=Math.atan2(r[0].y-i.y,r[0].x-i.x),a={x:0,y:0};return"start_left"===e?(a.x=Math.sin(s+Math.PI)*o+(r[0].x+i.x)/2,a.y=-Math.cos(s+Math.PI)*o+(r[0].y+i.y)/2):"end_right"===e?(a.x=Math.sin(s-Math.PI)*o+(r[0].x+i.x)/2-5,a.y=-Math.cos(s-Math.PI)*o+(r[0].y+i.y)/2-5):"end_left"===e?(a.x=Math.sin(s)*o+(r[0].x+i.x)/2-5,a.y=-Math.cos(s)*o+(r[0].y+i.y)/2-5):(a.x=Math.sin(s)*o+(r[0].x+i.x)/2,a.y=-Math.cos(s)*o+(r[0].y+i.y)/2),a},formatUrl:function(t,e){const n=t.trim();if(n)return"loose"!==e.securityLevel?(0,o.Nm)(n):n},getStylesFromArray:re,generateId:oe,random:se,runFunc:(t,...e)=>{const n=t.split("."),r=n.length-1,i=n[r];let o=window;for(let s=0;s<r;s++)if(o=o[n[s]],!o)return void at.error(`Function name: ${t} not found in window`);o[i](...e)},entityDecode:function(t){return pe=pe||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),pe.innerHTML=t,unescape(pe.textContent)},insertTitle:(t,e,n,r)=>{var i;if(!r)return;const o=null==(i=t.node())?void 0:i.getBBox();o&&t.append("text").text(r).attr("x",o.x+o.width/2).attr("y",-n).attr("class",e)},parseFontSize:me,InitIDGenerator:class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}}},ke="10.6.1",xe=Object.freeze(Ot);let _e,be=Vt({},xe),Ce=[],ve=Vt({},xe);const Te=(t,e)=>{let n=Vt({},t),r={};for(const i of e)Ie(i),r=Vt(r,i);if(n=Vt(n,r),r.theme&&r.theme in Lt){const t=Vt({},_e),e=Vt(t.themeVariables||{},r.themeVariables);n.theme&&n.theme in Lt&&(n.themeVariables=Lt[n.theme].getThemeVariables(e))}return ve=n,Ne(ve),ve},we=()=>Vt({},be),Se=t=>(Ne(t),Vt(ve,t),Ae()),Ae=()=>Vt({},ve),Ie=t=>{t&&(["secure",...be.secure??[]].forEach((e=>{Object.hasOwn(t,e)&&(at.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])})),Object.keys(t).forEach((e=>{e.startsWith("__")&&delete t[e]})),Object.keys(t).forEach((e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&Ie(t[e])})))},Be=t=>{Rt(t),!t.fontFamily||t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily}),Ce.push(t),Te(be,Ce)},Ee=(t=be)=>{Ce=[],Te(t,Ce)},Le={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Fe={},Ne=t=>{var e;t&&((t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&(Fe[e="LAZY_LOAD_DEPRECATED"]||(at.warn(Le[e]),Fe[e]=!0)))},Me={id:"c4",detector:t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),loader:async()=>{const{diagram:t}=await n.e(132).then(n.bind(n,132));return{id:"c4",diagram:t}}},je="flowchart",Oe={id:je,detector:(t,e)=>{var n,r;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer)&&"elk"!==(null==(r=null==e?void 0:e.flowchart)?void 0:r.defaultRenderer)&&/^\s*graph/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(9840),n.e(5269),n.e(7936),n.e(8955),n.e(1763)]).then(n.bind(n,1763));return{id:je,diagram:t}}},Re="flowchart-v2",De={id:Re,detector:(t,e)=>{var n,r,i;return"dagre-d3"!==(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer)&&"elk"!==(null==(r=null==e?void 0:e.flowchart)?void 0:r.defaultRenderer)&&(!(!/^\s*graph/.test(t)||"dagre-wrapper"!==(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer))||/^\s*flowchart/.test(t))},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(9840),n.e(5269),n.e(7936),n.e(8955),n.e(9893)]).then(n.bind(n,9893));return{id:Re,diagram:t}}},qe={id:"er",detector:t=>/^\s*erDiagram/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(3343)]).then(n.bind(n,3343));return{id:"er",diagram:t}}},$e="gitGraph",Pe={id:$e,detector:t=>/^\s*gitGraph/.test(t),loader:async()=>{const{diagram:t}=await n.e(3619).then(n.bind(n,3619));return{id:$e,diagram:t}}},Ze="gantt",ze={id:Ze,detector:t=>/^\s*gantt/.test(t),loader:async()=>{const{diagram:t}=await n.e(6314).then(n.bind(n,8016));return{id:Ze,diagram:t}}},We="info",Ue={id:We,detector:t=>/^\s*info/.test(t),loader:async()=>{const{diagram:t}=await n.e(5326).then(n.bind(n,5326));return{id:We,diagram:t}}},He={id:"pie",detector:t=>/^\s*pie/.test(t),loader:async()=>{const{diagram:t}=await n.e(2661).then(n.bind(n,2661));return{id:"pie",diagram:t}}},Ye="quadrantChart",Ve={id:Ye,detector:t=>/^\s*quadrantChart/.test(t),loader:async()=>{const{diagram:t}=await n.e(6648).then(n.bind(n,6648));return{id:Ye,diagram:t}}},Ke="xychart",Xe={id:Ke,detector:t=>/^\s*xychart-beta/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([n.e(9840),n.e(2693)]).then(n.bind(n,8088));return{id:Ke,diagram:t}}},Ge="requirement",Je={id:Ge,detector:t=>/^\s*requirement(Diagram)?/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(6985)]).then(n.bind(n,6985));return{id:Ge,diagram:t}}},Qe="sequence",tn={id:Qe,detector:t=>/^\s*sequenceDiagram/.test(t),loader:async()=>{const{diagram:t}=await n.e(5790).then(n.bind(n,5790));return{id:Qe,diagram:t}}},en="class",nn={id:en,detector:(t,e)=>{var n;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.class)?void 0:n.defaultRenderer)&&/^\s*classDiagram/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(4706),n.e(109)]).then(n.bind(n,109));return{id:en,diagram:t}}},rn="classDiagram",on={id:rn,detector:(t,e)=>{var n;return!(!/^\s*classDiagram/.test(t)||"dagre-wrapper"!==(null==(n=null==e?void 0:e.class)?void 0:n.defaultRenderer))||/^\s*classDiagram-v2/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(9840),n.e(5269),n.e(7936),n.e(4706),n.e(6255)]).then(n.bind(n,6255));return{id:rn,diagram:t}}},sn="state",an={id:sn,detector:(t,e)=>{var n;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer)&&/^\s*stateDiagram/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(1504),n.e(2696)]).then(n.bind(n,2696));return{id:sn,diagram:t}}},ln="stateDiagram",cn={id:ln,detector:(t,e)=>{var n;return!!/^\s*stateDiagram-v2/.test(t)||!(!/^\s*stateDiagram/.test(t)||"dagre-wrapper"!==(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(9840),n.e(5269),n.e(7936),n.e(1504),n.e(5943)]).then(n.bind(n,5943));return{id:ln,diagram:t}}},hn="journey",un={id:hn,detector:t=>/^\s*journey/.test(t),loader:async()=>{const{diagram:t}=await n.e(2183).then(n.bind(n,2183));return{id:hn,diagram:t}}},dn=function(t,e,n,r){const i=function(t,e,n){let r=new Map;return n?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r}(e,n,r);!function(t,e){for(let n of e)t.attr(n[0],n[1])}(t,i)},pn=function(t,e,n,r){const i=e.node().getBBox(),o=i.width,s=i.height;at.info(`SVG bounds: ${o}x${s}`,i);let a=0,l=0;at.info(`Graph bounds: ${a}x${l}`,t),a=o+2*n,l=s+2*n,at.info(`Calculated bounds: ${a}x${l}`),dn(e,l,a,r);const c=`${i.x-n} ${i.y-n} ${i.width+2*n} ${i.height+2*n}`;e.attr("viewBox",c)},fn={},mn=(t,e,n)=>{let r="";return t in fn&&fn[t]?r=fn[t](n):at.warn(`No theme found for ${t}`),` & {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n fill: ${n.textColor}\n }\n\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${n.errorBkgColor};\n }\n & .error-text {\n fill: ${n.errorTextColor};\n stroke: ${n.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 2px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${n.lineColor};\n stroke: ${n.lineColor};\n }\n & .marker.cross {\n stroke: ${n.lineColor};\n }\n\n & svg {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n }\n\n ${r}\n\n ${e}\n`};let gn="",yn="",kn="";const xn=t=>pt(t,Ae()),_n=()=>{gn="",kn="",yn=""},bn=t=>{gn=xn(t).replace(/^\s+/g,"")},Cn=()=>gn,vn=t=>{kn=xn(t).replace(/\n\s+/g,"\n")},Tn=()=>kn,wn=t=>{yn=xn(t)},Sn=()=>yn,An=Object.freeze(Object.defineProperty({__proto__:null,clear:_n,getAccDescription:Tn,getAccTitle:Cn,getDiagramTitle:Sn,setAccDescription:vn,setAccTitle:bn,setDiagramTitle:wn},Symbol.toStringTag,{value:"Module"})),In=at,Bn=lt,En=Ae,Ln=Se,Fn=xe,Nn=t=>pt(t,En()),Mn=pn,jn={},On=(t,e,n)=>{var r,i,o;if(jn[t])throw new Error(`Diagram ${t} already registered.`);jn[t]=e,n&&Ht(t,n),i=t,void 0!==(o=e.styles)&&(fn[i]=o),null==(r=e.injectUtils)||r.call(e,In,Bn,En,Nn,Mn,An,(()=>{}))},Rn=t=>{if(t in jn)return jn[t];throw new Dn(t)};class Dn extends Error{constructor(t){super(`Diagram ${t} not found.`)}}const qn=t=>{var e;const{securityLevel:n}=En();let r=(0,s.Ys)("body");if("sandbox"===n){const n=(null==(e=(0,s.Ys)(`#i${t}`).node())?void 0:e.contentDocument)??document;r=(0,s.Ys)(n.body)}return r.select(`#${t}`)},$n={draw:(t,e,n)=>{at.debug("renering svg for syntax error\n");const r=qn(e);r.attr("viewBox","0 0 2412 512"),dn(r,100,512,!0);const i=r.append("g");i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${n}`)}},Pn=$n,Zn={db:{},renderer:$n,parser:{parser:{yy:{}},parse:()=>{}}},zn="flowchart-elk",Wn={id:zn,detector:(t,e)=>{var n;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&"elk"===(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.all([n.e(9840),n.e(5269),n.e(8955),n.e(4238)]).then(n.bind(n,4238));return{id:zn,diagram:t}}},Un="timeline",Hn={id:Un,detector:t=>/^\s*timeline/.test(t),loader:async()=>{const{diagram:t}=await n.e(2700).then(n.bind(n,2700));return{id:Un,diagram:t}}},Yn="mindmap",Vn={id:Yn,detector:t=>/^\s*mindmap/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([n.e(9840),n.e(9138)]).then(n.bind(n,9138));return{id:Yn,diagram:t}}},Kn="sankey",Xn={id:Kn,detector:t=>/^\s*sankey-beta/.test(t),loader:async()=>{const{diagram:t}=await n.e(240).then(n.bind(n,240));return{id:Kn,diagram:t}}};let Gn=!1;const Jn=()=>{Gn||(Gn=!0,On("error",Zn,(t=>"error"===t.toLowerCase().trim())),On("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},(t=>t.toLowerCase().trimStart().startsWith("---"))),Ut(Me,on,nn,qe,ze,Ue,He,Je,tn,Wn,De,Oe,Vn,Hn,Pe,cn,an,un,Ve,Xn,Xe))};class Qn{constructor(t,e={}){this.text=t,this.metadata=e,this.type="graph",this.text+="\n";const n=Ae();try{this.type=Wt(t,n)}catch(i){this.type="error",this.detectError=i}const r=Rn(this.type);at.debug("Type "+this.type),this.db=r.db,this.renderer=r.renderer,this.parser=r.parser,this.parser.parser.yy=this.db,this.init=r.init,this.parse()}parse(){var t,e,n,r,i;if(this.detectError)throw this.detectError;null==(e=(t=this.db).clear)||e.call(t);const o=Ae();null==(n=this.init)||n.call(this,o),this.metadata.title&&(null==(i=(r=this.db).setDiagramTitle)||i.call(r,this.metadata.title)),this.parser.parse(this.text)}async render(t,e){await this.renderer.draw(this.text,t,e,this)}getParser(){return this.parser}getType(){return this.type}}const tr=async(t,e={})=>{const n=Wt(t,Ae());try{Rn(n)}catch(r){const t=zt[n].loader;if(!t)throw new Zt(`Diagram ${n} not found.`);const{id:e,diagram:i}=await t();On(e,i)}return new Qn(t,e)};let er=[];const nr=t=>{er.push(t)},rr="graphics-document document";const ir=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();function or(t){return null==t}var sr={isNothing:or,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:or(t)?[]:[t]},repeat:function(t,e){var n,r="";for(n=0;n<e;n+=1)r+=t;return r},isNegativeZero:function(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t},extend:function(t,e){var n,r,i,o;if(e)for(n=0,r=(o=Object.keys(e)).length;n<r;n+=1)t[i=o[n]]=e[i];return t}};function ar(t,e){var n="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(n+='in "'+t.mark.name+'" '),n+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(n+="\n\n"+t.mark.snippet),r+" "+n):r}function lr(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=ar(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}lr.prototype=Object.create(Error.prototype),lr.prototype.constructor=lr,lr.prototype.toString=function(t){return this.name+": "+ar(this,t)};var cr=lr;function hr(t,e,n,r,i){var o="",s="",a=Math.floor(i/2)-1;return r-e>a&&(e=r-a+(o=" ... ").length),n-r>a&&(n=r+a-(s=" ...").length),{str:o+t.slice(e,n).replace(/\t/g,"\u2192")+s,pos:r-e+o.length}}function ur(t,e){return sr.repeat(" ",e-t.length)+t}var dr=function(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var n,r=/\r?\n|\r|\0/g,i=[0],o=[],s=-1;n=r.exec(t.buffer);)o.push(n.index),i.push(n.index+n[0].length),t.position<=n.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var a,l,c="",h=Math.min(t.line+e.linesAfter,o.length).toString().length,u=e.maxLength-(e.indent+h+3);for(a=1;a<=e.linesBefore&&!(s-a<0);a++)l=hr(t.buffer,i[s-a],o[s-a],t.position-(i[s]-i[s-a]),u),c=sr.repeat(" ",e.indent)+ur((t.line-a+1).toString(),h)+" | "+l.str+"\n"+c;for(l=hr(t.buffer,i[s],o[s],t.position,u),c+=sr.repeat(" ",e.indent)+ur((t.line+1).toString(),h)+" | "+l.str+"\n",c+=sr.repeat("-",e.indent+h+3+l.pos)+"^\n",a=1;a<=e.linesAfter&&!(s+a>=o.length);a++)l=hr(t.buffer,i[s+a],o[s+a],t.position-(i[s]-i[s+a]),u),c+=sr.repeat(" ",e.indent)+ur((t.line+a+1).toString(),h)+" | "+l.str+"\n";return c.replace(/\n$/,"")},pr=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],fr=["scalar","sequence","mapping"];var mr=function(t,e){var n,r;if(e=e||{},Object.keys(e).forEach((function(e){if(-1===pr.indexOf(e))throw new cr('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=(n=e.styleAliases||null,r={},null!==n&&Object.keys(n).forEach((function(t){n[t].forEach((function(e){r[String(e)]=t}))})),r),-1===fr.indexOf(this.kind))throw new cr('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function gr(t,e){var n=[];return t[e].forEach((function(t){var e=n.length;n.forEach((function(n,r){n.tag===t.tag&&n.kind===t.kind&&n.multi===t.multi&&(e=r)})),n[e]=t})),n}function yr(t){return this.extend(t)}yr.prototype.extend=function(t){var e=[],n=[];if(t instanceof mr)n.push(t);else if(Array.isArray(t))n=n.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new cr("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(n=n.concat(t.explicit))}e.forEach((function(t){if(!(t instanceof mr))throw new cr("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new cr("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new cr("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(t){if(!(t instanceof mr))throw new cr("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var r=Object.create(yr.prototype);return r.implicit=(this.implicit||[]).concat(e),r.explicit=(this.explicit||[]).concat(n),r.compiledImplicit=gr(r,"implicit"),r.compiledExplicit=gr(r,"explicit"),r.compiledTypeMap=function(){var t,e,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function r(t){t.multi?(n.multi[t.kind].push(t),n.multi.fallback.push(t)):n[t.kind][t.tag]=n.fallback[t.tag]=t}for(t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(r);return n}(r.compiledImplicit,r.compiledExplicit),r};var kr=new yr({explicit:[new mr("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),new mr("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),new mr("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})]});var xr=new mr("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});var _r=new mr("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function br(t){return 48<=t&&t<=55}function Cr(t){return 48<=t&&t<=57}var vr=new mr("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,r=t.length,i=0,o=!1;if(!r)return!1;if("-"!==(e=t[i])&&"+"!==e||(e=t[++i]),"0"===e){if(i+1===r)return!0;if("b"===(e=t[++i])){for(i++;i<r;i++)if("_"!==(e=t[i])){if("0"!==e&&"1"!==e)return!1;o=!0}return o&&"_"!==e}if("x"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!(48<=(n=t.charCodeAt(i))&&n<=57||65<=n&&n<=70||97<=n&&n<=102))return!1;o=!0}return o&&"_"!==e}if("o"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!br(t.charCodeAt(i)))return!1;o=!0}return o&&"_"!==e}}if("_"===e)return!1;for(;i<r;i++)if("_"!==(e=t[i])){if(!Cr(t.charCodeAt(i)))return!1;o=!0}return!(!o||"_"===e)},construct:function(t){var e,n=t,r=1;if(-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),"-"!==(e=n[0])&&"+"!==e||("-"===e&&(r=-1),e=(n=n.slice(1))[0]),"0"===n)return 0;if("0"===e){if("b"===n[1])return r*parseInt(n.slice(2),2);if("x"===n[1])return r*parseInt(n.slice(2),16);if("o"===n[1])return r*parseInt(n.slice(2),8)}return r*parseInt(n,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!sr.isNegativeZero(t)},represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Tr=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var wr=/^[-+]?[0-9]+e/;var Sr=new mr("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!Tr.test(t)||"_"===t[t.length-1])},construct:function(t){var e,n;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:n*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||sr.isNegativeZero(t))},represent:function(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(sr.isNegativeZero(t))return"-0.0";return n=t.toString(10),wr.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),Ar=kr.extend({implicit:[xr,_r,vr,Sr]}),Ir=Ar,Br=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Er=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var Lr=new mr("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==Br.exec(t)||null!==Er.exec(t))},construct:function(t){var e,n,r,i,o,s,a,l,c=0,h=null;if(null===(e=Br.exec(t))&&(e=Er.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],r=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(n,r,i));if(o=+e[4],s=+e[5],a=+e[6],e[7]){for(c=e[7].slice(0,3);c.length<3;)c+="0";c=+c}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),l=new Date(Date.UTC(n,r,i,o,s,a,c)),h&&l.setTime(l.getTime()-h),l},instanceOf:Date,represent:function(t){return t.toISOString()}});var Fr=new mr("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),Nr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var Mr=new mr("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,r=0,i=t.length,o=Nr;for(n=0;n<i;n++)if(!((e=o.indexOf(t.charAt(n)))>64)){if(e<0)return!1;r+=6}return r%8==0},construct:function(t){var e,n,r=t.replace(/[\r\n=]/g,""),i=r.length,o=Nr,s=0,a=[];for(e=0;e<i;e++)e%4==0&&e&&(a.push(s>>16&255),a.push(s>>8&255),a.push(255&s)),s=s<<6|o.indexOf(r.charAt(e));return 0===(n=i%4*6)?(a.push(s>>16&255),a.push(s>>8&255),a.push(255&s)):18===n?(a.push(s>>10&255),a.push(s>>2&255)):12===n&&a.push(s>>4&255),new Uint8Array(a)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,n,r="",i=0,o=t.length,s=Nr;for(e=0;e<o;e++)e%3==0&&e&&(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]),i=(i<<8)+t[e];return 0===(n=o%3)?(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]):2===n?(r+=s[i>>10&63],r+=s[i>>4&63],r+=s[i<<2&63],r+=s[64]):1===n&&(r+=s[i>>2&63],r+=s[i<<4&63],r+=s[64],r+=s[64]),r}}),jr=Object.prototype.hasOwnProperty,Or=Object.prototype.toString;var Rr=new mr("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,r,i,o,s=[],a=t;for(e=0,n=a.length;e<n;e+=1){if(r=a[e],o=!1,"[object Object]"!==Or.call(r))return!1;for(i in r)if(jr.call(r,i)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==s.indexOf(i))return!1;s.push(i)}return!0},construct:function(t){return null!==t?t:[]}}),Dr=Object.prototype.toString;var qr=new mr("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,r,i,o,s=t;for(o=new Array(s.length),e=0,n=s.length;e<n;e+=1){if(r=s[e],"[object Object]"!==Dr.call(r))return!1;if(1!==(i=Object.keys(r)).length)return!1;o[e]=[i[0],r[i[0]]]}return!0},construct:function(t){if(null===t)return[];var e,n,r,i,o,s=t;for(o=new Array(s.length),e=0,n=s.length;e<n;e+=1)r=s[e],i=Object.keys(r),o[e]=[i[0],r[i[0]]];return o}}),$r=Object.prototype.hasOwnProperty;var Pr=new mr("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,n=t;for(e in n)if($r.call(n,e)&&null!==n[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),Zr=Ir.extend({implicit:[Lr,Fr],explicit:[Mr,Rr,qr,Pr]}),zr=Object.prototype.hasOwnProperty,Wr=1,Ur=2,Hr=3,Yr=4,Vr=1,Kr=2,Xr=3,Gr=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Jr=/[\x85\u2028\u2029]/,Qr=/[,\[\]\{\}]/,ti=/^(?:!|!!|![a-z\-]+!)$/i,ei=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ni(t){return Object.prototype.toString.call(t)}function ri(t){return 10===t||13===t}function ii(t){return 9===t||32===t}function oi(t){return 9===t||32===t||10===t||13===t}function si(t){return 44===t||91===t||93===t||123===t||125===t}function ai(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function li(t){return 48===t?"\0":97===t?"\x07":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"\x1b":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"\x85":95===t?"\xa0":76===t?"\u2028":80===t?"\u2029":""}function ci(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var hi=new Array(256),ui=new Array(256),di=0;di<256;di++)hi[di]=li(di)?1:0,ui[di]=li(di);function pi(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Zr,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function fi(t,e){var n={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return n.snippet=dr(n),new cr(e,n)}function mi(t,e){throw fi(t,e)}function gi(t,e){t.onWarning&&t.onWarning.call(null,fi(t,e))}var yi={YAML:function(t,e,n){var r,i,o;null!==t.version&&mi(t,"duplication of %YAML directive"),1!==n.length&&mi(t,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&mi(t,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&mi(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&gi(t,"unsupported YAML version of the document")},TAG:function(t,e,n){var r,i;2!==n.length&&mi(t,"TAG directive accepts exactly two arguments"),r=n[0],i=n[1],ti.test(r)||mi(t,"ill-formed tag handle (first argument) of the TAG directive"),zr.call(t.tagMap,r)&&mi(t,'there is a previously declared suffix for "'+r+'" tag handle'),ei.test(i)||mi(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(o){mi(t,"tag prefix is malformed: "+i)}t.tagMap[r]=i}};function ki(t,e,n,r){var i,o,s,a;if(e<n){if(a=t.input.slice(e,n),r)for(i=0,o=a.length;i<o;i+=1)9===(s=a.charCodeAt(i))||32<=s&&s<=1114111||mi(t,"expected valid JSON character");else Gr.test(a)&&mi(t,"the stream contains non-printable characters");t.result+=a}}function xi(t,e,n,r){var i,o,s,a;for(sr.isObject(n)||mi(t,"cannot merge mappings; the provided source object is unacceptable"),s=0,a=(i=Object.keys(n)).length;s<a;s+=1)o=i[s],zr.call(e,o)||(e[o]=n[o],r[o]=!0)}function _i(t,e,n,r,i,o,s,a,l){var c,h;if(Array.isArray(i))for(c=0,h=(i=Array.prototype.slice.call(i)).length;c<h;c+=1)Array.isArray(i[c])&&mi(t,"nested arrays are not supported inside keys"),"object"==typeof i&&"[object Object]"===ni(i[c])&&(i[c]="[object Object]");if("object"==typeof i&&"[object Object]"===ni(i)&&(i="[object Object]"),i=String(i),null===e&&(e={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(o))for(c=0,h=o.length;c<h;c+=1)xi(t,e,o[c],n);else xi(t,e,o,n);else t.json||zr.call(n,i)||!zr.call(e,i)||(t.line=s||t.line,t.lineStart=a||t.lineStart,t.position=l||t.position,mi(t,"duplicated mapping key")),"__proto__"===i?Object.defineProperty(e,i,{configurable:!0,enumerable:!0,writable:!0,value:o}):e[i]=o,delete n[i];return e}function bi(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):mi(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function Ci(t,e,n){for(var r=0,i=t.input.charCodeAt(t.position);0!==i;){for(;ii(i);)9===i&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),i=t.input.charCodeAt(++t.position);if(e&&35===i)do{i=t.input.charCodeAt(++t.position)}while(10!==i&&13!==i&&0!==i);if(!ri(i))break;for(bi(t),i=t.input.charCodeAt(t.position),r++,t.lineIndent=0;32===i;)t.lineIndent++,i=t.input.charCodeAt(++t.position)}return-1!==n&&0!==r&&t.lineIndent<n&&gi(t,"deficient indentation"),r}function vi(t){var e,n=t.position;return!(45!==(e=t.input.charCodeAt(n))&&46!==e||e!==t.input.charCodeAt(n+1)||e!==t.input.charCodeAt(n+2)||(n+=3,0!==(e=t.input.charCodeAt(n))&&!oi(e)))}function Ti(t,e){1===e?t.result+=" ":e>1&&(t.result+=sr.repeat("\n",e-1))}function wi(t,e){var n,r,i=t.tag,o=t.anchor,s=[],a=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),r=t.input.charCodeAt(t.position);0!==r&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,mi(t,"tab characters must not be used in indentation")),45===r)&&oi(t.input.charCodeAt(t.position+1));)if(a=!0,t.position++,Ci(t,!0,-1)&&t.lineIndent<=e)s.push(null),r=t.input.charCodeAt(t.position);else if(n=t.line,Ii(t,e,Hr,!1,!0),s.push(t.result),Ci(t,!0,-1),r=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==r)mi(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return!!a&&(t.tag=i,t.anchor=o,t.kind="sequence",t.result=s,!0)}function Si(t){var e,n,r,i,o=!1,s=!1;if(33!==(i=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&mi(t,"duplication of a tag property"),60===(i=t.input.charCodeAt(++t.position))?(o=!0,i=t.input.charCodeAt(++t.position)):33===i?(s=!0,n="!!",i=t.input.charCodeAt(++t.position)):n="!",e=t.position,o){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&62!==i);t.position<t.length?(r=t.input.slice(e,t.position),i=t.input.charCodeAt(++t.position)):mi(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==i&&!oi(i);)33===i&&(s?mi(t,"tag suffix cannot contain exclamation marks"):(n=t.input.slice(e-1,t.position+1),ti.test(n)||mi(t,"named tag handle cannot contain such characters"),s=!0,e=t.position+1)),i=t.input.charCodeAt(++t.position);r=t.input.slice(e,t.position),Qr.test(r)&&mi(t,"tag suffix cannot contain flow indicator characters")}r&&!ei.test(r)&&mi(t,"tag name cannot contain such characters: "+r);try{r=decodeURIComponent(r)}catch(a){mi(t,"tag name is malformed: "+r)}return o?t.tag=r:zr.call(t.tagMap,n)?t.tag=t.tagMap[n]+r:"!"===n?t.tag="!"+r:"!!"===n?t.tag="tag:yaml.org,2002:"+r:mi(t,'undeclared tag handle "'+n+'"'),!0}function Ai(t){var e,n;if(38!==(n=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&mi(t,"duplication of an anchor property"),n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!oi(n)&&!si(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&mi(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function Ii(t,e,n,r,i){var o,s,a,l,c,h,u,d,p,f=1,m=!1,g=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,o=s=a=Yr===n||Hr===n,r&&Ci(t,!0,-1)&&(m=!0,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)),1===f)for(;Si(t)||Ai(t);)Ci(t,!0,-1)?(m=!0,a=o,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)):a=!1;if(a&&(a=m||i),1!==f&&Yr!==n||(d=Wr===n||Ur===n?e:e+1,p=t.position-t.lineStart,1===f?a&&(wi(t,p)||function(t,e,n){var r,i,o,s,a,l,c,h=t.tag,u=t.anchor,d={},p=Object.create(null),f=null,m=null,g=null,y=!1,k=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=d),c=t.input.charCodeAt(t.position);0!==c;){if(y||-1===t.firstTabInLine||(t.position=t.firstTabInLine,mi(t,"tab characters must not be used in indentation")),r=t.input.charCodeAt(t.position+1),o=t.line,63!==c&&58!==c||!oi(r)){if(s=t.line,a=t.lineStart,l=t.position,!Ii(t,n,Ur,!1,!0))break;if(t.line===o){for(c=t.input.charCodeAt(t.position);ii(c);)c=t.input.charCodeAt(++t.position);if(58===c)oi(c=t.input.charCodeAt(++t.position))||mi(t,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(_i(t,d,p,f,m,null,s,a,l),f=m=g=null),k=!0,y=!1,i=!1,f=t.tag,m=t.result;else{if(!k)return t.tag=h,t.anchor=u,!0;mi(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!k)return t.tag=h,t.anchor=u,!0;mi(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(y&&(_i(t,d,p,f,m,null,s,a,l),f=m=g=null),k=!0,y=!0,i=!0):y?(y=!1,i=!0):mi(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,c=r;if((t.line===o||t.lineIndent>e)&&(y&&(s=t.line,a=t.lineStart,l=t.position),Ii(t,e,Yr,!0,i)&&(y?m=t.result:g=t.result),y||(_i(t,d,p,f,m,g,s,a,l),f=m=g=null),Ci(t,!0,-1),c=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&0!==c)mi(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return y&&_i(t,d,p,f,m,null,s,a,l),k&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=d),k}(t,p,d))||function(t,e){var n,r,i,o,s,a,l,c,h,u,d,p,f=!0,m=t.tag,g=t.anchor,y=Object.create(null);if(91===(p=t.input.charCodeAt(t.position)))s=93,c=!1,o=[];else{if(123!==p)return!1;s=125,c=!0,o={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=o),p=t.input.charCodeAt(++t.position);0!==p;){if(Ci(t,!0,e),(p=t.input.charCodeAt(t.position))===s)return t.position++,t.tag=m,t.anchor=g,t.kind=c?"mapping":"sequence",t.result=o,!0;f?44===p&&mi(t,"expected the node content, but found ','"):mi(t,"missed comma between flow collection entries"),d=null,a=l=!1,63===p&&oi(t.input.charCodeAt(t.position+1))&&(a=l=!0,t.position++,Ci(t,!0,e)),n=t.line,r=t.lineStart,i=t.position,Ii(t,e,Wr,!1,!0),u=t.tag,h=t.result,Ci(t,!0,e),p=t.input.charCodeAt(t.position),!l&&t.line!==n||58!==p||(a=!0,p=t.input.charCodeAt(++t.position),Ci(t,!0,e),Ii(t,e,Wr,!1,!0),d=t.result),c?_i(t,o,y,u,h,d,n,r,i):a?o.push(_i(t,null,y,u,h,d,n,r,i)):o.push(h),Ci(t,!0,e),44===(p=t.input.charCodeAt(t.position))?(f=!0,p=t.input.charCodeAt(++t.position)):f=!1}mi(t,"unexpected end of the stream within a flow collection")}(t,d)?g=!0:(s&&function(t,e){var n,r,i,o,s,a=Vr,l=!1,c=!1,h=e,u=0,d=!1;if(124===(o=t.input.charCodeAt(t.position)))r=!1;else{if(62!==o)return!1;r=!0}for(t.kind="scalar",t.result="";0!==o;)if(43===(o=t.input.charCodeAt(++t.position))||45===o)Vr===a?a=43===o?Xr:Kr:mi(t,"repeat of a chomping mode identifier");else{if(!((i=48<=(s=o)&&s<=57?s-48:-1)>=0))break;0===i?mi(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?mi(t,"repeat of an indentation width identifier"):(h=e+i-1,c=!0)}if(ii(o)){do{o=t.input.charCodeAt(++t.position)}while(ii(o));if(35===o)do{o=t.input.charCodeAt(++t.position)}while(!ri(o)&&0!==o)}for(;0!==o;){for(bi(t),t.lineIndent=0,o=t.input.charCodeAt(t.position);(!c||t.lineIndent<h)&&32===o;)t.lineIndent++,o=t.input.charCodeAt(++t.position);if(!c&&t.lineIndent>h&&(h=t.lineIndent),ri(o))u++;else{if(t.lineIndent<h){a===Xr?t.result+=sr.repeat("\n",l?1+u:u):a===Vr&&l&&(t.result+="\n");break}for(r?ii(o)?(d=!0,t.result+=sr.repeat("\n",l?1+u:u)):d?(d=!1,t.result+=sr.repeat("\n",u+1)):0===u?l&&(t.result+=" "):t.result+=sr.repeat("\n",u):t.result+=sr.repeat("\n",l?1+u:u),l=!0,c=!0,u=0,n=t.position;!ri(o)&&0!==o;)o=t.input.charCodeAt(++t.position);ki(t,n,t.position,!1)}}return!0}(t,d)||function(t,e){var n,r,i;if(39!==(n=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(n=t.input.charCodeAt(t.position));)if(39===n){if(ki(t,r,t.position,!0),39!==(n=t.input.charCodeAt(++t.position)))return!0;r=t.position,t.position++,i=t.position}else ri(n)?(ki(t,r,i,!0),Ti(t,Ci(t,!1,e)),r=i=t.position):t.position===t.lineStart&&vi(t)?mi(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);mi(t,"unexpected end of the stream within a single quoted scalar")}(t,d)||function(t,e){var n,r,i,o,s,a,l;if(34!==(a=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,n=r=t.position;0!==(a=t.input.charCodeAt(t.position));){if(34===a)return ki(t,n,t.position,!0),t.position++,!0;if(92===a){if(ki(t,n,t.position,!0),ri(a=t.input.charCodeAt(++t.position)))Ci(t,!1,e);else if(a<256&&hi[a])t.result+=ui[a],t.position++;else if((s=120===(l=a)?2:117===l?4:85===l?8:0)>0){for(i=s,o=0;i>0;i--)(s=ai(a=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+s:mi(t,"expected hexadecimal character");t.result+=ci(o),t.position++}else mi(t,"unknown escape sequence");n=r=t.position}else ri(a)?(ki(t,n,r,!0),Ti(t,Ci(t,!1,e)),n=r=t.position):t.position===t.lineStart&&vi(t)?mi(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}mi(t,"unexpected end of the stream within a double quoted scalar")}(t,d)?g=!0:!function(t){var e,n,r;if(42!==(r=t.input.charCodeAt(t.position)))return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!oi(r)&&!si(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&mi(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),zr.call(t.anchorMap,n)||mi(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],Ci(t,!0,-1),!0}(t)?function(t,e,n){var r,i,o,s,a,l,c,h,u=t.kind,d=t.result;if(oi(h=t.input.charCodeAt(t.position))||si(h)||35===h||38===h||42===h||33===h||124===h||62===h||39===h||34===h||37===h||64===h||96===h)return!1;if((63===h||45===h)&&(oi(r=t.input.charCodeAt(t.position+1))||n&&si(r)))return!1;for(t.kind="scalar",t.result="",i=o=t.position,s=!1;0!==h;){if(58===h){if(oi(r=t.input.charCodeAt(t.position+1))||n&&si(r))break}else if(35===h){if(oi(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&vi(t)||n&&si(h))break;if(ri(h)){if(a=t.line,l=t.lineStart,c=t.lineIndent,Ci(t,!1,-1),t.lineIndent>=e){s=!0,h=t.input.charCodeAt(t.position);continue}t.position=o,t.line=a,t.lineStart=l,t.lineIndent=c;break}}s&&(ki(t,i,o,!1),Ti(t,t.line-a),i=o=t.position,s=!1),ii(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return ki(t,i,o,!1),!!t.result||(t.kind=u,t.result=d,!1)}(t,d,Wr===n)&&(g=!0,null===t.tag&&(t.tag="?")):(g=!0,null===t.tag&&null===t.anchor||mi(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===f&&(g=a&&wi(t,p))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&mi(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),l=0,c=t.implicitTypes.length;l<c;l+=1)if((u=t.implicitTypes[l]).resolve(t.result)){t.result=u.construct(t.result),t.tag=u.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(zr.call(t.typeMap[t.kind||"fallback"],t.tag))u=t.typeMap[t.kind||"fallback"][t.tag];else for(u=null,l=0,c=(h=t.typeMap.multi[t.kind||"fallback"]).length;l<c;l+=1)if(t.tag.slice(0,h[l].tag.length)===h[l].tag){u=h[l];break}u||mi(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&mi(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):mi(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||g}function Bi(t){var e,n,r,i,o=t.position,s=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(i=t.input.charCodeAt(t.position))&&(Ci(t,!0,-1),i=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==i));){for(s=!0,i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!oi(i);)i=t.input.charCodeAt(++t.position);for(r=[],(n=t.input.slice(e,t.position)).length<1&&mi(t,"directive name must not be less than one character in length");0!==i;){for(;ii(i);)i=t.input.charCodeAt(++t.position);if(35===i){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&!ri(i));break}if(ri(i))break;for(e=t.position;0!==i&&!oi(i);)i=t.input.charCodeAt(++t.position);r.push(t.input.slice(e,t.position))}0!==i&&bi(t),zr.call(yi,n)?yi[n](t,n,r):gi(t,'unknown document directive "'+n+'"')}Ci(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,Ci(t,!0,-1)):s&&mi(t,"directives end mark is expected"),Ii(t,t.lineIndent-1,Yr,!1,!0),Ci(t,!0,-1),t.checkLineBreaks&&Jr.test(t.input.slice(o,t.position))&&gi(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&vi(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,Ci(t,!0,-1)):t.position<t.length-1&&mi(t,"end of the stream or a document separator is expected")}function Ei(t,e){e=e||{},0!==(t=String(t)).length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var n=new pi(t,e),r=t.indexOf("\0");for(-1!==r&&(n.position=r,mi(n,"null byte is not allowed in input")),n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)Bi(n);return n.documents}var Li=Ar,Fi={loadAll:function(t,e,n){null!==e&&"object"==typeof e&&void 0===n&&(n=e,e=null);var r=Ei(t,n);if("function"!=typeof e)return r;for(var i=0,o=r.length;i<o;i+=1)e(r[i])},load:function(t,e){var n=Ei(t,e);if(0!==n.length){if(1===n.length)return n[0];throw new cr("expected a single document in the stream, but found more")}}}.load;const Ni=t=>t.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,((t,e,n)=>"<"+e+n.replace(/="([^"]*)"/g,"='$1'")+">")),Mi=t=>{const{text:e,metadata:n}=function(t){const e=t.match(qt);if(!e)return{text:t,metadata:{}};let n=Fi(e[1],{schema:Li})??{};n="object"!=typeof n||Array.isArray(n)?{}:n;const r={};return n.displayMode&&(r.displayMode=n.displayMode.toString()),n.title&&(r.title=n.title.toString()),n.config&&(r.config=n.config),{text:t.slice(e[0].length),metadata:r}}(t),{displayMode:r,title:i,config:o={}}=n;return r&&(o.gantt||(o.gantt={}),o.gantt.displayMode=r),{title:i,config:o,text:e}},ji=t=>{const e=ye.detectInit(t)??{},n=ye.detectDirective(t,"wrap");return Array.isArray(n)?e.wrap=n.some((({type:t})=>{})):"wrap"===(null==n?void 0:n.type)&&(e.wrap=!0),{text:(r=t,r.replace($t,"")),directive:e};var r};const Oi=["foreignobject"],Ri=["dominant-baseline"];function Di(t){const e=function(t){const e=Ni(t),n=Mi(e),r=ji(n.text),i=ge(n.config,r.directive);return{code:t=ir(r.text),title:n.title,config:i}}(t);return Ee(),Be(e.config??{}),e}const qi=function(t){return t.replace(/\ufb02\xb0\xb0/g,"&#").replace(/\ufb02\xb0/g,"&").replace(/\xb6\xdf/g,";")},$i=(t,e,n=[])=>`\n.${t} ${e} { ${n.join(" !important; ")} !important; }`,Pi=(t,e,n,r)=>{const i=((t,e={})=>{var n;let r="";if(void 0!==t.themeCSS&&(r+=`\n${t.themeCSS}`),void 0!==t.fontFamily&&(r+=`\n:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(r+=`\n:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!(0,ot.Z)(e)){const i=t.htmlLabels||(null==(n=t.flowchart)?void 0:n.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const t in e){const n=e[t];(0,ot.Z)(n.styles)||i.forEach((t=>{r+=$i(n.id,t,n.styles)})),(0,ot.Z)(n.textStyles)||(r+=$i(n.id,"tspan",n.textStyles))}}return r})(t,n);return L(tt(`${r}{${mn(e,i,t.themeVariables)}}`),F)},Zi=(t,e,n,r,i)=>{const o=t.append("div");o.attr("id",n),r&&o.attr("style",r);const s=o.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return i&&s.attr("xmlns:xlink",i),s.append("g"),t};function zi(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const Wi=Object.freeze({render:async function(t,e,n){var r,i,o,l,c,h;Jn();const u=Di(e);e=u.code;const d=Ae();at.debug(d),e.length>((null==d?void 0:d.maxTextSize)??5e4)&&(e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");const p="#"+t,f="i"+t,m="#"+f,g="d"+t,y="#"+g;let k=(0,s.Ys)("body");const x="sandbox"===d.securityLevel,_="loose"===d.securityLevel,b=d.fontFamily;if(void 0!==n){if(n&&(n.innerHTML=""),x){const t=zi((0,s.Ys)(n),f);k=(0,s.Ys)(t.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=(0,s.Ys)(n);Zi(k,t,g,`font-family: ${b}`,"http://www.w3.org/1999/xlink")}else{if(((t,e,n,r)=>{var i,o,s;null==(i=t.getElementById(e))||i.remove(),null==(o=t.getElementById(n))||o.remove(),null==(s=t.getElementById(r))||s.remove()})(document,t,g,f),x){const t=zi((0,s.Ys)("body"),f);k=(0,s.Ys)(t.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=(0,s.Ys)("body");Zi(k,t,g)}let C,v;e=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/#\w+;/g,(function(t){const e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"\ufb02\xb0\xb0"+e+"\xb6\xdf":"\ufb02\xb0"+e+"\xb6\xdf"})),e}(e);try{C=await tr(e,{title:u.title})}catch(M){C=new Qn("error"),v=M}const T=k.select(y).node(),w=C.type,S=T.firstChild,A=S.firstChild,I=null==(i=(r=C.renderer).getClasses)?void 0:i.call(r,e,C),B=Pi(d,w,I,p),E=document.createElement("style");E.innerHTML=B,S.insertBefore(E,A);try{await C.renderer.draw(e,t,ke,C)}catch(j){throw Pn.draw(e,t,ke),j}!function(t,e,n,r){(function(t,e){t.attr("role",rr),""!==e&&t.attr("aria-roledescription",e)})(e,t),function(t,e,n,r){if(void 0!==t.insert){if(n){const e=`chart-desc-${r}`;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(n)}if(e){const n=`chart-title-${r}`;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}(e,n,r,e.attr("id"))}(w,k.select(`${y} svg`),null==(l=(o=C.db).getAccTitle)?void 0:l.call(o),null==(h=(c=C.db).getAccDescription)?void 0:h.call(c)),k.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let L=k.select(y).node().innerHTML;if(at.debug("config.arrowMarkerAbsolute",d.arrowMarkerAbsolute),L=((t="",e,n)=>{let r=t;return n||e||(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=qi(r),r=r.replace(/<br>/g,"<br/>"),r})(L,x,gt(d.arrowMarkerAbsolute)),x){L=((t="",e)=>{var n,r;return`<iframe style="width:100%;height:${(null==(r=null==(n=null==e?void 0:e.viewBox)?void 0:n.baseVal)?void 0:r.height)?e.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;base64,${btoa('<body style="margin:0">'+t+"</body>")}" sandbox="allow-top-navigation-by-user-activation allow-popups">\n The "iframe" tag is not supported by your browser.\n</iframe>`})(L,k.select(y+" svg").node())}else _||(L=a.sanitize(L,{ADD_TAGS:Oi,ADD_ATTR:Ri}));if(er.forEach((t=>{t()})),er=[],v)throw v;const F=x?m:y,N=(0,s.Ys)(F).node();return N&&"remove"in N&&N.remove(),{svg:L,bindFunctions:C.db.bindFunctions}},parse:async function(t,e){Jn(),t=Di(t).code;try{await tr(t)}catch(n){if(null==e?void 0:e.suppressErrors)return!1;throw n}return!0},getDiagramFromText:tr,initialize:function(t={}){var e;(null==t?void 0:t.fontFamily)&&!(null==(e=t.themeVariables)?void 0:e.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),_e=Vt({},t),(null==t?void 0:t.theme)&&t.theme in Lt?t.themeVariables=Lt[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Lt.default.getThemeVariables(t.themeVariables));const n="object"==typeof t?(t=>(be=Vt({},xe),be=Vt(be,t),t.theme&&Lt[t.theme]&&(be.themeVariables=Lt[t.theme].getThemeVariables(t.themeVariables)),Te(be,Ce),be))(t):we();lt(n.logLevel),Jn()},getConfig:Ae,setConfig:Se,getSiteConfig:we,updateSiteConfig:t=>(be=Vt(be,t),Te(be,Ce),be),reset:()=>{Ee()},globalReset:()=>{Ee(xe)},defaultConfig:xe});lt(Ae().logLevel),Ee(Ae());const Ui=(t,e,n)=>{at.warn(t),fe(t)?(n&&n(t.str,t.hash),e.push({...t,message:t.str,error:t})):(n&&n(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},Hi=async function(t={querySelector:".mermaid"}){try{await Yi(t)}catch(e){if(fe(e)&&at.error(e.str),to.parseError&&to.parseError(e),!t.suppressErrors)throw at.error("Use the suppressErrors option to suppress these errors"),e}},Yi=async function({postRenderCallback:t,querySelector:e,nodes:n}={querySelector:".mermaid"}){const i=Wi.getConfig();let o;if(at.debug((t?"":"No ")+"Callback function found"),n)o=n;else{if(!e)throw new Error("Nodes and querySelector are both undefined");o=document.querySelectorAll(e)}at.debug(`Found ${o.length} diagrams`),void 0!==(null==i?void 0:i.startOnLoad)&&(at.debug("Start On Load: "+(null==i?void 0:i.startOnLoad)),Wi.updateSiteConfig({startOnLoad:null==i?void 0:i.startOnLoad}));const s=new ye.InitIDGenerator(i.deterministicIds,i.deterministicIDSeed);let a;const l=[];for(const h of Array.from(o)){if(at.info("Rendering diagram: "+h.id),h.getAttribute("data-processed"))continue;h.setAttribute("data-processed","true");const e=`mermaid-${s.next()}`;a=h.innerHTML,a=(0,r.Z)(ye.entityDecode(a)).trim().replace(/<br\s*\/?>/gi,"<br/>");const n=ye.detectInit(a);n&&at.debug("Detected early reinit: ",n);try{const{svg:n,bindFunctions:r}=await Qi(e,a,h);h.innerHTML=n,t&&await t(e),r&&r(h)}catch(c){Ui(c,l,to.parseError)}}if(l.length>0)throw l[0]},Vi=function(t){Wi.initialize(t)},Ki=function(){if(to.startOnLoad){const{startOnLoad:t}=Wi.getConfig();t&&to.run().catch((t=>at.error("Mermaid failed to initialize",t)))}};"undefined"!=typeof document&&window.addEventListener("load",Ki,!1);const Xi=[];let Gi=!1;const Ji=async()=>{if(!Gi){for(Gi=!0;Xi.length>0;){const e=Xi.shift();if(e)try{await e()}catch(t){at.error("Error executing queue",t)}}Gi=!1}},Qi=(t,e,n)=>new Promise(((r,i)=>{Xi.push((()=>new Promise(((o,s)=>{Wi.render(t,e,n).then((t=>{o(t),r(t)}),(t=>{var e;at.error("Error parsing",t),null==(e=to.parseError)||e.call(to,t),s(t),i(t)}))})))),Ji().catch(i)})),to={startOnLoad:!0,mermaidAPI:Wi,parse:async(t,e)=>new Promise(((n,r)=>{Xi.push((()=>new Promise(((i,o)=>{Wi.parse(t,e).then((t=>{i(t),n(t)}),(t=>{var e;at.error("Error parsing",t),null==(e=to.parseError)||e.call(to,t),o(t),r(t)}))})))),Ji().catch(r)})),render:Qi,init:async function(t,e,n){at.warn("mermaid.init is deprecated. Please use run instead."),t&&Vi(t);const r={postRenderCallback:n,querySelector:".mermaid"};"string"==typeof e?r.querySelector=e:e&&(e instanceof HTMLElement?r.nodes=[e]:r.nodes=e),await Hi(r)},run:Hi,registerExternalDiagrams:async(t,{lazyLoad:e=!0}={})=>{Ut(...t),!1===e&&await(async()=>{at.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(zt).map((async([t,{detector:e,loader:n}])=>{if(n)try{Rn(t)}catch(r){try{const{diagram:t,id:r}=await n();On(r,t,e)}catch(i){throw at.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete zt[t],i}}})))).filter((t=>"rejected"===t.status));if(t.length>0){at.error(`Failed to load ${t.length} external diagrams`);for(const e of t)at.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}})()},initialize:Vi,parseError:void 0,contentLoaded:Ki,setParseErrorHandler:function(t){to.parseError=t},detectType:Wt}}}]); \ No newline at end of file +/*! For license information please see 7245.f6fdf635.js.LICENSE.txt */ +(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7245],{7967:(t,e)=>{"use strict";e.Nm=e.Rq=void 0;var n=/^([^\w]*)(javascript|data|vbscript)/im,r=/&#(\w+)(^\w|;)?/g,i=/&(newline|tab);/gi,o=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,s=/^.+(:|:)/gim,a=[".","/"];e.Rq="about:blank",e.Nm=function(t){if(!t)return e.Rq;var l,c=(l=t,l.replace(o,"").replace(r,(function(t,e){return String.fromCharCode(e)}))).replace(i,"").replace(o,"").trim();if(!c)return e.Rq;if(function(t){return a.indexOf(t[0])>-1}(c))return c;var h=c.match(s);if(!h)return c;var u=h[0];return n.test(u)?e.Rq:c}},2509:function(t,e,n){!function(t,e,n,r){"use strict";const i=0,o=1,s=2,a=3,l=4,c=-1;let h;t.addSegment=void 0,t.addMapping=void 0,t.maybeAddSegment=void 0,t.maybeAddMapping=void 0,t.setSourceContent=void 0,t.toDecodedMap=void 0,t.toEncodedMap=void 0,t.fromMap=void 0,t.allMappings=void 0;class u{constructor({file:t,sourceRoot:n}={}){this._names=new e.SetArray,this._sources=new e.SetArray,this._sourcesContent=[],this._mappings=[],this.file=t,this.sourceRoot=n}}function d(t,e){for(let n=t.length;n<=e;n++)t[n]=[];return t[e]}function p(t,e){let n=t.length;for(let r=n-1;r>=0&&!(e>=t[r][i]);n=r--);return n}function f(t,e,n){for(let r=t.length;r>e;r--)t[r]=t[r-1];t[e]=n}function m(t){const{length:e}=t;let n=e;for(let r=n-1;r>=0&&!(t[r].length>0);n=r,r--);n<e&&(t.length=n)}function g(t,n){for(let r=0;r<n.length;r++)e.put(t,n[r])}function y(t,e){return 0===e||1===t[e-1].length}function k(t,e,n,r,i,h){if(0===e)return!1;const u=t[e-1];return 1!==u.length&&n===u[o]&&r===u[s]&&i===u[a]&&h===(5===u.length?u[l]:c)}function x(t,e,n){const{generated:r,source:i,original:o,name:s,content:a}=n;if(!i)return h(t,e,r.line-1,r.column,null,null,null,null,null);const l=i;return h(t,e,r.line-1,r.column,l,o.line-1,o.column,s,a)}t.addSegment=(t,e,n,r,i,o,s,a)=>h(!1,t,e,n,r,i,o,s,a),t.maybeAddSegment=(t,e,n,r,i,o,s,a)=>h(!0,t,e,n,r,i,o,s,a),t.addMapping=(t,e)=>x(!1,t,e),t.maybeAddMapping=(t,e)=>x(!0,t,e),t.setSourceContent=(t,n,r)=>{const{_sources:i,_sourcesContent:o}=t;o[e.put(i,n)]=r},t.toDecodedMap=t=>{const{file:e,sourceRoot:n,_mappings:r,_sources:i,_sourcesContent:o,_names:s}=t;return m(r),{version:3,file:e||void 0,names:s.array,sourceRoot:n||void 0,sources:i.array,sourcesContent:o,mappings:r}},t.toEncodedMap=e=>{const r=t.toDecodedMap(e);return Object.assign(Object.assign({},r),{mappings:n.encode(r.mappings)})},t.allMappings=t=>{const e=[],{_mappings:n,_sources:r,_names:c}=t;for(let h=0;h<n.length;h++){const t=n[h];for(let n=0;n<t.length;n++){const u=t[n],d={line:h+1,column:u[i]};let p,f,m;1!==u.length&&(p=r.array[u[o]],f={line:u[s]+1,column:u[a]},5===u.length&&(m=c.array[u[l]])),e.push({generated:d,source:p,original:f,name:m})}}return e},t.fromMap=t=>{const e=new r.TraceMap(t),n=new u({file:e.file,sourceRoot:e.sourceRoot});return g(n._names,e.names),g(n._sources,e.sources),n._sourcesContent=e.sourcesContent||e.sources.map((()=>null)),n._mappings=r.decodedMappings(e),n},h=(t,n,r,i,o,s,a,l,h)=>{const{_mappings:u,_sources:m,_sourcesContent:g,_names:x}=n,_=d(u,r),b=p(_,i);if(!o){if(t&&y(_,b))return;return f(_,b,[i])}const C=e.put(m,o),v=l?e.put(x,l):c;if(C===g.length&&(g[C]=null!=h?h:null),!t||!k(_,b,C,s,a,v))return f(_,b,l?[i,C,s,a,v]:[i,C,s,a])},t.GenMapping=u,Object.defineProperty(t,"__esModule",{value:!0})}(e,n(2208),n(2297),n(3446))},8435:function(t){t.exports=function(){"use strict";const t=/^[\w+.-]+:\/\//,e=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,n=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;var r;function i(e){return t.test(e)}function o(t){return t.startsWith("//")}function s(t){return t.startsWith("/")}function a(t){return t.startsWith("file:")}function l(t){return/^[.?#]/.test(t)}function c(t){const n=e.exec(t);return u(n[1],n[2]||"",n[3],n[4]||"",n[5]||"/",n[6]||"",n[7]||"")}function h(t){const e=n.exec(t),r=e[2];return u("file:","",e[1]||"","",s(r)?r:"/"+r,e[3]||"",e[4]||"")}function u(t,e,n,i,o,s,a){return{scheme:t,user:e,host:n,port:i,path:o,query:s,hash:a,type:r.Absolute}}function d(t){if(o(t)){const e=c("http:"+t);return e.scheme="",e.type=r.SchemeRelative,e}if(s(t)){const e=c("http://foo.com"+t);return e.scheme="",e.host="",e.type=r.AbsolutePath,e}if(a(t))return h(t);if(i(t))return c(t);const e=c("http://foo.com/"+t);return e.scheme="",e.host="",e.type=t?t.startsWith("?")?r.Query:t.startsWith("#")?r.Hash:r.RelativePath:r.Empty,e}function p(t){if(t.endsWith("/.."))return t;const e=t.lastIndexOf("/");return t.slice(0,e+1)}function f(t,e){m(e,e.type),"/"===t.path?t.path=e.path:t.path=p(e.path)+t.path}function m(t,e){const n=e<=r.RelativePath,i=t.path.split("/");let o=1,s=0,a=!1;for(let r=1;r<i.length;r++){const t=i[r];t?(a=!1,"."!==t&&(".."!==t?(i[o++]=t,s++):s?(a=!0,s--,o--):n&&(i[o++]=t))):a=!0}let l="";for(let r=1;r<o;r++)l+="/"+i[r];(!l||a&&!l.endsWith("/.."))&&(l+="/"),t.path=l}function g(t,e){if(!t&&!e)return"";const n=d(t);let i=n.type;if(e&&i!==r.Absolute){const t=d(e),o=t.type;switch(i){case r.Empty:n.hash=t.hash;case r.Hash:n.query=t.query;case r.Query:case r.RelativePath:f(n,t);case r.AbsolutePath:n.user=t.user,n.host=t.host,n.port=t.port;case r.SchemeRelative:n.scheme=t.scheme}o>i&&(i=o)}m(n,i);const o=n.query+n.hash;switch(i){case r.Hash:case r.Query:return o;case r.RelativePath:{const r=n.path.slice(1);return r?l(e||t)&&!l(r)?"./"+r+o:r+o:o||"."}case r.AbsolutePath:return n.path+o;default:return n.scheme+"//"+n.user+n.host+n.port+n.path+o}}return function(t){t[t.Empty=1]="Empty",t[t.Hash=2]="Hash",t[t.Query=3]="Query",t[t.RelativePath=4]="RelativePath",t[t.AbsolutePath=5]="AbsolutePath",t[t.SchemeRelative=6]="SchemeRelative",t[t.Absolute=7]="Absolute"}(r||(r={})),g}()},2208:function(t,e){!function(t){"use strict";t.get=void 0,t.put=void 0,t.pop=void 0;class e{constructor(){this._indexes={__proto__:null},this.array=[]}}t.get=(t,e)=>t._indexes[e],t.put=(e,n)=>{const r=t.get(e,n);if(void 0!==r)return r;const{array:i,_indexes:o}=e;return o[n]=i.push(n)-1},t.pop=t=>{const{array:e,_indexes:n}=t;0!==e.length&&(n[e.pop()]=void 0)},t.SetArray=e,Object.defineProperty(t,"__esModule",{value:!0})}(e)},2297:function(t,e){!function(t){"use strict";const e=",".charCodeAt(0),n=";".charCodeAt(0),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(64),o=new Uint8Array(128);for(let m=0;m<r.length;m++){const t=r.charCodeAt(m);i[m]=t,o[t]=m}const s="undefined"!=typeof TextDecoder?new TextDecoder:"undefined"!=typeof Buffer?{decode:t=>Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString()}:{decode(t){let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return e}};function a(t){const e=new Int32Array(5),n=[];let r=0;do{const i=l(t,r),o=[];let s=!0,a=0;e[0]=0;for(let n=r;n<i;n++){let r;n=c(t,n,e,0);const l=e[0];l<a&&(s=!1),a=l,h(t,n,i)?(n=c(t,n,e,1),n=c(t,n,e,2),n=c(t,n,e,3),h(t,n,i)?(n=c(t,n,e,4),r=[l,e[1],e[2],e[3],e[4]]):r=[l,e[1],e[2],e[3]]):r=[l],o.push(r)}s||u(o),n.push(o),r=i+1}while(r<=t.length);return n}function l(t,e){const n=t.indexOf(";",e);return-1===n?t.length:n}function c(t,e,n,r){let i=0,s=0,a=0;do{const n=t.charCodeAt(e++);a=o[n],i|=(31&a)<<s,s+=5}while(32&a);const l=1&i;return i>>>=1,l&&(i=-2147483648|-i),n[r]+=i,e}function h(t,n,r){return!(n>=r)&&t.charCodeAt(n)!==e}function u(t){t.sort(d)}function d(t,e){return t[0]-e[0]}function p(t){const r=new Int32Array(5),i=16384,o=i-36,a=new Uint8Array(i),l=a.subarray(0,o);let c=0,h="";for(let u=0;u<t.length;u++){const d=t[u];if(u>0&&(c===i&&(h+=s.decode(a),c=0),a[c++]=n),0!==d.length){r[0]=0;for(let t=0;t<d.length;t++){const n=d[t];c>o&&(h+=s.decode(l),a.copyWithin(0,o,c),c-=o),t>0&&(a[c++]=e),c=f(a,c,r,n,0),1!==n.length&&(c=f(a,c,r,n,1),c=f(a,c,r,n,2),c=f(a,c,r,n,3),4!==n.length&&(c=f(a,c,r,n,4)))}}}return h+s.decode(a.subarray(0,c))}function f(t,e,n,r,o){const s=r[o];let a=s-n[o];n[o]=s,a=a<0?-a<<1|1:a<<1;do{let n=31&a;a>>>=5,a>0&&(n|=32),t[e++]=i[n]}while(a>0);return e}t.decode=a,t.encode=p,Object.defineProperty(t,"__esModule",{value:!0})}(e)},3446:function(t,e,n){!function(t,e,n){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=r(n);function o(t,e){return e&&!e.endsWith("/")&&(e+="/"),i.default(t,e)}function s(t){if(!t)return"";const e=t.lastIndexOf("/");return t.slice(0,e+1)}const a=0,l=1,c=2,h=3,u=4,d=1,p=2;function f(t,e){const n=m(t,0);if(n===t.length)return t;e||(t=t.slice());for(let r=n;r<t.length;r=m(t,r+1))t[r]=y(t[r],e);return t}function m(t,e){for(let n=e;n<t.length;n++)if(!g(t[n]))return n;return t.length}function g(t){for(let e=1;e<t.length;e++)if(t[e][a]<t[e-1][a])return!1;return!0}function y(t,e){return e||(t=t.slice()),t.sort(k)}function k(t,e){return t[a]-e[a]}let x=!1;function _(t,e,n,r){for(;n<=r;){const i=n+(r-n>>1),o=t[i][a]-e;if(0===o)return x=!0,i;o<0?n=i+1:r=i-1}return x=!1,n-1}function b(t,e,n){for(let r=n+1;r<t.length&&t[r][a]===e;n=r++);return n}function C(t,e,n){for(let r=n-1;r>=0&&t[r][a]===e;n=r--);return n}function v(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function T(t,e,n,r){const{lastKey:i,lastNeedle:o,lastIndex:s}=n;let l=0,c=t.length-1;if(r===i){if(e===o)return x=-1!==s&&t[s][a]===e,s;e>=o?l=-1===s?0:s:c=s}return n.lastKey=r,n.lastNeedle=e,n.lastIndex=_(t,e,l,c)}function w(t,e){const n=e.map(A);for(let r=0;r<t.length;r++){const i=t[r];for(let t=0;t<i.length;t++){const o=i[t];if(1===o.length)continue;const s=o[l],u=o[c],d=o[h],p=n[s],f=p[u]||(p[u]=[]),m=e[s],g=b(f,d,T(f,d,m,u));S(f,m.lastIndex=g+1,[d,r,o[a]])}}return n}function S(t,e,n){for(let r=t.length;r>e;r--)t[r]=t[r-1];t[e]=n}function A(){return{__proto__:null}}const I=function(e,n){const r="string"==typeof e?JSON.parse(e):e;if(!("sections"in r))return new R(r,n);const i=[],o=[],s=[],a=[];B(r,n,i,o,s,a,0,0,1/0,1/0);const l={version:3,file:r.file,names:a,sources:o,sourcesContent:s,mappings:i};return t.presortedDecodedMap(l)};function B(t,e,n,r,i,o,s,a,l,c){const{sections:h}=t;for(let u=0;u<h.length;u++){const{map:t,offset:d}=h[u];let p=l,f=c;if(u+1<h.length){const t=h[u+1].offset;p=Math.min(l,s+t.line),p===l?f=Math.min(c,a+t.column):p<l&&(f=a+t.column)}E(t,e,n,r,i,o,s+d.line,a+d.column,p,f)}}function E(e,n,r,i,o,s,d,p,f,m){if("sections"in e)return B(...arguments);const g=new R(e,n),y=i.length,k=s.length,x=t.decodedMappings(g),{resolvedSources:_,sourcesContent:b}=g;if(L(i,_),L(s,g.names),b)L(o,b);else for(let t=0;t<_.length;t++)o.push(null);for(let t=0;t<x.length;t++){const e=d+t;if(e>f)return;const n=F(r,e),i=0===t?p:0,o=x[t];for(let t=0;t<o.length;t++){const r=o[t],s=i+r[a];if(e===f&&s>=m)return;if(1===r.length){n.push([s]);continue}const d=y+r[l],p=r[c],g=r[h];n.push(4===r.length?[s,d,p,g]:[s,d,p,g,k+r[u]])}}}function L(t,e){for(let n=0;n<e.length;n++)t.push(e[n])}function F(t,e){for(let n=t.length;n<=e;n++)t[n]=[];return t[e]}const N="`line` must be greater than 0 (lines start at line 1)",M="`column` must be greater than or equal to 0 (columns start at column 0)",j=-1,O=1;t.encodedMappings=void 0,t.decodedMappings=void 0,t.traceSegment=void 0,t.originalPositionFor=void 0,t.generatedPositionFor=void 0,t.allGeneratedPositionsFor=void 0,t.eachMapping=void 0,t.sourceContentFor=void 0,t.presortedDecodedMap=void 0,t.decodedMap=void 0,t.encodedMap=void 0;class R{constructor(t,e){const n="string"==typeof t;if(!n&&t._decodedMemo)return t;const r=n?JSON.parse(t):t,{version:i,file:a,names:l,sourceRoot:c,sources:h,sourcesContent:u}=r;this.version=i,this.file=a,this.names=l||[],this.sourceRoot=c,this.sources=h,this.sourcesContent=u;const d=o(c||"",s(e));this.resolvedSources=h.map((t=>o(t||"",d)));const{mappings:p}=r;"string"==typeof p?(this._encoded=p,this._decoded=void 0):(this._encoded=void 0,this._decoded=f(p,n)),this._decodedMemo=v(),this._bySources=void 0,this._bySourceMemos=void 0}}function D(t,e){return{version:t.version,file:t.file,names:t.names,sourceRoot:t.sourceRoot,sources:t.sources,sourcesContent:t.sourcesContent,mappings:e}}function q(t,e,n,r){return{source:t,line:e,column:n,name:r}}function $(t,e){return{line:t,column:e}}function P(t,e,n,r,i){let o=T(t,r,e,n);return x?o=(i===j?b:C)(t,r,o):i===j&&o++,-1===o||o===t.length?-1:o}function Z(t,e,n,r,i){let o=P(t,e,n,r,O);if(x||i!==j||o++,-1===o||o===t.length)return[];const s=x?r:t[o][a];x||(o=C(t,s,o));const l=b(t,s,o),c=[];for(;o<=l;o++){const e=t[o];c.push($(e[d]+1,e[p]))}return c}(()=>{function n(e,n,r,i,o,s){if(--r<0)throw new Error(N);if(i<0)throw new Error(M);const{sources:a,resolvedSources:l}=e;let c=a.indexOf(n);if(-1===c&&(c=l.indexOf(n)),-1===c)return s?[]:$(null,null);const h=(e._bySources||(e._bySources=w(t.decodedMappings(e),e._bySourceMemos=a.map(v))))[c][r];if(null==h)return s?[]:$(null,null);const u=e._bySourceMemos[c];if(s)return Z(h,u,r,i,o);const f=P(h,u,r,i,o);if(-1===f)return $(null,null);const m=h[f];return $(m[d]+1,m[p])}t.encodedMappings=t=>{var n;return null!==(n=t._encoded)&&void 0!==n?n:t._encoded=e.encode(t._decoded)},t.decodedMappings=t=>t._decoded||(t._decoded=e.decode(t._encoded)),t.traceSegment=(e,n,r)=>{const i=t.decodedMappings(e);if(n>=i.length)return null;const o=i[n],s=P(o,e._decodedMemo,n,r,O);return-1===s?null:o[s]},t.originalPositionFor=(e,{line:n,column:r,bias:i})=>{if(--n<0)throw new Error(N);if(r<0)throw new Error(M);const o=t.decodedMappings(e);if(n>=o.length)return q(null,null,null,null);const s=o[n],a=P(s,e._decodedMemo,n,r,i||O);if(-1===a)return q(null,null,null,null);const d=s[a];if(1===d.length)return q(null,null,null,null);const{names:p,resolvedSources:f}=e;return q(f[d[l]],d[c]+1,d[h],5===d.length?p[d[u]]:null)},t.allGeneratedPositionsFor=(t,{source:e,line:r,column:i,bias:o})=>n(t,e,r,i,o||j,!0),t.generatedPositionFor=(t,{source:e,line:r,column:i,bias:o})=>n(t,e,r,i,o||O,!1),t.eachMapping=(e,n)=>{const r=t.decodedMappings(e),{names:i,resolvedSources:o}=e;for(let t=0;t<r.length;t++){const e=r[t];for(let r=0;r<e.length;r++){const s=e[r],a=t+1,l=s[0];let c=null,h=null,u=null,d=null;1!==s.length&&(c=o[s[1]],h=s[2]+1,u=s[3]),5===s.length&&(d=i[s[4]]),n({generatedLine:a,generatedColumn:l,source:c,originalLine:h,originalColumn:u,name:d})}}},t.sourceContentFor=(t,e)=>{const{sources:n,resolvedSources:r,sourcesContent:i}=t;if(null==i)return null;let o=n.indexOf(e);return-1===o&&(o=r.indexOf(e)),-1===o?null:i[o]},t.presortedDecodedMap=(t,e)=>{const n=new R(D(t,[]),e);return n._decoded=t.mappings,n},t.decodedMap=e=>D(e,t.decodedMappings(e)),t.encodedMap=e=>D(e,t.encodedMappings(e))})(),t.AnyMap=I,t.GREATEST_LOWER_BOUND=O,t.LEAST_UPPER_BOUND=j,t.TraceMap=R,Object.defineProperty(t,"__esModule",{value:!0})}(e,n(2297),n(8435))},9047:(t,e,n)=>{"use strict";n.d(e,{Z:()=>B});var r=n(7294),i=n(5893);function o(t){const{mdxAdmonitionTitle:e,rest:n}=function(t){const e=r.Children.toArray(t),n=e.find((t=>r.isValidElement(t)&&"mdxAdmonitionTitle"===t.type)),o=e.filter((t=>t!==n)),s=n?.props.children;return{mdxAdmonitionTitle:s,rest:o.length>0?(0,i.jsx)(i.Fragment,{children:o}):null}}(t.children),o=t.title??e;return{...t,...o&&{title:o},children:n}}var s=n(512),a=n(5999),l=n(5281);const c={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function h(t){let{type:e,className:n,children:r}=t;return(0,i.jsx)("div",{className:(0,s.Z)(l.k.common.admonition,l.k.common.admonitionType(e),c.admonition,n),children:r})}function u(t){let{icon:e,title:n}=t;return(0,i.jsxs)("div",{className:c.admonitionHeading,children:[(0,i.jsx)("span",{className:c.admonitionIcon,children:e}),n]})}function d(t){let{children:e}=t;return e?(0,i.jsx)("div",{className:c.admonitionContent,children:e}):null}function p(t){const{type:e,icon:n,title:r,children:o,className:s}=t;return(0,i.jsxs)(h,{type:e,className:s,children:[(0,i.jsx)(u,{title:r,icon:n}),(0,i.jsx)(d,{children:o})]})}function f(t){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const m={icon:(0,i.jsx)(f,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function g(t){return(0,i.jsx)(p,{...m,...t,className:(0,s.Z)("alert alert--secondary",t.className),children:t.children})}function y(t){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const k={icon:(0,i.jsx)(y,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function x(t){return(0,i.jsx)(p,{...k,...t,className:(0,s.Z)("alert alert--success",t.className),children:t.children})}function _(t){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const b={icon:(0,i.jsx)(_,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function C(t){return(0,i.jsx)(p,{...b,...t,className:(0,s.Z)("alert alert--info",t.className),children:t.children})}function v(t){return(0,i.jsx)("svg",{viewBox:"0 0 16 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const T={icon:(0,i.jsx)(v,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function w(t){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...t,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const S={icon:(0,i.jsx)(w,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const A={icon:(0,i.jsx)(v,{}),title:(0,i.jsx)(a.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const I={...{note:g,tip:x,info:C,warning:function(t){return(0,i.jsx)(p,{...T,...t,className:(0,s.Z)("alert alert--warning",t.className),children:t.children})},danger:function(t){return(0,i.jsx)(p,{...S,...t,className:(0,s.Z)("alert alert--danger",t.className),children:t.children})}},...{secondary:t=>(0,i.jsx)(g,{title:"secondary",...t}),important:t=>(0,i.jsx)(C,{title:"important",...t}),success:t=>(0,i.jsx)(x,{title:"success",...t}),caution:function(t){return(0,i.jsx)(p,{...A,...t,className:(0,s.Z)("alert alert--warning",t.className),children:t.children})}}};function B(t){const e=o(t),n=(r=e.type,I[r]||(console.warn(`No admonition component found for admonition type "${r}". Using Info as fallback.`),I.info));var r;return(0,i.jsx)(n,{...e})}},4881:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});n(7294);var r=n(5999),i=n(5281),o=n(3692),s=n(512);const a={iconEdit:"iconEdit_Z9Sw"};var l=n(5893);function c(t){let{className:e,...n}=t;return(0,l.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)(a.iconEdit,e),"aria-hidden":"true",...n,children:(0,l.jsx)("g",{children:(0,l.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function h(t){let{editUrl:e}=t;return(0,l.jsxs)(o.Z,{to:e,className:i.k.common.editThisPage,children:[(0,l.jsx)(c,{}),(0,l.jsx)(r.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},9608:(t,e,n)=>{"use strict";n.d(e,{Z:()=>Ts});var r=n(7294),i=n(1151),o=n(5742),s=n(512),a=n(2389),l=n(2573),c={characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0};function h(t){var e=window.getSelection();e.empty(),e.addRange(t)}function u(t){return(t.metaKey||t.ctrlKey)&&!t.altKey&&"KeyZ"===t.code}function d(t){t=[t.firstChild];for(var e,n="";e=t.pop();)e.nodeType===Node.TEXT_NODE?n+=e.textContent:e.nodeType===Node.ELEMENT_NODE&&"BR"===e.nodeName&&(n+="\n"),e.nextSibling&&t.push(e.nextSibling),e.firstChild&&t.push(e.firstChild);return"\n"!==n[n.length-1]&&(n+="\n"),n}function p(t){var e=window.getSelection().getRangeAt(0),n=e.collapsed?0:e.toString().length,r=document.createRange();return r.setStart(t,0),r.setEnd(e.startContainer,e.startOffset),{position:t=(r=r.toString()).length,extent:n,content:r=(r=r.split("\n"))[e=r.length-1],line:e}}function f(t,e,n){0>=e&&(e=0),(!n||0>n)&&(n=e);var r=document.createRange();t=[t.firstChild];for(var i,o=0,s=e;i=t[t.length-1];){if(i.nodeType===Node.TEXT_NODE){if(o+i.textContent.length>=s){var a=s-o;if(s===e){if(s=r,a<i.textContent.length?s.setStart(i,a):s.setStartAfter(i),n!==e){s=n;continue}break}e=r,a<(n=i).textContent.length?e.setEnd(n,a):e.setEndAfter(n);break}o+=i.textContent.length}else if(i.nodeType===Node.ELEMENT_NODE&&"BR"===i.nodeName){if(o+1>=s){if(s===e){if(a=r,0<i.textContent.length?a.setStart(i,0):a.setStartAfter(i),n!==e){s=n;continue}break}e=r,0<(n=i).textContent.length?e.setEnd(n,0):e.setEndAfter(n);break}o++}t.pop(),i.nextSibling&&t.push(i.nextSibling),i.firstChild&&t.push(i.firstChild)}return r}var m,g,y,k=n(5893);!function(t){t[t.NONE=0]="NONE";t[t._abstract=1]="_abstract";t[t._accessor=2]="_accessor";t[t._as=3]="_as";t[t._assert=4]="_assert";t[t._asserts=5]="_asserts";t[t._async=6]="_async";t[t._await=7]="_await";t[t._checks=8]="_checks";t[t._constructor=9]="_constructor";t[t._declare=10]="_declare";t[t._enum=11]="_enum";t[t._exports=12]="_exports";t[t._from=13]="_from";t[t._get=14]="_get";t[t._global=15]="_global";t[t._implements=16]="_implements";t[t._infer=17]="_infer";t[t._interface=18]="_interface";t[t._is=19]="_is";t[t._keyof=20]="_keyof";t[t._mixins=21]="_mixins";t[t._module=22]="_module";t[t._namespace=23]="_namespace";t[t._of=24]="_of";t[t._opaque=25]="_opaque";t[t._out=26]="_out";t[t._override=27]="_override";t[t._private=28]="_private";t[t._protected=29]="_protected";t[t._proto=30]="_proto";t[t._public=31]="_public";t[t._readonly=32]="_readonly";t[t._require=33]="_require";t[t._satisfies=34]="_satisfies";t[t._set=35]="_set";t[t._static=36]="_static";t[t._symbol=37]="_symbol";t[t._type=38]="_type";t[t._unique=39]="_unique";t[t._using=40]="_using"}(m||(m={})),function(t){t[t.PRECEDENCE_MASK=15]="PRECEDENCE_MASK";t[t.IS_KEYWORD=16]="IS_KEYWORD";t[t.IS_ASSIGN=32]="IS_ASSIGN";t[t.IS_RIGHT_ASSOCIATIVE=64]="IS_RIGHT_ASSOCIATIVE";t[t.IS_PREFIX=128]="IS_PREFIX";t[t.IS_POSTFIX=256]="IS_POSTFIX";t[t.IS_EXPRESSION_START=512]="IS_EXPRESSION_START";t[t.num=512]="num";t[t.bigint=1536]="bigint";t[t.decimal=2560]="decimal";t[t.regexp=3584]="regexp";t[t.string=4608]="string";t[t.name=5632]="name";t[t.eof=6144]="eof";t[t.bracketL=7680]="bracketL";t[t.bracketR=8192]="bracketR";t[t.braceL=9728]="braceL";t[t.braceBarL=10752]="braceBarL";t[t.braceR=11264]="braceR";t[t.braceBarR=12288]="braceBarR";t[t.parenL=13824]="parenL";t[t.parenR=14336]="parenR";t[t.comma=15360]="comma";t[t.semi=16384]="semi";t[t.colon=17408]="colon";t[t.doubleColon=18432]="doubleColon";t[t.dot=19456]="dot";t[t.question=20480]="question";t[t.questionDot=21504]="questionDot";t[t.arrow=22528]="arrow";t[t.template=23552]="template";t[t.ellipsis=24576]="ellipsis";t[t.backQuote=25600]="backQuote";t[t.dollarBraceL=27136]="dollarBraceL";t[t.at=27648]="at";t[t.hash=29184]="hash";t[t.eq=29728]="eq";t[t.assign=30752]="assign";t[t.preIncDec=32640]="preIncDec";t[t.postIncDec=33664]="postIncDec";t[t.bang=34432]="bang";t[t.tilde=35456]="tilde";t[t.pipeline=35841]="pipeline";t[t.nullishCoalescing=36866]="nullishCoalescing";t[t.logicalOR=37890]="logicalOR";t[t.logicalAND=38915]="logicalAND";t[t.bitwiseOR=39940]="bitwiseOR";t[t.bitwiseXOR=40965]="bitwiseXOR";t[t.bitwiseAND=41990]="bitwiseAND";t[t.equality=43015]="equality";t[t.lessThan=44040]="lessThan";t[t.greaterThan=45064]="greaterThan";t[t.relationalOrEqual=46088]="relationalOrEqual";t[t.bitShiftL=47113]="bitShiftL";t[t.bitShiftR=48137]="bitShiftR";t[t.plus=49802]="plus";t[t.minus=50826]="minus";t[t.modulo=51723]="modulo";t[t.star=52235]="star";t[t.slash=53259]="slash";t[t.exponent=54348]="exponent";t[t.jsxName=55296]="jsxName";t[t.jsxText=56320]="jsxText";t[t.jsxEmptyText=57344]="jsxEmptyText";t[t.jsxTagStart=58880]="jsxTagStart";t[t.jsxTagEnd=59392]="jsxTagEnd";t[t.typeParameterStart=60928]="typeParameterStart";t[t.nonNullAssertion=61440]="nonNullAssertion";t[t._break=62480]="_break";t[t._case=63504]="_case";t[t._catch=64528]="_catch";t[t._continue=65552]="_continue";t[t._debugger=66576]="_debugger";t[t._default=67600]="_default";t[t._do=68624]="_do";t[t._else=69648]="_else";t[t._finally=70672]="_finally";t[t._for=71696]="_for";t[t._function=73232]="_function";t[t._if=73744]="_if";t[t._return=74768]="_return";t[t._switch=75792]="_switch";t[t._throw=77456]="_throw";t[t._try=77840]="_try";t[t._var=78864]="_var";t[t._let=79888]="_let";t[t._const=80912]="_const";t[t._while=81936]="_while";t[t._with=82960]="_with";t[t._new=84496]="_new";t[t._this=85520]="_this";t[t._super=86544]="_super";t[t._class=87568]="_class";t[t._extends=88080]="_extends";t[t._export=89104]="_export";t[t._import=90640]="_import";t[t._yield=91664]="_yield";t[t._null=92688]="_null";t[t._true=93712]="_true";t[t._false=94736]="_false";t[t._in=95256]="_in";t[t._instanceof=96280]="_instanceof";t[t._typeof=97936]="_typeof";t[t._void=98960]="_void";t[t._delete=99984]="_delete";t[t._async=100880]="_async";t[t._get=101904]="_get";t[t._set=102928]="_set";t[t._declare=103952]="_declare";t[t._readonly=104976]="_readonly";t[t._abstract=106e3]="_abstract";t[t._static=107024]="_static";t[t._public=107536]="_public";t[t._private=108560]="_private";t[t._protected=109584]="_protected";t[t._override=110608]="_override";t[t._as=112144]="_as";t[t._enum=113168]="_enum";t[t._type=114192]="_type";t[t._implements=115216]="_implements"}(g||(g={}));class x{constructor(t,e,n){this.startTokenIndex=t,this.endTokenIndex=e,this.isFunctionScope=n}}class _{constructor(t,e,n,r,i,o,s,a,l,c,h,u,d){this.potentialArrowAt=t,this.noAnonFunctionType=e,this.inDisallowConditionalTypesContext=n,this.tokensLength=r,this.scopesLength=i,this.pos=o,this.type=s,this.contextualKeyword=a,this.start=l,this.end=c,this.isType=h,this.scopeDepth=u,this.error=d}}class b{constructor(){b.prototype.__init.call(this),b.prototype.__init2.call(this),b.prototype.__init3.call(this),b.prototype.__init4.call(this),b.prototype.__init5.call(this),b.prototype.__init6.call(this),b.prototype.__init7.call(this),b.prototype.__init8.call(this),b.prototype.__init9.call(this),b.prototype.__init10.call(this),b.prototype.__init11.call(this),b.prototype.__init12.call(this),b.prototype.__init13.call(this)}__init(){this.potentialArrowAt=-1}__init2(){this.noAnonFunctionType=!1}__init3(){this.inDisallowConditionalTypesContext=!1}__init4(){this.tokens=[]}__init5(){this.scopes=[]}__init6(){this.pos=0}__init7(){this.type=g.eof}__init8(){this.contextualKeyword=m.NONE}__init9(){this.start=0}__init10(){this.end=0}__init11(){this.isType=!1}__init12(){this.scopeDepth=0}__init13(){this.error=null}snapshot(){return new _(this.potentialArrowAt,this.noAnonFunctionType,this.inDisallowConditionalTypesContext,this.tokens.length,this.scopes.length,this.pos,this.type,this.contextualKeyword,this.start,this.end,this.isType,this.scopeDepth,this.error)}restoreFromSnapshot(t){this.potentialArrowAt=t.potentialArrowAt,this.noAnonFunctionType=t.noAnonFunctionType,this.inDisallowConditionalTypesContext=t.inDisallowConditionalTypesContext,this.tokens.length=t.tokensLength,this.scopes.length=t.scopesLength,this.pos=t.pos,this.type=t.type,this.contextualKeyword=t.contextualKeyword,this.start=t.start,this.end=t.end,this.isType=t.isType,this.scopeDepth=t.scopeDepth,this.error=t.error}}let C,v,T,w,S,A;function I(){return A++}function B(t){if("pos"in t){const e=function(t){let e=1,n=1;for(let r=0;r<t;r++)S.charCodeAt(r)===y.lineFeed?(e++,n=1):n++;return new E(e,n)}(t.pos);t.message+=` (${e.line}:${e.column})`,t.loc=e}return t}!function(t){t[t.backSpace=8]="backSpace";t[t.lineFeed=10]="lineFeed";t[t.tab=9]="tab";t[t.carriageReturn=13]="carriageReturn";t[t.shiftOut=14]="shiftOut";t[t.space=32]="space";t[t.exclamationMark=33]="exclamationMark";t[t.quotationMark=34]="quotationMark";t[t.numberSign=35]="numberSign";t[t.dollarSign=36]="dollarSign";t[t.percentSign=37]="percentSign";t[t.ampersand=38]="ampersand";t[t.apostrophe=39]="apostrophe";t[t.leftParenthesis=40]="leftParenthesis";t[t.rightParenthesis=41]="rightParenthesis";t[t.asterisk=42]="asterisk";t[t.plusSign=43]="plusSign";t[t.comma=44]="comma";t[t.dash=45]="dash";t[t.dot=46]="dot";t[t.slash=47]="slash";t[t.digit0=48]="digit0";t[t.digit1=49]="digit1";t[t.digit2=50]="digit2";t[t.digit3=51]="digit3";t[t.digit4=52]="digit4";t[t.digit5=53]="digit5";t[t.digit6=54]="digit6";t[t.digit7=55]="digit7";t[t.digit8=56]="digit8";t[t.digit9=57]="digit9";t[t.colon=58]="colon";t[t.semicolon=59]="semicolon";t[t.lessThan=60]="lessThan";t[t.equalsTo=61]="equalsTo";t[t.greaterThan=62]="greaterThan";t[t.questionMark=63]="questionMark";t[t.atSign=64]="atSign";t[t.uppercaseA=65]="uppercaseA";t[t.uppercaseB=66]="uppercaseB";t[t.uppercaseC=67]="uppercaseC";t[t.uppercaseD=68]="uppercaseD";t[t.uppercaseE=69]="uppercaseE";t[t.uppercaseF=70]="uppercaseF";t[t.uppercaseG=71]="uppercaseG";t[t.uppercaseH=72]="uppercaseH";t[t.uppercaseI=73]="uppercaseI";t[t.uppercaseJ=74]="uppercaseJ";t[t.uppercaseK=75]="uppercaseK";t[t.uppercaseL=76]="uppercaseL";t[t.uppercaseM=77]="uppercaseM";t[t.uppercaseN=78]="uppercaseN";t[t.uppercaseO=79]="uppercaseO";t[t.uppercaseP=80]="uppercaseP";t[t.uppercaseQ=81]="uppercaseQ";t[t.uppercaseR=82]="uppercaseR";t[t.uppercaseS=83]="uppercaseS";t[t.uppercaseT=84]="uppercaseT";t[t.uppercaseU=85]="uppercaseU";t[t.uppercaseV=86]="uppercaseV";t[t.uppercaseW=87]="uppercaseW";t[t.uppercaseX=88]="uppercaseX";t[t.uppercaseY=89]="uppercaseY";t[t.uppercaseZ=90]="uppercaseZ";t[t.leftSquareBracket=91]="leftSquareBracket";t[t.backslash=92]="backslash";t[t.rightSquareBracket=93]="rightSquareBracket";t[t.caret=94]="caret";t[t.underscore=95]="underscore";t[t.graveAccent=96]="graveAccent";t[t.lowercaseA=97]="lowercaseA";t[t.lowercaseB=98]="lowercaseB";t[t.lowercaseC=99]="lowercaseC";t[t.lowercaseD=100]="lowercaseD";t[t.lowercaseE=101]="lowercaseE";t[t.lowercaseF=102]="lowercaseF";t[t.lowercaseG=103]="lowercaseG";t[t.lowercaseH=104]="lowercaseH";t[t.lowercaseI=105]="lowercaseI";t[t.lowercaseJ=106]="lowercaseJ";t[t.lowercaseK=107]="lowercaseK";t[t.lowercaseL=108]="lowercaseL";t[t.lowercaseM=109]="lowercaseM";t[t.lowercaseN=110]="lowercaseN";t[t.lowercaseO=111]="lowercaseO";t[t.lowercaseP=112]="lowercaseP";t[t.lowercaseQ=113]="lowercaseQ";t[t.lowercaseR=114]="lowercaseR";t[t.lowercaseS=115]="lowercaseS";t[t.lowercaseT=116]="lowercaseT";t[t.lowercaseU=117]="lowercaseU";t[t.lowercaseV=118]="lowercaseV";t[t.lowercaseW=119]="lowercaseW";t[t.lowercaseX=120]="lowercaseX";t[t.lowercaseY=121]="lowercaseY";t[t.lowercaseZ=122]="lowercaseZ";t[t.leftCurlyBrace=123]="leftCurlyBrace";t[t.verticalBar=124]="verticalBar";t[t.rightCurlyBrace=125]="rightCurlyBrace";t[t.tilde=126]="tilde";t[t.nonBreakingSpace=160]="nonBreakingSpace";t[t.oghamSpaceMark=5760]="oghamSpaceMark";t[t.lineSeparator=8232]="lineSeparator";t[t.paragraphSeparator=8233]="paragraphSeparator"}(y||(y={}));class E{constructor(t,e){this.line=t,this.column=e}}function L(t,e,n,r){S=t,w=new b,A=1,C=e,v=n,T=r}function F(t){return w.contextualKeyword===t}function N(t){const e=mt();return e.type===g.name&&e.contextualKeyword===t}function M(t){return w.contextualKeyword===t&&ht(g.name)}function j(t){M(t)||Z()}function O(){return dt(g.eof)||dt(g.braceR)||R()}function R(){const t=w.tokens[w.tokens.length-1];for(let e=t?t.end:0;e<w.start;e++){const t=S.charCodeAt(e);if(t===y.lineFeed||t===y.carriageReturn||8232===t||8233===t)return!0}return!1}function D(){const t=gt();for(let e=w.end;e<t;e++){const t=S.charCodeAt(e);if(t===y.lineFeed||t===y.carriageReturn||8232===t||8233===t)return!0}return!1}function q(){return ht(g.semi)||O()}function $(){q()||Z('Unexpected token, expected ";"')}function P(t){ht(t)||Z(`Unexpected token, expected "${function(t){switch(t){case g.num:return"num";case g.bigint:return"bigint";case g.decimal:return"decimal";case g.regexp:return"regexp";case g.string:return"string";case g.name:return"name";case g.eof:return"eof";case g.bracketL:return"[";case g.bracketR:return"]";case g.braceL:return"{";case g.braceBarL:return"{|";case g.braceR:return"}";case g.braceBarR:return"|}";case g.parenL:return"(";case g.parenR:return")";case g.comma:return",";case g.semi:return";";case g.colon:return":";case g.doubleColon:return"::";case g.dot:return".";case g.question:return"?";case g.questionDot:return"?.";case g.arrow:return"=>";case g.template:return"template";case g.ellipsis:return"...";case g.backQuote:return"`";case g.dollarBraceL:return"${";case g.at:return"@";case g.hash:return"#";case g.eq:return"=";case g.assign:return"_=";case g.preIncDec:case g.postIncDec:return"++/--";case g.bang:return"!";case g.tilde:return"~";case g.pipeline:return"|>";case g.nullishCoalescing:return"??";case g.logicalOR:return"||";case g.logicalAND:return"&&";case g.bitwiseOR:return"|";case g.bitwiseXOR:return"^";case g.bitwiseAND:return"&";case g.equality:return"==/!=";case g.lessThan:return"<";case g.greaterThan:return">";case g.relationalOrEqual:return"<=/>=";case g.bitShiftL:return"<<";case g.bitShiftR:return">>/>>>";case g.plus:return"+";case g.minus:return"-";case g.modulo:return"%";case g.star:return"*";case g.slash:return"/";case g.exponent:return"**";case g.jsxName:return"jsxName";case g.jsxText:return"jsxText";case g.jsxEmptyText:return"jsxEmptyText";case g.jsxTagStart:return"jsxTagStart";case g.jsxTagEnd:return"jsxTagEnd";case g.typeParameterStart:return"typeParameterStart";case g.nonNullAssertion:return"nonNullAssertion";case g._break:return"break";case g._case:return"case";case g._catch:return"catch";case g._continue:return"continue";case g._debugger:return"debugger";case g._default:return"default";case g._do:return"do";case g._else:return"else";case g._finally:return"finally";case g._for:return"for";case g._function:return"function";case g._if:return"if";case g._return:return"return";case g._switch:return"switch";case g._throw:return"throw";case g._try:return"try";case g._var:return"var";case g._let:return"let";case g._const:return"const";case g._while:return"while";case g._with:return"with";case g._new:return"new";case g._this:return"this";case g._super:return"super";case g._class:return"class";case g._extends:return"extends";case g._export:return"export";case g._import:return"import";case g._yield:return"yield";case g._null:return"null";case g._true:return"true";case g._false:return"false";case g._in:return"in";case g._instanceof:return"instanceof";case g._typeof:return"typeof";case g._void:return"void";case g._delete:return"delete";case g._async:return"async";case g._get:return"get";case g._set:return"set";case g._declare:return"declare";case g._readonly:return"readonly";case g._abstract:return"abstract";case g._static:return"static";case g._public:return"public";case g._private:return"private";case g._protected:return"protected";case g._override:return"override";case g._as:return"as";case g._enum:return"enum";case g._type:return"type";case g._implements:return"implements";default:return""}}(t)}"`)}function Z(t="Unexpected token",e=w.start){if(w.error)return;const n=new SyntaxError(t);n.pos=e,w.error=n,w.pos=S.length,vt(g.eof)}const z=[9,11,12,y.space,y.nonBreakingSpace,y.oghamSpaceMark,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],W=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,U=new Uint8Array(65536);for(const ws of z)U[ws]=1;function H(t){if(t<48)return 36===t;if(t<58)return!0;if(t<65)return!1;if(t<91)return!0;if(t<97)return 95===t;if(t<123)return!0;if(t<128)return!1;throw new Error("Should not be called with non-ASCII char code.")}const Y=new Uint8Array(65536);for(let ws=0;ws<128;ws++)Y[ws]=H(ws)?1:0;for(let ws=128;ws<65536;ws++)Y[ws]=1;for(const ws of z)Y[ws]=0;Y[8232]=0,Y[8233]=0;const V=Y.slice();for(let ws=y.digit0;ws<=y.digit9;ws++)V[ws]=0;const K=new Int32Array([-1,27,783,918,1755,2376,2862,3483,-1,3699,-1,4617,4752,4833,5130,5508,5940,-1,6480,6939,7749,8181,8451,8613,-1,8829,-1,-1,-1,54,243,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,432,-1,-1,-1,675,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,81,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,108,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,135,-1,-1,-1,-1,-1,-1,-1,-1,-1,162,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,189,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,216,-1,-1,-1,-1,-1,-1,m._abstract<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,270,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,297,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,324,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,351,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,378,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,405,-1,-1,-1,-1,-1,-1,-1,-1,m._accessor<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._as<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,459,-1,-1,-1,-1,-1,594,-1,-1,-1,-1,-1,-1,486,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,513,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,540,-1,-1,-1,-1,-1,-1,m._assert<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,567,-1,-1,-1,-1,-1,-1,-1,m._asserts<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,621,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,648,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._async<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,702,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,729,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,756,-1,-1,-1,-1,-1,-1,m._await<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,810,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,837,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,864,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,891,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._break<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,945,-1,-1,-1,-1,-1,-1,1107,-1,-1,-1,1242,-1,-1,1350,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,972,1026,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,999,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._case<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1053,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1080,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._catch<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1134,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1161,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1188,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1215,-1,-1,-1,-1,-1,-1,-1,m._checks<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1269,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1296,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1323,-1,-1,-1,-1,-1,-1,-1,1+(g._class<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1377,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1404,1620,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1431,-1,-1,-1,-1,-1,-1,1+(g._const<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1458,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1485,-1,-1,-1,-1,-1,-1,-1,-1,1512,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1539,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1566,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1593,-1,-1,-1,-1,-1,-1,-1,-1,m._constructor<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1647,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1674,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1701,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1728,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._continue<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1782,-1,-1,-1,-1,-1,-1,-1,-1,-1,2349,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1809,1971,-1,-1,2106,-1,-1,-1,-1,-1,2241,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1836,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1863,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1890,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1917,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1944,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._debugger<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2025,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2052,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2079,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._declare<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2133,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2160,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2187,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2214,-1,-1,-1,-1,-1,-1,1+(g._default<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2268,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2295,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2322,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._delete<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._do<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2403,-1,2484,-1,-1,-1,-1,-1,-1,-1,-1,-1,2565,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2430,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2457,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._else<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2511,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2538,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._enum<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2592,-1,-1,-1,2727,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2619,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2646,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2673,-1,-1,-1,-1,-1,-1,1+(g._export<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2700,-1,-1,-1,-1,-1,-1,-1,m._exports<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2754,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2781,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2808,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2835,-1,-1,-1,-1,-1,-1,-1,1+(g._extends<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2889,-1,-1,-1,-1,-1,-1,-1,2997,-1,-1,-1,-1,-1,3159,-1,-1,3213,-1,-1,3294,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2916,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2943,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2970,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._false<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3024,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3051,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3078,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3105,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3132,-1,1+(g._finally<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3186,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._for<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3240,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3267,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._from<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3321,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3348,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3375,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3402,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3429,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3456,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._function<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3510,-1,-1,-1,-1,-1,-1,3564,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3537,-1,-1,-1,-1,-1,-1,m._get<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3591,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3618,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3645,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3672,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._global<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3726,-1,-1,-1,-1,-1,-1,3753,4077,-1,-1,-1,-1,4590,-1,-1,-1,-1,-1,-1,-1,1+(g._if<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3780,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3807,-1,-1,3996,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3834,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3861,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3888,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3915,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3942,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3969,-1,-1,-1,-1,-1,-1,-1,m._implements<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4023,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4050,-1,-1,-1,-1,-1,-1,1+(g._import<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._in<<1),-1,-1,-1,-1,-1,4104,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4185,4401,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4131,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4158,-1,-1,-1,-1,-1,-1,-1,-1,m._infer<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4212,-1,-1,-1,-1,-1,-1,-1,4239,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4266,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4293,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4320,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4347,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4374,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._instanceof<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4428,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4455,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4482,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4509,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4536,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4563,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._interface<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._is<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4644,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4671,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4698,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4725,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._keyof<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4779,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4806,-1,-1,-1,-1,-1,-1,1+(g._let<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4860,-1,-1,-1,-1,-1,4995,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4887,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4914,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4941,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4968,-1,-1,-1,-1,-1,-1,-1,m._mixins<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5022,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5049,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5076,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5103,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._module<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5157,-1,-1,-1,5373,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5427,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5184,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5211,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5238,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5265,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5292,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5319,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5346,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._namespace<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5400,-1,-1,-1,1+(g._new<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5454,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5481,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._null<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5535,-1,-1,-1,-1,-1,-1,-1,-1,-1,5562,-1,-1,-1,-1,5697,5751,-1,-1,-1,-1,m._of<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5589,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5616,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5643,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5670,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._opaque<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5724,-1,-1,-1,-1,-1,-1,m._out<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5778,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5805,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5832,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5859,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5886,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5913,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._override<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5967,-1,-1,6345,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5994,-1,-1,-1,-1,-1,6129,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6021,-1,-1,-1,-1,-1,6048,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6075,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6102,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._private<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6156,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6183,-1,-1,-1,-1,-1,-1,-1,-1,-1,6318,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6210,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6237,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6264,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6291,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._protected<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._proto<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6372,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6399,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6426,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6453,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._public<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6507,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6534,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6696,-1,-1,6831,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6561,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6588,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6615,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6642,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6669,-1,m._readonly<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6723,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6750,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6777,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6804,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._require<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6858,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6885,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6912,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._return<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6966,-1,-1,-1,7182,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7236,7371,-1,7479,-1,7614,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6993,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7047,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7074,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7101,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7128,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7155,-1,-1,-1,-1,-1,-1,-1,m._satisfies<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7209,-1,-1,-1,-1,-1,-1,m._set<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7263,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7290,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7317,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7344,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._static<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7398,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7425,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7452,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._super<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7506,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7533,-1,-1,-1,-1,-1,-1,-1,-1,-1,7560,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7587,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._switch<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7641,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7668,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7695,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7722,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._symbol<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7776,-1,-1,-1,-1,-1,-1,-1,-1,-1,7938,-1,-1,-1,-1,-1,-1,8046,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7803,-1,-1,-1,-1,-1,-1,-1,-1,7857,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7830,-1,-1,-1,-1,-1,-1,-1,1+(g._this<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7884,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7911,-1,-1,-1,1+(g._throw<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7965,-1,-1,-1,8019,-1,-1,-1,-1,-1,-1,7992,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._true<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._try<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8073,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8100,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._type<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8127,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8154,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._typeof<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8208,-1,-1,-1,-1,8343,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8235,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8262,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8289,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8316,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._unique<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8370,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8397,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8424,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,m._using<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8478,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8532,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8505,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._var<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8559,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8586,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._void<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8640,8748,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8667,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8694,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8721,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._while<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8775,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8802,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._with<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8856,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8883,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8910,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8937,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1+(g._yield<<1),-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);var X,G;function J(t){const e=t.identifierRole;return e===X.TopLevelDeclaration||e===X.FunctionScopedDeclaration||e===X.BlockScopedDeclaration||e===X.ObjectShorthandTopLevelDeclaration||e===X.ObjectShorthandFunctionScopedDeclaration||e===X.ObjectShorthandBlockScopedDeclaration}function Q(t){const e=t.identifierRole;return e===X.FunctionScopedDeclaration||e===X.BlockScopedDeclaration||e===X.ObjectShorthandFunctionScopedDeclaration||e===X.ObjectShorthandBlockScopedDeclaration}function tt(t){const e=t.identifierRole;return e===X.TopLevelDeclaration||e===X.ObjectShorthandTopLevelDeclaration||e===X.ImportDeclaration}function et(t){const e=t.identifierRole;return e===X.TopLevelDeclaration||e===X.BlockScopedDeclaration||e===X.ObjectShorthandTopLevelDeclaration||e===X.ObjectShorthandBlockScopedDeclaration}function nt(t){const e=t.identifierRole;return e===X.FunctionScopedDeclaration||e===X.ObjectShorthandFunctionScopedDeclaration}function rt(t){return t.identifierRole===X.ObjectShorthandTopLevelDeclaration||t.identifierRole===X.ObjectShorthandBlockScopedDeclaration||t.identifierRole===X.ObjectShorthandFunctionScopedDeclaration}!function(t){t[t.Access=0]="Access";t[t.ExportAccess=1]="ExportAccess";t[t.TopLevelDeclaration=2]="TopLevelDeclaration";t[t.FunctionScopedDeclaration=3]="FunctionScopedDeclaration";t[t.BlockScopedDeclaration=4]="BlockScopedDeclaration";t[t.ObjectShorthandTopLevelDeclaration=5]="ObjectShorthandTopLevelDeclaration";t[t.ObjectShorthandFunctionScopedDeclaration=6]="ObjectShorthandFunctionScopedDeclaration";t[t.ObjectShorthandBlockScopedDeclaration=7]="ObjectShorthandBlockScopedDeclaration";t[t.ObjectShorthand=8]="ObjectShorthand";t[t.ImportDeclaration=9]="ImportDeclaration";t[t.ObjectKey=10]="ObjectKey";t[t.ImportAccess=11]="ImportAccess"}(X||(X={})),function(t){t[t.NoChildren=0]="NoChildren";t[t.OneChild=1]="OneChild";t[t.StaticChildren=2]="StaticChildren";t[t.KeyAfterPropSpread=3]="KeyAfterPropSpread"}(G||(G={}));class it{constructor(){this.type=w.type,this.contextualKeyword=w.contextualKeyword,this.start=w.start,this.end=w.end,this.scopeDepth=w.scopeDepth,this.isType=w.isType,this.identifierRole=null,this.jsxRole=null,this.shadowsGlobal=!1,this.isAsyncOperation=!1,this.contextId=null,this.rhsEndIndex=null,this.isExpression=!1,this.numNullishCoalesceStarts=0,this.numNullishCoalesceEnds=0,this.isOptionalChainStart=!1,this.isOptionalChainEnd=!1,this.subscriptStartIndex=null,this.nullishStartIndex=null}}function ot(){w.tokens.push(new it),xt()}function st(){w.tokens.push(new it),w.start=w.pos,function(){for(;;){if(w.pos>=S.length)return void Z("Unterminated template");const t=S.charCodeAt(w.pos);if(t===y.graveAccent||t===y.dollarSign&&S.charCodeAt(w.pos+1)===y.leftCurlyBrace)return w.pos===w.start&&dt(g.template)?t===y.dollarSign?(w.pos+=2,void vt(g.dollarBraceL)):(++w.pos,void vt(g.backQuote)):void vt(g.template);t===y.backslash&&w.pos++,w.pos++}}()}function at(){w.type===g.assign&&--w.pos,function(){const t=w.pos;let e=!1,n=!1;for(;;){if(w.pos>=S.length)return void Z("Unterminated regular expression",t);const r=S.charCodeAt(w.pos);if(e)e=!1;else{if(r===y.leftSquareBracket)n=!0;else if(r===y.rightSquareBracket&&n)n=!1;else if(r===y.slash&&!n)break;e=r===y.backslash}++w.pos}++w.pos,function(){for(;w.pos<S.length;){const t=S.charCodeAt(w.pos);if(Y[t])w.pos++;else{if(t!==y.backslash)break;if(w.pos+=2,S.charCodeAt(w.pos)===y.leftCurlyBrace){for(;w.pos<S.length&&S.charCodeAt(w.pos)!==y.rightCurlyBrace;)w.pos++;w.pos++}}}}(),vt(g.regexp)}()}function lt(t){for(let n=w.tokens.length-t;n<w.tokens.length;n++)w.tokens[n].isType=!0;const e=w.isType;return w.isType=!0,e}function ct(t){w.isType=t}function ht(t){return!!dt(t)&&(ot(),!0)}function ut(t){const e=w.isType;w.isType=!0,ht(t),w.isType=e}function dt(t){return w.type===t}function pt(){const t=w.snapshot();ot();const e=w.type;return w.restoreFromSnapshot(t),e}class ft{constructor(t,e){this.type=t,this.contextualKeyword=e}}function mt(){const t=w.snapshot();ot();const e=w.type,n=w.contextualKeyword;return w.restoreFromSnapshot(t),new ft(e,n)}function gt(){return yt(w.pos)}function yt(t){W.lastIndex=t;return t+W.exec(S)[0].length}function kt(){return S.charCodeAt(gt())}function xt(){if(Ct(),w.start=w.pos,w.pos>=S.length){const t=w.tokens;return t.length>=2&&t[t.length-1].start>=S.length&&t[t.length-2].start>=S.length&&Z("Unexpectedly reached the end of input."),void vt(g.eof)}var t;t=S.charCodeAt(w.pos),V[t]||t===y.backslash||t===y.atSign&&S.charCodeAt(w.pos+1)===y.atSign?function(){let t=0,e=0,n=w.pos;for(;n<S.length&&(e=S.charCodeAt(n),!(e<y.lowercaseA||e>y.lowercaseZ));){const r=K[t+(e-y.lowercaseA)+1];if(-1===r)break;t=r,n++}const r=K[t];if(r>-1&&!Y[e])return w.pos=n,void(1&r?vt(r>>>1):vt(g.name,r>>>1));for(;n<S.length;){const t=S.charCodeAt(n);if(Y[t])n++;else if(t===y.backslash){if(n+=2,S.charCodeAt(n)===y.leftCurlyBrace){for(;n<S.length&&S.charCodeAt(n)!==y.rightCurlyBrace;)n++;n++}}else{if(t!==y.atSign||S.charCodeAt(n+1)!==y.atSign)break;n+=2}}w.pos=n,vt(g.name)}():St(t)}function _t(){for(;S.charCodeAt(w.pos)!==y.asterisk||S.charCodeAt(w.pos+1)!==y.slash;)if(w.pos++,w.pos>S.length)return void Z("Unterminated comment",w.pos-2);w.pos+=2}function bt(t){let e=S.charCodeAt(w.pos+=t);if(w.pos<S.length)for(;e!==y.lineFeed&&e!==y.carriageReturn&&e!==y.lineSeparator&&e!==y.paragraphSeparator&&++w.pos<S.length;)e=S.charCodeAt(w.pos)}function Ct(){for(;w.pos<S.length;){const t=S.charCodeAt(w.pos);switch(t){case y.carriageReturn:S.charCodeAt(w.pos+1)===y.lineFeed&&++w.pos;case y.lineFeed:case y.lineSeparator:case y.paragraphSeparator:++w.pos;break;case y.slash:switch(S.charCodeAt(w.pos+1)){case y.asterisk:w.pos+=2,_t();break;case y.slash:bt(2);break;default:return}break;default:if(!U[t])return;++w.pos}}}function vt(t,e=m.NONE){w.end=w.pos,w.type=t,w.contextualKeyword=e}function Tt(){if(w.isType)return void At(g.greaterThan,1);const t=S.charCodeAt(w.pos+1);if(t===y.greaterThan){const t=S.charCodeAt(w.pos+2)===y.greaterThan?3:2;return S.charCodeAt(w.pos+t)===y.equalsTo?void At(g.assign,t+1):void At(g.bitShiftR,t)}t===y.equalsTo?At(g.relationalOrEqual,2):At(g.greaterThan,1)}function wt(){w.type===g.greaterThan&&(w.pos-=1,Tt())}function St(t){switch(t){case y.numberSign:return++w.pos,void vt(g.hash);case y.dot:return void function(){const t=S.charCodeAt(w.pos+1);t>=y.digit0&&t<=y.digit9?Bt(!0):t===y.dot&&S.charCodeAt(w.pos+2)===y.dot?(w.pos+=3,vt(g.ellipsis)):(++w.pos,vt(g.dot))}();case y.leftParenthesis:return++w.pos,void vt(g.parenL);case y.rightParenthesis:return++w.pos,void vt(g.parenR);case y.semicolon:return++w.pos,void vt(g.semi);case y.comma:return++w.pos,void vt(g.comma);case y.leftSquareBracket:return++w.pos,void vt(g.bracketL);case y.rightSquareBracket:return++w.pos,void vt(g.bracketR);case y.leftCurlyBrace:return void(T&&S.charCodeAt(w.pos+1)===y.verticalBar?At(g.braceBarL,2):(++w.pos,vt(g.braceL)));case y.rightCurlyBrace:return++w.pos,void vt(g.braceR);case y.colon:return void(S.charCodeAt(w.pos+1)===y.colon?At(g.doubleColon,2):(++w.pos,vt(g.colon)));case y.questionMark:return void function(){const t=S.charCodeAt(w.pos+1),e=S.charCodeAt(w.pos+2);t!==y.questionMark||T&&w.isType?t!==y.dot||e>=y.digit0&&e<=y.digit9?(++w.pos,vt(g.question)):(w.pos+=2,vt(g.questionDot)):e===y.equalsTo?At(g.assign,3):At(g.nullishCoalescing,2)}();case y.atSign:return++w.pos,void vt(g.at);case y.graveAccent:return++w.pos,void vt(g.backQuote);case y.digit0:{const t=S.charCodeAt(w.pos+1);if(t===y.lowercaseX||t===y.uppercaseX||t===y.lowercaseO||t===y.uppercaseO||t===y.lowercaseB||t===y.uppercaseB)return void function(){w.pos+=2;for(;;){const t=S.charCodeAt(w.pos);if(!(t>=y.digit0&&t<=y.digit9||t>=y.lowercaseA&&t<=y.lowercaseF||t>=y.uppercaseA&&t<=y.uppercaseF||t===y.underscore))break;w.pos++}const t=S.charCodeAt(w.pos);t===y.lowercaseN?(++w.pos,vt(g.bigint)):vt(g.num)}()}case y.digit1:case y.digit2:case y.digit3:case y.digit4:case y.digit5:case y.digit6:case y.digit7:case y.digit8:case y.digit9:return void Bt(!1);case y.quotationMark:case y.apostrophe:return void function(t){for(w.pos++;;){if(w.pos>=S.length)return void Z("Unterminated string constant");const e=S.charCodeAt(w.pos);if(e===y.backslash)w.pos++;else if(e===t)break;w.pos++}w.pos++,vt(g.string)}(t);case y.slash:return void(S.charCodeAt(w.pos+1)===y.equalsTo?At(g.assign,2):At(g.slash,1));case y.percentSign:case y.asterisk:return void function(t){let e=t===y.asterisk?g.star:g.modulo,n=1,r=S.charCodeAt(w.pos+1);t===y.asterisk&&r===y.asterisk&&(n++,r=S.charCodeAt(w.pos+2),e=g.exponent),r===y.equalsTo&&S.charCodeAt(w.pos+2)!==y.greaterThan&&(n++,e=g.assign),At(e,n)}(t);case y.verticalBar:case y.ampersand:return void function(t){const e=S.charCodeAt(w.pos+1);if(e!==t){if(t===y.verticalBar){if(e===y.greaterThan)return void At(g.pipeline,2);if(e===y.rightCurlyBrace&&T)return void At(g.braceBarR,2)}e!==y.equalsTo?At(t===y.verticalBar?g.bitwiseOR:g.bitwiseAND,1):At(g.assign,2)}else S.charCodeAt(w.pos+2)===y.equalsTo?At(g.assign,3):At(t===y.verticalBar?g.logicalOR:g.logicalAND,2)}(t);case y.caret:return void(S.charCodeAt(w.pos+1)===y.equalsTo?At(g.assign,2):At(g.bitwiseXOR,1));case y.plusSign:case y.dash:return void function(t){const e=S.charCodeAt(w.pos+1);e!==t?e===y.equalsTo?At(g.assign,2):t===y.plusSign?At(g.plus,1):At(g.minus,1):At(g.preIncDec,2)}(t);case y.lessThan:return void function(){const t=S.charCodeAt(w.pos+1);if(t===y.lessThan)return S.charCodeAt(w.pos+2)===y.equalsTo?void At(g.assign,3):void(w.isType?At(g.lessThan,1):At(g.bitShiftL,2));t===y.equalsTo?At(g.relationalOrEqual,2):At(g.lessThan,1)}();case y.greaterThan:return void Tt();case y.equalsTo:case y.exclamationMark:return void function(t){const e=S.charCodeAt(w.pos+1);if(e!==y.equalsTo)return t===y.equalsTo&&e===y.greaterThan?(w.pos+=2,void vt(g.arrow)):void At(t===y.equalsTo?g.eq:g.bang,1);At(g.equality,S.charCodeAt(w.pos+2)===y.equalsTo?3:2)}(t);case y.tilde:return void At(g.tilde,1)}Z(`Unexpected character '${String.fromCharCode(t)}'`,w.pos)}function At(t,e){w.pos+=e,vt(t)}function It(){for(;;){const t=S.charCodeAt(w.pos);if(!(t>=y.digit0&&t<=y.digit9||t===y.underscore))break;w.pos++}}function Bt(t){let e=!1,n=!1;t||It();let r=S.charCodeAt(w.pos);r===y.dot&&(++w.pos,It(),r=S.charCodeAt(w.pos)),r!==y.uppercaseE&&r!==y.lowercaseE||(r=S.charCodeAt(++w.pos),r!==y.plusSign&&r!==y.dash||++w.pos,It(),r=S.charCodeAt(w.pos)),r===y.lowercaseN?(++w.pos,e=!0):r===y.lowercaseM&&(++w.pos,n=!0),vt(e?g.bigint:n?g.decimal:g.num)}function Et(t,e=t.currentIndex()){let n=e+1;if(Lt(t,n)){const r=t.identifierNameAtIndex(e);return{isType:!1,leftName:r,rightName:r,endIndex:n}}if(n++,Lt(t,n))return{isType:!0,leftName:null,rightName:null,endIndex:n};if(n++,Lt(t,n))return{isType:!1,leftName:t.identifierNameAtIndex(e),rightName:t.identifierNameAtIndex(e+2),endIndex:n};if(n++,Lt(t,n))return{isType:!0,leftName:null,rightName:null,endIndex:n};throw new Error(`Unexpected import/export specifier at ${e}`)}function Lt(t,e){const n=t.tokens[e];return n.type===g.braceR||n.type===g.comma}const Ft=new Map([["quot",'"'],["amp","&"],["apos","'"],["lt","<"],["gt",">"],["nbsp","\xa0"],["iexcl","\xa1"],["cent","\xa2"],["pound","\xa3"],["curren","\xa4"],["yen","\xa5"],["brvbar","\xa6"],["sect","\xa7"],["uml","\xa8"],["copy","\xa9"],["ordf","\xaa"],["laquo","\xab"],["not","\xac"],["shy","\xad"],["reg","\xae"],["macr","\xaf"],["deg","\xb0"],["plusmn","\xb1"],["sup2","\xb2"],["sup3","\xb3"],["acute","\xb4"],["micro","\xb5"],["para","\xb6"],["middot","\xb7"],["cedil","\xb8"],["sup1","\xb9"],["ordm","\xba"],["raquo","\xbb"],["frac14","\xbc"],["frac12","\xbd"],["frac34","\xbe"],["iquest","\xbf"],["Agrave","\xc0"],["Aacute","\xc1"],["Acirc","\xc2"],["Atilde","\xc3"],["Auml","\xc4"],["Aring","\xc5"],["AElig","\xc6"],["Ccedil","\xc7"],["Egrave","\xc8"],["Eacute","\xc9"],["Ecirc","\xca"],["Euml","\xcb"],["Igrave","\xcc"],["Iacute","\xcd"],["Icirc","\xce"],["Iuml","\xcf"],["ETH","\xd0"],["Ntilde","\xd1"],["Ograve","\xd2"],["Oacute","\xd3"],["Ocirc","\xd4"],["Otilde","\xd5"],["Ouml","\xd6"],["times","\xd7"],["Oslash","\xd8"],["Ugrave","\xd9"],["Uacute","\xda"],["Ucirc","\xdb"],["Uuml","\xdc"],["Yacute","\xdd"],["THORN","\xde"],["szlig","\xdf"],["agrave","\xe0"],["aacute","\xe1"],["acirc","\xe2"],["atilde","\xe3"],["auml","\xe4"],["aring","\xe5"],["aelig","\xe6"],["ccedil","\xe7"],["egrave","\xe8"],["eacute","\xe9"],["ecirc","\xea"],["euml","\xeb"],["igrave","\xec"],["iacute","\xed"],["icirc","\xee"],["iuml","\xef"],["eth","\xf0"],["ntilde","\xf1"],["ograve","\xf2"],["oacute","\xf3"],["ocirc","\xf4"],["otilde","\xf5"],["ouml","\xf6"],["divide","\xf7"],["oslash","\xf8"],["ugrave","\xf9"],["uacute","\xfa"],["ucirc","\xfb"],["uuml","\xfc"],["yacute","\xfd"],["thorn","\xfe"],["yuml","\xff"],["OElig","\u0152"],["oelig","\u0153"],["Scaron","\u0160"],["scaron","\u0161"],["Yuml","\u0178"],["fnof","\u0192"],["circ","\u02c6"],["tilde","\u02dc"],["Alpha","\u0391"],["Beta","\u0392"],["Gamma","\u0393"],["Delta","\u0394"],["Epsilon","\u0395"],["Zeta","\u0396"],["Eta","\u0397"],["Theta","\u0398"],["Iota","\u0399"],["Kappa","\u039a"],["Lambda","\u039b"],["Mu","\u039c"],["Nu","\u039d"],["Xi","\u039e"],["Omicron","\u039f"],["Pi","\u03a0"],["Rho","\u03a1"],["Sigma","\u03a3"],["Tau","\u03a4"],["Upsilon","\u03a5"],["Phi","\u03a6"],["Chi","\u03a7"],["Psi","\u03a8"],["Omega","\u03a9"],["alpha","\u03b1"],["beta","\u03b2"],["gamma","\u03b3"],["delta","\u03b4"],["epsilon","\u03b5"],["zeta","\u03b6"],["eta","\u03b7"],["theta","\u03b8"],["iota","\u03b9"],["kappa","\u03ba"],["lambda","\u03bb"],["mu","\u03bc"],["nu","\u03bd"],["xi","\u03be"],["omicron","\u03bf"],["pi","\u03c0"],["rho","\u03c1"],["sigmaf","\u03c2"],["sigma","\u03c3"],["tau","\u03c4"],["upsilon","\u03c5"],["phi","\u03c6"],["chi","\u03c7"],["psi","\u03c8"],["omega","\u03c9"],["thetasym","\u03d1"],["upsih","\u03d2"],["piv","\u03d6"],["ensp","\u2002"],["emsp","\u2003"],["thinsp","\u2009"],["zwnj","\u200c"],["zwj","\u200d"],["lrm","\u200e"],["rlm","\u200f"],["ndash","\u2013"],["mdash","\u2014"],["lsquo","\u2018"],["rsquo","\u2019"],["sbquo","\u201a"],["ldquo","\u201c"],["rdquo","\u201d"],["bdquo","\u201e"],["dagger","\u2020"],["Dagger","\u2021"],["bull","\u2022"],["hellip","\u2026"],["permil","\u2030"],["prime","\u2032"],["Prime","\u2033"],["lsaquo","\u2039"],["rsaquo","\u203a"],["oline","\u203e"],["frasl","\u2044"],["euro","\u20ac"],["image","\u2111"],["weierp","\u2118"],["real","\u211c"],["trade","\u2122"],["alefsym","\u2135"],["larr","\u2190"],["uarr","\u2191"],["rarr","\u2192"],["darr","\u2193"],["harr","\u2194"],["crarr","\u21b5"],["lArr","\u21d0"],["uArr","\u21d1"],["rArr","\u21d2"],["dArr","\u21d3"],["hArr","\u21d4"],["forall","\u2200"],["part","\u2202"],["exist","\u2203"],["empty","\u2205"],["nabla","\u2207"],["isin","\u2208"],["notin","\u2209"],["ni","\u220b"],["prod","\u220f"],["sum","\u2211"],["minus","\u2212"],["lowast","\u2217"],["radic","\u221a"],["prop","\u221d"],["infin","\u221e"],["ang","\u2220"],["and","\u2227"],["or","\u2228"],["cap","\u2229"],["cup","\u222a"],["int","\u222b"],["there4","\u2234"],["sim","\u223c"],["cong","\u2245"],["asymp","\u2248"],["ne","\u2260"],["equiv","\u2261"],["le","\u2264"],["ge","\u2265"],["sub","\u2282"],["sup","\u2283"],["nsub","\u2284"],["sube","\u2286"],["supe","\u2287"],["oplus","\u2295"],["otimes","\u2297"],["perp","\u22a5"],["sdot","\u22c5"],["lceil","\u2308"],["rceil","\u2309"],["lfloor","\u230a"],["rfloor","\u230b"],["lang","\u2329"],["rang","\u232a"],["loz","\u25ca"],["spades","\u2660"],["clubs","\u2663"],["hearts","\u2665"],["diams","\u2666"]]);function Nt(t){const[e,n]=Mt(t.jsxPragma||"React.createElement"),[r,i]=Mt(t.jsxFragmentPragma||"React.Fragment");return{base:e,suffix:n,fragmentBase:r,fragmentSuffix:i}}function Mt(t){let e=t.indexOf(".");return-1===e&&(e=t.length),[t.slice(0,e),t.slice(e)]}class jt{getPrefixCode(){return""}getHoistedCode(){return""}getSuffixCode(){return""}}class Ot extends jt{__init(){this.lastLineNumber=1}__init2(){this.lastIndex=0}__init3(){this.filenameVarName=null}__init4(){this.esmAutomaticImportNameResolutions={}}__init5(){this.cjsAutomaticModuleNameResolutions={}}constructor(t,e,n,r,i){super(),this.rootTransformer=t,this.tokens=e,this.importProcessor=n,this.nameManager=r,this.options=i,Ot.prototype.__init.call(this),Ot.prototype.__init2.call(this),Ot.prototype.__init3.call(this),Ot.prototype.__init4.call(this),Ot.prototype.__init5.call(this),this.jsxPragmaInfo=Nt(i),this.isAutomaticRuntime="automatic"===i.jsxRuntime,this.jsxImportSource=i.jsxImportSource||"react"}process(){return!!this.tokens.matches1(g.jsxTagStart)&&(this.processJSXTag(),!0)}getPrefixCode(){let t="";if(this.filenameVarName&&(t+=`const ${this.filenameVarName} = ${JSON.stringify(this.options.filePath||"")};`),this.isAutomaticRuntime)if(this.importProcessor)for(const[e,n]of Object.entries(this.cjsAutomaticModuleNameResolutions))t+=`var ${n} = require("${e}");`;else{const{createElement:e,...n}=this.esmAutomaticImportNameResolutions;e&&(t+=`import {createElement as ${e}} from "${this.jsxImportSource}";`);const r=Object.entries(n).map((([t,e])=>`${t} as ${e}`)).join(", ");if(r){t+=`import {${r}} from "${this.jsxImportSource+(this.options.production?"/jsx-runtime":"/jsx-dev-runtime")}";`}}return t}processJSXTag(){const{jsxRole:t,start:e}=this.tokens.currentToken(),n=this.options.production?null:this.getElementLocationCode(e);this.isAutomaticRuntime&&t!==G.KeyAfterPropSpread?this.transformTagToJSXFunc(n,t):this.transformTagToCreateElement(n)}getElementLocationCode(t){return`lineNumber: ${this.getLineNumberForIndex(t)}`}getLineNumberForIndex(t){const e=this.tokens.code;for(;this.lastIndex<t&&this.lastIndex<e.length;)"\n"===e[this.lastIndex]&&this.lastLineNumber++,this.lastIndex++;return this.lastLineNumber}transformTagToJSXFunc(t,e){const n=e===G.StaticChildren;this.tokens.replaceToken(this.getJSXFuncInvocationCode(n));let r=null;if(this.tokens.matches1(g.jsxTagEnd))this.tokens.replaceToken(`${this.getFragmentCode()}, {`),this.processAutomaticChildrenAndEndProps(e);else{if(this.processTagIntro(),this.tokens.appendCode(", {"),r=this.processProps(!0),this.tokens.matches2(g.slash,g.jsxTagEnd))this.tokens.appendCode("}");else{if(!this.tokens.matches1(g.jsxTagEnd))throw new Error("Expected either /> or > at the end of the tag.");this.tokens.removeToken(),this.processAutomaticChildrenAndEndProps(e)}r&&this.tokens.appendCode(`, ${r}`)}for(this.options.production||(null===r&&this.tokens.appendCode(", void 0"),this.tokens.appendCode(`, ${n}, ${this.getDevSource(t)}, this`)),this.tokens.removeInitialToken();!this.tokens.matches1(g.jsxTagEnd);)this.tokens.removeToken();this.tokens.replaceToken(")")}transformTagToCreateElement(t){if(this.tokens.replaceToken(this.getCreateElementInvocationCode()),this.tokens.matches1(g.jsxTagEnd))this.tokens.replaceToken(`${this.getFragmentCode()}, null`),this.processChildren(!0);else if(this.processTagIntro(),this.processPropsObjectWithDevInfo(t),this.tokens.matches2(g.slash,g.jsxTagEnd));else{if(!this.tokens.matches1(g.jsxTagEnd))throw new Error("Expected either /> or > at the end of the tag.");this.tokens.removeToken(),this.processChildren(!0)}for(this.tokens.removeInitialToken();!this.tokens.matches1(g.jsxTagEnd);)this.tokens.removeToken();this.tokens.replaceToken(")")}getJSXFuncInvocationCode(t){return this.options.production?t?this.claimAutoImportedFuncInvocation("jsxs","/jsx-runtime"):this.claimAutoImportedFuncInvocation("jsx","/jsx-runtime"):this.claimAutoImportedFuncInvocation("jsxDEV","/jsx-dev-runtime")}getCreateElementInvocationCode(){if(this.isAutomaticRuntime)return this.claimAutoImportedFuncInvocation("createElement","");{const{jsxPragmaInfo:t}=this;return`${this.importProcessor&&this.importProcessor.getIdentifierReplacement(t.base)||t.base}${t.suffix}(`}}getFragmentCode(){if(this.isAutomaticRuntime)return this.claimAutoImportedName("Fragment",this.options.production?"/jsx-runtime":"/jsx-dev-runtime");{const{jsxPragmaInfo:t}=this;return(this.importProcessor&&this.importProcessor.getIdentifierReplacement(t.fragmentBase)||t.fragmentBase)+t.fragmentSuffix}}claimAutoImportedFuncInvocation(t,e){const n=this.claimAutoImportedName(t,e);return this.importProcessor?`${n}.call(void 0, `:`${n}(`}claimAutoImportedName(t,e){if(this.importProcessor){const n=this.jsxImportSource+e;return this.cjsAutomaticModuleNameResolutions[n]||(this.cjsAutomaticModuleNameResolutions[n]=this.importProcessor.getFreeIdentifierForPath(n)),`${this.cjsAutomaticModuleNameResolutions[n]}.${t}`}return this.esmAutomaticImportNameResolutions[t]||(this.esmAutomaticImportNameResolutions[t]=this.nameManager.claimFreeName(`_${t}`)),this.esmAutomaticImportNameResolutions[t]}processTagIntro(){let t=this.tokens.currentIndex()+1;for(;this.tokens.tokens[t].isType||!this.tokens.matches2AtIndex(t-1,g.jsxName,g.jsxName)&&!this.tokens.matches2AtIndex(t-1,g.greaterThan,g.jsxName)&&!this.tokens.matches1AtIndex(t,g.braceL)&&!this.tokens.matches1AtIndex(t,g.jsxTagEnd)&&!this.tokens.matches2AtIndex(t,g.slash,g.jsxTagEnd);)t++;if(t===this.tokens.currentIndex()+1){const t=this.tokens.identifierName();Rt(t)&&this.tokens.replaceToken(`'${t}'`)}for(;this.tokens.currentIndex()<t;)this.rootTransformer.processToken()}processPropsObjectWithDevInfo(t){const e=this.options.production?"":`__self: this, __source: ${this.getDevSource(t)}`;this.tokens.matches1(g.jsxName)||this.tokens.matches1(g.braceL)?(this.tokens.appendCode(", {"),this.processProps(!1),e?this.tokens.appendCode(` ${e}}`):this.tokens.appendCode("}")):e?this.tokens.appendCode(`, {${e}}`):this.tokens.appendCode(", null")}processProps(t){let e=null;for(;;){if(this.tokens.matches2(g.jsxName,g.eq)){const n=this.tokens.identifierName();if(t&&"key"===n){null!==e&&this.tokens.appendCode(e.replace(/[^\n]/g,"")),this.tokens.removeToken(),this.tokens.removeToken();const t=this.tokens.snapshot();this.processPropValue(),e=this.tokens.dangerouslyGetAndRemoveCodeSinceSnapshot(t);continue}this.processPropName(n),this.tokens.replaceToken(": "),this.processPropValue()}else if(this.tokens.matches1(g.jsxName)){const t=this.tokens.identifierName();this.processPropName(t),this.tokens.appendCode(": true")}else{if(!this.tokens.matches1(g.braceL))break;this.tokens.replaceToken(""),this.rootTransformer.processBalancedCode(),this.tokens.replaceToken("")}this.tokens.appendCode(",")}return e}processPropName(t){t.includes("-")?this.tokens.replaceToken(`'${t}'`):this.tokens.copyToken()}processPropValue(){this.tokens.matches1(g.braceL)?(this.tokens.replaceToken(""),this.rootTransformer.processBalancedCode(),this.tokens.replaceToken("")):this.tokens.matches1(g.jsxTagStart)?this.processJSXTag():this.processStringPropValue()}processStringPropValue(){const t=this.tokens.currentToken(),e=this.tokens.code.slice(t.start+1,t.end-1),n=Dt(e),r=function(t){let e="";for(let n=0;n<t.length;n++){const r=t[n];if("\n"===r)if(/\s/.test(t[n+1]))for(e+=" ";n<t.length&&/\s/.test(t[n+1]);)n++;else e+="\n";else if("&"===r){const{entity:r,newI:i}=qt(t,n+1);e+=r,n=i-1}else e+=r}return JSON.stringify(e)}(e);this.tokens.replaceToken(r+n)}processAutomaticChildrenAndEndProps(t){t===G.StaticChildren?(this.tokens.appendCode(" children: ["),this.processChildren(!1),this.tokens.appendCode("]}")):(t===G.OneChild&&this.tokens.appendCode(" children: "),this.processChildren(!1),this.tokens.appendCode("}"))}processChildren(t){let e=t;for(;;){if(this.tokens.matches2(g.jsxTagStart,g.slash))return;let t=!1;if(this.tokens.matches1(g.braceL))this.tokens.matches2(g.braceL,g.braceR)?(this.tokens.replaceToken(""),this.tokens.replaceToken("")):(this.tokens.replaceToken(e?", ":""),this.rootTransformer.processBalancedCode(),this.tokens.replaceToken(""),t=!0);else if(this.tokens.matches1(g.jsxTagStart))this.tokens.appendCode(e?", ":""),this.processJSXTag(),t=!0;else{if(!this.tokens.matches1(g.jsxText)&&!this.tokens.matches1(g.jsxEmptyText))throw new Error("Unexpected token when processing JSX children.");t=this.processChildTextElement(e)}t&&(e=!0)}}processChildTextElement(t){const e=this.tokens.currentToken(),n=this.tokens.code.slice(e.start,e.end),r=Dt(n),i=function(t){let e="",n="",r=!1,i=!1;for(let o=0;o<t.length;o++){const s=t[o];if(" "===s||"\t"===s||"\r"===s)r||(n+=s);else if("\n"===s)n="",r=!0;else{if(i&&r&&(e+=" "),e+=n,n="","&"===s){const{entity:n,newI:r}=qt(t,o+1);o=r-1,e+=n}else e+=s;i=!0,r=!1}}r||(e+=n);return JSON.stringify(e)}(n);return'""'===i?(this.tokens.replaceToken(r),!1):(this.tokens.replaceToken(`${t?", ":""}${i}${r}`),!0)}getDevSource(t){return`{fileName: ${this.getFilenameVarName()}, ${t}}`}getFilenameVarName(){return this.filenameVarName||(this.filenameVarName=this.nameManager.claimFreeName("_jsxFileName")),this.filenameVarName}}function Rt(t){const e=t.charCodeAt(0);return e>=y.lowercaseA&&e<=y.lowercaseZ}function Dt(t){let e=0,n=0;for(const r of t)"\n"===r?(e++,n=0):" "===r&&n++;return"\n".repeat(e)+" ".repeat(n)}function qt(t,e){let n,r="",i=0,o=e;if("#"===t[o]){let e,r=10;if(o++,"x"===t[o])for(r=16,o++,e=o;o<t.length&&((s=t.charCodeAt(o))>=y.digit0&&s<=y.digit9||s>=y.lowercaseA&&s<=y.lowercaseF||s>=y.uppercaseA&&s<=y.uppercaseF);)o++;else for(e=o;o<t.length&&$t(t.charCodeAt(o));)o++;if(";"===t[o]){const i=t.slice(e,o);i&&(o++,n=String.fromCodePoint(parseInt(i,r)))}}else for(;o<t.length&&i++<10;){const e=t[o];if(o++,";"===e){n=Ft.get(r);break}r+=e}var s;return n?{entity:n,newI:o}:{entity:"&",newI:e}}function $t(t){return t>=y.digit0&&t<=y.digit9}function Pt(t,e){const n=Nt(e),r=new Set;for(let i=0;i<t.tokens.length;i++){const e=t.tokens[i];if(e.type!==g.name||e.isType||e.identifierRole!==X.Access&&e.identifierRole!==X.ObjectShorthand&&e.identifierRole!==X.ExportAccess||e.shadowsGlobal||r.add(t.identifierNameForToken(e)),e.type===g.jsxTagStart&&r.add(n.base),e.type===g.jsxTagStart&&i+1<t.tokens.length&&t.tokens[i+1].type===g.jsxTagEnd&&(r.add(n.base),r.add(n.fragmentBase)),e.type===g.jsxName&&e.identifierRole===X.Access){Rt(t.identifierNameForToken(e))&&t.tokens[i+1].type!==g.dot||r.add(t.identifierNameForToken(e))}}return r}class Zt{__init(){this.nonTypeIdentifiers=new Set}__init2(){this.importInfoByPath=new Map}__init3(){this.importsToReplace=new Map}__init4(){this.identifierReplacements=new Map}__init5(){this.exportBindingsByLocalName=new Map}constructor(t,e,n,r,i,o,s){this.nameManager=t,this.tokens=e,this.enableLegacyTypeScriptModuleInterop=n,this.options=r,this.isTypeScriptTransformEnabled=i,this.keepUnusedImports=o,this.helperManager=s,Zt.prototype.__init.call(this),Zt.prototype.__init2.call(this),Zt.prototype.__init3.call(this),Zt.prototype.__init4.call(this),Zt.prototype.__init5.call(this)}preprocessTokens(){for(let t=0;t<this.tokens.tokens.length;t++)this.tokens.matches1AtIndex(t,g._import)&&!this.tokens.matches3AtIndex(t,g._import,g.name,g.eq)&&this.preprocessImportAtIndex(t),this.tokens.matches1AtIndex(t,g._export)&&!this.tokens.matches2AtIndex(t,g._export,g.eq)&&this.preprocessExportAtIndex(t);this.generateImportReplacements()}pruneTypeOnlyImports(){this.nonTypeIdentifiers=Pt(this.tokens,this.options);for(const[t,e]of this.importInfoByPath.entries()){if(e.hasBareImport||e.hasStarExport||e.exportStarNames.length>0||e.namedExports.length>0)continue;[...e.defaultNames,...e.wildcardNames,...e.namedImports.map((({localName:t})=>t))].every((t=>this.shouldAutomaticallyElideImportedName(t)))&&this.importsToReplace.set(t,"")}}shouldAutomaticallyElideImportedName(t){return this.isTypeScriptTransformEnabled&&!this.keepUnusedImports&&!this.nonTypeIdentifiers.has(t)}generateImportReplacements(){for(const[t,e]of this.importInfoByPath.entries()){const{defaultNames:n,wildcardNames:r,namedImports:i,namedExports:o,exportStarNames:s,hasStarExport:a}=e;if(0===n.length&&0===r.length&&0===i.length&&0===o.length&&0===s.length&&!a){this.importsToReplace.set(t,`require('${t}');`);continue}const l=this.getFreeIdentifierForPath(t);let c;c=this.enableLegacyTypeScriptModuleInterop?l:r.length>0?r[0]:this.getFreeIdentifierForPath(t);let h=`var ${l} = require('${t}');`;if(r.length>0)for(const t of r){h+=` var ${t} = ${this.enableLegacyTypeScriptModuleInterop?l:`${this.helperManager.getHelperName("interopRequireWildcard")}(${l})`};`}else s.length>0&&c!==l?h+=` var ${c} = ${this.helperManager.getHelperName("interopRequireWildcard")}(${l});`:n.length>0&&c!==l&&(h+=` var ${c} = ${this.helperManager.getHelperName("interopRequireDefault")}(${l});`);for(const{importedName:t,localName:e}of o)h+=` ${this.helperManager.getHelperName("createNamedExportFrom")}(${l}, '${e}', '${t}');`;for(const t of s)h+=` exports.${t} = ${c};`;a&&(h+=` ${this.helperManager.getHelperName("createStarExport")}(${l});`),this.importsToReplace.set(t,h);for(const t of n)this.identifierReplacements.set(t,`${c}.default`);for(const{importedName:t,localName:e}of i)this.identifierReplacements.set(e,`${l}.${t}`)}}getFreeIdentifierForPath(t){const e=t.split("/"),n=e[e.length-1].replace(/\W/g,"");return this.nameManager.claimFreeName(`_${n}`)}preprocessImportAtIndex(t){const e=[],n=[],r=[];if(t++,(this.tokens.matchesContextualAtIndex(t,m._type)||this.tokens.matches1AtIndex(t,g._typeof))&&!this.tokens.matches1AtIndex(t+1,g.comma)&&!this.tokens.matchesContextualAtIndex(t+1,m._from))return;if(this.tokens.matches1AtIndex(t,g.parenL))return;if(this.tokens.matches1AtIndex(t,g.name)&&(e.push(this.tokens.identifierNameAtIndex(t)),t++,this.tokens.matches1AtIndex(t,g.comma)&&t++),this.tokens.matches1AtIndex(t,g.star)&&(t+=2,n.push(this.tokens.identifierNameAtIndex(t)),t++),this.tokens.matches1AtIndex(t,g.braceL)){const n=this.getNamedImports(t+1);t=n.newIndex;for(const t of n.namedImports)"default"===t.importedName?e.push(t.localName):r.push(t)}if(this.tokens.matchesContextualAtIndex(t,m._from)&&t++,!this.tokens.matches1AtIndex(t,g.string))throw new Error("Expected string token at the end of import statement.");const i=this.tokens.stringValueAtIndex(t),o=this.getImportInfo(i);o.defaultNames.push(...e),o.wildcardNames.push(...n),o.namedImports.push(...r),0===e.length&&0===n.length&&0===r.length&&(o.hasBareImport=!0)}preprocessExportAtIndex(t){if(this.tokens.matches2AtIndex(t,g._export,g._var)||this.tokens.matches2AtIndex(t,g._export,g._let)||this.tokens.matches2AtIndex(t,g._export,g._const))this.preprocessVarExportAtIndex(t);else if(this.tokens.matches2AtIndex(t,g._export,g._function)||this.tokens.matches2AtIndex(t,g._export,g._class)){const e=this.tokens.identifierNameAtIndex(t+2);this.addExportBinding(e,e)}else if(this.tokens.matches3AtIndex(t,g._export,g.name,g._function)){const e=this.tokens.identifierNameAtIndex(t+3);this.addExportBinding(e,e)}else this.tokens.matches2AtIndex(t,g._export,g.braceL)?this.preprocessNamedExportAtIndex(t):this.tokens.matches2AtIndex(t,g._export,g.star)&&this.preprocessExportStarAtIndex(t)}preprocessVarExportAtIndex(t){let e=0;for(let n=t+2;;n++)if(this.tokens.matches1AtIndex(n,g.braceL)||this.tokens.matches1AtIndex(n,g.dollarBraceL)||this.tokens.matches1AtIndex(n,g.bracketL))e++;else if(this.tokens.matches1AtIndex(n,g.braceR)||this.tokens.matches1AtIndex(n,g.bracketR))e--;else{if(0===e&&!this.tokens.matches1AtIndex(n,g.name))break;if(this.tokens.matches1AtIndex(1,g.eq)){const t=this.tokens.currentToken().rhsEndIndex;if(null==t)throw new Error("Expected = token with an end index.");n=t-1}else{if(J(this.tokens.tokens[n])){const t=this.tokens.identifierNameAtIndex(n);this.identifierReplacements.set(t,`exports.${t}`)}}}}preprocessNamedExportAtIndex(t){t+=2;const{newIndex:e,namedImports:n}=this.getNamedImports(t);if(t=e,!this.tokens.matchesContextualAtIndex(t,m._from)){for(const{importedName:t,localName:e}of n)this.addExportBinding(t,e);return}if(t++,!this.tokens.matches1AtIndex(t,g.string))throw new Error("Expected string token at the end of import statement.");const r=this.tokens.stringValueAtIndex(t);this.getImportInfo(r).namedExports.push(...n)}preprocessExportStarAtIndex(t){let e=null;if(this.tokens.matches3AtIndex(t,g._export,g.star,g._as)?(t+=3,e=this.tokens.identifierNameAtIndex(t),t+=2):t+=3,!this.tokens.matches1AtIndex(t,g.string))throw new Error("Expected string token at the end of star export statement.");const n=this.tokens.stringValueAtIndex(t),r=this.getImportInfo(n);null!==e?r.exportStarNames.push(e):r.hasStarExport=!0}getNamedImports(t){const e=[];for(;;){if(this.tokens.matches1AtIndex(t,g.braceR)){t++;break}const n=Et(this.tokens,t);if(t=n.endIndex,n.isType||e.push({importedName:n.leftName,localName:n.rightName}),this.tokens.matches2AtIndex(t,g.comma,g.braceR)){t+=2;break}if(this.tokens.matches1AtIndex(t,g.braceR)){t++;break}if(!this.tokens.matches1AtIndex(t,g.comma))throw new Error(`Unexpected token: ${JSON.stringify(this.tokens.tokens[t])}`);t++}return{newIndex:t,namedImports:e}}getImportInfo(t){const e=this.importInfoByPath.get(t);if(e)return e;const n={defaultNames:[],wildcardNames:[],namedImports:[],namedExports:[],hasBareImport:!1,exportStarNames:[],hasStarExport:!1};return this.importInfoByPath.set(t,n),n}addExportBinding(t,e){this.exportBindingsByLocalName.has(t)||this.exportBindingsByLocalName.set(t,[]),this.exportBindingsByLocalName.get(t).push(e)}claimImportCode(t){const e=this.importsToReplace.get(t);return this.importsToReplace.set(t,""),e||""}getIdentifierReplacement(t){return this.identifierReplacements.get(t)||null}resolveExportBinding(t){const e=this.exportBindingsByLocalName.get(t);return e&&0!==e.length?e.map((t=>`exports.${t}`)).join(" = "):null}getGlobalNames(){return new Set([...this.identifierReplacements.keys(),...this.exportBindingsByLocalName.keys()])}}var zt=n(2509);function Wt({code:t,mappings:e},n,r,i,o){const s=function(t,e){const n=new Array(e.length);let r=0,i=e[r].start,o=0;for(let s=0;s<t.length;s++)s===i&&(n[r]=i-o,r++,i=e[r].start),t.charCodeAt(s)===y.lineFeed&&(o=s+1);return n}(i,o),a=new zt.GenMapping({file:r.compiledFilename});let l=0,c=e[0];for(;void 0===c&&l<e.length-1;)l++,c=e[l];let h=0,u=0;c!==u&&(0,zt.maybeAddSegment)(a,h,0,n,h,0);for(let m=0;m<t.length;m++){if(m===c){const t=c-u,r=s[l];for((0,zt.maybeAddSegment)(a,h,t,n,h,r);(c===m||void 0===c)&&l<e.length-1;)l++,c=e[l]}t.charCodeAt(m)===y.lineFeed&&(h++,u=m+1,c!==u&&(0,zt.maybeAddSegment)(a,h,0,n,h,0))}const{sourceRoot:d,sourcesContent:p,...f}=(0,zt.toEncodedMap)(a);return f}const Ut={require:'\n import {createRequire as CREATE_REQUIRE_NAME} from "module";\n const require = CREATE_REQUIRE_NAME(import.meta.url);\n ',interopRequireWildcard:"\n function interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n return newObj;\n }\n }\n ",interopRequireDefault:"\n function interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n ",createNamedExportFrom:"\n function createNamedExportFrom(obj, localName, importedName) {\n Object.defineProperty(exports, localName, {enumerable: true, configurable: true, get: () => obj[importedName]});\n }\n ",createStarExport:'\n function createStarExport(obj) {\n Object.keys(obj)\n .filter((key) => key !== "default" && key !== "__esModule")\n .forEach((key) => {\n if (exports.hasOwnProperty(key)) {\n return;\n }\n Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]});\n });\n }\n ',nullishCoalesce:"\n function nullishCoalesce(lhs, rhsFn) {\n if (lhs != null) {\n return lhs;\n } else {\n return rhsFn();\n }\n }\n ",asyncNullishCoalesce:"\n async function asyncNullishCoalesce(lhs, rhsFn) {\n if (lhs != null) {\n return lhs;\n } else {\n return await rhsFn();\n }\n }\n ",optionalChain:"\n function optionalChain(ops) {\n let lastAccessLHS = undefined;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n return undefined;\n }\n if (op === 'access' || op === 'optionalAccess') {\n lastAccessLHS = value;\n value = fn(value);\n } else if (op === 'call' || op === 'optionalCall') {\n value = fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = undefined;\n }\n }\n return value;\n }\n ",asyncOptionalChain:"\n async function asyncOptionalChain(ops) {\n let lastAccessLHS = undefined;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n return undefined;\n }\n if (op === 'access' || op === 'optionalAccess') {\n lastAccessLHS = value;\n value = await fn(value);\n } else if (op === 'call' || op === 'optionalCall') {\n value = await fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = undefined;\n }\n }\n return value;\n }\n ",optionalChainDelete:"\n function optionalChainDelete(ops) {\n const result = OPTIONAL_CHAIN_NAME(ops);\n return result == null ? true : result;\n }\n ",asyncOptionalChainDelete:"\n async function asyncOptionalChainDelete(ops) {\n const result = await ASYNC_OPTIONAL_CHAIN_NAME(ops);\n return result == null ? true : result;\n }\n "};class Ht{__init(){this.helperNames={}}__init2(){this.createRequireName=null}constructor(t){this.nameManager=t,Ht.prototype.__init.call(this),Ht.prototype.__init2.call(this)}getHelperName(t){let e=this.helperNames[t];return e||(e=this.nameManager.claimFreeName(`_${t}`),this.helperNames[t]=e,e)}emitHelpers(){let t="";this.helperNames.optionalChainDelete&&this.getHelperName("optionalChain"),this.helperNames.asyncOptionalChainDelete&&this.getHelperName("asyncOptionalChain");for(const[e,n]of Object.entries(Ut)){const r=this.helperNames[e];let i=n;"optionalChainDelete"===e?i=i.replace("OPTIONAL_CHAIN_NAME",this.helperNames.optionalChain):"asyncOptionalChainDelete"===e?i=i.replace("ASYNC_OPTIONAL_CHAIN_NAME",this.helperNames.asyncOptionalChain):"require"===e&&(null===this.createRequireName&&(this.createRequireName=this.nameManager.claimFreeName("_createRequire")),i=i.replace(/CREATE_REQUIRE_NAME/g,this.createRequireName)),r&&(t+=" ",t+=i.replace(e,r).replace(/\s+/g," ").trim())}return t}}function Yt(t,e,n){(function(t,e){for(const n of t.tokens)if(n.type===g.name&&!n.isType&&Q(n)&&e.has(t.identifierNameForToken(n)))return!0;return!1})(t,n)&&function(t,e,n){const r=[];let i=e.length-1;for(let o=t.tokens.length-1;;o--){for(;r.length>0&&r[r.length-1].startTokenIndex===o+1;)r.pop();for(;i>=0&&e[i].endTokenIndex===o+1;)r.push(e[i]),i--;if(o<0)break;const s=t.tokens[o],a=t.identifierNameForToken(s);if(r.length>1&&!s.isType&&s.type===g.name&&n.has(a))if(et(s))Vt(r[r.length-1],t,a);else if(nt(s)){let e=r.length-1;for(;e>0&&!r[e].isFunctionScope;)e--;if(e<0)throw new Error("Did not find parent function scope.");Vt(r[e],t,a)}}if(r.length>0)throw new Error("Expected empty scope stack after processing file.")}(t,e,n)}function Vt(t,e,n){for(let r=t.startTokenIndex;r<t.endTokenIndex;r++){const t=e.tokens[r];t.type!==g.name&&t.type!==g.jsxName||e.identifierNameForToken(t)!==n||(t.shadowsGlobal=!0)}}class Kt{__init(){this.usedNames=new Set}constructor(t,e){Kt.prototype.__init.call(this),this.usedNames=new Set(function(t,e){const n=[];for(const r of e)r.type===g.name&&n.push(t.slice(r.start,r.end));return n}(t,e))}claimFreeName(t){const e=this.findFreeName(t);return this.usedNames.add(e),e}findFreeName(t){if(!this.usedNames.has(t))return t;let e=2;for(;this.usedNames.has(t+String(e));)e++;return t+String(e)}}var Xt=n(1074);const Gt={Transform:Xt.union(Xt.lit("jsx"),Xt.lit("typescript"),Xt.lit("flow"),Xt.lit("imports"),Xt.lit("react-hot-loader"),Xt.lit("jest")),SourceMapOptions:Xt.iface([],{compiledFilename:"string"}),Options:Xt.iface([],{transforms:Xt.array("Transform"),disableESTransforms:Xt.opt("boolean"),jsxRuntime:Xt.opt(Xt.union(Xt.lit("classic"),Xt.lit("automatic"),Xt.lit("preserve"))),production:Xt.opt("boolean"),jsxImportSource:Xt.opt("string"),jsxPragma:Xt.opt("string"),jsxFragmentPragma:Xt.opt("string"),keepUnusedImports:Xt.opt("boolean"),preserveDynamicImport:Xt.opt("boolean"),injectCreateRequireForImportRequire:Xt.opt("boolean"),enableLegacyTypeScriptModuleInterop:Xt.opt("boolean"),enableLegacyBabel5ModuleInterop:Xt.opt("boolean"),sourceMapOptions:Xt.opt("SourceMapOptions"),filePath:Xt.opt("string")})},{Options:Jt}=(0,Xt.createCheckers)(Gt);function Qt(){ot(),fn(!1)}function te(t){ot(),ie(t)}function ee(t){Un(),re(t)}function ne(){Un(),w.tokens[w.tokens.length-1].identifierRole=X.ImportDeclaration}function re(t){let e;e=0===w.scopeDepth?X.TopLevelDeclaration:t?X.BlockScopedDeclaration:X.FunctionScopedDeclaration,w.tokens[w.tokens.length-1].identifierRole=e}function ie(t){switch(w.type){case g._this:{const t=lt(0);return ot(),void ct(t)}case g._yield:case g.name:return w.type=g.name,void ee(t);case g.bracketL:return ot(),void oe(g.bracketR,t,!0);case g.braceL:return void jn(!0,t);default:Z()}}function oe(t,e,n=!1,r=!1,i=0){let o=!0,s=!1;const a=w.tokens.length;for(;!ht(t)&&!w.error;)if(o?o=!1:(P(g.comma),w.tokens[w.tokens.length-1].contextId=i,!s&&w.tokens[a].isType&&(w.tokens[w.tokens.length-1].isType=!0,s=!0)),n&&dt(g.comma));else{if(ht(t))break;if(dt(g.ellipsis)){te(e),ae(),ht(g.comma),P(t);break}se(r,e)}}function se(t,e){t&&ue([m._public,m._protected,m._private,m._readonly,m._override]),le(e),ae(),le(e,!0)}function ae(){T?function(){const t=lt(0);ht(g.question),dt(g.colon)&&yr();ct(t)}():v&&function(){const t=lt(0);ht(g.question),je(),ct(t)}()}function le(t,e=!1){if(e||ie(t),!ht(g.eq))return;const n=w.tokens.length-1;fn(),w.tokens[n].rhsEndIndex=w.tokens.length}function ce(){return dt(g.name)}function he(){const t=w.snapshot();ot();return!!((dt(g.bracketL)||dt(g.braceL)||dt(g.star)||dt(g.ellipsis)||dt(g.hash)||dt(g.name)||Boolean(w.type&g.IS_KEYWORD)||dt(g.string)||dt(g.num)||dt(g.bigint)||dt(g.decimal))&&!R())||(w.restoreFromSnapshot(t),!1)}function ue(t){for(;;){if(null===de(t))break}}function de(t){if(!dt(g.name))return null;const e=w.contextualKeyword;if(-1!==t.indexOf(e)&&he()){switch(e){case m._readonly:w.tokens[w.tokens.length-1].type=g._readonly;break;case m._abstract:w.tokens[w.tokens.length-1].type=g._abstract;break;case m._static:w.tokens[w.tokens.length-1].type=g._static;break;case m._public:w.tokens[w.tokens.length-1].type=g._public;break;case m._private:w.tokens[w.tokens.length-1].type=g._private;break;case m._protected:w.tokens[w.tokens.length-1].type=g._protected;break;case m._override:w.tokens[w.tokens.length-1].type=g._override;break;case m._declare:w.tokens[w.tokens.length-1].type=g._declare}return e}return null}function pe(){for(Un();ht(g.dot);)Un()}function fe(){P(g._import),P(g.parenL),P(g.string),P(g.parenR),ht(g.dot)&&pe(),dt(g.lessThan)&&Qe()}function me(){ht(g._const);const t=ht(g._in),e=M(m._out);ht(g._const),!t&&!e||dt(g.name)?Un():w.tokens[w.tokens.length-1].type=g.name,ht(g._extends)&&Re(),ht(g.eq)&&Re()}function ge(){dt(g.lessThan)&&ye()}function ye(){const t=lt(0);for(dt(g.lessThan)||dt(g.typeParameterStart)?ot():Z();!ht(g.greaterThan)&&!w.error;)me(),ht(g.comma);ct(t)}function ke(t){const e=t===g.arrow;var n;ge(),P(g.parenL),w.scopeDepth++,n=!1,oe(g.parenR,n),w.scopeDepth--,(e||dt(t))&&Me(t)}function xe(){ht(g.comma)||$()}function _e(){ke(g.colon),xe()}function be(){if(!dt(g.bracketL)||!function(){const t=w.snapshot();ot();const e=ht(g.name)&&dt(g.colon);return w.restoreFromSnapshot(t),e}())return!1;const t=lt(0);return P(g.bracketL),Un(),Oe(),P(g.bracketR),je(),xe(),ct(t),!0}function Ce(t){ht(g.question),t||!dt(g.parenL)&&!dt(g.lessThan)?(je(),xe()):(ke(g.colon),xe())}function ve(){if(dt(g.parenL)||dt(g.lessThan))return void _e();if(dt(g._new))return ot(),void(dt(g.parenL)||dt(g.lessThan)?_e():Ce(!1));const t=!!de([m._readonly]);be()||((F(m._get)||F(m._set))&&he(),Dn(-1),Ce(t))}function Te(){for(P(g.braceL);!ht(g.braceR)&&!w.error;)ve()}function we(){const t=w.snapshot(),e=function(){if(ot(),ht(g.plus)||ht(g.minus))return F(m._readonly);F(m._readonly)&&ot();if(!dt(g.bracketL))return!1;if(ot(),!ce())return!1;return ot(),dt(g._in)}();return w.restoreFromSnapshot(t),e}function Se(){P(g.braceL),dt(g.plus)||dt(g.minus)?(ot(),j(m._readonly)):M(m._readonly),P(g.bracketL),Un(),P(g._in),Re(),M(m._as)&&Re(),P(g.bracketR),dt(g.plus)||dt(g.minus)?(ot(),P(g.question)):ht(g.question),ht(g.colon)&&Re(),$(),P(g.braceR)}function Ae(){ht(g.ellipsis)?Re():(Re(),ht(g.question)),ht(g.colon)&&Re()}var Ie;function Be(t){t===Ie.TSAbstractConstructorType&&j(m._abstract),t!==Ie.TSConstructorType&&t!==Ie.TSAbstractConstructorType||P(g._new);const e=w.inDisallowConditionalTypesContext;w.inDisallowConditionalTypesContext=!1,ke(g.arrow),w.inDisallowConditionalTypesContext=e}function Ee(){switch(w.type){case g.name:return pe(),void(!R()&&dt(g.lessThan)&&Qe());case g._void:case g._null:return void ot();case g.string:case g.num:case g.bigint:case g.decimal:case g._true:case g._false:return void Bn();case g.minus:return ot(),void Bn();case g._this:return ot(),void(F(m._is)&&!R()&&(ot(),Oe()));case g._typeof:return P(g._typeof),dt(g._import)?fe():pe(),void(!R()&&dt(g.lessThan)&&Qe());case g._import:return void fe();case g.braceL:return void(we()?Se():Te());case g.bracketL:return void function(){for(P(g.bracketL);!ht(g.bracketR)&&!w.error;)Ae(),ht(g.comma)}();case g.parenL:return P(g.parenL),Re(),void P(g.parenR);case g.backQuote:return void function(){for(st(),st();!dt(g.backQuote)&&!w.error;)P(g.dollarBraceL),Re(),st(),st();ot()}();default:if(w.type&g.IS_KEYWORD)return ot(),void(w.tokens[w.tokens.length-1].type=g.name)}Z()}function Le(){if(F(m._keyof)||F(m._unique)||F(m._readonly))ot(),Le();else if(F(m._infer))!function(){if(j(m._infer),Un(),dt(g._extends)){const t=w.snapshot();P(g._extends);const e=w.inDisallowConditionalTypesContext;w.inDisallowConditionalTypesContext=!0,Re(),w.inDisallowConditionalTypesContext=e,(w.error||!w.inDisallowConditionalTypesContext&&dt(g.question))&&w.restoreFromSnapshot(t)}}();else{const t=w.inDisallowConditionalTypesContext;w.inDisallowConditionalTypesContext=!1,function(){for(Ee();!R()&&ht(g.bracketL);)ht(g.bracketR)||(Re(),P(g.bracketR))}(),w.inDisallowConditionalTypesContext=t}}function Fe(){if(ht(g.bitwiseAND),Le(),dt(g.bitwiseAND))for(;ht(g.bitwiseAND);)Le()}function Ne(){return!!dt(g.lessThan)||dt(g.parenL)&&function(){const t=w.snapshot(),e=function(){if(ot(),dt(g.parenR)||dt(g.ellipsis))return!0;if(function(){if(dt(g.name)||dt(g._this))return ot(),!0;if(dt(g.braceL)||dt(g.bracketL)){let t=1;for(ot();t>0&&!w.error;)dt(g.braceL)||dt(g.bracketL)?t++:(dt(g.braceR)||dt(g.bracketR))&&t--,ot();return!0}return!1}()){if(dt(g.colon)||dt(g.comma)||dt(g.question)||dt(g.eq))return!0;if(dt(g.parenR)&&(ot(),dt(g.arrow)))return!0}return!1}();return w.restoreFromSnapshot(t),e}()}function Me(t){const e=lt(0);P(t);(function(){const t=w.snapshot();if(F(m._asserts))return ot(),M(m._is)?(Re(),!0):ce()||dt(g._this)?(ot(),M(m._is)&&Re(),!0):(w.restoreFromSnapshot(t),!1);if(ce()||dt(g._this))return ot(),F(m._is)&&!R()?(ot(),Re(),!0):(w.restoreFromSnapshot(t),!1);return!1})()||Re(),ct(e)}function je(){dt(g.colon)&&Oe()}function Oe(){const t=lt(0);P(g.colon),Re(),ct(t)}function Re(){if(De(),w.inDisallowConditionalTypesContext||R()||!ht(g._extends))return;const t=w.inDisallowConditionalTypesContext;w.inDisallowConditionalTypesContext=!0,De(),w.inDisallowConditionalTypesContext=t,P(g.question),Re(),P(g.colon),Re()}function De(){Ne()?Be(Ie.TSFunctionType):dt(g._new)?Be(Ie.TSConstructorType):F(m._abstract)&&pt()===g._new?Be(Ie.TSAbstractConstructorType):function(){if(ht(g.bitwiseOR),Fe(),dt(g.bitwiseOR))for(;ht(g.bitwiseOR);)Fe()}()}function qe(){for(;!dt(g.braceL)&&!w.error;)$e(),ht(g.comma)}function $e(){pe(),dt(g.lessThan)&&Qe()}function Pe(){if(dt(g.string)?Bn():Un(),ht(g.eq)){const t=w.tokens.length-1;fn(),w.tokens[t].rhsEndIndex=w.tokens.length}}function Ze(){for(ee(!1),P(g.braceL);!ht(g.braceR)&&!w.error;)Pe(),ht(g.comma)}function ze(){P(g.braceL),Er(g.braceR)}function We(){ee(!1),ht(g.dot)?We():ze()}function Ue(){F(m._global)?Un():dt(g.string)?An():Z(),dt(g.braceL)?ze():$()}function He(){ne(),P(g.eq),F(m._require)&&pt()===g.parenL?(j(m._require),P(g.parenL),dt(g.string)||Z(),Bn(),P(g.parenR)):pe(),$()}function Ye(){return Ke(w.contextualKeyword,!0)}function Ve(t){switch(t){case m._declare:{const t=w.tokens.length-1,e=function(){if(q())return!1;switch(w.type){case g._function:{const t=lt(1);return ot(),jr(w.start,!0),ct(t),!0}case g._class:{const t=lt(1);return Rr(!0,!1),ct(t),!0}case g._const:if(dt(g._const)&&N(m._enum)){const t=lt(1);return P(g._const),j(m._enum),w.tokens[w.tokens.length-1].type=g._enum,Ze(),ct(t),!0}case g._var:case g._let:{const t=lt(1);return Ir(w.type!==g._var),ct(t),!0}case g.name:{const t=lt(1),e=w.contextualKeyword;let n=!1;return e===m._global?(Ue(),n=!0):n=Ke(e,!0),ct(t),n}default:return!1}}();if(e)return w.tokens[t].type=g._declare,!0;break}case m._global:if(dt(g.braceL))return ze(),!0;break;default:return Ke(t,!1)}return!1}function Ke(t,e){switch(t){case m._abstract:if(Xe(e)&&dt(g._class))return w.tokens[w.tokens.length-1].type=g._abstract,Rr(!0,!1),!0;break;case m._enum:if(Xe(e)&&dt(g.name))return w.tokens[w.tokens.length-1].type=g._enum,Ze(),!0;break;case m._interface:if(Xe(e)&&dt(g.name)){const t=lt(e?2:1);return ee(!1),ge(),ht(g._extends)&&qe(),Te(),ct(t),!0}break;case m._module:if(Xe(e)){if(dt(g.string)){const t=lt(e?2:1);return Ue(),ct(t),!0}if(dt(g.name)){const t=lt(e?2:1);return We(),ct(t),!0}}break;case m._namespace:if(Xe(e)&&dt(g.name)){const t=lt(e?2:1);return We(),ct(t),!0}break;case m._type:if(Xe(e)&&dt(g.name)){const t=lt(e?2:1);return ee(!1),ge(),P(g.eq),Re(),$(),ct(t),!0}}return!1}function Xe(t){return t?(ot(),!0):!q()}function Ge(){const t=w.snapshot();return ye(),Or(),dt(g.colon)&&Me(g.colon),P(g.arrow),w.error?(w.restoreFromSnapshot(t),!1):(Zn(!0),!0)}function Je(){w.type===g.bitShiftL&&(w.pos-=1,vt(g.lessThan)),Qe()}function Qe(){const t=lt(0);for(P(g.lessThan);!dt(g.greaterThan)&&!w.error;)Re(),ht(g.comma);t?(P(g.greaterThan),ct(t)):(ct(t),wt(),P(g.greaterThan),w.tokens[w.tokens.length-1].isType=!0)}function tn(){if(dt(g.name))switch(w.contextualKeyword){case m._abstract:case m._declare:case m._enum:case m._interface:case m._module:case m._namespace:case m._type:return!0}return!1}function en(t,e){return C?function(t,e){if(!dt(g.lessThan))return mn(t,e);const n=w.snapshot();let r=mn(t,e);if(!w.error)return r;w.restoreFromSnapshot(n);w.type=g.typeParameterStart,ye(),r=mn(t,e),r||Z();return r}(t,e):function(t,e){if(!dt(g.lessThan))return mn(t,e);const n=w.snapshot();ye();const r=mn(t,e);r||Z();if(!w.error)return r;w.restoreFromSnapshot(n);return mn(t,e)}(t,e)}function nn(){hn()}function rn(t){nn(),ht(g.colon)?nn():w.tokens[w.tokens.length-1].identifierRole=t}function on(){const t=w.tokens.length;rn(X.Access);let e=!1;for(;dt(g.dot);)e=!0,hn(),nn();if(!e){const e=w.tokens[t],n=S.charCodeAt(e.start);n>=y.lowercaseA&&n<=y.lowercaseZ&&(e.identifierRole=null)}}function sn(){switch(w.type){case g.braceL:return ot(),pn(),void hn();case g.jsxTagStart:return cn(),void hn();case g.string:return void hn();default:Z("JSX value should be either an expression or a quoted JSX text")}}function an(t){if(dt(g.jsxTagEnd))return!1;on(),v&&function(){if(ht(g.jsxTagStart)){w.tokens[w.tokens.length-1].type=g.typeParameterStart;const t=lt(1);for(;!dt(g.greaterThan)&&!w.error;)Re(),ht(g.comma);hn(),ct(t)}}();let e=!1;for(;!dt(g.slash)&&!dt(g.jsxTagEnd)&&!w.error;)ht(g.braceL)?(e=!0,P(g.ellipsis),fn(),hn()):(e&&w.end-w.start==3&&S.charCodeAt(w.start)===y.lowercaseK&&S.charCodeAt(w.start+1)===y.lowercaseE&&S.charCodeAt(w.start+2)===y.lowercaseY&&(w.tokens[t].jsxRole=G.KeyAfterPropSpread),rn(X.ObjectKey),dt(g.eq)&&(hn(),sn()));const n=dt(g.slash);return n&&hn(),n}function ln(){const t=w.tokens.length-1;w.tokens[t].jsxRole=G.NoChildren;let e=0;if(!an(t))for(un();;)switch(w.type){case g.jsxTagStart:if(hn(),dt(g.slash))return hn(),dt(g.jsxTagEnd)||on(),void(w.tokens[t].jsxRole!==G.KeyAfterPropSpread&&(1===e?w.tokens[t].jsxRole=G.OneChild:e>1&&(w.tokens[t].jsxRole=G.StaticChildren)));e++,ln(),un();break;case g.jsxText:e++,un();break;case g.jsxEmptyText:un();break;case g.braceL:ot(),dt(g.ellipsis)?(P(g.ellipsis),pn(),un(),e+=2):(dt(g.braceR)||(e++,pn()),un());break;default:return void Z()}}function cn(){hn(),ln()}function hn(){w.tokens.push(new it),Ct(),w.start=w.pos;const t=S.charCodeAt(w.pos);if(V[t])!function(){let t;do{if(w.pos>S.length)return void Z("Unexpectedly reached the end of input.");t=S.charCodeAt(++w.pos)}while(Y[t]||t===y.dash);vt(g.jsxName)}();else if(t===y.quotationMark||t===y.apostrophe)!function(t){for(w.pos++;;){if(w.pos>=S.length)return void Z("Unterminated string constant");if(S.charCodeAt(w.pos)===t){w.pos++;break}w.pos++}vt(g.string)}(t);else switch(++w.pos,t){case y.greaterThan:vt(g.jsxTagEnd);break;case y.lessThan:vt(g.jsxTagStart);break;case y.slash:vt(g.slash);break;case y.equalsTo:vt(g.eq);break;case y.leftCurlyBrace:vt(g.braceL);break;case y.dot:vt(g.dot);break;case y.colon:vt(g.colon);break;default:Z()}}function un(){w.tokens.push(new it),w.start=w.pos,function(){let t=!1,e=!1;for(;;){if(w.pos>=S.length)return void Z("Unterminated JSX contents");const n=S.charCodeAt(w.pos);if(n===y.lessThan||n===y.leftCurlyBrace)return w.pos===w.start?n===y.lessThan?(w.pos++,void vt(g.jsxTagStart)):void St(n):void vt(t&&!e?g.jsxEmptyText:g.jsxText);n===y.lineFeed?t=!0:n!==y.space&&n!==y.carriageReturn&&n!==y.tab&&(e=!0),w.pos++}}()}!function(t){t[t.TSFunctionType=0]="TSFunctionType";t[t.TSConstructorType=1]="TSConstructorType";t[t.TSAbstractConstructorType=2]="TSAbstractConstructorType"}(Ie||(Ie={}));class dn{constructor(t){this.stop=t}}function pn(t=!1){if(fn(t),dt(g.comma))for(;ht(g.comma);)fn(t)}function fn(t=!1,e=!1){return v?en(t,e):T?function(t,e){if(dt(g.lessThan)){const n=w.snapshot();let r=mn(t,e);if(!w.error)return r;w.restoreFromSnapshot(n),w.type=g.typeParameterStart;const i=lt(0);if(nr(),ct(i),r=mn(t,e),r)return!0;Z()}return mn(t,e)}(t,e):mn(t,e)}function mn(t,e){if(dt(g._yield))return ot(),dt(g.semi)||O()||(ht(g.star),fn()),!1;(dt(g.parenL)||dt(g.name)||dt(g._yield))&&(w.potentialArrowAt=w.start);const n=function(t){const e=function(t){const e=w.tokens.length,n=kn();if(n)return!0;return yn(e,-1,t),!1}(t);if(e)return!0;return function(t){v||T?function(t){if(dt(g.question)){const t=pt();if(t===g.colon||t===g.comma||t===g.parenR)return}gn(t)}(t):gn(t)}(t),!1}(t);return e&&Nn(),w.type&g.IS_ASSIGN?(ot(),fn(t),!1):n}function gn(t){ht(g.question)&&(fn(),P(g.colon),fn(t))}function yn(t,e,n){if(v&&(g._in&g.PRECEDENCE_MASK)>e&&!R()&&(M(m._as)||M(m._satisfies))){const r=lt(1);return Re(),ct(r),wt(),void yn(t,e,n)}const r=w.type&g.PRECEDENCE_MASK;if(r>0&&(!n||!dt(g._in))&&r>e){const i=w.type;ot(),i===g.nullishCoalescing&&(w.tokens[w.tokens.length-1].nullishStartIndex=t);const o=w.tokens.length;kn(),yn(o,i&g.IS_RIGHT_ASSOCIATIVE?r-1:r,n),i===g.nullishCoalescing&&(w.tokens[t].numNullishCoalesceStarts++,w.tokens[w.tokens.length-1].numNullishCoalesceEnds++),yn(t,e,n)}}function kn(){if(v&&!C&&ht(g.lessThan))return function(){const t=lt(1);Re(),P(g.greaterThan),ct(t),kn()}(),!1;if(F(m._module)&&kt()===y.leftCurlyBrace&&!D())return j(m._module),P(g.braceL),Er(g.braceR),!1;if(w.type&g.IS_PREFIX)return ot(),kn(),!1;if(xn())return!0;for(;w.type&g.IS_POSTFIX&&!O();)w.type===g.preIncDec&&(w.type=g.postIncDec),ot();return!1}function xn(){const t=w.tokens.length;return!!An()||(_n(t),w.tokens.length>t&&w.tokens[t].isOptionalChainStart&&(w.tokens[w.tokens.length-1].isOptionalChainEnd=!0),!1)}function _n(t,e=!1){T?function(t,e=!1){if(w.tokens[w.tokens.length-1].contextualKeyword===m._async&&dt(g.lessThan)){const t=w.snapshot(),e=function(){w.scopeDepth++;const t=w.tokens.length;if(Or(),!Fn())return!1;return $n(t),!0}();if(e&&!w.error)return;w.restoreFromSnapshot(t)}bn(t,e)}(t,e):bn(t,e)}function bn(t,e=!1){const n=new dn(!1);do{Cn(t,e,n)}while(!n.stop&&!w.error)}function Cn(t,e,n){v?function(t,e,n){if(R()||!ht(g.bang)){if(dt(g.lessThan)||dt(g.bitShiftL)){const n=w.snapshot();if(!e&&Tn()&&Ge())return;if(Je(),!e&&ht(g.parenL)?(w.tokens[w.tokens.length-1].subscriptStartIndex=t,wn()):dt(g.backQuote)?Mn():(w.type===g.greaterThan||w.type!==g.parenL&&Boolean(w.type&g.IS_EXPRESSION_START)&&!R())&&Z(),!w.error)return;w.restoreFromSnapshot(n)}else!e&&dt(g.questionDot)&&pt()===g.lessThan&&(ot(),w.tokens[t].isOptionalChainStart=!0,w.tokens[w.tokens.length-1].subscriptStartIndex=t,Qe(),P(g.parenL),wn());vn(t,e,n)}else w.tokens[w.tokens.length-1].type=g.nonNullAssertion}(t,e,n):T?function(t,e,n){if(dt(g.questionDot)&&pt()===g.lessThan)return e?void(n.stop=!0):(ot(),rr(),P(g.parenL),void wn());if(!e&&dt(g.lessThan)){const t=w.snapshot();if(rr(),P(g.parenL),wn(),!w.error)return;w.restoreFromSnapshot(t)}vn(t,e,n)}(t,e,n):vn(t,e,n)}function vn(t,e,n){if(!e&&ht(g.doubleColon))Sn(),n.stop=!0,_n(t,e);else if(dt(g.questionDot)){if(w.tokens[t].isOptionalChainStart=!0,e&&pt()===g.parenL)return void(n.stop=!0);ot(),w.tokens[w.tokens.length-1].subscriptStartIndex=t,ht(g.bracketL)?(pn(),P(g.bracketR)):ht(g.parenL)?wn():In()}else if(ht(g.dot))w.tokens[w.tokens.length-1].subscriptStartIndex=t,In();else if(ht(g.bracketL))w.tokens[w.tokens.length-1].subscriptStartIndex=t,pn(),P(g.bracketR);else if(!e&&dt(g.parenL))if(Tn()){const e=w.snapshot(),r=w.tokens.length;ot(),w.tokens[w.tokens.length-1].subscriptStartIndex=t;const i=I();w.tokens[w.tokens.length-1].contextId=i,wn(),w.tokens[w.tokens.length-1].contextId=i,(dt(g.colon)||dt(g.arrow))&&(w.restoreFromSnapshot(e),n.stop=!0,w.scopeDepth++,Or(),function(t){v?dt(g.colon)&&Oe():T&&function(){if(dt(g.colon)){const t=w.noAnonFunctionType;w.noAnonFunctionType=!0,yr(),w.noAnonFunctionType=t}}();P(g.arrow),$n(t)}(r))}else{ot(),w.tokens[w.tokens.length-1].subscriptStartIndex=t;const e=I();w.tokens[w.tokens.length-1].contextId=e,wn(),w.tokens[w.tokens.length-1].contextId=e}else dt(g.backQuote)?Mn():n.stop=!0}function Tn(){return w.tokens[w.tokens.length-1].contextualKeyword===m._async&&!O()}function wn(){let t=!0;for(;!ht(g.parenR)&&!w.error;){if(t)t=!1;else if(P(g.comma),ht(g.parenR))break;Wn(!1)}}function Sn(){const t=w.tokens.length;An(),_n(t,!0)}function An(){if(ht(g.modulo))return Un(),!1;if(dt(g.jsxText)||dt(g.jsxEmptyText))return Bn(),!1;if(dt(g.lessThan)&&C)return w.type=g.jsxTagStart,cn(),ot(),!1;const t=w.potentialArrowAt===w.start;switch(w.type){case g.slash:case g.assign:at();case g._super:case g._this:case g.regexp:case g.num:case g.bigint:case g.decimal:case g.string:case g._null:case g._true:case g._false:return ot(),!1;case g._import:return ot(),dt(g.dot)&&(w.tokens[w.tokens.length-1].type=g.name,ot(),Un()),!1;case g.name:{const e=w.tokens.length,n=w.start,r=w.contextualKeyword;return Un(),r===m._await?(kn(),!1):r===m._async&&dt(g._function)&&!O()?(ot(),jr(n,!1),!1):t&&r===m._async&&!O()&&dt(g.name)?(w.scopeDepth++,ee(!1),P(g.arrow),$n(e),!0):dt(g._do)&&!O()?(ot(),Br(),!1):t&&!O()&&dt(g.arrow)?(w.scopeDepth++,re(!1),P(g.arrow),$n(e),!0):(w.tokens[w.tokens.length-1].identifierRole=X.Access,!1)}case g._do:return ot(),Br(),!1;case g.parenL:return Ln(t);case g.bracketL:return ot(),zn(g.bracketR,!0),!1;case g.braceL:return jn(!1,!1),!1;case g._function:return function(){const t=w.start;Un(),ht(g.dot)&&Un();jr(t,!1)}(),!1;case g.at:wr();case g._class:return Rr(!1),!1;case g._new:return function(){if(P(g._new),ht(g.dot))return void Un();Sn(),void ht(g.questionDot),T&&function(){if(dt(g.lessThan)){const t=w.snapshot();rr(),w.error&&w.restoreFromSnapshot(t)}}();ht(g.parenL)&&zn(g.parenR)}(),!1;case g.backQuote:return Mn(),!1;case g.doubleColon:return ot(),Sn(),!1;case g.hash:{const t=kt();return V[t]||t===y.backslash?In():ot(),!1}default:return Z(),!1}}function In(){ht(g.hash),Un()}function Bn(){ot()}function En(){P(g.parenL),pn(),P(g.parenR)}function Ln(t){const e=w.snapshot(),n=w.tokens.length;P(g.parenL);let r=!0;for(;!dt(g.parenR)&&!w.error;){if(r)r=!1;else if(P(g.comma),dt(g.parenR))break;if(dt(g.ellipsis)){te(!1),Nn();break}fn(!1,!0)}if(P(g.parenR),t&&(dt(g.colon)||!O())){if(Fn())return w.restoreFromSnapshot(e),w.scopeDepth++,Or(),Fn(),$n(n),!w.error||(w.restoreFromSnapshot(e),Ln(!1),!1)}return!1}function Fn(){return v?function(){if(dt(g.colon)){const t=w.snapshot();Me(g.colon),O()&&Z(),dt(g.arrow)||Z(),w.error&&w.restoreFromSnapshot(t)}return ht(g.arrow)}():T?function(){if(dt(g.colon)){const t=lt(0),e=w.snapshot(),n=w.noAnonFunctionType;w.noAnonFunctionType=!0,Vn(),w.noAnonFunctionType=n,O()&&Z(),dt(g.arrow)||Z(),w.error&&w.restoreFromSnapshot(e),ct(t)}return ht(g.arrow)}():ht(g.arrow)}function Nn(){(v||T)&&(ut(g.question),dt(g.colon)&&(v?Oe():T&&yr()))}function Mn(){for(st(),st();!dt(g.backQuote)&&!w.error;)P(g.dollarBraceL),pn(),st(),st();ot()}function jn(t,e){const n=I();let r=!0;for(ot(),w.tokens[w.tokens.length-1].contextId=n;!ht(g.braceR)&&!w.error;){if(r)r=!1;else if(P(g.comma),ht(g.braceR))break;let i=!1;if(dt(g.ellipsis)){const n=w.tokens.length;if(Qt(),t&&(w.tokens.length===n+2&&re(e),ht(g.braceR)))break}else t||(i=ht(g.star)),!t&&F(m._async)?(i&&Z(),Un(),dt(g.colon)||dt(g.parenL)||dt(g.braceR)||dt(g.eq)||dt(g.comma)||(dt(g.star)&&(ot(),i=!0),Dn(n))):Dn(n),Rn(t,e,n)}w.tokens[w.tokens.length-1].contextId=n}function On(t,e){const n=w.start;return dt(g.parenL)?(t&&Z(),qn(n,!1),!0):!!function(t){return!t&&(dt(g.string)||dt(g.num)||dt(g.bracketL)||dt(g.name)||!!(w.type&g.IS_KEYWORD))}(t)&&(Dn(e),qn(n,!1),!0)}function Rn(t,e,n){v?ge():T&&dt(g.lessThan)&&(nr(),dt(g.parenL)||Z());On(t,n)||function(t,e){if(ht(g.colon))return void(t?le(e):fn(!1));let n;n=t?0===w.scopeDepth?X.ObjectShorthandTopLevelDeclaration:e?X.ObjectShorthandBlockScopedDeclaration:X.ObjectShorthandFunctionScopedDeclaration:X.ObjectShorthand,w.tokens[w.tokens.length-1].identifierRole=n,le(e,!0)}(t,e)}function Dn(t){T&&xr(),ht(g.bracketL)?(w.tokens[w.tokens.length-1].contextId=t,fn(),P(g.bracketR),w.tokens[w.tokens.length-1].contextId=t):(dt(g.num)||dt(g.string)||dt(g.bigint)||dt(g.decimal)?An():In(),w.tokens[w.tokens.length-1].identifierRole=X.ObjectKey,w.tokens[w.tokens.length-1].contextId=t)}function qn(t,e){const n=I();w.scopeDepth++;const r=w.tokens.length;Or(e,n),Pn(t,n);const i=w.tokens.length;w.scopes.push(new x(r,i,!0)),w.scopeDepth--}function $n(t){Zn(!0);const e=w.tokens.length;w.scopes.push(new x(t,e,!0)),w.scopeDepth--}function Pn(t,e=0){v?function(t,e){if(dt(g.colon)&&Me(g.colon),dt(g.braceL)||!q())Zn(!1,e);else{let e=w.tokens.length-1;for(;e>=0&&(w.tokens[e].start>=t||w.tokens[e].type===g._default||w.tokens[e].type===g._export);)w.tokens[e].isType=!0,e--}}(t,e):T?function(t){dt(g.colon)&&Vn();Zn(!1,t)}(e):Zn(!1,e)}function Zn(t,e=0){t&&!dt(g.braceL)?fn():Br(!0,e)}function zn(t,e=!1){let n=!0;for(;!ht(t)&&!w.error;){if(n)n=!1;else if(P(g.comma),ht(t))break;Wn(e)}}function Wn(t){t&&dt(g.comma)||(dt(g.ellipsis)?(Qt(),Nn()):dt(g.question)?ot():fn(!1,!0))}function Un(){ot(),w.tokens[w.tokens.length-1].type=g.name}function Hn(t){const e=lt(0);P(t||g.colon),gr(),ct(e)}function Yn(){P(g.modulo),j(m._checks),ht(g.parenL)&&(pn(),P(g.parenR))}function Vn(){const t=lt(0);P(g.colon),dt(g.modulo)?Yn():(gr(),dt(g.modulo)&&Yn()),ct(t)}function Kn(){dt(g._class)?(ot(),Xn(!0)):dt(g._function)?(ot(),Un(),dt(g.lessThan)&&nr(),P(g.parenL),ur(),P(g.parenR),Vn(),$()):dt(g._var)?(ot(),kr(),$()):M(m._module)?ht(g.dot)?(j(m._exports),yr(),$()):function(){dt(g.string)?An():Un();P(g.braceL);for(;!dt(g.braceR)&&!w.error;)dt(g._import)?(ot(),Jr()):Z();P(g.braceR)}():F(m._type)?(ot(),tr()):F(m._opaque)?(ot(),er(!0)):F(m._interface)?(ot(),Xn()):dt(g._export)?(P(g._export),ht(g._default)?dt(g._function)||dt(g._class)?Kn():(gr(),$()):dt(g._var)||dt(g._function)||dt(g._class)||F(m._opaque)?Kn():dt(g.star)||dt(g.braceL)||F(m._interface)||F(m._type)||F(m._opaque)?Ur():Z()):Z()}function Xn(t=!1){if(Qn(),dt(g.lessThan)&&nr(),ht(g._extends))do{Gn()}while(!t&&ht(g.comma));if(F(m._mixins)){ot();do{Gn()}while(ht(g.comma))}if(F(m._implements)){ot();do{Gn()}while(ht(g.comma))}sr(t,!1,t)}function Gn(){cr(!1),dt(g.lessThan)&&rr()}function Jn(){Xn()}function Qn(){Un()}function tr(){Qn(),dt(g.lessThan)&&nr(),Hn(g.eq),$()}function er(t){j(m._type),Qn(),dt(g.lessThan)&&nr(),dt(g.colon)&&Hn(g.colon),t||Hn(g.eq),$()}function nr(){const t=lt(0);dt(g.lessThan)||dt(g.typeParameterStart)?ot():Z();do{xr(),kr(),ht(g.eq)&&gr(),dt(g.greaterThan)||P(g.comma)}while(!dt(g.greaterThan)&&!w.error);P(g.greaterThan),ct(t)}function rr(){const t=lt(0);for(P(g.lessThan);!dt(g.greaterThan)&&!w.error;)gr(),dt(g.greaterThan)||P(g.comma);P(g.greaterThan),ct(t)}function ir(){dt(g.num)||dt(g.string)?An():Un()}function or(){for(dt(g.lessThan)&&nr(),P(g.parenL);!dt(g.parenR)&&!dt(g.ellipsis)&&!w.error;)hr(),dt(g.parenR)||P(g.comma);ht(g.ellipsis)&&hr(),P(g.parenR),Hn()}function sr(t,e,n){let r;for(e&&dt(g.braceBarL)?(P(g.braceBarL),r=g.braceBarR):(P(g.braceL),r=g.braceR);!dt(r)&&!w.error;){if(n&&F(m._proto)){const e=pt();e!==g.colon&&e!==g.question&&(ot(),t=!1)}if(t&&F(m._static)){const t=pt();t!==g.colon&&t!==g.question&&ot()}if(xr(),ht(g.bracketL))ht(g.bracketL)?(ir(),P(g.bracketR),P(g.bracketR),dt(g.lessThan)||dt(g.parenL)?or():(ht(g.question),Hn())):(pt()===g.colon?(ir(),Hn()):gr(),P(g.bracketR),Hn());else if(dt(g.parenL)||dt(g.lessThan))or();else{if(F(m._get)||F(m._set)){const t=pt();t!==g.name&&t!==g.string&&t!==g.num||ot()}ar()}lr()}P(r)}function ar(){if(dt(g.ellipsis)){if(P(g.ellipsis),ht(g.comma)||ht(g.semi),dt(g.braceR))return;gr()}else ir(),dt(g.lessThan)||dt(g.parenL)?or():(ht(g.question),Hn())}function lr(){ht(g.semi)||ht(g.comma)||dt(g.braceR)||dt(g.braceBarR)||Z()}function cr(t){for(t||Un();ht(g.dot);)Un()}function hr(){const t=pt();t===g.colon||t===g.question?(Un(),ht(g.question),Hn()):gr()}function ur(){for(;!dt(g.parenR)&&!dt(g.ellipsis)&&!w.error;)hr(),dt(g.parenR)||P(g.comma);ht(g.ellipsis)&&hr()}function dr(){let t=!1;const e=w.noAnonFunctionType;switch(w.type){case g.name:return F(m._interface)?void function(){if(j(m._interface),ht(g._extends))do{Gn()}while(ht(g.comma));sr(!1,!1,!1)}():(Un(),cr(!0),void(dt(g.lessThan)&&rr()));case g.braceL:return void sr(!1,!1,!1);case g.braceBarL:return void sr(!1,!0,!1);case g.bracketL:return void function(){for(P(g.bracketL);w.pos<S.length&&!dt(g.bracketR)&&(gr(),!dt(g.bracketR));)P(g.comma);P(g.bracketR)}();case g.lessThan:return nr(),P(g.parenL),ur(),P(g.parenR),P(g.arrow),void gr();case g.parenL:if(ot(),!dt(g.parenR)&&!dt(g.ellipsis))if(dt(g.name)){const e=pt();t=e!==g.question&&e!==g.colon}else t=!0;if(t){if(w.noAnonFunctionType=!1,gr(),w.noAnonFunctionType=e,w.noAnonFunctionType||!(dt(g.comma)||dt(g.parenR)&&pt()===g.arrow))return void P(g.parenR);ht(g.comma)}return ur(),P(g.parenR),P(g.arrow),void gr();case g.minus:return ot(),void Bn();case g.string:case g.num:case g._true:case g._false:case g._null:case g._this:case g._void:case g.star:return void ot();default:if(w.type===g._typeof)return P(g._typeof),void dr();if(w.type&g.IS_KEYWORD)return ot(),void(w.tokens[w.tokens.length-1].type=g.name)}Z()}function pr(){ht(g.question)?pr():function(){for(dr();!O()&&(dt(g.bracketL)||dt(g.questionDot));)ht(g.questionDot),P(g.bracketL),ht(g.bracketR)||(gr(),P(g.bracketR))}()}function fr(){pr(),!w.noAnonFunctionType&&ht(g.arrow)&&gr()}function mr(){for(ht(g.bitwiseAND),fr();ht(g.bitwiseAND);)fr()}function gr(){!function(){for(ht(g.bitwiseOR),mr();ht(g.bitwiseOR);)mr()}()}function yr(){Hn()}function kr(){Un(),dt(g.colon)&&yr()}function xr(){(dt(g.plus)||dt(g.minus))&&(ot(),w.tokens[w.tokens.length-1].isType=!0)}function _r(){if(dt(g._typeof)||F(m._type)){const e=mt();(((t=e).type===g.name||t.type&g.IS_KEYWORD)&&t.contextualKeyword!==m._from||e.type===g.braceL||e.type===g.star)&&ot()}var t}function br(){j(m._enum),w.tokens[w.tokens.length-1].type=g._enum,Un(),function(){M(m._of)&&ot();P(g.braceL),function(){for(;!dt(g.braceR)&&!w.error&&!ht(g.ellipsis);)Cr(),dt(g.braceR)||P(g.comma)}(),P(g.braceR)}()}function Cr(){Un(),ht(g.eq)&&ot()}function vr(t){T&&function(){if(dt(g.name)&&w.contextualKeyword===m._interface){const t=lt(0);return ot(),Jn(),ct(t),!0}return!!F(m._enum)&&(br(),!0)}()||(dt(g.at)&&wr(),function(t){if(v&&function(){if(w.type===g._const){const t=mt();if(t.type===g.name&&t.contextualKeyword===m._enum)return P(g._const),j(m._enum),w.tokens[w.tokens.length-1].type=g._enum,Ze(),!0}return!1}())return;const e=w.type;switch(e){case g._break:case g._continue:return ot(),void(q()||(Un(),$()));case g._debugger:return ot(),void $();case g._do:return ot(),vr(!1),P(g._while),En(),void ht(g.semi);case g._for:return void function(){w.scopeDepth++;const t=w.tokens.length;!function(){ot();let t=!1;F(m._await)&&(t=!0,ot());if(P(g.parenL),dt(g.semi))return t&&Z(),void Lr();const e=Tr();if(e||dt(g._var)||dt(g._let)||dt(g._const)||function(){if(!F(m._using))return!1;if(N(m._of))return!1;return!0}())return e&&j(m._await),ot(),Nr(!0,w.type!==g._var),dt(g._in)||F(m._of)?void Fr(t):void Lr();if(pn(!0),dt(g._in)||F(m._of))return void Fr(t);t&&Z();Lr()}();const e=w.tokens.length;w.scopes.push(new x(t,e,!1)),w.scopeDepth--}();case g._function:if(pt()===g.dot)break;return t||Z(),void function(){const t=w.start;ot(),jr(t,!0)}();case g._class:return t||Z(),void Rr(!0);case g._if:return ot(),En(),vr(!1),void(ht(g._else)&&vr(!1));case g._return:return ot(),void(q()||(pn(),$()));case g._switch:return void function(){ot(),En(),w.scopeDepth++;const t=w.tokens.length;P(g.braceL);for(;!dt(g.braceR)&&!w.error;)if(dt(g._case)||dt(g._default)){const t=dt(g._case);ot(),t&&pn(),P(g.colon)}else vr(!0);ot();const e=w.tokens.length;w.scopes.push(new x(t,e,!1)),w.scopeDepth--}();case g._throw:return ot(),pn(),void $();case g._try:return void function(){if(ot(),Br(),dt(g._catch)){ot();let t=null;if(dt(g.parenL)&&(w.scopeDepth++,t=w.tokens.length,P(g.parenL),ie(!0),v&&je(),P(g.parenR)),Br(),null!=t){const e=w.tokens.length;w.scopes.push(new x(t,e,!1)),w.scopeDepth--}}ht(g._finally)&&Br()}();case g._let:case g._const:t||Z();case g._var:return void Ir(e!==g._var);case g._while:return ot(),En(),void vr(!1);case g.braceL:return void Br();case g.semi:return void ot();case g._export:case g._import:{const t=pt();if(t===g.parenL||t===g.dot)break;return ot(),void(e===g._import?Jr():Ur())}case g.name:if(w.contextualKeyword===m._async){const t=w.start,e=w.snapshot();if(ot(),dt(g._function)&&!O())return P(g._function),void jr(t,!0);w.restoreFromSnapshot(e)}else{if(w.contextualKeyword===m._using&&!D()&&pt()===g.name)return void Ir(!0);if(Tr())return j(m._await),void Ir(!0)}}const n=w.tokens.length;pn();let r=null;if(w.tokens.length===n+1){const t=w.tokens[w.tokens.length-1];t.type===g.name&&(r=t.contextualKeyword)}if(null==r)return void $();ht(g.colon)?vr(!0):(i=r,v?function(t){Ve(t)||$()}(i):T?function(t){if(t===m._declare){if(dt(g._class)||dt(g.name)||dt(g._function)||dt(g._var)||dt(g._export)){const t=lt(1);Kn(),ct(t)}}else if(dt(g.name))if(t===m._interface){const t=lt(1);Jn(),ct(t)}else if(t===m._type){const t=lt(1);tr(),ct(t)}else if(t===m._opaque){const t=lt(1);er(!1),ct(t)}$()}(i):$());var i}(t))}function Tr(){if(!F(m._await))return!1;const t=w.snapshot();return ot(),!F(m._using)||R()?(w.restoreFromSnapshot(t),!1):(ot(),!dt(g.name)||R()?(w.restoreFromSnapshot(t),!1):(w.restoreFromSnapshot(t),!0))}function wr(){for(;dt(g.at);)Sr()}function Sr(){if(ot(),ht(g.parenL))pn(),P(g.parenR);else{for(Un();ht(g.dot);)Un();v?((dt(g.lessThan)||dt(g.bitShiftL))&&Je(),Ar()):Ar()}}function Ar(){ht(g.parenL)&&wn()}function Ir(t){ot(),Nr(!1,t),$()}function Br(t=!1,e=0){const n=w.tokens.length;w.scopeDepth++,P(g.braceL),e&&(w.tokens[w.tokens.length-1].contextId=e),Er(g.braceR),e&&(w.tokens[w.tokens.length-1].contextId=e);const r=w.tokens.length;w.scopes.push(new x(n,r,t)),w.scopeDepth--}function Er(t){for(;!ht(t)&&!w.error;)vr(!0)}function Lr(){P(g.semi),dt(g.semi)||pn(),P(g.semi),dt(g.parenR)||pn(),P(g.parenR),vr(!1)}function Fr(t){t?M(m._of):ot(),pn(),P(g.parenR),vr(!1)}function Nr(t,e){for(;;){if(Mr(e),ht(g.eq)){const e=w.tokens.length-1;fn(t),w.tokens[e].rhsEndIndex=w.tokens.length}if(!ht(g.comma))break}}function Mr(t){ie(t),v?function(){const t=lt(0);R()||ht(g.bang),je(),ct(t)}():T&&dt(g.colon)&&yr()}function jr(t,e,n=!1){dt(g.star)&&ot(),!e||n||dt(g.name)||dt(g._yield)||Z();let r=null;dt(g.name)&&(e||(r=w.tokens.length,w.scopeDepth++),ee(!1));const i=w.tokens.length;w.scopeDepth++,Or(),Pn(t);const o=w.tokens.length;w.scopes.push(new x(i,o,!0)),w.scopeDepth--,null!==r&&(w.scopes.push(new x(r,o,!0)),w.scopeDepth--)}function Or(t=!1,e=0){v?ge():T&&function(){if(dt(g.lessThan)){const t=lt(0);nr(),ct(t)}}(),P(g.parenL),e&&(w.tokens[w.tokens.length-1].contextId=e),oe(g.parenR,!1,!1,t,e),e&&(w.tokens[w.tokens.length-1].contextId=e)}function Rr(t,e=!1){const n=I();ot(),w.tokens[w.tokens.length-1].contextId=n,w.tokens[w.tokens.length-1].isExpression=!t;let r=null;t||(r=w.tokens.length,w.scopeDepth++),function(t,e=!1){if(v&&(!t||e)&&F(m._implements))return;dt(g.name)&&ee(!0);v?ge():T&&dt(g.lessThan)&&nr()}(t,e),function(){let t=!1;ht(g._extends)?(xn(),t=!0):t=!1;v?function(t){if(t&&(dt(g.lessThan)||dt(g.bitShiftL))&&Je(),M(m._implements)){w.tokens[w.tokens.length-1].type=g._implements;const t=lt(1);qe(),ct(t)}}(t):T&&function(t){if(t&&dt(g.lessThan)&&rr(),F(m._implements)){const t=lt(0);ot(),w.tokens[w.tokens.length-1].type=g._implements;do{Qn(),dt(g.lessThan)&&rr()}while(ht(g.comma));ct(t)}}(t)}();const i=w.tokens.length;if(function(t){P(g.braceL);for(;!ht(g.braceR)&&!w.error;){if(ht(g.semi))continue;if(dt(g.at)){Sr();continue}$r(w.start,t)}}(n),!w.error&&(w.tokens[i].contextId=n,w.tokens[w.tokens.length-1].contextId=n,null!==r)){const t=w.tokens.length;w.scopes.push(new x(r,t,!1)),w.scopeDepth--}}function Dr(){return dt(g.eq)||dt(g.semi)||dt(g.braceR)||dt(g.bang)||dt(g.colon)}function qr(){return dt(g.parenL)||dt(g.lessThan)}function $r(t,e){v&&ue([m._declare,m._public,m._protected,m._private,m._override]);let n=!1;if(dt(g.name)&&w.contextualKeyword===m._static){if(Un(),qr())return void Pr(t,!1);if(Dr())return void Wr();if(w.tokens[w.tokens.length-1].type=g._static,n=!0,dt(g.braceL))return w.tokens[w.tokens.length-1].contextId=e,void Br()}!function(t,e,n){if(v&&function(t){const e=w.tokens.length;ue([m._abstract,m._readonly,m._declare,m._static,m._override]);const n=w.tokens.length;if(be()){for(let r=t?e-1:e;r<n;r++)w.tokens[r].isType=!0;return!0}return!1}(e))return;if(ht(g.star))return Zr(n),void Pr(t,!1);Zr(n);let r=!1;const i=w.tokens[w.tokens.length-1];i.contextualKeyword===m._constructor&&(r=!0);if(zr(),qr())Pr(t,r);else if(Dr())Wr();else if(i.contextualKeyword!==m._async||q())i.contextualKeyword!==m._get&&i.contextualKeyword!==m._set||q()&&dt(g.star)?i.contextualKeyword!==m._accessor||q()?q()?Wr():Z():(Zr(n),Wr()):(i.contextualKeyword===m._get?w.tokens[w.tokens.length-1].type=g._get:w.tokens[w.tokens.length-1].type=g._set,Zr(n),Pr(t,!1));else{w.tokens[w.tokens.length-1].type=g._async;dt(g.star)&&ot(),Zr(n),zr(),Pr(t,!1)}}(t,n,e)}function Pr(t,e){v?ge():T&&dt(g.lessThan)&&nr(),qn(t,e)}function Zr(t){Dn(t)}function zr(){if(v){const t=lt(0);ht(g.question),ct(t)}}function Wr(){if(v?(ut(g.bang),je()):T&&dt(g.colon)&&yr(),dt(g.eq)){const t=w.tokens.length;ot(),fn(),w.tokens[t].rhsEndIndex=w.tokens.length}$()}function Ur(){const t=w.tokens.length-1;v&&function(){if(ht(g._import))return F(m._type)&&pt()!==g.eq&&j(m._type),He(),!0;if(ht(g.eq))return pn(),$(),!0;if(M(m._as))return j(m._namespace),Un(),$(),!0;if(F(m._type)){const t=pt();t!==g.braceL&&t!==g.star||ot()}return!1}()||((T?dt(g.star)||F(m._type)&&pt()===g.star:dt(g.star))?T?function(){if(M(m._type)){const t=lt(2);Vr(),ct(t)}else Vr()}():Vr():function(){if(v&&tn())return!1;if(T&&dt(g.name)&&(w.contextualKeyword===m._type||w.contextualKeyword===m._interface||w.contextualKeyword===m._opaque||w.contextualKeyword===m._enum))return!1;if(dt(g.name))return w.contextualKeyword!==m._async;if(!dt(g._default))return!1;const t=gt(),e=mt(),n=e.type===g.name&&e.contextualKeyword===m._from;if(e.type===g.comma)return!0;if(n){const e=S.charCodeAt(yt(t+4));return e===y.quotationMark||e===y.apostrophe}return!1}()?(Un(),dt(g.comma)&&pt()===g.star?(P(g.comma),P(g.star),j(m._as),Un()):Hr(),Yr()):ht(g._default)?function(){if(v&&function(){if(F(m._abstract)&&pt()===g._class)return w.type=g._abstract,ot(),Rr(!0,!0),!0;if(F(m._interface)){const t=lt(2);return Ke(m._interface,!0),ct(t),!0}return!1}())return;if(T&&F(m._enum)&&(br(),1))return;const t=w.start;ht(g._function)?jr(t,!0,!0):F(m._async)&&pt()===g._function?(M(m._async),ht(g._function),jr(t,!0,!0)):dt(g._class)?Rr(!0,!0):dt(g.at)?(wr(),Rr(!0,!0)):(fn(),$())}():v&&tn()||T&&(F(m._type)||F(m._interface)||F(m._opaque)||F(m._enum))||w.type===g._var||w.type===g._const||w.type===g._let||w.type===g._function||w.type===g._class||F(m._async)||dt(g.at)?v?function(){const t=M(m._declare);t&&(w.tokens[w.tokens.length-1].type=g._declare);let e=!1;if(dt(g.name))if(t){const t=lt(2);e=Ye(),ct(t)}else e=Ye();if(!e)if(t){const t=lt(2);vr(!0),ct(t)}else vr(!0)}():T?function(){if(F(m._type)){const t=lt(1);ot(),dt(g.braceL)?(Kr(),Yr()):tr(),ct(t)}else if(F(m._opaque)){const t=lt(1);ot(),er(!1),ct(t)}else if(F(m._interface)){const t=lt(1);ot(),Jn(),ct(t)}else vr(!0)}():vr(!0):(Kr(),Yr()),w.tokens[t].rhsEndIndex=w.tokens.length)}function Hr(){ht(g.comma)&&Kr()}function Yr(){M(m._from)&&(An(),ei()),$()}function Vr(){P(g.star),F(m._as)?(ot(),w.tokens[w.tokens.length-1].type=g._as,Un(),Hr(),Yr()):Yr()}function Kr(){let t=!0;for(P(g.braceL);!ht(g.braceR)&&!w.error;){if(t)t=!1;else if(P(g.comma),ht(g.braceR))break;Xr()}}function Xr(){v?function(){if(Un(),dt(g.comma)||dt(g.braceR))w.tokens[w.tokens.length-1].identifierRole=X.ExportAccess;else{if(Un(),dt(g.comma)||dt(g.braceR))return w.tokens[w.tokens.length-1].identifierRole=X.ExportAccess,w.tokens[w.tokens.length-2].isType=!0,void(w.tokens[w.tokens.length-1].isType=!0);Un(),dt(g.comma)||dt(g.braceR)?w.tokens[w.tokens.length-3].identifierRole=X.ExportAccess:(Un(),w.tokens[w.tokens.length-3].identifierRole=X.ExportAccess,w.tokens[w.tokens.length-4].isType=!0,w.tokens[w.tokens.length-3].isType=!0,w.tokens[w.tokens.length-2].isType=!0,w.tokens[w.tokens.length-1].isType=!0)}}():(Un(),w.tokens[w.tokens.length-1].identifierRole=X.ExportAccess,M(m._as)&&Un())}function Gr(){F(m._module)&&function(){const t=w.snapshot();return j(m._module),M(m._from)?F(m._from)?(w.restoreFromSnapshot(t),!0):(w.restoreFromSnapshot(t),!1):dt(g.comma)?(w.restoreFromSnapshot(t),!1):(w.restoreFromSnapshot(t),!0)}()&&ot()}function Jr(){if(v&&dt(g.name)&&pt()===g.eq)He();else{if(v&&F(m._type)){const t=mt();if(t.type===g.name&&t.contextualKeyword!==m._from){if(j(m._type),pt()===g.eq)return void He()}else t.type!==g.star&&t.type!==g.braceL||j(m._type)}dt(g.string)||(Gr(),function(){T&&_r();let t=!0;if(dt(g.name)&&(Qr(),!ht(g.comma)))return;if(dt(g.star))return ot(),j(m._as),void Qr();P(g.braceL);for(;!ht(g.braceR)&&!w.error;){if(t)t=!1;else if(ht(g.colon)&&Z("ES2015 named imports do not destructure. Use another statement for destructuring after the import."),P(g.comma),ht(g.braceR))break;ti()}}(),j(m._from)),An(),ei(),$()}}function Qr(){ne()}function ti(){v?function(){if(Un(),dt(g.comma)||dt(g.braceR))w.tokens[w.tokens.length-1].identifierRole=X.ImportDeclaration;else{if(Un(),dt(g.comma)||dt(g.braceR))return w.tokens[w.tokens.length-1].identifierRole=X.ImportDeclaration,w.tokens[w.tokens.length-2].isType=!0,void(w.tokens[w.tokens.length-1].isType=!0);if(Un(),dt(g.comma)||dt(g.braceR))return w.tokens[w.tokens.length-3].identifierRole=X.ImportAccess,void(w.tokens[w.tokens.length-1].identifierRole=X.ImportDeclaration);Un(),w.tokens[w.tokens.length-3].identifierRole=X.ImportAccess,w.tokens[w.tokens.length-1].identifierRole=X.ImportDeclaration,w.tokens[w.tokens.length-4].isType=!0,w.tokens[w.tokens.length-3].isType=!0,w.tokens[w.tokens.length-2].isType=!0,w.tokens[w.tokens.length-1].isType=!0}}():T?function(){const t=w.contextualKeyword===m._type||w.type===g._typeof;t?ot():Un(),F(m._as)&&!N(m._as)?(Un(),(!t||dt(g.name)||w.type&g.IS_KEYWORD)&&Un()):(t&&(dt(g.name)||w.type&g.IS_KEYWORD)&&Un(),M(m._as)&&Un())}():(ne(),F(m._as)&&(w.tokens[w.tokens.length-1].identifierRole=X.ImportAccess,ot(),ne()))}function ei(){(dt(g._with)||F(m._assert)&&!R())&&(ot(),jn(!1,!1))}function ni(){return 0===w.pos&&S.charCodeAt(0)===y.numberSign&&S.charCodeAt(1)===y.exclamationMark&&bt(2),xt(),function(){if(Er(g.eof),w.scopes.push(new x(0,w.tokens.length,!0)),0!==w.scopeDepth)throw new Error(`Invalid scope depth at end of file: ${w.scopeDepth}`);return new ri(w.tokens,w.scopes)}()}class ri{constructor(t,e){this.tokens=t,this.scopes=e}}class ii{__init(){this.resultCode=""}__init2(){this.resultMappings=new Array(this.tokens.length)}__init3(){this.tokenIndex=0}constructor(t,e,n,r,i){this.code=t,this.tokens=e,this.isFlowEnabled=n,this.disableESTransforms=r,this.helperManager=i,ii.prototype.__init.call(this),ii.prototype.__init2.call(this),ii.prototype.__init3.call(this)}snapshot(){return{resultCode:this.resultCode,tokenIndex:this.tokenIndex}}restoreToSnapshot(t){this.resultCode=t.resultCode,this.tokenIndex=t.tokenIndex}dangerouslyGetAndRemoveCodeSinceSnapshot(t){const e=this.resultCode.slice(t.resultCode.length);return this.resultCode=t.resultCode,e}reset(){this.resultCode="",this.resultMappings=new Array(this.tokens.length),this.tokenIndex=0}matchesContextualAtIndex(t,e){return this.matches1AtIndex(t,g.name)&&this.tokens[t].contextualKeyword===e}identifierNameAtIndex(t){return this.identifierNameForToken(this.tokens[t])}identifierNameAtRelativeIndex(t){return this.identifierNameForToken(this.tokenAtRelativeIndex(t))}identifierName(){return this.identifierNameForToken(this.currentToken())}identifierNameForToken(t){return this.code.slice(t.start,t.end)}rawCodeForToken(t){return this.code.slice(t.start,t.end)}stringValueAtIndex(t){return this.stringValueForToken(this.tokens[t])}stringValue(){return this.stringValueForToken(this.currentToken())}stringValueForToken(t){return this.code.slice(t.start+1,t.end-1)}matches1AtIndex(t,e){return this.tokens[t].type===e}matches2AtIndex(t,e,n){return this.tokens[t].type===e&&this.tokens[t+1].type===n}matches3AtIndex(t,e,n,r){return this.tokens[t].type===e&&this.tokens[t+1].type===n&&this.tokens[t+2].type===r}matches1(t){return this.tokens[this.tokenIndex].type===t}matches2(t,e){return this.tokens[this.tokenIndex].type===t&&this.tokens[this.tokenIndex+1].type===e}matches3(t,e,n){return this.tokens[this.tokenIndex].type===t&&this.tokens[this.tokenIndex+1].type===e&&this.tokens[this.tokenIndex+2].type===n}matches4(t,e,n,r){return this.tokens[this.tokenIndex].type===t&&this.tokens[this.tokenIndex+1].type===e&&this.tokens[this.tokenIndex+2].type===n&&this.tokens[this.tokenIndex+3].type===r}matches5(t,e,n,r,i){return this.tokens[this.tokenIndex].type===t&&this.tokens[this.tokenIndex+1].type===e&&this.tokens[this.tokenIndex+2].type===n&&this.tokens[this.tokenIndex+3].type===r&&this.tokens[this.tokenIndex+4].type===i}matchesContextual(t){return this.matchesContextualAtIndex(this.tokenIndex,t)}matchesContextIdAndLabel(t,e){return this.matches1(t)&&this.currentToken().contextId===e}previousWhitespaceAndComments(){let t=this.code.slice(this.tokenIndex>0?this.tokens[this.tokenIndex-1].end:0,this.tokenIndex<this.tokens.length?this.tokens[this.tokenIndex].start:this.code.length);return this.isFlowEnabled&&(t=t.replace(/@flow/g,"")),t}replaceToken(t){this.resultCode+=this.previousWhitespaceAndComments(),this.appendTokenPrefix(),this.resultMappings[this.tokenIndex]=this.resultCode.length,this.resultCode+=t,this.appendTokenSuffix(),this.tokenIndex++}replaceTokenTrimmingLeftWhitespace(t){this.resultCode+=this.previousWhitespaceAndComments().replace(/[^\r\n]/g,""),this.appendTokenPrefix(),this.resultMappings[this.tokenIndex]=this.resultCode.length,this.resultCode+=t,this.appendTokenSuffix(),this.tokenIndex++}removeInitialToken(){this.replaceToken("")}removeToken(){this.replaceTokenTrimmingLeftWhitespace("")}removeBalancedCode(){let t=0;for(;!this.isAtEnd();){if(this.matches1(g.braceL))t++;else if(this.matches1(g.braceR)){if(0===t)return;t--}this.removeToken()}}copyExpectedToken(t){if(this.tokens[this.tokenIndex].type!==t)throw new Error(`Expected token ${t}`);this.copyToken()}copyToken(){this.resultCode+=this.previousWhitespaceAndComments(),this.appendTokenPrefix(),this.resultMappings[this.tokenIndex]=this.resultCode.length,this.resultCode+=this.code.slice(this.tokens[this.tokenIndex].start,this.tokens[this.tokenIndex].end),this.appendTokenSuffix(),this.tokenIndex++}copyTokenWithPrefix(t){this.resultCode+=this.previousWhitespaceAndComments(),this.appendTokenPrefix(),this.resultCode+=t,this.resultMappings[this.tokenIndex]=this.resultCode.length,this.resultCode+=this.code.slice(this.tokens[this.tokenIndex].start,this.tokens[this.tokenIndex].end),this.appendTokenSuffix(),this.tokenIndex++}appendTokenPrefix(){const t=this.currentToken();if((t.numNullishCoalesceStarts||t.isOptionalChainStart)&&(t.isAsyncOperation=function(t){let e=t.currentIndex(),n=0;const r=t.currentToken();do{const i=t.tokens[e];if(i.isOptionalChainStart&&n++,i.isOptionalChainEnd&&n--,n+=i.numNullishCoalesceStarts,n-=i.numNullishCoalesceEnds,i.contextualKeyword===m._await&&null==i.identifierRole&&i.scopeDepth===r.scopeDepth)return!0;e+=1}while(n>0&&e<t.tokens.length);return!1}(this)),!this.disableESTransforms){if(t.numNullishCoalesceStarts)for(let e=0;e<t.numNullishCoalesceStarts;e++)t.isAsyncOperation?(this.resultCode+="await ",this.resultCode+=this.helperManager.getHelperName("asyncNullishCoalesce")):this.resultCode+=this.helperManager.getHelperName("nullishCoalesce"),this.resultCode+="(";t.isOptionalChainStart&&(t.isAsyncOperation&&(this.resultCode+="await "),this.tokenIndex>0&&this.tokenAtRelativeIndex(-1).type===g._delete?t.isAsyncOperation?this.resultCode+=this.helperManager.getHelperName("asyncOptionalChainDelete"):this.resultCode+=this.helperManager.getHelperName("optionalChainDelete"):t.isAsyncOperation?this.resultCode+=this.helperManager.getHelperName("asyncOptionalChain"):this.resultCode+=this.helperManager.getHelperName("optionalChain"),this.resultCode+="([")}}appendTokenSuffix(){const t=this.currentToken();if(t.isOptionalChainEnd&&!this.disableESTransforms&&(this.resultCode+="])"),t.numNullishCoalesceEnds&&!this.disableESTransforms)for(let e=0;e<t.numNullishCoalesceEnds;e++)this.resultCode+="))"}appendCode(t){this.resultCode+=t}currentToken(){return this.tokens[this.tokenIndex]}currentTokenCode(){const t=this.currentToken();return this.code.slice(t.start,t.end)}tokenAtRelativeIndex(t){return this.tokens[this.tokenIndex+t]}currentIndex(){return this.tokenIndex}nextToken(){if(this.tokenIndex===this.tokens.length)throw new Error("Unexpectedly reached end of input.");this.tokenIndex++}previousToken(){this.tokenIndex--}finish(){if(this.tokenIndex!==this.tokens.length)throw new Error("Tried to finish processing tokens before reaching the end.");return this.resultCode+=this.previousWhitespaceAndComments(),{code:this.resultCode,mappings:this.resultMappings}}isAtEnd(){return this.tokenIndex===this.tokens.length}}function oi(t,e,n,r){const i=e.snapshot(),o=function(t){const e=t.currentToken(),n=e.contextId;if(null==n)throw new Error("Expected context ID on class token.");const r=e.isExpression;if(null==r)throw new Error("Expected isExpression on class token.");let i=null,o=!1;t.nextToken(),t.matches1(g.name)&&(i=t.identifierName());for(;!t.matchesContextIdAndLabel(g.braceL,n);)t.matches1(g._extends)&&!t.currentToken().isType&&(o=!0),t.nextToken();return{isExpression:r,className:i,hasSuperclass:o}}(e);let s=[];const a=[],l=[];let c=null;const h=[],u=[],d=e.currentToken().contextId;if(null==d)throw new Error("Expected non-null class context ID on class open-brace.");for(e.nextToken();!e.matchesContextIdAndLabel(g.braceR,d);)if(e.matchesContextual(m._constructor)&&!e.currentToken().isType)({constructorInitializerStatements:s,constructorInsertPos:c}=ai(e));else if(e.matches1(g.semi))r||u.push({start:e.currentIndex(),end:e.currentIndex()+1}),e.nextToken();else if(e.currentToken().isType)e.nextToken();else{const i=e.currentIndex();let o=!1,p=!1,f=!1;for(;li(e.currentToken());)e.matches1(g._static)&&(o=!0),e.matches1(g.hash)&&(p=!0),(e.matches1(g._declare)||e.matches1(g._abstract))&&(f=!0),e.nextToken();if(o&&e.matches1(g.braceL)){si(e,d);continue}if(p){si(e,d);continue}if(e.matchesContextual(m._constructor)&&!e.currentToken().isType){({constructorInitializerStatements:s,constructorInsertPos:c}=ai(e));continue}const y=e.currentIndex();if(ci(e),e.matches1(g.lessThan)||e.matches1(g.parenL)){si(e,d);continue}for(;e.currentToken().isType;)e.nextToken();if(e.matches1(g.eq)){const r=e.currentIndex(),i=e.currentToken().rhsEndIndex;if(null==i)throw new Error("Expected rhsEndIndex on class field assignment.");for(e.nextToken();e.currentIndex()<i;)t.processToken();let s;o?(s=n.claimFreeName("__initStatic"),l.push(s)):(s=n.claimFreeName("__init"),a.push(s)),h.push({initializerName:s,equalsIndex:r,start:y,end:e.currentIndex()})}else r&&!f||u.push({start:i,end:e.currentIndex()})}return e.restoreToSnapshot(i),r?{headerInfo:o,constructorInitializerStatements:s,instanceInitializerNames:[],staticInitializerNames:[],constructorInsertPos:c,fields:[],rangesToRemove:u}:{headerInfo:o,constructorInitializerStatements:s,instanceInitializerNames:a,staticInitializerNames:l,constructorInsertPos:c,fields:h,rangesToRemove:u}}function si(t,e){for(t.nextToken();t.currentToken().contextId!==e;)t.nextToken();for(;li(t.tokenAtRelativeIndex(-1));)t.previousToken()}function ai(t){const e=[];t.nextToken();const n=t.currentToken().contextId;if(null==n)throw new Error("Expected context ID on open-paren starting constructor params.");for(;!t.matchesContextIdAndLabel(g.parenR,n);)if(t.currentToken().contextId===n){if(t.nextToken(),li(t.currentToken())){for(t.nextToken();li(t.currentToken());)t.nextToken();const n=t.currentToken();if(n.type!==g.name)throw new Error("Expected identifier after access modifiers in constructor arg.");const r=t.identifierNameForToken(n);e.push(`this.${r} = ${r}`)}}else t.nextToken();for(t.nextToken();t.currentToken().isType;)t.nextToken();let r=t.currentIndex(),i=!1;for(;!t.matchesContextIdAndLabel(g.braceR,n);){if(!i&&t.matches2(g._super,g.parenL)){t.nextToken();const e=t.currentToken().contextId;if(null==e)throw new Error("Expected a context ID on the super call");for(;!t.matchesContextIdAndLabel(g.parenR,e);)t.nextToken();r=t.currentIndex(),i=!0}t.nextToken()}return t.nextToken(),{constructorInitializerStatements:e,constructorInsertPos:r}}function li(t){return[g._async,g._get,g._set,g.plus,g.minus,g._readonly,g._static,g._public,g._private,g._protected,g._override,g._abstract,g.star,g._declare,g.hash].includes(t.type)}function ci(t){if(t.matches1(g.bracketL)){const e=t.currentToken().contextId;if(null==e)throw new Error("Expected class context ID on computed name open bracket.");for(;!t.matchesContextIdAndLabel(g.bracketR,e);)t.nextToken();t.nextToken()}else t.nextToken()}function hi(t){if(t.removeInitialToken(),t.removeToken(),t.removeToken(),t.removeToken(),t.matches1(g.parenL))t.removeToken(),t.removeToken(),t.removeToken();else for(;t.matches1(g.dot);)t.removeToken(),t.removeToken()}const ui={typeDeclarations:new Set,valueDeclarations:new Set};function di(t){const e=new Set,n=new Set;for(let r=0;r<t.tokens.length;r++){const i=t.tokens[r];i.type===g.name&&tt(i)&&(i.isType?e.add(t.identifierNameForToken(i)):n.add(t.identifierNameForToken(i)))}return{typeDeclarations:e,valueDeclarations:n}}function pi(t){let e=t.currentIndex();for(;!t.matches1AtIndex(e,g.braceR);)e++;return t.matchesContextualAtIndex(e+1,m._from)&&t.matches1AtIndex(e+2,g.string)}function fi(t){(t.matches2(g._with,g.braceL)||t.matches2(g.name,g.braceL)&&t.matchesContextual(m._assert))&&(t.removeToken(),t.removeToken(),t.removeBalancedCode(),t.removeToken())}function mi(t,e,n,r){if(!t||e)return!1;const i=n.currentToken();if(null==i.rhsEndIndex)throw new Error("Expected non-null rhsEndIndex on export token.");const o=i.rhsEndIndex-n.currentIndex();if(3!==o&&(4!==o||!n.matches1AtIndex(i.rhsEndIndex-1,g.semi)))return!1;const s=n.tokenAtRelativeIndex(2);if(s.type!==g.name)return!1;const a=n.identifierNameForToken(s);return r.typeDeclarations.has(a)&&!r.valueDeclarations.has(a)}class gi extends jt{__init(){this.hadExport=!1}__init2(){this.hadNamedExport=!1}__init3(){this.hadDefaultExport=!1}constructor(t,e,n,r,i,o,s,a,l,c,h,u){super(),this.rootTransformer=t,this.tokens=e,this.importProcessor=n,this.nameManager=r,this.helperManager=i,this.reactHotLoaderTransformer=o,this.enableLegacyBabel5ModuleInterop=s,this.enableLegacyTypeScriptModuleInterop=a,this.isTypeScriptTransformEnabled=l,this.isFlowTransformEnabled=c,this.preserveDynamicImport=h,this.keepUnusedImports=u,gi.prototype.__init.call(this),gi.prototype.__init2.call(this),gi.prototype.__init3.call(this),this.declarationInfo=l?di(e):ui}getPrefixCode(){let t="";return this.hadExport&&(t+='Object.defineProperty(exports, "__esModule", {value: true});'),t}getSuffixCode(){return this.enableLegacyBabel5ModuleInterop&&this.hadDefaultExport&&!this.hadNamedExport?"\nmodule.exports = exports.default;\n":""}process(){return this.tokens.matches3(g._import,g.name,g.eq)?this.processImportEquals():this.tokens.matches1(g._import)?(this.processImport(),!0):this.tokens.matches2(g._export,g.eq)?(this.tokens.replaceToken("module.exports"),!0):this.tokens.matches1(g._export)&&!this.tokens.currentToken().isType?(this.hadExport=!0,this.processExport()):!(!this.tokens.matches2(g.name,g.postIncDec)||!this.processPostIncDec())||(this.tokens.matches1(g.name)||this.tokens.matches1(g.jsxName)?this.processIdentifier():this.tokens.matches1(g.eq)?this.processAssignment():this.tokens.matches1(g.assign)?this.processComplexAssignment():!!this.tokens.matches1(g.preIncDec)&&this.processPreIncDec())}processImportEquals(){const t=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);return this.importProcessor.shouldAutomaticallyElideImportedName(t)?hi(this.tokens):this.tokens.replaceToken("const"),!0}processImport(){if(this.tokens.matches2(g._import,g.parenL)){if(this.preserveDynamicImport)return void this.tokens.copyToken();const t=this.enableLegacyTypeScriptModuleInterop?"":`${this.helperManager.getHelperName("interopRequireWildcard")}(`;this.tokens.replaceToken(`Promise.resolve().then(() => ${t}require`);const e=this.tokens.currentToken().contextId;if(null==e)throw new Error("Expected context ID on dynamic import invocation.");for(this.tokens.copyToken();!this.tokens.matchesContextIdAndLabel(g.parenR,e);)this.rootTransformer.processToken();return void this.tokens.replaceToken(t?")))":"))")}if(this.removeImportAndDetectIfShouldElide())this.tokens.removeToken();else{const t=this.tokens.stringValue();this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(t)),this.tokens.appendCode(this.importProcessor.claimImportCode(t))}fi(this.tokens),this.tokens.matches1(g.semi)&&this.tokens.removeToken()}removeImportAndDetectIfShouldElide(){if(this.tokens.removeInitialToken(),this.tokens.matchesContextual(m._type)&&!this.tokens.matches1AtIndex(this.tokens.currentIndex()+1,g.comma)&&!this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,m._from))return this.removeRemainingImport(),!0;if(this.tokens.matches1(g.name)||this.tokens.matches1(g.star))return this.removeRemainingImport(),!1;if(this.tokens.matches1(g.string))return!1;let t=!1,e=!1;for(;!this.tokens.matches1(g.string);)(!t&&this.tokens.matches1(g.braceL)||this.tokens.matches1(g.comma))&&(this.tokens.removeToken(),this.tokens.matches1(g.braceR)||(e=!0),(this.tokens.matches2(g.name,g.comma)||this.tokens.matches2(g.name,g.braceR)||this.tokens.matches4(g.name,g.name,g.name,g.comma)||this.tokens.matches4(g.name,g.name,g.name,g.braceR))&&(t=!0)),this.tokens.removeToken();return!this.keepUnusedImports&&(this.isTypeScriptTransformEnabled?!t:!!this.isFlowTransformEnabled&&(e&&!t))}removeRemainingImport(){for(;!this.tokens.matches1(g.string);)this.tokens.removeToken()}processIdentifier(){const t=this.tokens.currentToken();if(t.shadowsGlobal)return!1;if(t.identifierRole===X.ObjectShorthand)return this.processObjectShorthand();if(t.identifierRole!==X.Access)return!1;const e=this.importProcessor.getIdentifierReplacement(this.tokens.identifierNameForToken(t));if(!e)return!1;let n=this.tokens.currentIndex()+1;for(;n<this.tokens.tokens.length&&this.tokens.tokens[n].type===g.parenR;)n++;return this.tokens.tokens[n].type===g.parenL?this.tokens.tokenAtRelativeIndex(1).type===g.parenL&&this.tokens.tokenAtRelativeIndex(-1).type!==g._new?(this.tokens.replaceToken(`${e}.call(void 0, `),this.tokens.removeToken(),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR)):this.tokens.replaceToken(`(0, ${e})`):this.tokens.replaceToken(e),!0}processObjectShorthand(){const t=this.tokens.identifierName(),e=this.importProcessor.getIdentifierReplacement(t);return!!e&&(this.tokens.replaceToken(`${t}: ${e}`),!0)}processExport(){if(this.tokens.matches2(g._export,g._enum)||this.tokens.matches3(g._export,g._const,g._enum))return this.hadNamedExport=!0,!1;if(this.tokens.matches2(g._export,g._default))return this.tokens.matches3(g._export,g._default,g._enum)?(this.hadDefaultExport=!0,!1):(this.processExportDefault(),!0);if(this.tokens.matches2(g._export,g.braceL))return this.processExportBindings(),!0;if(this.tokens.matches2(g._export,g.name)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,m._type)){if(this.tokens.removeInitialToken(),this.tokens.removeToken(),this.tokens.matches1(g.braceL)){for(;!this.tokens.matches1(g.braceR);)this.tokens.removeToken();this.tokens.removeToken()}else this.tokens.removeToken(),this.tokens.matches1(g._as)&&(this.tokens.removeToken(),this.tokens.removeToken());return this.tokens.matchesContextual(m._from)&&this.tokens.matches1AtIndex(this.tokens.currentIndex()+1,g.string)&&(this.tokens.removeToken(),this.tokens.removeToken(),fi(this.tokens)),!0}if(this.hadNamedExport=!0,this.tokens.matches2(g._export,g._var)||this.tokens.matches2(g._export,g._let)||this.tokens.matches2(g._export,g._const))return this.processExportVar(),!0;if(this.tokens.matches2(g._export,g._function)||this.tokens.matches3(g._export,g.name,g._function))return this.processExportFunction(),!0;if(this.tokens.matches2(g._export,g._class)||this.tokens.matches3(g._export,g._abstract,g._class)||this.tokens.matches2(g._export,g.at))return this.processExportClass(),!0;if(this.tokens.matches2(g._export,g.star))return this.processExportStar(),!0;throw new Error("Unrecognized export syntax.")}processAssignment(){const t=this.tokens.currentIndex(),e=this.tokens.tokens[t-1];if(e.isType||e.type!==g.name)return!1;if(e.shadowsGlobal)return!1;if(t>=2&&this.tokens.matches1AtIndex(t-2,g.dot))return!1;if(t>=2&&[g._var,g._let,g._const].includes(this.tokens.tokens[t-2].type))return!1;const n=this.importProcessor.resolveExportBinding(this.tokens.identifierNameForToken(e));return!!n&&(this.tokens.copyToken(),this.tokens.appendCode(` ${n} =`),!0)}processComplexAssignment(){const t=this.tokens.currentIndex(),e=this.tokens.tokens[t-1];if(e.type!==g.name)return!1;if(e.shadowsGlobal)return!1;if(t>=2&&this.tokens.matches1AtIndex(t-2,g.dot))return!1;const n=this.importProcessor.resolveExportBinding(this.tokens.identifierNameForToken(e));return!!n&&(this.tokens.appendCode(` = ${n}`),this.tokens.copyToken(),!0)}processPreIncDec(){const t=this.tokens.currentIndex(),e=this.tokens.tokens[t+1];if(e.type!==g.name)return!1;if(e.shadowsGlobal)return!1;if(t+2<this.tokens.tokens.length&&(this.tokens.matches1AtIndex(t+2,g.dot)||this.tokens.matches1AtIndex(t+2,g.bracketL)||this.tokens.matches1AtIndex(t+2,g.parenL)))return!1;const n=this.tokens.identifierNameForToken(e),r=this.importProcessor.resolveExportBinding(n);return!!r&&(this.tokens.appendCode(`${r} = `),this.tokens.copyToken(),!0)}processPostIncDec(){const t=this.tokens.currentIndex(),e=this.tokens.tokens[t],n=this.tokens.tokens[t+1];if(e.type!==g.name)return!1;if(e.shadowsGlobal)return!1;if(t>=1&&this.tokens.matches1AtIndex(t-1,g.dot))return!1;const r=this.tokens.identifierNameForToken(e),i=this.importProcessor.resolveExportBinding(r);if(!i)return!1;const o=this.tokens.rawCodeForToken(n),s=this.importProcessor.getIdentifierReplacement(r)||r;if("++"===o)this.tokens.replaceToken(`(${s} = ${i} = ${s} + 1, ${s} - 1)`);else{if("--"!==o)throw new Error(`Unexpected operator: ${o}`);this.tokens.replaceToken(`(${s} = ${i} = ${s} - 1, ${s} + 1)`)}return this.tokens.removeToken(),!0}processExportDefault(){let t=!0;if(this.tokens.matches4(g._export,g._default,g._function,g.name)||this.tokens.matches5(g._export,g._default,g.name,g._function,g.name)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+2,m._async)){this.tokens.removeInitialToken(),this.tokens.removeToken();const t=this.processNamedFunction();this.tokens.appendCode(` exports.default = ${t};`)}else if(this.tokens.matches4(g._export,g._default,g._class,g.name)||this.tokens.matches5(g._export,g._default,g._abstract,g._class,g.name)||this.tokens.matches3(g._export,g._default,g.at)){this.tokens.removeInitialToken(),this.tokens.removeToken(),this.copyDecorators(),this.tokens.matches1(g._abstract)&&this.tokens.removeToken();const t=this.rootTransformer.processNamedClass();this.tokens.appendCode(` exports.default = ${t};`)}else if(mi(this.isTypeScriptTransformEnabled,this.keepUnusedImports,this.tokens,this.declarationInfo))t=!1,this.tokens.removeInitialToken(),this.tokens.removeToken(),this.tokens.removeToken();else if(this.reactHotLoaderTransformer){const t=this.nameManager.claimFreeName("_default");this.tokens.replaceToken(`let ${t}; exports.`),this.tokens.copyToken(),this.tokens.appendCode(` = ${t} =`),this.reactHotLoaderTransformer.setExtractedDefaultExportName(t)}else this.tokens.replaceToken("exports."),this.tokens.copyToken(),this.tokens.appendCode(" =");t&&(this.hadDefaultExport=!0)}copyDecorators(){for(;this.tokens.matches1(g.at);)if(this.tokens.copyToken(),this.tokens.matches1(g.parenL))this.tokens.copyExpectedToken(g.parenL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR);else{for(this.tokens.copyExpectedToken(g.name);this.tokens.matches1(g.dot);)this.tokens.copyExpectedToken(g.dot),this.tokens.copyExpectedToken(g.name);this.tokens.matches1(g.parenL)&&(this.tokens.copyExpectedToken(g.parenL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR))}}processExportVar(){this.isSimpleExportVar()?this.processSimpleExportVar():this.processComplexExportVar()}isSimpleExportVar(){let t=this.tokens.currentIndex();if(t++,t++,!this.tokens.matches1AtIndex(t,g.name))return!1;for(t++;t<this.tokens.tokens.length&&this.tokens.tokens[t].isType;)t++;return!!this.tokens.matches1AtIndex(t,g.eq)}processSimpleExportVar(){this.tokens.removeInitialToken(),this.tokens.copyToken();const t=this.tokens.identifierName();for(;!this.tokens.matches1(g.eq);)this.rootTransformer.processToken();const e=this.tokens.currentToken().rhsEndIndex;if(null==e)throw new Error("Expected = token with an end index.");for(;this.tokens.currentIndex()<e;)this.rootTransformer.processToken();this.tokens.appendCode(`; exports.${t} = ${t}`)}processComplexExportVar(){this.tokens.removeInitialToken(),this.tokens.removeToken();const t=this.tokens.matches1(g.braceL);t&&this.tokens.appendCode("(");let e=0;for(;;)if(this.tokens.matches1(g.braceL)||this.tokens.matches1(g.dollarBraceL)||this.tokens.matches1(g.bracketL))e++,this.tokens.copyToken();else if(this.tokens.matches1(g.braceR)||this.tokens.matches1(g.bracketR))e--,this.tokens.copyToken();else{if(0===e&&!this.tokens.matches1(g.name)&&!this.tokens.currentToken().isType)break;if(this.tokens.matches1(g.eq)){const t=this.tokens.currentToken().rhsEndIndex;if(null==t)throw new Error("Expected = token with an end index.");for(;this.tokens.currentIndex()<t;)this.rootTransformer.processToken()}else{const t=this.tokens.currentToken();if(J(t)){const e=this.tokens.identifierName();let n=this.importProcessor.getIdentifierReplacement(e);if(null===n)throw new Error(`Expected a replacement for ${e} in \`export var\` syntax.`);rt(t)&&(n=`${e}: ${n}`),this.tokens.replaceToken(n)}else this.rootTransformer.processToken()}}if(t){const t=this.tokens.currentToken().rhsEndIndex;if(null==t)throw new Error("Expected = token with an end index.");for(;this.tokens.currentIndex()<t;)this.rootTransformer.processToken();this.tokens.appendCode(")")}}processExportFunction(){this.tokens.replaceToken("");const t=this.processNamedFunction();this.tokens.appendCode(` exports.${t} = ${t};`)}processNamedFunction(){if(this.tokens.matches1(g._function))this.tokens.copyToken();else if(this.tokens.matches2(g.name,g._function)){if(!this.tokens.matchesContextual(m._async))throw new Error("Expected async keyword in function export.");this.tokens.copyToken(),this.tokens.copyToken()}if(this.tokens.matches1(g.star)&&this.tokens.copyToken(),!this.tokens.matches1(g.name))throw new Error("Expected identifier for exported function name.");const t=this.tokens.identifierName();if(this.tokens.copyToken(),this.tokens.currentToken().isType)for(this.tokens.removeInitialToken();this.tokens.currentToken().isType;)this.tokens.removeToken();return this.tokens.copyExpectedToken(g.parenL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR),this.rootTransformer.processPossibleTypeRange(),this.tokens.copyExpectedToken(g.braceL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.braceR),t}processExportClass(){this.tokens.removeInitialToken(),this.copyDecorators(),this.tokens.matches1(g._abstract)&&this.tokens.removeToken();const t=this.rootTransformer.processNamedClass();this.tokens.appendCode(` exports.${t} = ${t};`)}processExportBindings(){this.tokens.removeInitialToken(),this.tokens.removeToken();const t=pi(this.tokens),e=[];for(;;){if(this.tokens.matches1(g.braceR)){this.tokens.removeToken();break}const n=Et(this.tokens);for(;this.tokens.currentIndex()<n.endIndex;)this.tokens.removeToken();if(!(n.isType||!t&&this.shouldElideExportedIdentifier(n.leftName))){const t=n.rightName;"default"===t?this.hadDefaultExport=!0:this.hadNamedExport=!0;const r=n.leftName,i=this.importProcessor.getIdentifierReplacement(r);e.push(`exports.${t} = ${i||r};`)}if(this.tokens.matches1(g.braceR)){this.tokens.removeToken();break}if(this.tokens.matches2(g.comma,g.braceR)){this.tokens.removeToken(),this.tokens.removeToken();break}if(!this.tokens.matches1(g.comma))throw new Error(`Unexpected token: ${JSON.stringify(this.tokens.currentToken())}`);this.tokens.removeToken()}if(this.tokens.matchesContextual(m._from)){this.tokens.removeToken();const t=this.tokens.stringValue();this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(t)),fi(this.tokens)}else this.tokens.appendCode(e.join(" "));this.tokens.matches1(g.semi)&&this.tokens.removeToken()}processExportStar(){for(this.tokens.removeInitialToken();!this.tokens.matches1(g.string);)this.tokens.removeToken();const t=this.tokens.stringValue();this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(t)),fi(this.tokens),this.tokens.matches1(g.semi)&&this.tokens.removeToken()}shouldElideExportedIdentifier(t){return this.isTypeScriptTransformEnabled&&!this.keepUnusedImports&&!this.declarationInfo.valueDeclarations.has(t)}}class yi extends jt{constructor(t,e,n,r,i,o,s,a){super(),this.tokens=t,this.nameManager=e,this.helperManager=n,this.reactHotLoaderTransformer=r,this.isTypeScriptTransformEnabled=i,this.isFlowTransformEnabled=o,this.keepUnusedImports=s,this.nonTypeIdentifiers=i&&!s?Pt(t,a):new Set,this.declarationInfo=i&&!s?di(t):ui,this.injectCreateRequireForImportRequire=Boolean(a.injectCreateRequireForImportRequire)}process(){if(this.tokens.matches3(g._import,g.name,g.eq))return this.processImportEquals();if(this.tokens.matches4(g._import,g.name,g.name,g.eq)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,m._type)){this.tokens.removeInitialToken();for(let t=0;t<7;t++)this.tokens.removeToken();return!0}if(this.tokens.matches2(g._export,g.eq))return this.tokens.replaceToken("module.exports"),!0;if(this.tokens.matches5(g._export,g._import,g.name,g.name,g.eq)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+2,m._type)){this.tokens.removeInitialToken();for(let t=0;t<8;t++)this.tokens.removeToken();return!0}if(this.tokens.matches1(g._import))return this.processImport();if(this.tokens.matches2(g._export,g._default))return this.processExportDefault();if(this.tokens.matches2(g._export,g.braceL))return this.processNamedExports();if(this.tokens.matches2(g._export,g.name)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,m._type)){if(this.tokens.removeInitialToken(),this.tokens.removeToken(),this.tokens.matches1(g.braceL)){for(;!this.tokens.matches1(g.braceR);)this.tokens.removeToken();this.tokens.removeToken()}else this.tokens.removeToken(),this.tokens.matches1(g._as)&&(this.tokens.removeToken(),this.tokens.removeToken());return this.tokens.matchesContextual(m._from)&&this.tokens.matches1AtIndex(this.tokens.currentIndex()+1,g.string)&&(this.tokens.removeToken(),this.tokens.removeToken(),fi(this.tokens)),!0}return!1}processImportEquals(){const t=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);return this.shouldAutomaticallyElideImportedName(t)?hi(this.tokens):this.injectCreateRequireForImportRequire?(this.tokens.replaceToken("const"),this.tokens.copyToken(),this.tokens.copyToken(),this.tokens.replaceToken(this.helperManager.getHelperName("require"))):this.tokens.replaceToken("const"),!0}processImport(){if(this.tokens.matches2(g._import,g.parenL))return!1;const t=this.tokens.snapshot();if(this.removeImportTypeBindings()){for(this.tokens.restoreToSnapshot(t);!this.tokens.matches1(g.string);)this.tokens.removeToken();this.tokens.removeToken(),fi(this.tokens),this.tokens.matches1(g.semi)&&this.tokens.removeToken()}return!0}removeImportTypeBindings(){if(this.tokens.copyExpectedToken(g._import),this.tokens.matchesContextual(m._type)&&!this.tokens.matches1AtIndex(this.tokens.currentIndex()+1,g.comma)&&!this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,m._from))return!0;if(this.tokens.matches1(g.string))return this.tokens.copyToken(),!1;this.tokens.matchesContextual(m._module)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+2,m._from)&&this.tokens.copyToken();let t=!1,e=!1,n=!1;if(this.tokens.matches1(g.name)&&(this.shouldAutomaticallyElideImportedName(this.tokens.identifierName())?(this.tokens.removeToken(),this.tokens.matches1(g.comma)&&this.tokens.removeToken()):(t=!0,this.tokens.copyToken(),this.tokens.matches1(g.comma)&&(n=!0,this.tokens.removeToken()))),this.tokens.matches1(g.star))this.shouldAutomaticallyElideImportedName(this.tokens.identifierNameAtRelativeIndex(2))?(this.tokens.removeToken(),this.tokens.removeToken(),this.tokens.removeToken()):(n&&this.tokens.appendCode(","),t=!0,this.tokens.copyExpectedToken(g.star),this.tokens.copyExpectedToken(g.name),this.tokens.copyExpectedToken(g.name));else if(this.tokens.matches1(g.braceL)){for(n&&this.tokens.appendCode(","),this.tokens.copyToken();!this.tokens.matches1(g.braceR);){e=!0;const n=Et(this.tokens);if(n.isType||this.shouldAutomaticallyElideImportedName(n.rightName)){for(;this.tokens.currentIndex()<n.endIndex;)this.tokens.removeToken();this.tokens.matches1(g.comma)&&this.tokens.removeToken()}else{for(t=!0;this.tokens.currentIndex()<n.endIndex;)this.tokens.copyToken();this.tokens.matches1(g.comma)&&this.tokens.copyToken()}}this.tokens.copyExpectedToken(g.braceR)}return!this.keepUnusedImports&&(this.isTypeScriptTransformEnabled?!t:!!this.isFlowTransformEnabled&&(e&&!t))}shouldAutomaticallyElideImportedName(t){return this.isTypeScriptTransformEnabled&&!this.keepUnusedImports&&!this.nonTypeIdentifiers.has(t)}processExportDefault(){if(mi(this.isTypeScriptTransformEnabled,this.keepUnusedImports,this.tokens,this.declarationInfo))return this.tokens.removeInitialToken(),this.tokens.removeToken(),this.tokens.removeToken(),!0;if(!(this.tokens.matches4(g._export,g._default,g._function,g.name)||this.tokens.matches5(g._export,g._default,g.name,g._function,g.name)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+2,m._async)||this.tokens.matches4(g._export,g._default,g._class,g.name)||this.tokens.matches5(g._export,g._default,g._abstract,g._class,g.name))&&this.reactHotLoaderTransformer){const t=this.nameManager.claimFreeName("_default");return this.tokens.replaceToken(`let ${t}; export`),this.tokens.copyToken(),this.tokens.appendCode(` ${t} =`),this.reactHotLoaderTransformer.setExtractedDefaultExportName(t),!0}return!1}processNamedExports(){if(!this.isTypeScriptTransformEnabled)return!1;this.tokens.copyExpectedToken(g._export),this.tokens.copyExpectedToken(g.braceL);const t=pi(this.tokens);let e=!1;for(;!this.tokens.matches1(g.braceR);){const n=Et(this.tokens);if(n.isType||!t&&this.shouldElideExportedName(n.leftName)){for(;this.tokens.currentIndex()<n.endIndex;)this.tokens.removeToken();this.tokens.matches1(g.comma)&&this.tokens.removeToken()}else{for(e=!0;this.tokens.currentIndex()<n.endIndex;)this.tokens.copyToken();this.tokens.matches1(g.comma)&&this.tokens.copyToken()}}return this.tokens.copyExpectedToken(g.braceR),this.keepUnusedImports||!t||e||(this.tokens.removeToken(),this.tokens.removeToken(),fi(this.tokens)),!0}shouldElideExportedName(t){return this.isTypeScriptTransformEnabled&&!this.keepUnusedImports&&this.declarationInfo.typeDeclarations.has(t)&&!this.declarationInfo.valueDeclarations.has(t)}}class ki extends jt{constructor(t,e,n){super(),this.rootTransformer=t,this.tokens=e,this.isImportsTransformEnabled=n}process(){return!!(this.rootTransformer.processPossibleArrowParamEnd()||this.rootTransformer.processPossibleAsyncArrowWithTypeParams()||this.rootTransformer.processPossibleTypeRange())||(this.tokens.matches1(g._enum)?(this.processEnum(),!0):this.tokens.matches2(g._export,g._enum)?(this.processNamedExportEnum(),!0):!!this.tokens.matches3(g._export,g._default,g._enum)&&(this.processDefaultExportEnum(),!0))}processNamedExportEnum(){if(this.isImportsTransformEnabled){this.tokens.removeInitialToken();const t=this.tokens.identifierNameAtRelativeIndex(1);this.processEnum(),this.tokens.appendCode(` exports.${t} = ${t};`)}else this.tokens.copyToken(),this.processEnum()}processDefaultExportEnum(){this.tokens.removeInitialToken(),this.tokens.removeToken();const t=this.tokens.identifierNameAtRelativeIndex(1);this.processEnum(),this.isImportsTransformEnabled?this.tokens.appendCode(` exports.default = ${t};`):this.tokens.appendCode(` export default ${t};`)}processEnum(){this.tokens.replaceToken("const"),this.tokens.copyExpectedToken(g.name);let t=!1;this.tokens.matchesContextual(m._of)&&(this.tokens.removeToken(),t=this.tokens.matchesContextual(m._symbol),this.tokens.removeToken());const e=this.tokens.matches3(g.braceL,g.name,g.eq);this.tokens.appendCode(' = require("flow-enums-runtime")');const n=!t&&!e;for(this.tokens.replaceTokenTrimmingLeftWhitespace(n?".Mirrored([":"({");!this.tokens.matches1(g.braceR);){if(this.tokens.matches1(g.ellipsis)){this.tokens.removeToken();break}this.processEnumElement(t,e),this.tokens.matches1(g.comma)&&this.tokens.copyToken()}this.tokens.replaceToken(n?"]);":"});")}processEnumElement(t,e){if(t){const t=this.tokens.identifierName();this.tokens.copyToken(),this.tokens.appendCode(`: Symbol("${t}")`)}else e?(this.tokens.copyToken(),this.tokens.replaceTokenTrimmingLeftWhitespace(":"),this.tokens.copyToken()):this.tokens.replaceToken(`"${this.tokens.identifierName()}"`)}}const xi="jest",_i=["mock","unmock","enableAutomock","disableAutomock"];class bi extends jt{__init(){this.hoistedFunctionNames=[]}constructor(t,e,n,r){super(),this.rootTransformer=t,this.tokens=e,this.nameManager=n,this.importProcessor=r,bi.prototype.__init.call(this)}process(){return!(0!==this.tokens.currentToken().scopeDepth||!this.tokens.matches4(g.name,g.dot,g.name,g.parenL)||this.tokens.identifierName()!==xi)&&(!function(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}([this,"access",t=>t.importProcessor,"optionalAccess",t=>t.getGlobalNames,"call",t=>t(),"optionalAccess",t=>t.has,"call",t=>t(xi)])&&this.extractHoistedCalls())}getHoistedCode(){return this.hoistedFunctionNames.length>0?this.hoistedFunctionNames.map((t=>`${t}();`)).join(""):""}extractHoistedCalls(){this.tokens.removeToken();let t=!1;for(;this.tokens.matches3(g.dot,g.name,g.parenL);){const e=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);if(_i.includes(e)){const e=this.nameManager.claimFreeName("__jestHoist");this.hoistedFunctionNames.push(e),this.tokens.replaceToken(`function ${e}(){${xi}.`),this.tokens.copyToken(),this.tokens.copyToken(),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR),this.tokens.appendCode(";}"),t=!1}else t?this.tokens.copyToken():this.tokens.replaceToken(`${xi}.`),this.tokens.copyToken(),this.tokens.copyToken(),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.parenR),t=!0}return!0}}class Ci extends jt{constructor(t){super(),this.tokens=t}process(){if(this.tokens.matches1(g.num)){const t=this.tokens.currentTokenCode();if(t.includes("_"))return this.tokens.replaceToken(t.replace(/_/g,"")),!0}return!1}}class vi extends jt{constructor(t,e){super(),this.tokens=t,this.nameManager=e}process(){return!!this.tokens.matches2(g._catch,g.braceL)&&(this.tokens.copyToken(),this.tokens.appendCode(` (${this.nameManager.claimFreeName("e")})`),!0)}}class Ti extends jt{constructor(t,e){super(),this.tokens=t,this.nameManager=e}process(){if(this.tokens.matches1(g.nullishCoalescing)){const t=this.tokens.currentToken();return this.tokens.tokens[t.nullishStartIndex].isAsyncOperation?this.tokens.replaceTokenTrimmingLeftWhitespace(", async () => ("):this.tokens.replaceTokenTrimmingLeftWhitespace(", () => ("),!0}if(this.tokens.matches1(g._delete)){if(this.tokens.tokenAtRelativeIndex(1).isOptionalChainStart)return this.tokens.removeInitialToken(),!0}const t=this.tokens.currentToken().subscriptStartIndex;if(null!=t&&this.tokens.tokens[t].isOptionalChainStart&&this.tokens.tokenAtRelativeIndex(-1).type!==g._super){const e=this.nameManager.claimFreeName("_");let n;if(n=t>0&&this.tokens.matches1AtIndex(t-1,g._delete)&&this.isLastSubscriptInChain()?`${e} => delete ${e}`:`${e} => ${e}`,this.tokens.tokens[t].isAsyncOperation&&(n=`async ${n}`),this.tokens.matches2(g.questionDot,g.parenL)||this.tokens.matches2(g.questionDot,g.lessThan))this.justSkippedSuper()&&this.tokens.appendCode(".bind(this)"),this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalCall', ${n}`);else if(this.tokens.matches2(g.questionDot,g.bracketL))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${n}`);else if(this.tokens.matches1(g.questionDot))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${n}.`);else if(this.tokens.matches1(g.dot))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${n}.`);else if(this.tokens.matches1(g.bracketL))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${n}[`);else{if(!this.tokens.matches1(g.parenL))throw new Error("Unexpected subscript operator in optional chain.");this.justSkippedSuper()&&this.tokens.appendCode(".bind(this)"),this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'call', ${n}(`)}return!0}return!1}isLastSubscriptInChain(){let t=0;for(let e=this.tokens.currentIndex()+1;;e++){if(e>=this.tokens.tokens.length)throw new Error("Reached the end of the code while finding the end of the access chain.");if(this.tokens.tokens[e].isOptionalChainStart?t++:this.tokens.tokens[e].isOptionalChainEnd&&t--,t<0)return!0;if(0===t&&null!=this.tokens.tokens[e].subscriptStartIndex)return!1}}justSkippedSuper(){let t=0,e=this.tokens.currentIndex()-1;for(;;){if(e<0)throw new Error("Reached the start of the code while finding the start of the access chain.");if(this.tokens.tokens[e].isOptionalChainStart?t--:this.tokens.tokens[e].isOptionalChainEnd&&t++,t<0)return!1;if(0===t&&null!=this.tokens.tokens[e].subscriptStartIndex)return this.tokens.tokens[e-1].type===g._super;e--}}}class wi extends jt{constructor(t,e,n,r){super(),this.rootTransformer=t,this.tokens=e,this.importProcessor=n,this.options=r}process(){const t=this.tokens.currentIndex();if("createReactClass"===this.tokens.identifierName()){const e=this.importProcessor&&this.importProcessor.getIdentifierReplacement("createReactClass");return e?this.tokens.replaceToken(`(0, ${e})`):this.tokens.copyToken(),this.tryProcessCreateClassCall(t),!0}if(this.tokens.matches3(g.name,g.dot,g.name)&&"React"===this.tokens.identifierName()&&"createClass"===this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+2)){const e=this.importProcessor&&this.importProcessor.getIdentifierReplacement("React")||"React";return e?(this.tokens.replaceToken(e),this.tokens.copyToken(),this.tokens.copyToken()):(this.tokens.copyToken(),this.tokens.copyToken(),this.tokens.copyToken()),this.tryProcessCreateClassCall(t),!0}return!1}tryProcessCreateClassCall(t){const e=this.findDisplayName(t);e&&this.classNeedsDisplayName()&&(this.tokens.copyExpectedToken(g.parenL),this.tokens.copyExpectedToken(g.braceL),this.tokens.appendCode(`displayName: '${e}',`),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(g.braceR),this.tokens.copyExpectedToken(g.parenR))}findDisplayName(t){return t<2?null:this.tokens.matches2AtIndex(t-2,g.name,g.eq)||t>=2&&this.tokens.tokens[t-2].identifierRole===X.ObjectKey?this.tokens.identifierNameAtIndex(t-2):this.tokens.matches2AtIndex(t-2,g._export,g._default)?this.getDisplayNameFromFilename():null}getDisplayNameFromFilename(){const t=(this.options.filePath||"unknown").split("/"),e=t[t.length-1],n=e.lastIndexOf("."),r=-1===n?e:e.slice(0,n);return"index"===r&&t[t.length-2]?t[t.length-2]:r}classNeedsDisplayName(){let t=this.tokens.currentIndex();if(!this.tokens.matches2(g.parenL,g.braceL))return!1;const e=t+1,n=this.tokens.tokens[e].contextId;if(null==n)throw new Error("Expected non-null context ID on object open-brace.");for(;t<this.tokens.tokens.length;t++){const e=this.tokens.tokens[t];if(e.type===g.braceR&&e.contextId===n){t++;break}if("displayName"===this.tokens.identifierNameAtIndex(t)&&this.tokens.tokens[t].identifierRole===X.ObjectKey&&e.contextId===n)return!1}if(t===this.tokens.tokens.length)throw new Error("Unexpected end of input when processing React class.");return this.tokens.matches1AtIndex(t,g.parenR)||this.tokens.matches2AtIndex(t,g.comma,g.parenR)}}class Si extends jt{__init(){this.extractedDefaultExportName=null}constructor(t,e){super(),this.tokens=t,this.filePath=e,Si.prototype.__init.call(this)}setExtractedDefaultExportName(t){this.extractedDefaultExportName=t}getPrefixCode(){return"\n (function () {\n var enterModule = require('react-hot-loader').enterModule;\n enterModule && enterModule(module);\n })();".replace(/\s+/g," ").trim()}getSuffixCode(){const t=new Set;for(const n of this.tokens.tokens)!n.isType&&tt(n)&&n.identifierRole!==X.ImportDeclaration&&t.add(this.tokens.identifierNameForToken(n));const e=Array.from(t).map((t=>({variableName:t,uniqueLocalName:t})));return this.extractedDefaultExportName&&e.push({variableName:this.extractedDefaultExportName,uniqueLocalName:"default"}),`\n;(function () {\n var reactHotLoader = require('react-hot-loader').default;\n var leaveModule = require('react-hot-loader').leaveModule;\n if (!reactHotLoader) {\n return;\n }\n${e.map((({variableName:t,uniqueLocalName:e})=>` reactHotLoader.register(${t}, "${e}", ${JSON.stringify(this.filePath||"")});`)).join("\n")}\n leaveModule(module);\n})();`}process(){return!1}}const Ai=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","implements","interface","let","package","private","protected","public","static","await","false","null","true"]);function Ii(t){if(0===t.length)return!1;if(!V[t.charCodeAt(0)])return!1;for(let e=1;e<t.length;e++)if(!Y[t.charCodeAt(e)])return!1;return!Ai.has(t)}class Bi extends jt{constructor(t,e,n){super(),this.rootTransformer=t,this.tokens=e,this.isImportsTransformEnabled=n}process(){return!!(this.rootTransformer.processPossibleArrowParamEnd()||this.rootTransformer.processPossibleAsyncArrowWithTypeParams()||this.rootTransformer.processPossibleTypeRange())||(this.tokens.matches1(g._public)||this.tokens.matches1(g._protected)||this.tokens.matches1(g._private)||this.tokens.matches1(g._abstract)||this.tokens.matches1(g._readonly)||this.tokens.matches1(g._override)||this.tokens.matches1(g.nonNullAssertion)?(this.tokens.removeInitialToken(),!0):this.tokens.matches1(g._enum)||this.tokens.matches2(g._const,g._enum)?(this.processEnum(),!0):!(!this.tokens.matches2(g._export,g._enum)&&!this.tokens.matches3(g._export,g._const,g._enum))&&(this.processEnum(!0),!0))}processEnum(t=!1){for(this.tokens.removeInitialToken();this.tokens.matches1(g._const)||this.tokens.matches1(g._enum);)this.tokens.removeToken();const e=this.tokens.identifierName();this.tokens.removeToken(),t&&!this.isImportsTransformEnabled&&this.tokens.appendCode("export "),this.tokens.appendCode(`var ${e}; (function (${e})`),this.tokens.copyExpectedToken(g.braceL),this.processEnumBody(e),this.tokens.copyExpectedToken(g.braceR),t&&this.isImportsTransformEnabled?this.tokens.appendCode(`)(${e} || (exports.${e} = ${e} = {}));`):this.tokens.appendCode(`)(${e} || (${e} = {}));`)}processEnumBody(t){let e=null;for(;!this.tokens.matches1(g.braceR);){const{nameStringCode:n,variableName:r}=this.extractEnumKeyInfo(this.tokens.currentToken());this.tokens.removeInitialToken(),this.tokens.matches3(g.eq,g.string,g.comma)||this.tokens.matches3(g.eq,g.string,g.braceR)?this.processStringLiteralEnumMember(t,n,r):this.tokens.matches1(g.eq)?this.processExplicitValueEnumMember(t,n,r):this.processImplicitValueEnumMember(t,n,r,e),this.tokens.matches1(g.comma)&&this.tokens.removeToken(),e=null!=r?r:`${t}[${n}]`}}extractEnumKeyInfo(t){if(t.type===g.name){const e=this.tokens.identifierNameForToken(t);return{nameStringCode:`"${e}"`,variableName:Ii(e)?e:null}}if(t.type===g.string){const e=this.tokens.stringValueForToken(t);return{nameStringCode:this.tokens.code.slice(t.start,t.end),variableName:Ii(e)?e:null}}throw new Error("Expected name or string at beginning of enum element.")}processStringLiteralEnumMember(t,e,n){null!=n?(this.tokens.appendCode(`const ${n}`),this.tokens.copyToken(),this.tokens.copyToken(),this.tokens.appendCode(`; ${t}[${e}] = ${n};`)):(this.tokens.appendCode(`${t}[${e}]`),this.tokens.copyToken(),this.tokens.copyToken(),this.tokens.appendCode(";"))}processExplicitValueEnumMember(t,e,n){const r=this.tokens.currentToken().rhsEndIndex;if(null==r)throw new Error("Expected rhsEndIndex on enum assign.");if(null!=n){for(this.tokens.appendCode(`const ${n}`),this.tokens.copyToken();this.tokens.currentIndex()<r;)this.rootTransformer.processToken();this.tokens.appendCode(`; ${t}[${t}[${e}] = ${n}] = ${e};`)}else{for(this.tokens.appendCode(`${t}[${t}[${e}]`),this.tokens.copyToken();this.tokens.currentIndex()<r;)this.rootTransformer.processToken();this.tokens.appendCode(`] = ${e};`)}}processImplicitValueEnumMember(t,e,n,r){let i=null!=r?`${r} + 1`:"0";null!=n&&(this.tokens.appendCode(`const ${n} = ${i}; `),i=n),this.tokens.appendCode(`${t}[${t}[${e}] = ${i}] = ${e};`)}}class Ei{__init(){this.transformers=[]}__init2(){this.generatedVariables=[]}constructor(t,e,n,r){Ei.prototype.__init.call(this),Ei.prototype.__init2.call(this),this.nameManager=t.nameManager,this.helperManager=t.helperManager;const{tokenProcessor:i,importProcessor:o}=t;this.tokens=i,this.isImportsTransformEnabled=e.includes("imports"),this.isReactHotLoaderTransformEnabled=e.includes("react-hot-loader"),this.disableESTransforms=Boolean(r.disableESTransforms),r.disableESTransforms||(this.transformers.push(new Ti(i,this.nameManager)),this.transformers.push(new Ci(i)),this.transformers.push(new vi(i,this.nameManager))),e.includes("jsx")&&("preserve"!==r.jsxRuntime&&this.transformers.push(new Ot(this,i,o,this.nameManager,r)),this.transformers.push(new wi(this,i,o,r)));let s=null;if(e.includes("react-hot-loader")){if(!r.filePath)throw new Error("filePath is required when using the react-hot-loader transform.");s=new Si(i,r.filePath),this.transformers.push(s)}if(e.includes("imports")){if(null===o)throw new Error("Expected non-null importProcessor with imports transform enabled.");this.transformers.push(new gi(this,i,o,this.nameManager,this.helperManager,s,n,Boolean(r.enableLegacyTypeScriptModuleInterop),e.includes("typescript"),e.includes("flow"),Boolean(r.preserveDynamicImport),Boolean(r.keepUnusedImports)))}else this.transformers.push(new yi(i,this.nameManager,this.helperManager,s,e.includes("typescript"),e.includes("flow"),Boolean(r.keepUnusedImports),r));e.includes("flow")&&this.transformers.push(new ki(this,i,e.includes("imports"))),e.includes("typescript")&&this.transformers.push(new Bi(this,i,e.includes("imports"))),e.includes("jest")&&this.transformers.push(new bi(this,i,this.nameManager,o))}transform(){this.tokens.reset(),this.processBalancedCode();let t=this.isImportsTransformEnabled?'"use strict";':"";for(const i of this.transformers)t+=i.getPrefixCode();t+=this.helperManager.emitHelpers(),t+=this.generatedVariables.map((t=>` var ${t};`)).join("");for(const i of this.transformers)t+=i.getHoistedCode();let e="";for(const i of this.transformers)e+=i.getSuffixCode();const n=this.tokens.finish();let{code:r}=n;if(r.startsWith("#!")){let i=r.indexOf("\n");return-1===i&&(i=r.length,r+="\n"),{code:r.slice(0,i+1)+t+r.slice(i+1)+e,mappings:this.shiftMappings(n.mappings,t.length)}}return{code:t+r+e,mappings:this.shiftMappings(n.mappings,t.length)}}processBalancedCode(){let t=0,e=0;for(;!this.tokens.isAtEnd();){if(this.tokens.matches1(g.braceL)||this.tokens.matches1(g.dollarBraceL))t++;else if(this.tokens.matches1(g.braceR)){if(0===t)return;t--}if(this.tokens.matches1(g.parenL))e++;else if(this.tokens.matches1(g.parenR)){if(0===e)return;e--}this.processToken()}}processToken(){if(this.tokens.matches1(g._class))this.processClass();else{for(const t of this.transformers){if(t.process())return}this.tokens.copyToken()}}processNamedClass(){if(!this.tokens.matches2(g._class,g.name))throw new Error("Expected identifier for exported class name.");const t=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);return this.processClass(),t}processClass(){const t=oi(this,this.tokens,this.nameManager,this.disableESTransforms),e=(t.headerInfo.isExpression||!t.headerInfo.className)&&t.staticInitializerNames.length+t.instanceInitializerNames.length>0;let n=t.headerInfo.className;e&&(n=this.nameManager.claimFreeName("_class"),this.generatedVariables.push(n),this.tokens.appendCode(` (${n} =`));const r=this.tokens.currentToken().contextId;if(null==r)throw new Error("Expected class to have a context ID.");for(this.tokens.copyExpectedToken(g._class);!this.tokens.matchesContextIdAndLabel(g.braceL,r);)this.processToken();this.processClassBody(t,n);const i=t.staticInitializerNames.map((t=>`${n}.${t}()`));e?this.tokens.appendCode(`, ${i.map((t=>`${t}, `)).join("")}${n})`):t.staticInitializerNames.length>0&&this.tokens.appendCode(` ${i.map((t=>`${t};`)).join(" ")}`)}processClassBody(t,e){const{headerInfo:n,constructorInsertPos:r,constructorInitializerStatements:i,fields:o,instanceInitializerNames:s,rangesToRemove:a}=t;let l=0,c=0;const h=this.tokens.currentToken().contextId;if(null==h)throw new Error("Expected non-null context ID on class.");this.tokens.copyExpectedToken(g.braceL),this.isReactHotLoaderTransformEnabled&&this.tokens.appendCode("__reactstandin__regenerateByEval(key, code) {this[key] = eval(code);}");const u=i.length+s.length>0;if(null===r&&u){const t=this.makeConstructorInitCode(i,s,e);if(n.hasSuperclass){const e=this.nameManager.claimFreeName("args");this.tokens.appendCode(`constructor(...${e}) { super(...${e}); ${t}; }`)}else this.tokens.appendCode(`constructor() { ${t}; }`)}for(;!this.tokens.matchesContextIdAndLabel(g.braceR,h);)if(l<o.length&&this.tokens.currentIndex()===o[l].start){let t=!1;for(this.tokens.matches1(g.bracketL)?this.tokens.copyTokenWithPrefix(`${o[l].initializerName}() {this`):this.tokens.matches1(g.string)||this.tokens.matches1(g.num)?(this.tokens.copyTokenWithPrefix(`${o[l].initializerName}() {this[`),t=!0):this.tokens.copyTokenWithPrefix(`${o[l].initializerName}() {this.`);this.tokens.currentIndex()<o[l].end;)t&&this.tokens.currentIndex()===o[l].equalsIndex&&this.tokens.appendCode("]"),this.processToken();this.tokens.appendCode("}"),l++}else if(c<a.length&&this.tokens.currentIndex()>=a[c].start){for(this.tokens.currentIndex()<a[c].end&&this.tokens.removeInitialToken();this.tokens.currentIndex()<a[c].end;)this.tokens.removeToken();c++}else this.tokens.currentIndex()===r?(this.tokens.copyToken(),u&&this.tokens.appendCode(`;${this.makeConstructorInitCode(i,s,e)};`),this.processToken()):this.processToken();this.tokens.copyExpectedToken(g.braceR)}makeConstructorInitCode(t,e,n){return[...t,...e.map((t=>`${n}.prototype.${t}.call(this)`))].join(";")}processPossibleArrowParamEnd(){if(this.tokens.matches2(g.parenR,g.colon)&&this.tokens.tokenAtRelativeIndex(1).isType){let t=this.tokens.currentIndex()+1;for(;this.tokens.tokens[t].isType;)t++;if(this.tokens.matches1AtIndex(t,g.arrow)){for(this.tokens.removeInitialToken();this.tokens.currentIndex()<t;)this.tokens.removeToken();return this.tokens.replaceTokenTrimmingLeftWhitespace(") =>"),!0}}return!1}processPossibleAsyncArrowWithTypeParams(){if(!this.tokens.matchesContextual(m._async)&&!this.tokens.matches1(g._async))return!1;const t=this.tokens.tokenAtRelativeIndex(1);if(t.type!==g.lessThan||!t.isType)return!1;let e=this.tokens.currentIndex()+1;for(;this.tokens.tokens[e].isType;)e++;if(this.tokens.matches1AtIndex(e,g.parenL)){for(this.tokens.replaceToken("async ("),this.tokens.removeInitialToken();this.tokens.currentIndex()<e;)this.tokens.removeToken();return this.tokens.removeToken(),this.processBalancedCode(),this.processToken(),!0}return!1}processPossibleTypeRange(){if(this.tokens.currentToken().isType){for(this.tokens.removeInitialToken();this.tokens.currentToken().isType;)this.tokens.removeToken();return!0}return!1}shiftMappings(t,e){for(let n=0;n<t.length;n++){const r=t[n];void 0!==r&&(t[n]=r+e)}return t}}n(8589);function Li(t,e,n){e++,t.matches1AtIndex(e,g.parenL)||(t.matches1AtIndex(e,g.name)&&(n.add(t.identifierNameAtIndex(e)),e++,t.matches1AtIndex(e,g.comma)&&e++),t.matches1AtIndex(e,g.star)&&(e+=2,n.add(t.identifierNameAtIndex(e)),e++),t.matches1AtIndex(e,g.braceL)&&function(t,e,n){for(;;){if(t.matches1AtIndex(e,g.braceR))return;const r=Et(t,e);if(e=r.endIndex,r.isType||n.add(r.rightName),t.matches2AtIndex(e,g.comma,g.braceR))return;if(t.matches1AtIndex(e,g.braceR))return;if(!t.matches1AtIndex(e,g.comma))throw new Error(`Unexpected token: ${JSON.stringify(t.tokens[e])}`);e++}}(t,++e,n))}function Fi(t,e){!function(t){Jt.strictCheck(t)}(e);try{const n=Ni(t,e),r=new Ei(n,e.transforms,Boolean(e.enableLegacyBabel5ModuleInterop),e).transform();let i={code:r.code};if(e.sourceMapOptions){if(!e.filePath)throw new Error("filePath must be specified when generating a source map.");i={...i,sourceMap:Wt(r,e.filePath,e.sourceMapOptions,t,n.tokenProcessor.tokens)}}return i}catch(n){throw e.filePath&&(n.message=`Error transforming ${e.filePath}: ${n.message}`),n}}function Ni(t,e){const n=e.transforms.includes("jsx"),r=e.transforms.includes("typescript"),i=e.transforms.includes("flow"),o=!0===e.disableESTransforms,s=function(t,e,n,r){if(r&&n)throw new Error("Cannot combine flow and typescript plugins.");L(t,e,n,r);const i=ni();if(w.error)throw B(w.error);return i}(t,n,r,i),a=s.tokens,l=s.scopes,c=new Kt(t,a),h=new Ht(c),u=new ii(t,a,i,o,h),d=Boolean(e.enableLegacyTypeScriptModuleInterop);let p=null;return e.transforms.includes("imports")?(p=new Zt(c,u,d,e,e.transforms.includes("typescript"),Boolean(e.keepUnusedImports),h),p.preprocessTokens(),Yt(u,l,p.getGlobalNames()),e.transforms.includes("typescript")&&!e.keepUnusedImports&&p.pruneTypeOnlyImports()):e.transforms.includes("typescript")&&!e.keepUnusedImports&&Yt(u,l,function(t){const e=new Set;for(let n=0;n<t.tokens.length;n++)t.matches1AtIndex(n,g._import)&&!t.matches3AtIndex(n,g._import,g.name,g.eq)&&Li(t,n,e);return e}(u)),{tokenProcessor:u,scopes:l,nameManager:c,importProcessor:p,helperManager:h}}var Mi=Object.defineProperty,ji=Object.defineProperties,Oi=Object.getOwnPropertyDescriptors,Ri=Object.getOwnPropertySymbols,Di=Object.prototype.hasOwnProperty,qi=Object.prototype.propertyIsEnumerable,$i=(t,e,n)=>e in t?Mi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Pi=(t,e)=>{for(var n in e||(e={}))Di.call(e,n)&&$i(t,n,e[n]);if(Ri)for(var n of Ri(e))qi.call(e,n)&&$i(t,n,e[n]);return t},Zi=(t,e)=>ji(t,Oi(e)),zi=t=>{const e=(0,r.useRef)(null),[n,i]=(0,r.useState)(t.code||""),{theme:o}=t;return(0,r.useEffect)((()=>{i(t.code)}),[t.code]),function(t,e,n){function i(e){var n=t.current;if(n){var r=p(n);n=d(n),r.position+=e.length-n.length,g.position=r,g.onChange(e,r)}}function o(e,n){var r=t.current;if(r){var i=window.getSelection().getRangeAt(0);i.deleteContents(),i.collapse();var o=n||0;(i=f(r,n=(i=p(r)).position+(0>o?o:0),i.position+(0<o?o:0))).deleteContents(),e&&i.insertNode(document.createTextNode(e)),h(f(r,n+e.length))}}function s(e){var n=t.current;if(n){n.focus();var r=0;if("number"==typeof e)r=e;else{var i=d(n).split("\n").slice(0,e.row);e.row&&(r+=i.join("\n").length+1),r+=e.column}h(f(n,r))}}function a(){var e=t.current;return{text:d(e),position:e=p(e)}}function l(){g.observer.disconnect()}n||(n={});var m=(0,r.useState)([])[1],g=(0,r.useState)((function(){var t={observer:null,disconnected:!1,onChange:e,queue:[],history:[],historyAt:-1,position:null};return"undefined"!=typeof MutationObserver&&(t.observer=new MutationObserver((function(e){var n;(n=t.queue).push.apply(n,e)}))),t}))[0],y=(0,r.useMemo)((function(){return{update:i,insert:o,move:s,getState:a}}),[]);"object"!=typeof navigator||((0,r.useLayoutEffect)((function(){if(g.onChange=e,t.current&&!n.disabled){if(g.disconnected=!1,g.observer.observe(t.current,c),g.position){var r=g.position,i=r.position;h(f(t.current,i,i+r.extent))}return l}})),(0,r.useLayoutEffect)((function(){if(t.current&&!n.disabled){var e=t.current;if(g.position){e.focus();var r=g.position,i=r.position;h(f(e,i,i+r.extent))}var o=e.style.whiteSpace,s=e.contentEditable,a=!0;try{e.contentEditable="plaintext-only"}catch(w){e.contentEditable="true",a=!1}"pre"!==o&&(e.style.whiteSpace="pre-wrap"),n.indentation&&(e.style.tabSize=e.style.MozTabSize=""+n.indentation),r=""+" ".repeat(n.indentation||0);var l,c=new RegExp("^(?:"+r+")"),k=new RegExp("^(?:"+r+")*("+r+")$"),x=function(n){if(t.current&&g.position){var r=d(e),i=p(e),o=(new Date).valueOf(),s=g.history[g.historyAt];!n&&500>o-l||s&&s[1]===r?l=o:(n=++g.historyAt,g.history[n]=[i,r],g.history.splice(n+1),500<n&&(g.historyAt--,g.history.shift()))}},_=function(){var t;if((t=g.queue).push.apply(t,g.observer.takeRecords()),t=p(e),g.queue.length){g.observer.disconnect(),g.disconnected=!0;var n,r,i=d(e);for(g.position=t;n=g.queue.pop();){for(null!==n.oldValue&&(n.target.textContent=n.oldValue),r=n.removedNodes.length-1;0<=r;r--)n.target.insertBefore(n.removedNodes[r],n.nextSibling);for(r=n.addedNodes.length-1;0<=r;r--)n.addedNodes[r].parentNode&&n.target.removeChild(n.addedNodes[r])}g.onChange(i,t)}},b=function(t){if(!t.defaultPrevented&&t.target===e){if(g.disconnected)return t.preventDefault(),m([]);if(u(t))t.preventDefault(),t.shiftKey?(t=++g.historyAt,(t=g.history[t])||(g.historyAt=g.history.length-1)):(t=--g.historyAt,(t=g.history[t])||(g.historyAt=0)),t&&(g.observer.disconnect(),g.disconnected=!0,g.position=t[0],g.onChange(t[1],t[0]));else{if(x(),"Enter"===t.key){t.preventDefault();var r=p(e),i=/\S/g.exec(r.content);r="\n"+r.content.slice(0,i?i.index:r.content.length),y.insert(r)}else if(a&&!n.indentation||"Backspace"!==t.key){if(n.indentation&&"Tab"===t.key){t.preventDefault(),i=(r=p(e)).position-r.content.length;var o=d(e);r=t.shiftKey?o.slice(0,i)+r.content.replace(c,"")+o.slice(i+r.content.length):o.slice(0,i)+(n.indentation?" ".repeat(n.indentation):"\t")+o.slice(i),y.update(r)}}else t.preventDefault(),window.getSelection().getRangeAt(0).collapsed?(r=p(e),r=k.exec(r.content),y.insert("",r?-r[1].length:-1)):y.insert("",0);t.repeat&&_()}}},C=function(t){t.defaultPrevented||t.isComposing||(u(t)||x(),_(),e.focus())},v=function(t){g.position=window.getSelection().rangeCount&&t.target===e?p(e):null},T=function(t){t.preventDefault(),x(!0),y.insert(t.clipboardData.getData("text/plain")),x(!0),_()};return document.addEventListener("selectstart",v),window.addEventListener("keydown",b),e.addEventListener("paste",T),e.addEventListener("keyup",C),function(){document.removeEventListener("selectstart",v),window.removeEventListener("keydown",b),e.removeEventListener("paste",T),e.removeEventListener("keyup",C),e.style.whiteSpace=o,e.contentEditable=s}}g.history.length=0,g.historyAt=-1}),[t.current,n.disabled,n.indentation]))}(e,(t=>i(t.slice(0,-1))),{disabled:t.disabled,indentation:"indentation"===t.tabMode?2:void 0}),(0,r.useEffect)((()=>{t.onChange&&t.onChange(n)}),[n]),(0,k.jsx)("div",{className:t.className,style:t.style,children:(0,k.jsx)(l.y$,{code:n,theme:t.theme||l.np.nightOwl,language:t.language,children:({className:t,tokens:n,getLineProps:r,getTokenProps:i,style:s})=>(0,k.jsx)("pre",{className:t,style:Pi(Pi({margin:0,outline:"none",padding:10,fontFamily:"inherit"},o&&"object"==typeof o.plain?o.plain:{}),s),ref:e,spellCheck:"false",children:n.map(((t,e)=>(0,k.jsxs)("span",Zi(Pi({},r({line:t})),{children:[t.filter((t=>!t.empty)).map(((t,e)=>(0,k.jsx)("span",Pi({},i({token:t})),`token-${e}`))),"\n"]}),`line-${e}`)))})})})};zi.defaultProps={tabMode:"indentation"};var Wi=zi,Ui=(0,r.createContext)({}),Hi=["jsx","imports"];function Yi(t={}){const e=Array.isArray(t.transforms)?t.transforms.filter(Boolean):Hi;return t=>Fi(t,{transforms:e}).code}var Vi=(t,e)=>class extends r.Component{componentDidCatch(t){e(t)}render(){return"function"==typeof t?(0,k.jsx)(t,{}):r.isValidElement(t)?t:null}},Ki=(t,e)=>{const n=Object.keys(e),r=n.map((t=>e[t]));return new Function(...n,t)(...r)};var Xi='const _jsxFileName = "";',Gi=t=>t.trim().replace(/;$/,""),Ji=t=>t.replace(Xi,"").trim(),Qi=t=>Xi+t,to=t=>`return (${t})`;var eo=function({children:t,code:e="",language:n="tsx",theme:i,enableTypeScript:o=!0,disabled:s=!1,scope:a,transformCode:l,noInline:c=!1}){const[h,u]=(0,r.useState)({error:void 0,element:void 0});function d(t){return e=this,n=null,i=function*(){const e=t=>{u({error:t.toString(),element:void 0})};try{const i=l?l(t):t;try{const t=yield Promise.resolve(i),n=t=>u({error:void 0,element:t});if("string"!=typeof t)throw new Error("Code failed to transform");const s={code:t,scope:a,enableTypeScript:o};c?(u({error:void 0,element:null}),(({code:t="",scope:e={},enableTypeScript:n=!0},i,o)=>{if(!/render\s*\(/.test(t))return o(new SyntaxError("No-Inline evaluations must call `render`."));const s=["jsx","imports"];n&&s.splice(1,0,"typescript"),Ki(Yi({transforms:s})(t),Zi(Pi({React:r},e),{render:t=>{void 0===t?o(new SyntaxError("`render` must be called with valid JSX.")):i(Vi(t,o))}}))})(s,n,e)):n((({code:t="",scope:e={},enableTypeScript:n=!0},i)=>{const o=["jsx"];n&&o.push("typescript");const s=function(...t){return t.reduce(((t,e)=>(...n)=>t(e(...n))))}(Qi,Yi({transforms:["imports"]}),to,Ji,Gi,Yi({transforms:o}),Gi)(t);return Vi(Ki(s,Pi({React:r},e)),i)})(s,e))}catch(n){return e(n)}}catch(i){return e(i),Promise.resolve()}},new Promise(((t,r)=>{var o=t=>{try{a(i.next(t))}catch(e){r(e)}},s=t=>{try{a(i.throw(t))}catch(e){r(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,s);a((i=i.apply(e,n)).next())}));var e,n,i}const p=t=>u({error:t.toString()});return(0,r.useEffect)((()=>{d(e).catch(p)}),[e,a,c,l]),(0,k.jsx)(Ui.Provider,{value:Zi(Pi({},h),{code:e,language:n,theme:i,disabled:s,onError:p,onChange:t=>{d(t).catch(p)}}),children:t})};function no(t){const{code:e,language:n,theme:i,disabled:o,onChange:s}=(0,r.useContext)(Ui);return(0,k.jsx)(Wi,Pi({theme:i,code:e,language:n,disabled:o,onChange:s},t))}function ro(t){const{error:e}=(0,r.useContext)(Ui);return e?(0,k.jsx)("pre",Zi(Pi({},t),{children:e})):null}var io=function(t){var e=t,{Component:n="div"}=e,i=((t,e)=>{var n={};for(var r in t)Di.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&Ri)for(var r of Ri(t))e.indexOf(r)<0&&qi.call(t,r)&&(n[r]=t[r]);return n})(e,["Component"]);const{element:o}=(0,r.useContext)(Ui);return(0,k.jsx)(n,Zi(Pi({},i),{children:o?(0,k.jsx)(o,{}):null}))};var oo=n(5999),so=n(2263);function ao(t){let{children:e,fallback:n}=t;return(0,a.Z)()?(0,k.jsx)(k.Fragment,{children:e?.()}):n??null}var lo=n(9690),co=n(2949),ho=n(6668);function uo(){const{prism:t}=(0,ho.L)(),{colorMode:e}=(0,co.I)(),n=t.theme,r=t.darkTheme||n;return"dark"===e?r:n}var po=n(4763);const fo={playgroundContainer:"playgroundContainer_X_Ta",playgroundHeader:"playgroundHeader_dyrN",playgroundEditor:"playgroundEditor_Q6Y7",playgroundPreview:"playgroundPreview_DzOI"};function mo(t){let{children:e}=t;return(0,k.jsx)("div",{className:(0,s.Z)(fo.playgroundHeader),children:e})}function go(){return(0,k.jsx)("div",{children:"Loading..."})}function yo(){return(0,k.jsx)(ao,{fallback:(0,k.jsx)(go,{}),children:()=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(po.Z,{fallback:t=>(0,k.jsx)(lo.Ac,{...t}),children:(0,k.jsx)(io,{})}),(0,k.jsx)(ro,{})]})})}function ko(){return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(mo,{children:(0,k.jsx)(oo.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,k.jsx)("div",{className:fo.playgroundPreview,children:(0,k.jsx)(yo,{})})]})}function xo(){const t=(0,a.Z)();return(0,k.jsx)(no,{className:fo.playgroundEditor},String(t))}function _o(){return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(mo,{children:(0,k.jsx)(oo.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,k.jsx)(xo,{})]})}const bo=t=>`${t};`;function Co(t){let{children:e,transformCode:n,...r}=t;const{siteConfig:{themeConfig:i}}=(0,so.Z)(),{liveCodeBlock:{playgroundPosition:o}}=i,s=uo(),a=r.metastring?.includes("noInline")??!1;return(0,k.jsx)("div",{className:fo.playgroundContainer,children:(0,k.jsx)(eo,{code:e?.replace(/\n$/,""),noInline:a,transformCode:n??bo,theme:s,...r,children:"top"===o?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ko,{}),(0,k.jsx)(_o,{})]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(_o,{}),(0,k.jsx)(ko,{})]})})})}const vo={React:r,...r};var To=n(5281),wo=n(7594),So=n.n(wo);const Ao=/title=(?<quote>["'])(?<title>.*?)\1/,Io=/\{(?<range>[\d,-]+)\}/,Bo={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},Eo={...Bo,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},Lo=Object.keys(Bo);function Fo(t,e){const n=t.map((t=>{const{start:n,end:r}=Eo[t];return`(?:${n}\\s*(${e.flatMap((t=>[t.line,t.block?.start,t.block?.end].filter(Boolean))).join("|")})\\s*${r})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function No(t,e){let n=t.replace(/\n$/,"");const{language:r,magicComments:i,metastring:o}=e;if(o&&Io.test(o)){const t=o.match(Io).groups.range;if(0===i.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const e=i[0].className,r=So()(t).filter((t=>t>0)).map((t=>[t-1,[e]]));return{lineClassNames:Object.fromEntries(r),code:n}}if(void 0===r)return{lineClassNames:{},code:n};const s=function(t,e){switch(t){case"js":case"javascript":case"ts":case"typescript":return Fo(["js","jsBlock"],e);case"jsx":case"tsx":return Fo(["js","jsBlock","jsx"],e);case"html":return Fo(["js","jsBlock","html"],e);case"python":case"py":case"bash":return Fo(["bash"],e);case"markdown":case"md":return Fo(["html","jsx","bash"],e);case"tex":case"latex":case"matlab":return Fo(["tex"],e);case"lua":case"haskell":case"sql":return Fo(["lua"],e);case"wasm":return Fo(["wasm"],e);case"vb":case"vbnet":case"vba":case"visual-basic":return Fo(["vb","rem"],e);case"batch":return Fo(["rem"],e);case"basic":return Fo(["rem","f90"],e);case"fsharp":return Fo(["js","ml"],e);case"ocaml":case"sml":return Fo(["ml"],e);case"fortran":return Fo(["f90"],e);case"cobol":return Fo(["cobol"],e);default:return Fo(Lo,e)}}(r,i),a=n.split("\n"),l=Object.fromEntries(i.map((t=>[t.className,{start:0,range:""}]))),c=Object.fromEntries(i.filter((t=>t.line)).map((t=>{let{className:e,line:n}=t;return[n,e]}))),h=Object.fromEntries(i.filter((t=>t.block)).map((t=>{let{className:e,block:n}=t;return[n.start,e]}))),u=Object.fromEntries(i.filter((t=>t.block)).map((t=>{let{className:e,block:n}=t;return[n.end,e]})));for(let p=0;p<a.length;){const t=a[p].match(s);if(!t){p+=1;continue}const e=t.slice(1).find((t=>void 0!==t));c[e]?l[c[e]].range+=`${p},`:h[e]?l[h[e]].start=p:u[e]&&(l[u[e]].range+=`${l[u[e]].start}-${p-1},`),a.splice(p,1)}n=a.join("\n");const d={};return Object.entries(l).forEach((t=>{let[e,{range:n}]=t;So()(n).forEach((t=>{d[t]??=[],d[t].push(e)}))})),{lineClassNames:d,code:n}}const Mo={codeBlockContainer:"codeBlockContainer_Ckt0"};function jo(t){let{as:e,...n}=t;const r=function(t){const e={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(t.plain).forEach((t=>{let[r,i]=t;const o=e[r];o&&"string"==typeof i&&(n[o]=i)})),n}(uo());return(0,k.jsx)(e,{...n,style:r,className:(0,s.Z)(n.className,Mo.codeBlockContainer,To.k.common.codeBlock)})}const Oo={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function Ro(t){let{children:e,className:n}=t;return(0,k.jsx)(jo,{as:"pre",tabIndex:0,className:(0,s.Z)(Oo.codeBlockStandalone,"thin-scrollbar",n),children:(0,k.jsx)("code",{className:Oo.codeBlockLines,children:e})})}var Do=n(902);const qo={attributes:!0,characterData:!0,childList:!0,subtree:!0};function $o(t,e){const[n,i]=(0,r.useState)(),o=(0,r.useCallback)((()=>{i(t.current?.closest("[role=tabpanel][hidden]"))}),[t,i]);(0,r.useEffect)((()=>{o()}),[o]),function(t,e,n){void 0===n&&(n=qo);const i=(0,Do.zX)(e),o=(0,Do.Ql)(n);(0,r.useEffect)((()=>{const e=new MutationObserver(i);return t&&e.observe(t,o),()=>e.disconnect()}),[t,i,o])}(n,(t=>{t.forEach((t=>{"attributes"===t.type&&"hidden"===t.attributeName&&(e(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const Po={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function Zo(t){let{line:e,classNames:n,showLineNumbers:r,getLineProps:i,getTokenProps:o}=t;1===e.length&&"\n"===e[0].content&&(e[0].content="");const a=i({line:e,className:(0,s.Z)(n,r&&Po.codeLine)}),l=e.map(((t,e)=>(0,k.jsx)("span",{...o({token:t,key:e})},e)));return(0,k.jsxs)("span",{...a,children:[r?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("span",{className:Po.codeLineNumber}),(0,k.jsx)("span",{className:Po.codeLineContent,children:l})]}):l,(0,k.jsx)("br",{})]})}function zo(t){return(0,k.jsx)("svg",{viewBox:"0 0 24 24",...t,children:(0,k.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function Wo(t){return(0,k.jsx)("svg",{viewBox:"0 0 24 24",...t,children:(0,k.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const Uo={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function Ho(t){let{code:e,className:n}=t;const[i,o]=(0,r.useState)(!1),a=(0,r.useRef)(void 0),l=(0,r.useCallback)((()=>{!function(t,e){let{target:n=document.body}=void 0===e?{}:e;if("string"!=typeof t)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof t}\`.`);const r=document.createElement("textarea"),i=document.activeElement;r.value=t,r.setAttribute("readonly",""),r.style.contain="strict",r.style.position="absolute",r.style.left="-9999px",r.style.fontSize="12pt";const o=document.getSelection(),s=o.rangeCount>0&&o.getRangeAt(0);n.append(r),r.select(),r.selectionStart=0,r.selectionEnd=t.length;let a=!1;try{a=document.execCommand("copy")}catch{}r.remove(),s&&(o.removeAllRanges(),o.addRange(s)),i&&i.focus()}(e),o(!0),a.current=window.setTimeout((()=>{o(!1)}),1e3)}),[e]);return(0,r.useEffect)((()=>()=>window.clearTimeout(a.current)),[]),(0,k.jsx)("button",{type:"button","aria-label":i?(0,oo.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,oo.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,oo.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,s.Z)("clean-btn",n,Uo.copyButton,i&&Uo.copyButtonCopied),onClick:l,children:(0,k.jsxs)("span",{className:Uo.copyButtonIcons,"aria-hidden":"true",children:[(0,k.jsx)(zo,{className:Uo.copyButtonIcon}),(0,k.jsx)(Wo,{className:Uo.copyButtonSuccessIcon})]})})}function Yo(t){return(0,k.jsx)("svg",{viewBox:"0 0 24 24",...t,children:(0,k.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const Vo={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function Ko(t){let{className:e,onClick:n,isEnabled:r}=t;const i=(0,oo.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,k.jsx)("button",{type:"button",onClick:n,className:(0,s.Z)("clean-btn",e,r&&Vo.wordWrapButtonEnabled),"aria-label":i,title:i,children:(0,k.jsx)(Yo,{className:Vo.wordWrapButtonIcon,"aria-hidden":"true"})})}function Xo(t){let{children:e,className:n="",metastring:i,title:o,showLineNumbers:a,language:c}=t;const{prism:{defaultLanguage:h,magicComments:u}}=(0,ho.L)(),d=function(t){return t?.toLowerCase()}(c??function(t){const e=t.split(" ").find((t=>t.startsWith("language-")));return e?.replace(/language-/,"")}(n)??h),p=uo(),f=function(){const[t,e]=(0,r.useState)(!1),[n,i]=(0,r.useState)(!1),o=(0,r.useRef)(null),s=(0,r.useCallback)((()=>{const n=o.current.querySelector("code");t?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),e((t=>!t))}),[o,t]),a=(0,r.useCallback)((()=>{const{scrollWidth:t,clientWidth:e}=o.current,n=t>e||o.current.querySelector("code").hasAttribute("style");i(n)}),[o]);return $o(o,a),(0,r.useEffect)((()=>{a()}),[t,a]),(0,r.useEffect)((()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)})),[a]),{codeBlockRef:o,isEnabled:t,isCodeScrollable:n,toggle:s}}(),m=function(t){return t?.match(Ao)?.groups.title??""}(i)||o,{lineClassNames:g,code:y}=No(e,{metastring:i,language:d,magicComments:u}),x=a??function(t){return Boolean(t?.includes("showLineNumbers"))}(i);return(0,k.jsxs)(jo,{as:"div",className:(0,s.Z)(n,d&&!n.includes(`language-${d}`)&&`language-${d}`),children:[m&&(0,k.jsx)("div",{className:Oo.codeBlockTitle,children:m}),(0,k.jsxs)("div",{className:Oo.codeBlockContent,children:[(0,k.jsx)(l.y$,{theme:p,code:y,language:d??"text",children:t=>{let{className:e,style:n,tokens:r,getLineProps:i,getTokenProps:o}=t;return(0,k.jsx)("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,s.Z)(e,Oo.codeBlock,"thin-scrollbar"),style:n,children:(0,k.jsx)("code",{className:(0,s.Z)(Oo.codeBlockLines,x&&Oo.codeBlockLinesWithNumbering),children:r.map(((t,e)=>(0,k.jsx)(Zo,{line:t,getLineProps:i,getTokenProps:o,classNames:g[e],showLineNumbers:x},e)))})})}}),(0,k.jsxs)("div",{className:Oo.buttonGroup,children:[(f.isEnabled||f.isCodeScrollable)&&(0,k.jsx)(Ko,{className:Oo.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),(0,k.jsx)(Ho,{className:Oo.codeButton,code:y})]})]})]})}const Go=(Jo=function(t){let{children:e,...n}=t;const i=(0,a.Z)(),o=function(t){return r.Children.toArray(t).some((t=>(0,r.isValidElement)(t)))?t:Array.isArray(t)?t.join(""):t}(e),s="string"==typeof o?Xo:Ro;return(0,k.jsx)(s,{...n,children:o},String(i))},function(t){return t.live?(0,k.jsx)(Co,{scope:vo,...t}):(0,k.jsx)(Jo,{...t})});var Jo;function Qo(t){return(0,k.jsx)("code",{...t})}var ts=n(3692);var es=n(6043);const ns={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function rs(t){return!!t&&("SUMMARY"===t.tagName||rs(t.parentElement))}function is(t,e){return!!t&&(t===e||is(t.parentElement,e))}function os(t){let{summary:e,children:n,...i}=t;const o=(0,a.Z)(),l=(0,r.useRef)(null),{collapsed:c,setCollapsed:h}=(0,es.u)({initialState:!i.open}),[u,d]=(0,r.useState)(i.open),p=r.isValidElement(e)?e:(0,k.jsx)("summary",{children:e??"Details"});return(0,k.jsxs)("details",{...i,ref:l,open:u,"data-collapsed":c,className:(0,s.Z)(ns.details,o&&ns.isBrowser,i.className),onMouseDown:t=>{rs(t.target)&&t.detail>1&&t.preventDefault()},onClick:t=>{t.stopPropagation();const e=t.target;rs(e)&&is(e,l.current)&&(t.preventDefault(),c?(h(!1),d(!0)):h(!0))},children:[p,(0,k.jsx)(es.z,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:t=>{h(t),d(!t)},children:(0,k.jsx)("div",{className:ns.collapsibleContent,children:n})})]})}const ss={details:"details_b_Ee"},as="alert alert--info";function ls(t){let{...e}=t;return(0,k.jsx)(os,{...e,className:(0,s.Z)(as,ss.details,e.className)})}function cs(t){const e=r.Children.toArray(t.children),n=e.find((t=>r.isValidElement(t)&&"summary"===t.type)),i=(0,k.jsx)(k.Fragment,{children:e.filter((t=>t!==n))});return(0,k.jsx)(ls,{...t,summary:n,children:i})}var hs=n(2503);function us(t){return(0,k.jsx)(hs.Z,{...t})}const ds={containsTaskList:"containsTaskList_mC6p"};function ps(t){if(void 0!==t)return(0,s.Z)(t,t?.includes("contains-task-list")&&ds.containsTaskList)}const fs={img:"img_ev3q"};var ms=n(9047),gs=n(5322);const ys="docusaurus-mermaid-container";function ks(){const{colorMode:t}=(0,co.I)(),e=(0,ho.L)().mermaid,n=e.theme[t],{options:i}=e;return(0,r.useMemo)((()=>({startOnLoad:!1,...i,theme:n})),[n,i])}function xs(t){let{text:e,config:n}=t;const[i,o]=(0,r.useState)(null),s=(0,r.useRef)(`mermaid-svg-${Math.round(1e7*Math.random())}`).current,a=ks(),l=n??a;return(0,r.useEffect)((()=>{(async function(t){let{id:e,text:n,config:r}=t;gs.L.mermaidAPI.initialize(r);try{return await gs.L.render(e,n)}catch(i){throw document.querySelector(`#d${e}`)?.remove(),i}})({id:s,text:e,config:l}).then(o).catch((t=>{o((()=>{throw t}))}))}),[s,e,l]),i}const _s={container:"container_lyt7"};function bs(t){let{renderResult:e}=t;const n=(0,r.useRef)(null);return(0,r.useEffect)((()=>{const t=n.current;e.bindFunctions?.(t)}),[e]),(0,k.jsx)("div",{ref:n,className:`${ys} ${_s.container}`,dangerouslySetInnerHTML:{__html:e.svg}})}function Cs(t){let{value:e}=t;const n=xs({text:e});return null===n?null:(0,k.jsx)(bs,{renderResult:n})}const vs={Head:o.Z,details:cs,Details:cs,code:function(t){return function(t){return void 0!==t.children&&r.Children.toArray(t.children).every((t=>"string"==typeof t&&!t.includes("\n")))}(t)?(0,k.jsx)(Qo,{...t}):(0,k.jsx)(Go,{...t})},a:function(t){return(0,k.jsx)(ts.Z,{...t})},pre:function(t){return(0,k.jsx)(k.Fragment,{children:t.children})},ul:function(t){return(0,k.jsx)("ul",{...t,className:ps(t.className)})},img:function(t){return(0,k.jsx)("img",{loading:"lazy",...t,className:(e=t.className,(0,s.Z)(e,fs.img))});var e},h1:t=>(0,k.jsx)(us,{as:"h1",...t}),h2:t=>(0,k.jsx)(us,{as:"h2",...t}),h3:t=>(0,k.jsx)(us,{as:"h3",...t}),h4:t=>(0,k.jsx)(us,{as:"h4",...t}),h5:t=>(0,k.jsx)(us,{as:"h5",...t}),h6:t=>(0,k.jsx)(us,{as:"h6",...t}),admonition:ms.Z,mermaid:function(t){return(0,k.jsx)(po.Z,{fallback:t=>(0,k.jsx)(lo.Ac,{...t}),children:(0,k.jsx)(Cs,{...t})})}};function Ts(t){let{children:e}=t;return(0,k.jsx)(i.Z,{components:vs,children:e})}},2244:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});n(7294);var r=n(512),i=n(3692),o=n(5893);function s(t){const{permalink:e,title:n,subLabel:s,isNext:a}=t;return(0,o.jsxs)(i.Z,{className:(0,r.Z)("pagination-nav__link",a?"pagination-nav__link--next":"pagination-nav__link--prev"),to:e,children:[s&&(0,o.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,o.jsx)("div",{className:"pagination-nav__label",children:n})]})}},3008:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});n(7294);var r=n(512),i=n(3692);const o={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var s=n(5893);function a(t){let{permalink:e,label:n,count:a}=t;return(0,s.jsxs)(i.Z,{href:e,className:(0,r.Z)(o.tag,a?o.tagWithCount:o.tagRegular),children:[n,a&&(0,s.jsx)("span",{children:a})]})}},1526:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});n(7294);var r=n(512),i=n(5999),o=n(3008);const s={tags:"tags_jXut",tag:"tag_QGVx"};var a=n(5893);function l(t){let{tags:e}=t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("b",{children:(0,a.jsx)(i.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,a.jsx)("ul",{className:(0,r.Z)(s.tags,"padding--none","margin-left--sm"),children:e.map((t=>{let{label:e,permalink:n}=t;return(0,a.jsx)("li",{className:s.tag,children:(0,a.jsx)(o.Z,{label:e,permalink:n})},n)}))})]})}},7484:function(t){t.exports=function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",o="minute",s="hour",a="day",l="week",c="month",h="quarter",u="year",d="date",p="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},y=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},k={s:y,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+y(r,2,"0")+":"+y(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),o=n-i<0,s=e.clone().add(r+(o?-1:1),c);return+(-(r+(n-i)/(o?i-s:s-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:u,w:l,d:a,D:d,h:s,m:o,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},x="en",_={};_[x]=g;var b="$isDayjsObject",C=function(t){return t instanceof S||!(!t||!t[b])},v=function t(e,n,r){var i;if(!e)return x;if("string"==typeof e){var o=e.toLowerCase();_[o]&&(i=o),n&&(_[o]=n,i=o);var s=e.split("-");if(!i&&s.length>1)return t(s[0])}else{var a=e.name;_[a]=e,i=a}return!r&&i&&(x=i),i||!r&&x},T=function(t,e){if(C(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new S(n)},w=k;w.l=v,w.i=C,w.w=function(t,e){return T(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var S=function(){function g(t){this.$L=v(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[b]=!0}var y=g.prototype;return y.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(w.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(f);if(r){var i=r[2]-1||0,o=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)}}return new Date(e)}(t),this.init()},y.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},y.$utils=function(){return w},y.isValid=function(){return!(this.$d.toString()===p)},y.isSame=function(t,e){var n=T(t);return this.startOf(e)<=n&&n<=this.endOf(e)},y.isAfter=function(t,e){return T(t)<this.startOf(e)},y.isBefore=function(t,e){return this.endOf(e)<T(t)},y.$g=function(t,e,n){return w.u(t)?this[e]:this.set(n,t)},y.unix=function(){return Math.floor(this.valueOf()/1e3)},y.valueOf=function(){return this.$d.getTime()},y.startOf=function(t,e){var n=this,r=!!w.u(e)||e,h=w.p(t),p=function(t,e){var i=w.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},f=function(t,e){return w.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},m=this.$W,g=this.$M,y=this.$D,k="set"+(this.$u?"UTC":"");switch(h){case u:return r?p(1,0):p(31,11);case c:return r?p(1,g):p(0,g+1);case l:var x=this.$locale().weekStart||0,_=(m<x?m+7:m)-x;return p(r?y-_:y+(6-_),g);case a:case d:return f(k+"Hours",0);case s:return f(k+"Minutes",1);case o:return f(k+"Seconds",2);case i:return f(k+"Milliseconds",3);default:return this.clone()}},y.endOf=function(t){return this.startOf(t,!1)},y.$set=function(t,e){var n,l=w.p(t),h="set"+(this.$u?"UTC":""),p=(n={},n[a]=h+"Date",n[d]=h+"Date",n[c]=h+"Month",n[u]=h+"FullYear",n[s]=h+"Hours",n[o]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[l],f=l===a?this.$D+(e-this.$W):e;if(l===c||l===u){var m=this.clone().set(d,1);m.$d[p](f),m.init(),this.$d=m.set(d,Math.min(this.$D,m.daysInMonth())).$d}else p&&this.$d[p](f);return this.init(),this},y.set=function(t,e){return this.clone().$set(t,e)},y.get=function(t){return this[w.p(t)]()},y.add=function(r,h){var d,p=this;r=Number(r);var f=w.p(h),m=function(t){var e=T(p);return w.w(e.date(e.date()+Math.round(t*r)),p)};if(f===c)return this.set(c,this.$M+r);if(f===u)return this.set(u,this.$y+r);if(f===a)return m(1);if(f===l)return m(7);var g=(d={},d[o]=e,d[s]=n,d[i]=t,d)[f]||1,y=this.$d.getTime()+r*g;return w.w(y,this)},y.subtract=function(t,e){return this.add(-1*t,e)},y.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=w.z(this),o=this.$H,s=this.$m,a=this.$M,l=n.weekdays,c=n.months,h=n.meridiem,u=function(t,n,i,o){return t&&(t[n]||t(e,r))||i[n].slice(0,o)},d=function(t){return w.s(o%12||12,t,"0")},f=h||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(m,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return w.s(e.$y,4,"0");case"M":return a+1;case"MM":return w.s(a+1,2,"0");case"MMM":return u(n.monthsShort,a,c,3);case"MMMM":return u(c,a);case"D":return e.$D;case"DD":return w.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return u(n.weekdaysMin,e.$W,l,2);case"ddd":return u(n.weekdaysShort,e.$W,l,3);case"dddd":return l[e.$W];case"H":return String(o);case"HH":return w.s(o,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return f(o,s,!0);case"A":return f(o,s,!1);case"m":return String(s);case"mm":return w.s(s,2,"0");case"s":return String(e.$s);case"ss":return w.s(e.$s,2,"0");case"SSS":return w.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},y.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},y.diff=function(r,d,p){var f,m=this,g=w.p(d),y=T(r),k=(y.utcOffset()-this.utcOffset())*e,x=this-y,_=function(){return w.m(m,y)};switch(g){case u:f=_()/12;break;case c:f=_();break;case h:f=_()/3;break;case l:f=(x-k)/6048e5;break;case a:f=(x-k)/864e5;break;case s:f=x/n;break;case o:f=x/e;break;case i:f=x/t;break;default:f=x}return p?f:w.a(f)},y.daysInMonth=function(){return this.endOf(c).$D},y.$locale=function(){return _[this.$L]},y.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=v(t,e,!0);return r&&(n.$L=r),n},y.clone=function(){return w.w(this.$d,this)},y.toDate=function(){return new Date(this.valueOf())},y.toJSON=function(){return this.isValid()?this.toISOString():null},y.toISOString=function(){return this.$d.toISOString()},y.toString=function(){return this.$d.toUTCString()},g}(),A=S.prototype;return T.prototype=A,[["$ms",r],["$s",i],["$m",o],["$H",s],["$W",a],["$M",c],["$y",u],["$D",d]].forEach((function(t){A[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),T.extend=function(t,e){return t.$i||(t(e,S,T),t.$i=!0),T},T.locale=v,T.isDayjs=C,T.unix=function(t){return T(1e3*t)},T.en=_[x],T.Ls=_,T.p={},T}()},7856:function(t){t.exports=function(){"use strict";const{entries:t,setPrototypeOf:e,isFrozen:n,getPrototypeOf:r,getOwnPropertyDescriptor:i}=Object;let{freeze:o,seal:s,create:a}=Object,{apply:l,construct:c}="undefined"!=typeof Reflect&&Reflect;o||(o=function(t){return t}),s||(s=function(t){return t}),l||(l=function(t,e,n){return t.apply(e,n)}),c||(c=function(t,e){return new t(...e)});const h=b(Array.prototype.forEach),u=b(Array.prototype.pop),d=b(Array.prototype.push),p=b(String.prototype.toLowerCase),f=b(String.prototype.toString),m=b(String.prototype.match),g=b(String.prototype.replace),y=b(String.prototype.indexOf),k=b(String.prototype.trim),x=b(RegExp.prototype.test),_=C(TypeError);function b(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return l(t,e,r)}}function C(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return c(t,n)}}function v(t,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:p;e&&e(t,null);let o=r.length;for(;o--;){let e=r[o];if("string"==typeof e){const t=i(e);t!==e&&(n(r)||(r[o]=t),e=t)}t[e]=!0}return t}function T(e){const n=a(null);for(const[r,o]of t(e))void 0!==i(e,r)&&(n[r]=o);return n}function w(t,e){for(;null!==t;){const n=i(t,e);if(n){if(n.get)return b(n.get);if("function"==typeof n.value)return b(n.value)}t=r(t)}function n(t){return console.warn("fallback value for",t),null}return n}const S=o(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),A=o(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),I=o(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),B=o(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),E=o(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),L=o(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),F=o(["#text"]),N=o(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),M=o(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),j=o(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),O=o(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),R=s(/\{\{[\w\W]*|[\w\W]*\}\}/gm),D=s(/<%[\w\W]*|[\w\W]*%>/gm),q=s(/\${[\w\W]*}/gm),$=s(/^data-[\-\w.\u00B7-\uFFFF]/),P=s(/^aria-[\-\w]+$/),Z=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),z=s(/^(?:\w+script|data):/i),W=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),U=s(/^html$/i);var H=Object.freeze({__proto__:null,MUSTACHE_EXPR:R,ERB_EXPR:D,TMPLIT_EXPR:q,DATA_ATTR:$,ARIA_ATTR:P,IS_ALLOWED_URI:Z,IS_SCRIPT_OR_DATA:z,ATTR_WHITESPACE:W,DOCTYPE_NAME:U});const Y=function(){return"undefined"==typeof window?null:window},V=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let n=null;const r="data-tt-policy-suffix";e&&e.hasAttribute(r)&&(n=e.getAttribute(r));const i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML:t=>t,createScriptURL:t=>t})}catch(o){return console.warn("TrustedTypes policy "+i+" could not be created."),null}};function K(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Y();const n=t=>K(t);if(n.version="3.0.6",n.removed=[],!e||!e.document||9!==e.document.nodeType)return n.isSupported=!1,n;let{document:r}=e;const i=r,s=i.currentScript,{DocumentFragment:l,HTMLTemplateElement:c,Node:b,Element:C,NodeFilter:R,NamedNodeMap:D=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:q,DOMParser:$,trustedTypes:P}=e,z=C.prototype,W=w(z,"cloneNode"),X=w(z,"nextSibling"),G=w(z,"childNodes"),J=w(z,"parentNode");if("function"==typeof c){const t=r.createElement("template");t.content&&t.content.ownerDocument&&(r=t.content.ownerDocument)}let Q,tt="";const{implementation:et,createNodeIterator:nt,createDocumentFragment:rt,getElementsByTagName:it}=r,{importNode:ot}=i;let st={};n.isSupported="function"==typeof t&&"function"==typeof J&&et&&void 0!==et.createHTMLDocument;const{MUSTACHE_EXPR:at,ERB_EXPR:lt,TMPLIT_EXPR:ct,DATA_ATTR:ht,ARIA_ATTR:ut,IS_SCRIPT_OR_DATA:dt,ATTR_WHITESPACE:pt}=H;let{IS_ALLOWED_URI:ft}=H,mt=null;const gt=v({},[...S,...A,...I,...E,...F]);let yt=null;const kt=v({},[...N,...M,...j,...O]);let xt=Object.seal(a(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),_t=null,bt=null,Ct=!0,vt=!0,Tt=!1,wt=!0,St=!1,At=!1,It=!1,Bt=!1,Et=!1,Lt=!1,Ft=!1,Nt=!0,Mt=!1;const jt="user-content-";let Ot=!0,Rt=!1,Dt={},qt=null;const $t=v({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Pt=null;const Zt=v({},["audio","video","img","source","image","track"]);let zt=null;const Wt=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ut="http://www.w3.org/1998/Math/MathML",Ht="http://www.w3.org/2000/svg",Yt="http://www.w3.org/1999/xhtml";let Vt=Yt,Kt=!1,Xt=null;const Gt=v({},[Ut,Ht,Yt],f);let Jt=null;const Qt=["application/xhtml+xml","text/html"],te="text/html";let ee=null,ne=null;const re=r.createElement("form"),ie=function(t){return t instanceof RegExp||t instanceof Function},oe=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ne||ne!==t){if(t&&"object"==typeof t||(t={}),t=T(t),Jt=Jt=-1===Qt.indexOf(t.PARSER_MEDIA_TYPE)?te:t.PARSER_MEDIA_TYPE,ee="application/xhtml+xml"===Jt?f:p,mt="ALLOWED_TAGS"in t?v({},t.ALLOWED_TAGS,ee):gt,yt="ALLOWED_ATTR"in t?v({},t.ALLOWED_ATTR,ee):kt,Xt="ALLOWED_NAMESPACES"in t?v({},t.ALLOWED_NAMESPACES,f):Gt,zt="ADD_URI_SAFE_ATTR"in t?v(T(Wt),t.ADD_URI_SAFE_ATTR,ee):Wt,Pt="ADD_DATA_URI_TAGS"in t?v(T(Zt),t.ADD_DATA_URI_TAGS,ee):Zt,qt="FORBID_CONTENTS"in t?v({},t.FORBID_CONTENTS,ee):$t,_t="FORBID_TAGS"in t?v({},t.FORBID_TAGS,ee):{},bt="FORBID_ATTR"in t?v({},t.FORBID_ATTR,ee):{},Dt="USE_PROFILES"in t&&t.USE_PROFILES,Ct=!1!==t.ALLOW_ARIA_ATTR,vt=!1!==t.ALLOW_DATA_ATTR,Tt=t.ALLOW_UNKNOWN_PROTOCOLS||!1,wt=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,St=t.SAFE_FOR_TEMPLATES||!1,At=t.WHOLE_DOCUMENT||!1,Et=t.RETURN_DOM||!1,Lt=t.RETURN_DOM_FRAGMENT||!1,Ft=t.RETURN_TRUSTED_TYPE||!1,Bt=t.FORCE_BODY||!1,Nt=!1!==t.SANITIZE_DOM,Mt=t.SANITIZE_NAMED_PROPS||!1,Ot=!1!==t.KEEP_CONTENT,Rt=t.IN_PLACE||!1,ft=t.ALLOWED_URI_REGEXP||Z,Vt=t.NAMESPACE||Yt,xt=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&ie(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(xt.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&ie(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(xt.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(xt.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),St&&(vt=!1),Lt&&(Et=!0),Dt&&(mt=v({},[...F]),yt=[],!0===Dt.html&&(v(mt,S),v(yt,N)),!0===Dt.svg&&(v(mt,A),v(yt,M),v(yt,O)),!0===Dt.svgFilters&&(v(mt,I),v(yt,M),v(yt,O)),!0===Dt.mathMl&&(v(mt,E),v(yt,j),v(yt,O))),t.ADD_TAGS&&(mt===gt&&(mt=T(mt)),v(mt,t.ADD_TAGS,ee)),t.ADD_ATTR&&(yt===kt&&(yt=T(yt)),v(yt,t.ADD_ATTR,ee)),t.ADD_URI_SAFE_ATTR&&v(zt,t.ADD_URI_SAFE_ATTR,ee),t.FORBID_CONTENTS&&(qt===$t&&(qt=T(qt)),v(qt,t.FORBID_CONTENTS,ee)),Ot&&(mt["#text"]=!0),At&&v(mt,["html","head","body"]),mt.table&&(v(mt,["tbody"]),delete _t.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw _('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw _('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Q=t.TRUSTED_TYPES_POLICY,tt=Q.createHTML("")}else void 0===Q&&(Q=V(P,s)),null!==Q&&"string"==typeof tt&&(tt=Q.createHTML(""));o&&o(t),ne=t}},se=v({},["mi","mo","mn","ms","mtext"]),ae=v({},["foreignobject","desc","title","annotation-xml"]),le=v({},["title","style","font","a","script"]),ce=v({},A);v(ce,I),v(ce,B);const he=v({},E);v(he,L);const ue=function(t){let e=J(t);e&&e.tagName||(e={namespaceURI:Vt,tagName:"template"});const n=p(t.tagName),r=p(e.tagName);return!!Xt[t.namespaceURI]&&(t.namespaceURI===Ht?e.namespaceURI===Yt?"svg"===n:e.namespaceURI===Ut?"svg"===n&&("annotation-xml"===r||se[r]):Boolean(ce[n]):t.namespaceURI===Ut?e.namespaceURI===Yt?"math"===n:e.namespaceURI===Ht?"math"===n&&ae[r]:Boolean(he[n]):t.namespaceURI===Yt?!(e.namespaceURI===Ht&&!ae[r])&&!(e.namespaceURI===Ut&&!se[r])&&!he[n]&&(le[n]||!ce[n]):!("application/xhtml+xml"!==Jt||!Xt[t.namespaceURI]))},de=function(t){d(n.removed,{element:t});try{t.parentNode.removeChild(t)}catch(e){t.remove()}},pe=function(t,e){try{d(n.removed,{attribute:e.getAttributeNode(t),from:e})}catch(r){d(n.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t&&!yt[t])if(Et||Lt)try{de(e)}catch(r){}else try{e.setAttribute(t,"")}catch(r){}},fe=function(t){let e=null,n=null;if(Bt)t="<remove></remove>"+t;else{const e=m(t,/^[\r\n\t ]+/);n=e&&e[0]}"application/xhtml+xml"===Jt&&Vt===Yt&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");const i=Q?Q.createHTML(t):t;if(Vt===Yt)try{e=(new $).parseFromString(i,Jt)}catch(s){}if(!e||!e.documentElement){e=et.createDocument(Vt,"template",null);try{e.documentElement.innerHTML=Kt?tt:i}catch(s){}}const o=e.body||e.documentElement;return t&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),Vt===Yt?it.call(e,At?"html":"body")[0]:At?e.documentElement:o},me=function(t){return nt.call(t.ownerDocument||t,t,R.SHOW_ELEMENT|R.SHOW_COMMENT|R.SHOW_TEXT,null)},ge=function(t){return t instanceof q&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof D)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},ye=function(t){return"function"==typeof b&&t instanceof b},ke=function(t,e,r){st[t]&&h(st[t],(t=>{t.call(n,e,r,ne)}))},xe=function(t){let e=null;if(ke("beforeSanitizeElements",t,null),ge(t))return de(t),!0;const r=ee(t.nodeName);if(ke("uponSanitizeElement",t,{tagName:r,allowedTags:mt}),t.hasChildNodes()&&!ye(t.firstElementChild)&&x(/<[/\w]/g,t.innerHTML)&&x(/<[/\w]/g,t.textContent))return de(t),!0;if(!mt[r]||_t[r]){if(!_t[r]&&be(r)){if(xt.tagNameCheck instanceof RegExp&&x(xt.tagNameCheck,r))return!1;if(xt.tagNameCheck instanceof Function&&xt.tagNameCheck(r))return!1}if(Ot&&!qt[r]){const e=J(t)||t.parentNode,n=G(t)||t.childNodes;if(n&&e)for(let r=n.length-1;r>=0;--r)e.insertBefore(W(n[r],!0),X(t))}return de(t),!0}return t instanceof C&&!ue(t)?(de(t),!0):"noscript"!==r&&"noembed"!==r&&"noframes"!==r||!x(/<\/no(script|embed|frames)/i,t.innerHTML)?(St&&3===t.nodeType&&(e=t.textContent,h([at,lt,ct],(t=>{e=g(e,t," ")})),t.textContent!==e&&(d(n.removed,{element:t.cloneNode()}),t.textContent=e)),ke("afterSanitizeElements",t,null),!1):(de(t),!0)},_e=function(t,e,n){if(Nt&&("id"===e||"name"===e)&&(n in r||n in re))return!1;if(vt&&!bt[e]&&x(ht,e));else if(Ct&&x(ut,e));else if(!yt[e]||bt[e]){if(!(be(t)&&(xt.tagNameCheck instanceof RegExp&&x(xt.tagNameCheck,t)||xt.tagNameCheck instanceof Function&&xt.tagNameCheck(t))&&(xt.attributeNameCheck instanceof RegExp&&x(xt.attributeNameCheck,e)||xt.attributeNameCheck instanceof Function&&xt.attributeNameCheck(e))||"is"===e&&xt.allowCustomizedBuiltInElements&&(xt.tagNameCheck instanceof RegExp&&x(xt.tagNameCheck,n)||xt.tagNameCheck instanceof Function&&xt.tagNameCheck(n))))return!1}else if(zt[e]);else if(x(ft,g(n,pt,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==y(n,"data:")||!Pt[t])if(Tt&&!x(dt,g(n,pt,"")));else if(n)return!1;return!0},be=function(t){return t.indexOf("-")>0},Ce=function(t){ke("beforeSanitizeAttributes",t,null);const{attributes:e}=t;if(!e)return;const r={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:yt};let i=e.length;for(;i--;){const s=e[i],{name:a,namespaceURI:l,value:c}=s,d=ee(a);let p="value"===a?c:k(c);if(r.attrName=d,r.attrValue=p,r.keepAttr=!0,r.forceKeepAttr=void 0,ke("uponSanitizeAttribute",t,r),p=r.attrValue,r.forceKeepAttr)continue;if(pe(a,t),!r.keepAttr)continue;if(!wt&&x(/\/>/i,p)){pe(a,t);continue}St&&h([at,lt,ct],(t=>{p=g(p,t," ")}));const f=ee(t.nodeName);if(_e(f,d,p)){if(!Mt||"id"!==d&&"name"!==d||(pe(a,t),p=jt+p),Q&&"object"==typeof P&&"function"==typeof P.getAttributeType)if(l);else switch(P.getAttributeType(f,d)){case"TrustedHTML":p=Q.createHTML(p);break;case"TrustedScriptURL":p=Q.createScriptURL(p)}try{l?t.setAttributeNS(l,a,p):t.setAttribute(a,p),u(n.removed)}catch(o){}}}ke("afterSanitizeAttributes",t,null)},ve=function t(e){let n=null;const r=me(e);for(ke("beforeSanitizeShadowDOM",e,null);n=r.nextNode();)ke("uponSanitizeShadowNode",n,null),xe(n)||(n.content instanceof l&&t(n.content),Ce(n));ke("afterSanitizeShadowDOM",e,null)};return n.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,o=null,s=null,a=null;if(Kt=!t,Kt&&(t="\x3c!--\x3e"),"string"!=typeof t&&!ye(t)){if("function"!=typeof t.toString)throw _("toString is not a function");if("string"!=typeof(t=t.toString()))throw _("dirty is not a string, aborting")}if(!n.isSupported)return t;if(It||oe(e),n.removed=[],"string"==typeof t&&(Rt=!1),Rt){if(t.nodeName){const e=ee(t.nodeName);if(!mt[e]||_t[e])throw _("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof b)r=fe("\x3c!----\x3e"),o=r.ownerDocument.importNode(t,!0),1===o.nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?r=o:r.appendChild(o);else{if(!Et&&!St&&!At&&-1===t.indexOf("<"))return Q&&Ft?Q.createHTML(t):t;if(r=fe(t),!r)return Et?null:Ft?tt:""}r&&Bt&&de(r.firstChild);const c=me(Rt?t:r);for(;s=c.nextNode();)xe(s)||(s.content instanceof l&&ve(s.content),Ce(s));if(Rt)return t;if(Et){if(Lt)for(a=rt.call(r.ownerDocument);r.firstChild;)a.appendChild(r.firstChild);else a=r;return(yt.shadowroot||yt.shadowrootmode)&&(a=ot.call(i,a,!0)),a}let u=At?r.outerHTML:r.innerHTML;return At&&mt["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&x(U,r.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+r.ownerDocument.doctype.name+">\n"+u),St&&h([at,lt,ct],(t=>{u=g(u,t," ")})),Q&&Ft?Q.createHTML(u):u},n.setConfig=function(){oe(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),It=!0},n.clearConfig=function(){ne=null,It=!1},n.isValidAttribute=function(t,e,n){ne||oe({});const r=ee(t),i=ee(e);return _e(r,i,n)},n.addHook=function(t,e){"function"==typeof e&&(st[t]=st[t]||[],d(st[t],e))},n.removeHook=function(t){if(st[t])return u(st[t])},n.removeHooks=function(t){st[t]&&(st[t]=[])},n.removeAllHooks=function(){st={}},n}return K()}()},8589:(t,e)=>{"use strict";var n="\n",r=function(){function t(t){this.string=t;for(var e=[0],r=0;r<t.length;)switch(t[r]){case n:r+=1,e.push(r);break;case"\r":t[r+=1]===n&&(r+=1),e.push(r);break;default:r++}this.offsets=e}return t.prototype.locationForIndex=function(t){if(t<0||t>this.string.length)return null;for(var e=0,n=this.offsets;n[e+1]<=t;)e++;return{line:e,column:t-n[e]}},t.prototype.indexForLocation=function(t){var e=t.line,n=t.column;return e<0||e>=this.offsets.length||n<0||n>this.lengthOfLine(e)?null:this.offsets[e]+n},t.prototype.lengthOfLine=function(t){var e=this.offsets[t];return(t===this.offsets.length-1?this.string.length:this.offsets[t+1])-e},t}()},7594:(t,e)=>{function n(t){let e,n=[];for(let r of t.split(",").map((t=>t.trim())))if(/^-?\d+$/.test(r))n.push(parseInt(r,10));else if(e=r.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[t,r,i,o]=e;if(r&&o){r=parseInt(r),o=parseInt(o);const t=r<o?1:-1;"-"!==i&&".."!==i&&"\u2025"!==i||(o+=t);for(let e=r;e!==o;e+=t)n.push(e)}}return n}e.default=n,t.exports=n},8464:(t,e,n)=>{"use strict";function r(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var r=Array.from("string"==typeof t?[t]:t);r[r.length-1]=r[r.length-1].replace(/\r?\n([\t ]*)$/,"");var i=r.reduce((function(t,e){var n=e.match(/\n([\t ]+|(?!\s).)/g);return n?t.concat(n.map((function(t){var e,n;return null!==(n=null===(e=t.match(/[\t ]/g))||void 0===e?void 0:e.length)&&void 0!==n?n:0}))):t}),[]);if(i.length){var o=new RegExp("\n[\t ]{"+Math.min.apply(Math,i)+"}","g");r=r.map((function(t){return t.replace(o,"\n")}))}r[0]=r[0].replace(/^\r?\n/,"");var s=r[0];return e.forEach((function(t,e){var n=s.match(/(?:^|\n)( *)$/),i=n?n[1]:"",o=t;"string"==typeof t&&t.includes("\n")&&(o=String(t).split("\n").map((function(t,e){return 0===e?t:""+i+t})).join("\n")),s+=o+r[e+1]})),s}n.d(e,{Z:()=>r})},1074:function(t,e,n){"use strict";var r=this&&this.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r};Object.defineProperty(e,"__esModule",{value:!0}),e.Checker=e.createCheckers=void 0;var i=n(2746),o=n(7180),s=n(2746);Object.defineProperty(e,"TArray",{enumerable:!0,get:function(){return s.TArray}}),Object.defineProperty(e,"TEnumType",{enumerable:!0,get:function(){return s.TEnumType}}),Object.defineProperty(e,"TEnumLiteral",{enumerable:!0,get:function(){return s.TEnumLiteral}}),Object.defineProperty(e,"TFunc",{enumerable:!0,get:function(){return s.TFunc}}),Object.defineProperty(e,"TIface",{enumerable:!0,get:function(){return s.TIface}}),Object.defineProperty(e,"TLiteral",{enumerable:!0,get:function(){return s.TLiteral}}),Object.defineProperty(e,"TName",{enumerable:!0,get:function(){return s.TName}}),Object.defineProperty(e,"TOptional",{enumerable:!0,get:function(){return s.TOptional}}),Object.defineProperty(e,"TParam",{enumerable:!0,get:function(){return s.TParam}}),Object.defineProperty(e,"TParamList",{enumerable:!0,get:function(){return s.TParamList}}),Object.defineProperty(e,"TProp",{enumerable:!0,get:function(){return s.TProp}}),Object.defineProperty(e,"TTuple",{enumerable:!0,get:function(){return s.TTuple}}),Object.defineProperty(e,"TType",{enumerable:!0,get:function(){return s.TType}}),Object.defineProperty(e,"TUnion",{enumerable:!0,get:function(){return s.TUnion}}),Object.defineProperty(e,"TIntersection",{enumerable:!0,get:function(){return s.TIntersection}}),Object.defineProperty(e,"array",{enumerable:!0,get:function(){return s.array}}),Object.defineProperty(e,"enumlit",{enumerable:!0,get:function(){return s.enumlit}}),Object.defineProperty(e,"enumtype",{enumerable:!0,get:function(){return s.enumtype}}),Object.defineProperty(e,"func",{enumerable:!0,get:function(){return s.func}}),Object.defineProperty(e,"iface",{enumerable:!0,get:function(){return s.iface}}),Object.defineProperty(e,"lit",{enumerable:!0,get:function(){return s.lit}}),Object.defineProperty(e,"name",{enumerable:!0,get:function(){return s.name}}),Object.defineProperty(e,"opt",{enumerable:!0,get:function(){return s.opt}}),Object.defineProperty(e,"param",{enumerable:!0,get:function(){return s.param}}),Object.defineProperty(e,"tuple",{enumerable:!0,get:function(){return s.tuple}}),Object.defineProperty(e,"union",{enumerable:!0,get:function(){return s.union}}),Object.defineProperty(e,"intersection",{enumerable:!0,get:function(){return s.intersection}}),Object.defineProperty(e,"BasicType",{enumerable:!0,get:function(){return s.BasicType}});var a=n(7180);Object.defineProperty(e,"VError",{enumerable:!0,get:function(){return a.VError}}),e.createCheckers=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n=Object.assign.apply(Object,r([{},i.basicTypes],t)),o={},s=0,a=t;s<a.length;s++)for(var c=a[s],h=0,u=Object.keys(c);h<u.length;h++){var d=u[h];o[d]=new l(n,c[d])}return o};var l=function(){function t(t,e,n){if(void 0===n&&(n="value"),this.suite=t,this.ttype=e,this._path=n,this.props=new Map,e instanceof i.TIface)for(var r=0,o=e.props;r<o.length;r++){var s=o[r];this.props.set(s.name,s.ttype)}this.checkerPlain=this.ttype.getChecker(t,!1),this.checkerStrict=this.ttype.getChecker(t,!0)}return t.prototype.setReportedPath=function(t){this._path=t},t.prototype.check=function(t){return this._doCheck(this.checkerPlain,t)},t.prototype.test=function(t){return this.checkerPlain(t,new o.NoopContext)},t.prototype.validate=function(t){return this._doValidate(this.checkerPlain,t)},t.prototype.strictCheck=function(t){return this._doCheck(this.checkerStrict,t)},t.prototype.strictTest=function(t){return this.checkerStrict(t,new o.NoopContext)},t.prototype.strictValidate=function(t){return this._doValidate(this.checkerStrict,t)},t.prototype.getProp=function(e){var n=this.props.get(e);if(!n)throw new Error("Type has no property "+e);return new t(this.suite,n,this._path+"."+e)},t.prototype.methodArgs=function(e){var n=this._getMethod(e);return new t(this.suite,n.paramList)},t.prototype.methodResult=function(e){var n=this._getMethod(e);return new t(this.suite,n.result)},t.prototype.getArgs=function(){if(!(this.ttype instanceof i.TFunc))throw new Error("getArgs() applied to non-function");return new t(this.suite,this.ttype.paramList)},t.prototype.getResult=function(){if(!(this.ttype instanceof i.TFunc))throw new Error("getResult() applied to non-function");return new t(this.suite,this.ttype.result)},t.prototype.getType=function(){return this.ttype},t.prototype._doCheck=function(t,e){if(!t(e,new o.NoopContext)){var n=new o.DetailContext;throw t(e,n),n.getError(this._path)}},t.prototype._doValidate=function(t,e){if(t(e,new o.NoopContext))return null;var n=new o.DetailContext;return t(e,n),n.getErrorDetail(this._path)},t.prototype._getMethod=function(t){var e=this.props.get(t);if(!e)throw new Error("Type has no property "+t);if(!(e instanceof i.TFunc))throw new Error("Property "+t+" is not a method");return e},t}();e.Checker=l},2746:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},r(t,e)},function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.basicTypes=e.BasicType=e.TParamList=e.TParam=e.param=e.TFunc=e.func=e.TProp=e.TOptional=e.opt=e.TIface=e.iface=e.TEnumLiteral=e.enumlit=e.TEnumType=e.enumtype=e.TIntersection=e.intersection=e.TUnion=e.union=e.TTuple=e.tuple=e.TArray=e.array=e.TLiteral=e.lit=e.TName=e.name=e.TType=void 0;var o=n(7180),s=function(){};function a(t){return"string"==typeof t?c(t):t}function l(t,e){var n=t[e];if(!n)throw new Error("Unknown type "+e);return n}function c(t){return new h(t)}e.TType=s,e.name=c;var h=function(t){function e(e){var n=t.call(this)||this;return n.name=e,n._failMsg="is not a "+e,n}return i(e,t),e.prototype.getChecker=function(t,n,r){var i=this,o=l(t,this.name),s=o.getChecker(t,n,r);return o instanceof w||o instanceof e?s:function(t,e){return!!s(t,e)||e.fail(null,i._failMsg,0)}},e}(s);e.TName=h,e.lit=function(t){return new u(t)};var u=function(t){function e(e){var n=t.call(this)||this;return n.value=e,n.name=JSON.stringify(e),n._failMsg="is not "+n.name,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this;return function(t,e){return t===n.value||e.fail(null,n._failMsg,-1)}},e}(s);e.TLiteral=u,e.array=function(t){return new d(a(t))};var d=function(t){function e(e){var n=t.call(this)||this;return n.ttype=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this.ttype.getChecker(t,e);return function(t,e){if(!Array.isArray(t))return e.fail(null,"is not an array",0);for(var r=0;r<t.length;r++){if(!n(t[r],e))return e.fail(r,null,1)}return!0}},e}(s);e.TArray=d,e.tuple=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new p(t.map((function(t){return a(t)})))};var p=function(t){function e(e){var n=t.call(this)||this;return n.ttypes=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this.ttypes.map((function(n){return n.getChecker(t,e)})),r=function(t,e){if(!Array.isArray(t))return e.fail(null,"is not an array",0);for(var r=0;r<n.length;r++){if(!n[r](t[r],e))return e.fail(r,null,1)}return!0};return e?function(t,e){return!!r(t,e)&&(t.length<=n.length||e.fail(n.length,"is extraneous",2))}:r},e}(s);e.TTuple=p,e.union=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new f(t.map((function(t){return a(t)})))};var f=function(t){function e(e){var n=t.call(this)||this;n.ttypes=e;var r=e.map((function(t){return t instanceof h||t instanceof u?t.name:null})).filter((function(t){return t})),i=e.length-r.length;return r.length?(i>0&&r.push(i+" more"),n._failMsg="is none of "+r.join(", ")):n._failMsg="is none of "+i+" types",n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this,r=this.ttypes.map((function(n){return n.getChecker(t,e)}));return function(t,e){for(var i=e.unionResolver(),o=0;o<r.length;o++){if(r[o](t,i.createContext()))return!0}return e.resolveUnion(i),e.fail(null,n._failMsg,0)}},e}(s);e.TUnion=f,e.intersection=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new m(t.map((function(t){return a(t)})))};var m=function(t){function e(e){var n=t.call(this)||this;return n.ttypes=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=new Set,r=this.ttypes.map((function(r){return r.getChecker(t,e,n)}));return function(t,e){return!!r.every((function(n){return n(t,e)}))||e.fail(null,null,0)}},e}(s);e.TIntersection=m,e.enumtype=function(t){return new g(t)};var g=function(t){function e(e){var n=t.call(this)||this;return n.members=e,n.validValues=new Set,n._failMsg="is not a valid enum value",n.validValues=new Set(Object.keys(e).map((function(t){return e[t]}))),n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this;return function(t,e){return!!n.validValues.has(t)||e.fail(null,n._failMsg,0)}},e}(s);e.TEnumType=g,e.enumlit=function(t,e){return new y(t,e)};var y=function(t){function e(e,n){var r=t.call(this)||this;return r.enumName=e,r.prop=n,r._failMsg="is not "+e+"."+n,r}return i(e,t),e.prototype.getChecker=function(t,e){var n=this,r=l(t,this.enumName);if(!(r instanceof g))throw new Error("Type "+this.enumName+" used in enumlit is not an enum type");var i=r.members[this.prop];if(!r.members.hasOwnProperty(this.prop))throw new Error("Unknown value "+this.enumName+"."+this.prop+" used in enumlit");return function(t,e){return t===i||e.fail(null,n._failMsg,-1)}},e}(s);function k(t){return Object.keys(t).map((function(e){return function(t,e){return e instanceof _?new b(t,e.ttype,!0):new b(t,a(e),!1)}(e,t[e])}))}e.TEnumLiteral=y,e.iface=function(t,e){return new x(t,k(e))};var x=function(t){function e(e,n){var r=t.call(this)||this;return r.bases=e,r.props=n,r.propSet=new Set(n.map((function(t){return t.name}))),r}return i(e,t),e.prototype.getChecker=function(t,e,n){var r=this,i=this.bases.map((function(n){return l(t,n).getChecker(t,e)})),s=this.props.map((function(n){return n.ttype.getChecker(t,e)})),a=new o.NoopContext,c=this.props.map((function(t,e){return!t.isOpt&&!s[e](void 0,a)})),h=function(t,e){if("object"!=typeof t||null===t)return e.fail(null,"is not an object",0);for(var n=0;n<i.length;n++)if(!i[n](t,e))return!1;for(n=0;n<s.length;n++){var o=r.props[n].name,a=t[o];if(void 0===a){if(c[n])return e.fail(o,"is missing",1)}else if(!s[n](a,e))return e.fail(o,null,1)}return!0};if(!e)return h;var u=this.propSet;return n&&(this.propSet.forEach((function(t){return n.add(t)})),u=n),function(t,e){if(!h(t,e))return!1;for(var n in t)if(!u.has(n))return e.fail(n,"is extraneous",2);return!0}},e}(s);e.TIface=x,e.opt=function(t){return new _(a(t))};var _=function(t){function e(e){var n=t.call(this)||this;return n.ttype=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this.ttype.getChecker(t,e);return function(t,e){return void 0===t||n(t,e)}},e}(s);e.TOptional=_;var b=function(t,e,n){this.name=t,this.ttype=e,this.isOpt=n};e.TProp=b,e.func=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return new C(new T(e),a(t))};var C=function(t){function e(e,n){var r=t.call(this)||this;return r.paramList=e,r.result=n,r}return i(e,t),e.prototype.getChecker=function(t,e){return function(t,e){return"function"==typeof t||e.fail(null,"is not a function",0)}},e}(s);e.TFunc=C,e.param=function(t,e,n){return new v(t,a(e),Boolean(n))};var v=function(t,e,n){this.name=t,this.ttype=e,this.isOpt=n};e.TParam=v;var T=function(t){function e(e){var n=t.call(this)||this;return n.params=e,n}return i(e,t),e.prototype.getChecker=function(t,e){var n=this,r=this.params.map((function(n){return n.ttype.getChecker(t,e)})),i=new o.NoopContext,s=this.params.map((function(t,e){return!t.isOpt&&!r[e](void 0,i)})),a=function(t,e){if(!Array.isArray(t))return e.fail(null,"is not an array",0);for(var i=0;i<r.length;i++){var o=n.params[i];if(void 0===t[i]){if(s[i])return e.fail(o.name,"is missing",1)}else if(!r[i](t[i],e))return e.fail(o.name,null,1)}return!0};return e?function(t,e){return!!a(t,e)&&(t.length<=r.length||e.fail(r.length,"is extraneous",2))}:a},e}(s);e.TParamList=T;var w=function(t){function e(e,n){var r=t.call(this)||this;return r.validator=e,r.message=n,r}return i(e,t),e.prototype.getChecker=function(t,e){var n=this;return function(t,e){return!!n.validator(t)||e.fail(null,n.message,0)}},e}(s);e.BasicType=w,e.basicTypes={any:new w((function(t){return!0}),"is invalid"),number:new w((function(t){return"number"==typeof t}),"is not a number"),object:new w((function(t){return"object"==typeof t&&t}),"is not an object"),boolean:new w((function(t){return"boolean"==typeof t}),"is not a boolean"),string:new w((function(t){return"string"==typeof t}),"is not a string"),symbol:new w((function(t){return"symbol"==typeof t}),"is not a symbol"),void:new w((function(t){return null==t}),"is not void"),undefined:new w((function(t){return void 0===t}),"is not undefined"),null:new w((function(t){return null===t}),"is not null"),never:new w((function(t){return!1}),"is unexpected"),Date:new w(A("[object Date]"),"is not a Date"),RegExp:new w(A("[object RegExp]"),"is not a RegExp")};var S=Object.prototype.toString;function A(t){return function(e){return"object"==typeof e&&e&&S.call(e)===t}}"undefined"!=typeof Buffer&&(e.basicTypes.Buffer=new w((function(t){return Buffer.isBuffer(t)}),"is not a Buffer"));for(var I=function(t){e.basicTypes[t.name]=new w((function(e){return e instanceof t}),"is not a "+t.name)},B=0,E=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,ArrayBuffer];B<E.length;B++){I(E[B])}},7180:function(t,e){"use strict";var n,r=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.DetailContext=e.NoopContext=e.VError=void 0;var i=function(t){function e(n,r){var i=t.call(this,r)||this;return i.path=n,Object.setPrototypeOf(i,e.prototype),i}return r(e,t),e}(Error);e.VError=i;var o=function(){function t(){}return t.prototype.fail=function(t,e,n){return!1},t.prototype.unionResolver=function(){return this},t.prototype.createContext=function(){return this},t.prototype.resolveUnion=function(t){},t}();e.NoopContext=o;var s=function(){function t(){this._propNames=[""],this._messages=[null],this._score=0}return t.prototype.fail=function(t,e,n){return this._propNames.push(t),this._messages.push(e),this._score+=n,!1},t.prototype.unionResolver=function(){return new a},t.prototype.resolveUnion=function(t){for(var e,n,r=null,i=0,o=t.contexts;i<o.length;i++){var s=o[i];(!r||s._score>=r._score)&&(r=s)}r&&r._score>0&&((e=this._propNames).push.apply(e,r._propNames),(n=this._messages).push.apply(n,r._messages))},t.prototype.getError=function(t){for(var e=[],n=this._propNames.length-1;n>=0;n--){var r=this._propNames[n];t+="number"==typeof r?"["+r+"]":r?"."+r:"";var o=this._messages[n];o&&e.push(t+" "+o)}return new i(t,e.join("; "))},t.prototype.getErrorDetail=function(t){for(var e=[],n=this._propNames.length-1;n>=0;n--){var r=this._propNames[n];t+="number"==typeof r?"["+r+"]":r?"."+r:"";var i=this._messages[n];i&&e.push({path:t,message:i})}var o=null;for(n=e.length-1;n>=0;n--)o&&(e[n].nested=[o]),o=e[n];return o},t}();e.DetailContext=s;var a=function(){function t(){this.contexts=[]}return t.prototype.createContext=function(){var t=new s;return this.contexts.push(t),t},t}()},1151:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a,a:()=>s});var r=n(7294);const i={},o=r.createContext(i);function s(t){const e=r.useContext(o);return r.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),r.createElement(o.Provider,{value:e},t.children)}},4218:(t,e,n)=>{"use strict";function r(t,e){let n;if(void 0===e)for(const r of t)null!=r&&(n<r||void 0===n&&r>=r)&&(n=r);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function i(t,e){let n;if(void 0===e)for(const r of t)null!=r&&(n>r||void 0===n&&r>=r)&&(n=r);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function o(t){return t}n.d(e,{Nb1:()=>ca,LLu:()=>k,F5q:()=>y,$0Z:()=>Ca,Dts:()=>Ta,WQY:()=>Sa,qpX:()=>Ia,u93:()=>Ba,tFB:()=>La,YY7:()=>Ma,OvA:()=>Oa,dCK:()=>Da,zgE:()=>Pa,fGX:()=>za,$m7:()=>Ua,c_6:()=>da,fxm:()=>Ya,FdL:()=>el,ak_:()=>nl,SxZ:()=>ol,eA_:()=>al,jsv:()=>cl,iJ:()=>ll,JHv:()=>mr,jvg:()=>ma,Fp7:()=>r,VV$:()=>i,ve8:()=>ka,tiA:()=>Tr,BYU:()=>gi,PKp:()=>vr,Xf:()=>Ns,K2I:()=>Ms,Ys:()=>js,td_:()=>Os,YPS:()=>Vn,rr1:()=>Ni,i$Z:()=>uo,y2j:()=>Zi,WQD:()=>Li,U8T:()=>Ai,Z_i:()=>Bi,Ox9:()=>Di,F0B:()=>Ji,LqH:()=>zi,S1K:()=>Ii,Zyz:()=>Ri,Igq:()=>Pi,YDX:()=>qi,EFj:()=>$i});var s=1,a=2,l=3,c=4,h=1e-6;function u(t){return"translate("+t+",0)"}function d(t){return"translate(0,"+t+")"}function p(t){return e=>+t(e)}function f(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function m(){return!this.__axis}function g(t,e){var n=[],r=null,i=null,g=6,y=6,k=3,x="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,_=t===s||t===c?-1:1,b=t===c||t===a?"x":"y",C=t===s||t===l?u:d;function v(u){var d=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,v=null==i?e.tickFormat?e.tickFormat.apply(e,n):o:i,T=Math.max(g,0)+k,w=e.range(),S=+w[0]+x,A=+w[w.length-1]+x,I=(e.bandwidth?f:p)(e.copy(),x),B=u.selection?u.selection():u,E=B.selectAll(".domain").data([null]),L=B.selectAll(".tick").data(d,e).order(),F=L.exit(),N=L.enter().append("g").attr("class","tick"),M=L.select("line"),j=L.select("text");E=E.merge(E.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),L=L.merge(N),M=M.merge(N.append("line").attr("stroke","currentColor").attr(b+"2",_*g)),j=j.merge(N.append("text").attr("fill","currentColor").attr(b,_*T).attr("dy",t===s?"0em":t===l?"0.71em":"0.32em")),u!==B&&(E=E.transition(u),L=L.transition(u),M=M.transition(u),j=j.transition(u),F=F.transition(u).attr("opacity",h).attr("transform",(function(t){return isFinite(t=I(t))?C(t+x):this.getAttribute("transform")})),N.attr("opacity",h).attr("transform",(function(t){var e=this.parentNode.__axis;return C((e&&isFinite(e=e(t))?e:I(t))+x)}))),F.remove(),E.attr("d",t===c||t===a?y?"M"+_*y+","+S+"H"+x+"V"+A+"H"+_*y:"M"+x+","+S+"V"+A:y?"M"+S+","+_*y+"V"+x+"H"+A+"V"+_*y:"M"+S+","+x+"H"+A),L.attr("opacity",1).attr("transform",(function(t){return C(I(t)+x)})),M.attr(b+"2",_*g),j.attr(b,_*T).text(v),B.filter(m).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===a?"start":t===c?"end":"middle"),B.each((function(){this.__axis=I}))}return v.scale=function(t){return arguments.length?(e=t,v):e},v.ticks=function(){return n=Array.from(arguments),v},v.tickArguments=function(t){return arguments.length?(n=null==t?[]:Array.from(t),v):n.slice()},v.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),v):r&&r.slice()},v.tickFormat=function(t){return arguments.length?(i=t,v):i},v.tickSize=function(t){return arguments.length?(g=y=+t,v):g},v.tickSizeInner=function(t){return arguments.length?(g=+t,v):g},v.tickSizeOuter=function(t){return arguments.length?(y=+t,v):y},v.tickPadding=function(t){return arguments.length?(k=+t,v):k},v.offset=function(t){return arguments.length?(x=+t,v):x},v}function y(t){return g(s,t)}function k(t){return g(l,t)}function x(){}function _(t){return null==t?x:function(){return this.querySelector(t)}}function b(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function C(){return[]}function v(t){return null==t?C:function(){return this.querySelectorAll(t)}}function T(t){return function(){return this.matches(t)}}function w(t){return function(e){return e.matches(t)}}var S=Array.prototype.find;function A(){return this.firstElementChild}var I=Array.prototype.filter;function B(){return Array.from(this.children)}function E(t){return new Array(t.length)}function L(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function F(t,e,n,r,i,o){for(var s,a=0,l=e.length,c=o.length;a<c;++a)(s=e[a])?(s.__data__=o[a],r[a]=s):n[a]=new L(t,o[a]);for(;a<l;++a)(s=e[a])&&(i[a]=s)}function N(t,e,n,r,i,o,s){var a,l,c,h=new Map,u=e.length,d=o.length,p=new Array(u);for(a=0;a<u;++a)(l=e[a])&&(p[a]=c=s.call(l,l.__data__,a,e)+"",h.has(c)?i[a]=l:h.set(c,l));for(a=0;a<d;++a)c=s.call(t,o[a],a,o)+"",(l=h.get(c))?(r[a]=l,l.__data__=o[a],h.delete(c)):n[a]=new L(t,o[a]);for(a=0;a<u;++a)(l=e[a])&&h.get(p[a])===l&&(i[a]=l)}function M(t){return t.__data__}function j(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function O(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}L.prototype={constructor:L,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var R="http://www.w3.org/1999/xhtml";const D={svg:"http://www.w3.org/2000/svg",xhtml:R,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function q(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),D.hasOwnProperty(e)?{space:D[e],local:t}:t}function $(t){return function(){this.removeAttribute(t)}}function P(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Z(t,e){return function(){this.setAttribute(t,e)}}function z(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function W(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function U(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function H(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function Y(t){return function(){this.style.removeProperty(t)}}function V(t,e,n){return function(){this.style.setProperty(t,e,n)}}function K(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function X(t,e){return t.style.getPropertyValue(e)||H(t).getComputedStyle(t,null).getPropertyValue(e)}function G(t){return function(){delete this[t]}}function J(t,e){return function(){this[t]=e}}function Q(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function tt(t){return t.trim().split(/^|\s+/)}function et(t){return t.classList||new nt(t)}function nt(t){this._node=t,this._names=tt(t.getAttribute("class")||"")}function rt(t,e){for(var n=et(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function it(t,e){for(var n=et(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function ot(t){return function(){rt(this,t)}}function st(t){return function(){it(this,t)}}function at(t,e){return function(){(e.apply(this,arguments)?rt:it)(this,t)}}function lt(){this.textContent=""}function ct(t){return function(){this.textContent=t}}function ht(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function ut(){this.innerHTML=""}function dt(t){return function(){this.innerHTML=t}}function pt(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function ft(){this.nextSibling&&this.parentNode.appendChild(this)}function mt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function gt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===R&&e.documentElement.namespaceURI===R?e.createElement(t):e.createElementNS(n,t)}}function yt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function kt(t){var e=q(t);return(e.local?yt:gt)(e)}function xt(){return null}function _t(){var t=this.parentNode;t&&t.removeChild(this)}function bt(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Ct(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function vt(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r<o;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?e.length=i:delete this.__on}}}function Tt(t,e,n){return function(){var r,i=this.__on,o=function(t){return function(e){t.call(this,e,this.__data__)}}(e);if(i)for(var s=0,a=i.length;s<a;++s)if((r=i[s]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),void(r.value=e);this.addEventListener(t.type,o,n),r={type:t.type,name:t.name,value:e,listener:o,options:n},i?i.push(r):this.__on=[r]}}function wt(t,e,n){var r=H(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function St(t,e){return function(){return wt(this,t,e)}}function At(t,e){return function(){return wt(this,t,e.apply(this,arguments))}}nt.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var It=[null];function Bt(t,e){this._groups=t,this._parents=e}function Et(){return new Bt([[document.documentElement]],It)}Bt.prototype=Et.prototype={constructor:Bt,select:function(t){"function"!=typeof t&&(t=_(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o,s,a=e[i],l=a.length,c=r[i]=new Array(l),h=0;h<l;++h)(o=a[h])&&(s=t.call(o,o.__data__,h,a))&&("__data__"in o&&(s.__data__=o.__data__),c[h]=s);return new Bt(r,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return b(t.apply(this,arguments))}}(t):v(t);for(var e=this._groups,n=e.length,r=[],i=[],o=0;o<n;++o)for(var s,a=e[o],l=a.length,c=0;c<l;++c)(s=a[c])&&(r.push(t.call(s,s.__data__,c,a)),i.push(s));return new Bt(r,i)},selectChild:function(t){return this.select(null==t?A:function(t){return function(){return S.call(this.children,t)}}("function"==typeof t?t:w(t)))},selectChildren:function(t){return this.selectAll(null==t?B:function(t){return function(){return I.call(this.children,t)}}("function"==typeof t?t:w(t)))},filter:function(t){"function"!=typeof t&&(t=T(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o,s=e[i],a=s.length,l=r[i]=[],c=0;c<a;++c)(o=s[c])&&t.call(o,o.__data__,c,s)&&l.push(o);return new Bt(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,M);var n,r=e?N:F,i=this._parents,o=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var s=o.length,a=new Array(s),l=new Array(s),c=new Array(s),h=0;h<s;++h){var u=i[h],d=o[h],p=d.length,f=j(t.call(u,u&&u.__data__,h,i)),m=f.length,g=l[h]=new Array(m),y=a[h]=new Array(m);r(u,d,g,y,c[h]=new Array(p),f,e);for(var k,x,_=0,b=0;_<m;++_)if(k=g[_]){for(_>=b&&(b=_+1);!(x=y[b])&&++b<m;);k._next=x||null}}return(a=new Bt(a,i))._enter=l,a._exit=c,a},enter:function(){return new Bt(this._enter||this._groups.map(E),this._parents)},exit:function(){return new Bt(this._exit||this._groups.map(E),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,s=Math.min(i,o),a=new Array(i),l=0;l<s;++l)for(var c,h=n[l],u=r[l],d=h.length,p=a[l]=new Array(d),f=0;f<d;++f)(c=h[f]||u[f])&&(p[f]=c);for(;l<i;++l)a[l]=n[l];return new Bt(a,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],o=i.length-1,s=i[o];--o>=0;)(r=i[o])&&(s&&4^r.compareDocumentPosition(s)&&s.parentNode.insertBefore(r,s),s=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=O);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var s,a=n[o],l=a.length,c=i[o]=new Array(l),h=0;h<l;++h)(s=a[h])&&(c[h]=s);c.sort(e)}return new Bt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var s=r[i];if(s)return s}return null},size:function(){let t=0;for(const e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,o=e[n],s=0,a=o.length;s<a;++s)(i=o[s])&&t.call(i,i.__data__,s,o);return this},attr:function(t,e){var n=q(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?P:$:"function"==typeof e?n.local?U:W:n.local?z:Z)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?Y:"function"==typeof e?K:V)(t,e,null==n?"":n)):X(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?G:"function"==typeof e?Q:J)(t,e)):this.node()[t]},classed:function(t,e){var n=tt(t+"");if(arguments.length<2){for(var r=et(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?at:e?ot:st)(n,e))},text:function(t){return arguments.length?this.each(null==t?lt:("function"==typeof t?ht:ct)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?ut:("function"==typeof t?pt:dt)(t)):this.node().innerHTML},raise:function(){return this.each(ft)},lower:function(){return this.each(mt)},append:function(t){var e="function"==typeof t?t:kt(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:kt(t),r=null==e?xt:"function"==typeof e?e:_(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(_t)},clone:function(t){return this.select(t?Ct:bt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,o=function(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}(t+""),s=o.length;if(!(arguments.length<2)){for(a=e?Tt:vt,r=0;r<s;++r)this.each(a(o[r],e,n));return this}var a=this.node().__on;if(a)for(var l,c=0,h=a.length;c<h;++c)for(r=0,l=a[c];r<s;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(t,e){return this.each(("function"==typeof e?At:St)(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,i=t[e],o=0,s=i.length;o<s;++o)(r=i[o])&&(yield r)}};const Lt=Et;var Ft={value:()=>{}};function Nt(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new Mt(r)}function Mt(t){this._=t}function jt(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function Ot(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=Ft,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}Mt.prototype=Nt.prototype={constructor:Mt,on:function(t,e){var n,r,i=this._,o=(r=i,(t+"").trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),s=-1,a=o.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++s<a;)if(n=(t=o[s]).type)i[n]=Ot(i[n],t.name,e);else if(null==e)for(n in i)i[n]=Ot(i[n],t.name,null);return this}for(;++s<a;)if((n=(t=o[s]).type)&&(n=jt(i[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new Mt(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,n=(r=this._[t]).length;o<n;++o)r[o].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};const Rt=Nt;var Dt,qt,$t=0,Pt=0,Zt=0,zt=1e3,Wt=0,Ut=0,Ht=0,Yt="object"==typeof performance&&performance.now?performance:Date,Vt="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Kt(){return Ut||(Vt(Xt),Ut=Yt.now()+Ht)}function Xt(){Ut=0}function Gt(){this._call=this._time=this._next=null}function Jt(t,e,n){var r=new Gt;return r.restart(t,e,n),r}function Qt(){Ut=(Wt=Yt.now())+Ht,$t=Pt=0;try{!function(){Kt(),++$t;for(var t,e=Dt;e;)(t=Ut-e._time)>=0&&e._call.call(void 0,t),e=e._next;--$t}()}finally{$t=0,function(){var t,e,n=Dt,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Dt=e);qt=t,ee(r)}(),Ut=0}}function te(){var t=Yt.now(),e=t-Wt;e>zt&&(Ht-=e,Wt=t)}function ee(t){$t||(Pt&&(Pt=clearTimeout(Pt)),t-Ut>24?(t<1/0&&(Pt=setTimeout(Qt,t-Yt.now()-Ht)),Zt&&(Zt=clearInterval(Zt))):(Zt||(Wt=Yt.now(),Zt=setInterval(te,zt)),$t=1,Vt(Qt)))}function ne(t,e,n){var r=new Gt;return e=null==e?0:+e,r.restart((n=>{r.stop(),t(n+e)}),e,n),r}Gt.prototype=Jt.prototype={constructor:Gt,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Kt():+n)+(null==e?0:+e),this._next||qt===this||(qt?qt._next=this:Dt=this,qt=this),this._call=t,this._time=n,ee()},stop:function(){this._call&&(this._call=null,this._time=1/0,ee())}};var re=Rt("start","end","cancel","interrupt"),ie=[],oe=0,se=1,ae=2,le=3,ce=4,he=5,ue=6;function de(t,e,n,r,i,o){var s=t.__transition;if(s){if(n in s)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(t){n.state=se,n.timer.restart(s,n.delay,n.time),n.delay<=t&&s(t-n.delay)}function s(o){var c,h,u,d;if(n.state!==se)return l();for(c in i)if((d=i[c]).name===n.name){if(d.state===le)return ne(s);d.state===ce?(d.state=ue,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete i[c]):+c<e&&(d.state=ue,d.timer.stop(),d.on.call("cancel",t,t.__data__,d.index,d.group),delete i[c])}if(ne((function(){n.state===le&&(n.state=ce,n.timer.restart(a,n.delay,n.time),a(o))})),n.state=ae,n.on.call("start",t,t.__data__,n.index,n.group),n.state===ae){for(n.state=le,r=new Array(u=n.tween.length),c=0,h=-1;c<u;++c)(d=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(r[++h]=d);r.length=h+1}}function a(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(l),n.state=he,1),o=-1,s=r.length;++o<s;)r[o].call(t,i);n.state===he&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){for(var r in n.state=ue,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=Jt(o,0,n.time)}(t,n,{name:e,index:r,group:i,on:re,tween:ie,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:oe})}function pe(t,e){var n=me(t,e);if(n.state>oe)throw new Error("too late; already scheduled");return n}function fe(t,e){var n=me(t,e);if(n.state>le)throw new Error("too late; already running");return n}function me(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function ge(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var ye,ke=180/Math.PI,xe={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function _e(t,e,n,r,i,o){var s,a,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,l/=a),t*r<e*n&&(t=-t,e=-e,l=-l,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*ke,skewX:Math.atan(l)*ke,scaleX:s,scaleY:a}}function be(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(o,s){var a=[],l=[];return o=t(o),s=t(s),function(t,r,i,o,s,a){if(t!==i||r!==o){var l=s.push("translate(",null,e,null,n);a.push({i:l-4,x:ge(t,i)},{i:l-2,x:ge(r,o)})}else(i||o)&&s.push("translate("+i+e+o+n)}(o.translateX,o.translateY,s.translateX,s.translateY,a,l),function(t,e,n,o){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:ge(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(o.rotate,s.rotate,a,l),function(t,e,n,o){t!==e?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:ge(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(o.skewX,s.skewX,a,l),function(t,e,n,r,o,s){if(t!==n||e!==r){var a=o.push(i(o)+"scale(",null,",",null,")");s.push({i:a-4,x:ge(t,n)},{i:a-2,x:ge(e,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,s.scaleX,s.scaleY,a,l),o=s=null,function(t){for(var e,n=-1,r=l.length;++n<r;)a[(e=l[n]).i]=e.x(t);return a.join("")}}}var Ce=be((function(t){const e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?xe:_e(e.a,e.b,e.c,e.d,e.e,e.f)}),"px, ","px)","deg)"),ve=be((function(t){return null==t?xe:(ye||(ye=document.createElementNS("http://www.w3.org/2000/svg","g")),ye.setAttribute("transform",t),(t=ye.transform.baseVal.consolidate())?_e((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):xe)}),", ",")",")");function Te(t,e){var n,r;return function(){var i=fe(this,t),o=i.tween;if(o!==n)for(var s=0,a=(r=n=o).length;s<a;++s)if(r[s].name===e){(r=r.slice()).splice(s,1);break}i.tween=r}}function we(t,e,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var o=fe(this,t),s=o.tween;if(s!==r){i=(r=s).slice();for(var a={name:e,value:n},l=0,c=i.length;l<c;++l)if(i[l].name===e){i[l]=a;break}l===c&&i.push(a)}o.tween=i}}function Se(t,e,n){var r=t._id;return t.each((function(){var t=fe(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return me(t,r).value[e]}}function Ae(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Ie(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Be(){}var Ee=.7,Le=1/Ee,Fe="\\s*([+-]?\\d+)\\s*",Ne="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Me="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",je=/^#([0-9a-f]{3,8})$/,Oe=new RegExp(`^rgb\\(${Fe},${Fe},${Fe}\\)$`),Re=new RegExp(`^rgb\\(${Me},${Me},${Me}\\)$`),De=new RegExp(`^rgba\\(${Fe},${Fe},${Fe},${Ne}\\)$`),qe=new RegExp(`^rgba\\(${Me},${Me},${Me},${Ne}\\)$`),$e=new RegExp(`^hsl\\(${Ne},${Me},${Me}\\)$`),Pe=new RegExp(`^hsla\\(${Ne},${Me},${Me},${Ne}\\)$`),Ze={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function ze(){return this.rgb().formatHex()}function We(){return this.rgb().formatRgb()}function Ue(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=je.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?He(e):3===n?new Xe(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?Ye(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?Ye(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Oe.exec(t))?new Xe(e[1],e[2],e[3],1):(e=Re.exec(t))?new Xe(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=De.exec(t))?Ye(e[1],e[2],e[3],e[4]):(e=qe.exec(t))?Ye(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=$e.exec(t))?nn(e[1],e[2]/100,e[3]/100,1):(e=Pe.exec(t))?nn(e[1],e[2]/100,e[3]/100,e[4]):Ze.hasOwnProperty(t)?He(Ze[t]):"transparent"===t?new Xe(NaN,NaN,NaN,0):null}function He(t){return new Xe(t>>16&255,t>>8&255,255&t,1)}function Ye(t,e,n,r){return r<=0&&(t=e=n=NaN),new Xe(t,e,n,r)}function Ve(t){return t instanceof Be||(t=Ue(t)),t?new Xe((t=t.rgb()).r,t.g,t.b,t.opacity):new Xe}function Ke(t,e,n,r){return 1===arguments.length?Ve(t):new Xe(t,e,n,null==r?1:r)}function Xe(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Ge(){return`#${en(this.r)}${en(this.g)}${en(this.b)}`}function Je(){const t=Qe(this.opacity);return`${1===t?"rgb(":"rgba("}${tn(this.r)}, ${tn(this.g)}, ${tn(this.b)}${1===t?")":`, ${t})`}`}function Qe(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function tn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function en(t){return((t=tn(t))<16?"0":"")+t.toString(16)}function nn(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new on(t,e,n,r)}function rn(t){if(t instanceof on)return new on(t.h,t.s,t.l,t.opacity);if(t instanceof Be||(t=Ue(t)),!t)return new on;if(t instanceof on)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(s=e===o?(n-r)/a+6*(n<r):n===o?(r-e)/a+2:(e-n)/a+4,a/=l<.5?o+i:2-o-i,s*=60):a=l>0&&l<1?0:s,new on(s,a,l,t.opacity)}function on(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function sn(t){return(t=(t||0)%360)<0?t+360:t}function an(t){return Math.max(0,Math.min(1,t||0))}function ln(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function cn(t,e,n,r,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*n+(1+3*t+3*o-3*s)*r+s*i)/6}Ae(Be,Ue,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:ze,formatHex:ze,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return rn(this).formatHsl()},formatRgb:We,toString:We}),Ae(Xe,Ke,Ie(Be,{brighter(t){return t=null==t?Le:Math.pow(Le,t),new Xe(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Ee:Math.pow(Ee,t),new Xe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Xe(tn(this.r),tn(this.g),tn(this.b),Qe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ge,formatHex:Ge,formatHex8:function(){return`#${en(this.r)}${en(this.g)}${en(this.b)}${en(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Je,toString:Je})),Ae(on,(function(t,e,n,r){return 1===arguments.length?rn(t):new on(t,e,n,null==r?1:r)}),Ie(Be,{brighter(t){return t=null==t?Le:Math.pow(Le,t),new on(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Ee:Math.pow(Ee,t),new on(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Xe(ln(t>=240?t-240:t+120,i,r),ln(t,i,r),ln(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new on(sn(this.h),an(this.s),an(this.l),Qe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Qe(this.opacity);return`${1===t?"hsl(":"hsla("}${sn(this.h)}, ${100*an(this.s)}%, ${100*an(this.l)}%${1===t?")":`, ${t})`}`}}));const hn=t=>()=>t;function un(t,e){return function(n){return t+n*e}}function dn(t){return 1==(t=+t)?pn:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):hn(isNaN(e)?n:e)}}function pn(t,e){var n=e-t;return n?un(t,n):hn(isNaN(t)?e:t)}const fn=function t(e){var n=dn(e);function r(t,e){var r=n((t=Ke(t)).r,(e=Ke(e)).r),i=n(t.g,e.g),o=n(t.b,e.b),s=pn(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+""}}return r.gamma=t,r}(1);function mn(t){return function(e){var n,r,i=e.length,o=new Array(i),s=new Array(i),a=new Array(i);for(n=0;n<i;++n)r=Ke(e[n]),o[n]=r.r||0,s[n]=r.g||0,a[n]=r.b||0;return o=t(o),s=t(s),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=s(t),r.b=a(t),r+""}}}mn((function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],s=r>0?t[r-1]:2*i-o,a=r<e-1?t[r+2]:2*o-i;return cn((n-r/e)*e,s,i,o,a)}})),mn((function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],s=t[(r+1)%e],a=t[(r+2)%e];return cn((n-r/e)*e,i,o,s,a)}}));var gn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,yn=new RegExp(gn.source,"g");function kn(t,e){var n,r,i,o=gn.lastIndex=yn.lastIndex=0,s=-1,a=[],l=[];for(t+="",e+="";(n=gn.exec(t))&&(r=yn.exec(e));)(i=r.index)>o&&(i=e.slice(o,i),a[s]?a[s]+=i:a[++s]=i),(n=n[0])===(r=r[0])?a[s]?a[s]+=r:a[++s]=r:(a[++s]=null,l.push({i:s,x:ge(n,r)})),o=yn.lastIndex;return o<e.length&&(i=e.slice(o),a[s]?a[s]+=i:a[++s]=i),a.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var n,r=0;r<e;++r)a[(n=l[r]).i]=n.x(t);return a.join("")})}function xn(t,e){var n;return("number"==typeof e?ge:e instanceof Ue?fn:(n=Ue(e))?(e=n,fn):kn)(t,e)}function _n(t){return function(){this.removeAttribute(t)}}function bn(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Cn(t,e,n){var r,i,o=n+"";return function(){var s=this.getAttribute(t);return s===o?null:s===r?i:i=e(r=s,n)}}function vn(t,e,n){var r,i,o=n+"";return function(){var s=this.getAttributeNS(t.space,t.local);return s===o?null:s===r?i:i=e(r=s,n)}}function Tn(t,e,n){var r,i,o;return function(){var s,a,l=n(this);if(null!=l)return(s=this.getAttribute(t))===(a=l+"")?null:s===r&&a===i?o:(i=a,o=e(r=s,l));this.removeAttribute(t)}}function wn(t,e,n){var r,i,o;return function(){var s,a,l=n(this);if(null!=l)return(s=this.getAttributeNS(t.space,t.local))===(a=l+"")?null:s===r&&a===i?o:(i=a,o=e(r=s,l));this.removeAttributeNS(t.space,t.local)}}function Sn(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}(t,i)),n}return i._value=e,i}function An(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}(t,i)),n}return i._value=e,i}function In(t,e){return function(){pe(this,t).delay=+e.apply(this,arguments)}}function Bn(t,e){return e=+e,function(){pe(this,t).delay=e}}function En(t,e){return function(){fe(this,t).duration=+e.apply(this,arguments)}}function Ln(t,e){return e=+e,function(){fe(this,t).duration=e}}var Fn=Lt.prototype.constructor;function Nn(t){return function(){this.style.removeProperty(t)}}var Mn=0;function jn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function On(){return++Mn}var Rn=Lt.prototype;jn.prototype=function(t){return Lt().transition(t)}.prototype={constructor:jn,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=_(t));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s<i;++s)for(var a,l,c=r[s],h=c.length,u=o[s]=new Array(h),d=0;d<h;++d)(a=c[d])&&(l=t.call(a,a.__data__,d,c))&&("__data__"in a&&(l.__data__=a.__data__),u[d]=l,de(u[d],e,n,d,u,me(a,n)));return new jn(o,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=v(t));for(var r=this._groups,i=r.length,o=[],s=[],a=0;a<i;++a)for(var l,c=r[a],h=c.length,u=0;u<h;++u)if(l=c[u]){for(var d,p=t.call(l,l.__data__,u,c),f=me(l,n),m=0,g=p.length;m<g;++m)(d=p[m])&&de(d,e,n,m,p,f);o.push(p),s.push(l)}return new jn(o,s,e,n)},selectChild:Rn.selectChild,selectChildren:Rn.selectChildren,filter:function(t){"function"!=typeof t&&(t=T(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o,s=e[i],a=s.length,l=r[i]=[],c=0;c<a;++c)(o=s[c])&&t.call(o,o.__data__,c,s)&&l.push(o);return new jn(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),s=new Array(r),a=0;a<o;++a)for(var l,c=e[a],h=n[a],u=c.length,d=s[a]=new Array(u),p=0;p<u;++p)(l=c[p]||h[p])&&(d[p]=l);for(;a<r;++a)s[a]=e[a];return new jn(s,this._parents,this._name,this._id)},selection:function(){return new Fn(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=On(),r=this._groups,i=r.length,o=0;o<i;++o)for(var s,a=r[o],l=a.length,c=0;c<l;++c)if(s=a[c]){var h=me(s,e);de(s,t,n,c,a,{time:h.time+h.delay+h.duration,delay:0,duration:h.duration,ease:h.ease})}return new jn(r,this._parents,t,n)},call:Rn.call,nodes:Rn.nodes,node:Rn.node,size:Rn.size,empty:Rn.empty,each:Rn.each,on:function(t,e){var n=this._id;return arguments.length<2?me(this.node(),n).on.on(t):this.each(function(t,e,n){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?pe:fe;return function(){var s=o(this,t),a=s.on;a!==r&&(i=(r=a).copy()).on(e,n),s.on=i}}(n,t,e))},attr:function(t,e){var n=q(t),r="transform"===n?ve:xn;return this.attrTween(t,"function"==typeof e?(n.local?wn:Tn)(n,r,Se(this,"attr."+t,e)):null==e?(n.local?bn:_n)(n):(n.local?vn:Cn)(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=q(t);return this.tween(n,(r.local?Sn:An)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?Ce:xn;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var o=X(this,t),s=(this.style.removeProperty(t),X(this,t));return o===s?null:o===n&&s===r?i:i=e(n=o,r=s)}}(t,r)).on("end.style."+t,Nn(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,i,o;return function(){var s=X(this,t),a=n(this),l=a+"";return null==a&&(this.style.removeProperty(t),l=a=X(this,t)),s===l?null:s===r&&l===i?o:(i=l,o=e(r=s,a))}}(t,r,Se(this,"style."+t,e))).each(function(t,e){var n,r,i,o,s="style."+e,a="end."+s;return function(){var l=fe(this,t),c=l.on,h=null==l.value[s]?o||(o=Nn(e)):void 0;c===n&&i===h||(r=(n=c).copy()).on(a,i=h),l.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,i,o=n+"";return function(){var s=X(this,t);return s===o?null:s===r?i:i=e(r=s,n)}}(t,r,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}(t,o,n)),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(Se(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){return function(e){this.textContent=t.call(this,e)}}(r)),e}return r._value=t,r}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=me(this.node(),n).tween,o=0,s=i.length;o<s;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==e?Te:we)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?In:Bn)(e,t)):me(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?En:Ln)(e,t)):me(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw new Error;return function(){fe(this,t).ease=e}}(e,t)):me(this.node(),e).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,e){return function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw new Error;fe(this,t).ease=n}}(this._id,t))},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise((function(o,s){var a={value:s},l={value:function(){0==--i&&o()}};n.each((function(){var n=fe(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(a),e._.interrupt.push(a),e._.end.push(l)),n.on=e})),0===i&&o()}))},[Symbol.iterator]:Rn[Symbol.iterator]};var Dn={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function qn(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}Lt.prototype.interrupt=function(t){return this.each((function(){!function(t,e){var n,r,i,o=t.__transition,s=!0;if(o){for(i in e=null==e?null:e+"",o)(n=o[i]).name===e?(r=n.state>ae&&n.state<he,n.state=ue,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete o[i]):s=!1;s&&delete t.__transition}}(this,t)}))},Lt.prototype.transition=function(t){var e,n;t instanceof jn?(e=t._id,t=t._name):(e=On(),(n=Dn).time=Kt(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var s,a=r[o],l=a.length,c=0;c<l;++c)(s=a[c])&&de(s,t,e,c,a,n||qn(s,e));return new jn(r,this._parents,t,e)};const{abs:$n,max:Pn,min:Zn}=Math;function zn(t){return[+t[0],+t[1]]}function Wn(t){return[zn(t[0]),zn(t[1])]}["w","e"].map(Un),["n","s"].map(Un),["n","w","e","s","nw","ne","sw","se"].map(Un);function Un(t){return{type:t}}function Hn(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function Yn(t){return(e,n)=>function(t,e){return fetch(t,e).then(Hn)}(e,n).then((e=>(new DOMParser).parseFromString(e,t)))}Yn("application/xml");Yn("text/html");var Vn=Yn("image/svg+xml");const Kn=Math.PI/180,Xn=180/Math.PI,Gn=.96422,Jn=1,Qn=.82521,tr=4/29,er=6/29,nr=3*er*er,rr=er*er*er;function ir(t){if(t instanceof or)return new or(t.l,t.a,t.b,t.opacity);if(t instanceof dr)return pr(t);t instanceof Xe||(t=Ve(t));var e,n,r=cr(t.r),i=cr(t.g),o=cr(t.b),s=sr((.2225045*r+.7168786*i+.0606169*o)/Jn);return r===i&&i===o?e=n=s:(e=sr((.4360747*r+.3850649*i+.1430804*o)/Gn),n=sr((.0139322*r+.0971045*i+.7141733*o)/Qn)),new or(116*s-16,500*(e-s),200*(s-n),t.opacity)}function or(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function sr(t){return t>rr?Math.pow(t,1/3):t/nr+tr}function ar(t){return t>er?t*t*t:nr*(t-tr)}function lr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function cr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function hr(t){if(t instanceof dr)return new dr(t.h,t.c,t.l,t.opacity);if(t instanceof or||(t=ir(t)),0===t.a&&0===t.b)return new dr(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*Xn;return new dr(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function ur(t,e,n,r){return 1===arguments.length?hr(t):new dr(t,e,n,null==r?1:r)}function dr(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function pr(t){if(isNaN(t.h))return new or(t.l,0,0,t.opacity);var e=t.h*Kn;return new or(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}function fr(t){return function(e,n){var r=t((e=ur(e)).h,(n=ur(n)).h),i=pn(e.c,n.c),o=pn(e.l,n.l),s=pn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=o(t),e.opacity=s(t),e+""}}}Ae(or,(function(t,e,n,r){return 1===arguments.length?ir(t):new or(t,e,n,null==r?1:r)}),Ie(Be,{brighter(t){return new or(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker(t){return new or(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return new Xe(lr(3.1338561*(e=Gn*ar(e))-1.6168667*(t=Jn*ar(t))-.4906146*(n=Qn*ar(n))),lr(-.9787684*e+1.9161415*t+.033454*n),lr(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),Ae(dr,ur,Ie(Be,{brighter(t){return new dr(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker(t){return new dr(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb(){return pr(this).rgb()}}));const mr=fr((function(t,e){var n=e-t;return n?un(t,n>180||n<-180?n-360*Math.round(n/360):n):hn(isNaN(t)?e:t)}));fr(pn);function gr(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}class yr extends Map{constructor(t,e=br){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const[n,r]of t)this.set(n,r)}get(t){return super.get(kr(this,t))}has(t){return super.has(kr(this,t))}set(t,e){return super.set(xr(this,t),e)}delete(t){return super.delete(_r(this,t))}}function kr({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function xr({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function _r({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function br(t){return null!==t&&"object"==typeof t?t.valueOf():t}const Cr=Symbol("implicit");function vr(){var t=new yr,e=[],n=[],r=Cr;function i(i){let o=t.get(i);if(void 0===o){if(r!==Cr)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new yr;for(const r of n)t.has(r)||t.set(r,e.push(r)-1);return i},i.range=function(t){return arguments.length?(n=Array.from(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return vr(e,n).unknown(r)},gr.apply(i,arguments),i}function Tr(){var t,e,n=vr().unknown(void 0),r=n.domain,i=n.range,o=0,s=1,a=!1,l=0,c=0,h=.5;function u(){var n=r().length,u=s<o,d=u?s:o,p=u?o:s;t=(p-d)/Math.max(1,n-l+2*c),a&&(t=Math.floor(t)),d+=(p-d-t*(n-l))*h,e=t*(1-l),a&&(d=Math.round(d),e=Math.round(e));var f=function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),o=new Array(i);++r<i;)o[r]=t+r*n;return o}(n).map((function(e){return d+t*e}));return i(u?f.reverse():f)}return delete n.unknown,n.domain=function(t){return arguments.length?(r(t),u()):r()},n.range=function(t){return arguments.length?([o,s]=t,o=+o,s=+s,u()):[o,s]},n.rangeRound=function(t){return[o,s]=t,o=+o,s=+s,a=!0,u()},n.bandwidth=function(){return e},n.step=function(){return t},n.round=function(t){return arguments.length?(a=!!t,u()):a},n.padding=function(t){return arguments.length?(l=Math.min(1,c=+t),u()):l},n.paddingInner=function(t){return arguments.length?(l=Math.min(1,t),u()):l},n.paddingOuter=function(t){return arguments.length?(c=+t,u()):c},n.align=function(t){return arguments.length?(h=Math.max(0,Math.min(1,t)),u()):h},n.copy=function(){return Tr(r(),[o,s]).round(a).paddingInner(l).paddingOuter(c).align(h)},gr.apply(u(),arguments)}const wr=Math.sqrt(50),Sr=Math.sqrt(10),Ar=Math.sqrt(2);function Ir(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),s=o>=wr?10:o>=Sr?5:o>=Ar?2:1;let a,l,c;return i<0?(c=Math.pow(10,-i)/s,a=Math.round(t*c),l=Math.round(e*c),a/c<t&&++a,l/c>e&&--l,c=-c):(c=Math.pow(10,i)*s,a=Math.round(t/c),l=Math.round(e/c),a*c<t&&++a,l*c>e&&--l),l<a&&.5<=n&&n<2?Ir(t,e,2*n):[a,l,c]}function Br(t,e,n){return Ir(t=+t,e=+e,n=+n)[2]}function Er(t,e,n){n=+n;const r=(e=+e)<(t=+t),i=r?Br(e,t,n):Br(t,e,n);return(r?-1:1)*(i<0?1/-i:i)}function Lr(t,e){return null==t||null==e?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Fr(t,e){return null==t||null==e?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Nr(t){let e,n,r;function i(t,r,i=0,o=t.length){if(i<o){if(0!==e(r,r))return o;do{const e=i+o>>>1;n(t[e],r)<0?i=e+1:o=e}while(i<o)}return i}return 2!==t.length?(e=Lr,n=(e,n)=>Lr(t(e),n),r=(e,n)=>t(e)-n):(e=t===Lr||t===Fr?t:Mr,n=t,r=t),{left:i,center:function(t,e,n=0,o=t.length){const s=i(t,e,n,o-1);return s>n&&r(t[s-1],e)>-r(t[s],e)?s-1:s},right:function(t,r,i=0,o=t.length){if(i<o){if(0!==e(r,r))return o;do{const e=i+o>>>1;n(t[e],r)<=0?i=e+1:o=e}while(i<o)}return i}}}function Mr(){return 0}const jr=Nr(Lr),Or=jr.right,Rr=(jr.left,Nr((function(t){return null===t?NaN:+t})).center,Or);function Dr(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,o=new Array(i),s=new Array(r);for(n=0;n<i;++n)o[n]=Zr(t[n],e[n]);for(;n<r;++n)s[n]=e[n];return function(t){for(n=0;n<i;++n)s[n]=o[n](t);return s}}function qr(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function $r(t,e){var n,r={},i={};for(n in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)n in t?r[n]=Zr(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}}function Pr(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(o){for(n=0;n<r;++n)i[n]=t[n]*(1-o)+e[n]*o;return i}}function Zr(t,e){var n,r,i=typeof e;return null==e||"boolean"===i?hn(e):("number"===i?ge:"string"===i?(n=Ue(e))?(e=n,fn):kn:e instanceof Ue?fn:e instanceof Date?qr:(r=e,!ArrayBuffer.isView(r)||r instanceof DataView?Array.isArray(e)?Dr:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?$r:ge:Pr))(t,e)}function zr(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}function Wr(t){return+t}var Ur=[0,1];function Hr(t){return t}function Yr(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:(n=isNaN(e)?NaN:.5,function(){return n});var n}function Vr(t,e,n){var r=t[0],i=t[1],o=e[0],s=e[1];return i<r?(r=Yr(i,r),o=n(s,o)):(r=Yr(r,i),o=n(o,s)),function(t){return o(r(t))}}function Kr(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),o=new Array(r),s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)i[s]=Yr(t[s],t[s+1]),o[s]=n(e[s],e[s+1]);return function(e){var n=Rr(t,e,1,r)-1;return o[n](i[n](e))}}function Xr(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Gr(){var t,e,n,r,i,o,s=Ur,a=Ur,l=Zr,c=Hr;function h(){var t,e,n,l=Math.min(s.length,a.length);return c!==Hr&&(t=s[0],e=s[l-1],t>e&&(n=t,t=e,e=n),c=function(n){return Math.max(t,Math.min(e,n))}),r=l>2?Kr:Vr,i=o=null,u}function u(e){return null==e||isNaN(e=+e)?n:(i||(i=r(s.map(t),a,l)))(t(c(e)))}return u.invert=function(n){return c(e((o||(o=r(a,s.map(t),ge)))(n)))},u.domain=function(t){return arguments.length?(s=Array.from(t,Wr),h()):s.slice()},u.range=function(t){return arguments.length?(a=Array.from(t),h()):a.slice()},u.rangeRound=function(t){return a=Array.from(t),l=zr,h()},u.clamp=function(t){return arguments.length?(c=!!t||Hr,h()):c!==Hr},u.interpolate=function(t){return arguments.length?(l=t,h()):l},u.unknown=function(t){return arguments.length?(n=t,u):n},function(n,r){return t=n,e=r,h()}}function Jr(){return Gr()(Hr,Hr)}var Qr,ti=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ei(t){if(!(e=ti.exec(t)))throw new Error("invalid format: "+t);var e;return new ni({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function ni(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function ri(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function ii(t){return(t=ri(Math.abs(t)))?t[1]:NaN}function oi(t,e){var n=ri(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}ei.prototype=ni.prototype,ni.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const si={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>oi(100*t,e),r:oi,s:function(t,e){var n=ri(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(Qr=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+ri(t,Math.max(0,e+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function ai(t){return t}var li,ci,hi,ui=Array.prototype.map,di=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function pi(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?ai:(e=ui.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,o=[],s=0,a=e[0],l=0;i>0&&a>0&&(l+a+1>r&&(a=Math.max(1,r-l)),o.push(t.substring(i-=a,i+a)),!((l+=a+1)>r));)a=e[s=(s+1)%e.length];return o.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",s=void 0===t.decimal?".":t.decimal+"",a=void 0===t.numerals?ai:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(ui.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"\u2212":t.minus+"",h=void 0===t.nan?"NaN":t.nan+"";function u(t){var e=(t=ei(t)).fill,n=t.align,u=t.sign,d=t.symbol,p=t.zero,f=t.width,m=t.comma,g=t.precision,y=t.trim,k=t.type;"n"===k?(m=!0,k="g"):si[k]||(void 0===g&&(g=12),y=!0,k="g"),(p||"0"===e&&"="===n)&&(p=!0,e="0",n="=");var x="$"===d?i:"#"===d&&/[boxX]/.test(k)?"0"+k.toLowerCase():"",_="$"===d?o:/[%p]/.test(k)?l:"",b=si[k],C=/[defgprs%]/.test(k);function v(t){var i,o,l,d=x,v=_;if("c"===k)v=b(t)+v,t="";else{var T=(t=+t)<0||1/t<0;if(t=isNaN(t)?h:b(Math.abs(t),g),y&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r<n;++r)switch(t[r]){case".":i=e=r;break;case"0":0===i&&(i=r),e=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),T&&0==+t&&"+"!==u&&(T=!1),d=(T?"("===u?u:c:"-"===u||"("===u?"":u)+d,v=("s"===k?di[8+Qr/3]:"")+v+(T&&"("===u?")":""),C)for(i=-1,o=t.length;++i<o;)if(48>(l=t.charCodeAt(i))||l>57){v=(46===l?s+t.slice(i+1):t.slice(i))+v,t=t.slice(0,i);break}}m&&!p&&(t=r(t,1/0));var w=d.length+t.length+v.length,S=w<f?new Array(f-w+1).join(e):"";switch(m&&p&&(t=r(S+t,S.length?f-v.length:1/0),S=""),n){case"<":t=d+t+v+S;break;case"=":t=d+S+t+v;break;case"^":t=S.slice(0,w=S.length>>1)+d+t+v+S.slice(w);break;default:t=S+d+t+v}return a(t)}return g=void 0===g?6:/[gprs]/.test(k)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),v.toString=function(){return t+""},v}return{format:u,formatPrefix:function(t,e){var n=u(((t=ei(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(ii(e)/3))),i=Math.pow(10,-r),o=di[8+r/3];return function(t){return n(i*t)+o}}}}function fi(t,e,n,r){var i,o=Er(t,e,n);switch((r=ei(null==r?",f":r)).type){case"s":var s=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ii(e)/3)))-ii(Math.abs(t)))}(o,s))||(r.precision=i),hi(r,s);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ii(e)-ii(t))+1}(o,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-ii(Math.abs(t)))}(o))||(r.precision=i-2*("%"===r.type))}return ci(r)}function mi(t){var e=t.domain;return t.ticks=function(t){var n=e();return function(t,e,n){if(!((n=+n)>0))return[];if((t=+t)==(e=+e))return[t];const r=e<t,[i,o,s]=r?Ir(e,t,n):Ir(t,e,n);if(!(o>=i))return[];const a=o-i+1,l=new Array(a);if(r)if(s<0)for(let c=0;c<a;++c)l[c]=(o-c)/-s;else for(let c=0;c<a;++c)l[c]=(o-c)*s;else if(s<0)for(let c=0;c<a;++c)l[c]=(i+c)/-s;else for(let c=0;c<a;++c)l[c]=(i+c)*s;return l}(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return fi(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i,o=e(),s=0,a=o.length-1,l=o[s],c=o[a],h=10;for(c<l&&(i=l,l=c,c=i,i=s,s=a,a=i);h-- >0;){if((i=Br(l,c,n))===r)return o[s]=l,o[a]=c,e(o);if(i>0)l=Math.floor(l/i)*i,c=Math.ceil(c/i)*i;else{if(!(i<0))break;l=Math.ceil(l*i)/i,c=Math.floor(c*i)/i}r=i}return t},t}function gi(){var t=Jr();return t.copy=function(){return Xr(t,gi())},gr.apply(t,arguments),mi(t)}li=pi({thousands:",",grouping:[3],currency:["$",""]}),ci=li.format,hi=li.formatPrefix;const yi=1e3,ki=6e4,xi=36e5,_i=864e5,bi=6048e5,Ci=2592e6,vi=31536e6,Ti=new Date,wi=new Date;function Si(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=e=>(t(e=new Date(+e)),e),i.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),i.round=t=>{const e=i(t),n=i.ceil(t);return t-e<n-t?e:n},i.offset=(t,n)=>(e(t=new Date(+t),null==n?1:Math.floor(n)),t),i.range=(n,r,o)=>{const s=[];if(n=i.ceil(n),o=null==o?1:Math.floor(o),!(n<r&&o>0))return s;let a;do{s.push(a=new Date(+n)),e(n,o),t(n)}while(a<n&&n<r);return s},i.filter=n=>Si((e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),((t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););})),n&&(i.count=(e,r)=>(Ti.setTime(+e),wi.setTime(+r),t(Ti),t(wi),Math.floor(n(Ti,wi))),i.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?e=>r(e)%t==0:e=>i.count(0,e)%t==0):i:null)),i}const Ai=Si((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t));Ai.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?Si((e=>{e.setTime(Math.floor(e/t)*t)}),((e,n)=>{e.setTime(+e+n*t)}),((e,n)=>(n-e)/t)):Ai:null);Ai.range;const Ii=Si((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+e*yi)}),((t,e)=>(e-t)/yi),(t=>t.getUTCSeconds())),Bi=(Ii.range,Si((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*yi)}),((t,e)=>{t.setTime(+t+e*ki)}),((t,e)=>(e-t)/ki),(t=>t.getMinutes()))),Ei=(Bi.range,Si((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+e*ki)}),((t,e)=>(e-t)/ki),(t=>t.getUTCMinutes()))),Li=(Ei.range,Si((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*yi-t.getMinutes()*ki)}),((t,e)=>{t.setTime(+t+e*xi)}),((t,e)=>(e-t)/xi),(t=>t.getHours()))),Fi=(Li.range,Si((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+e*xi)}),((t,e)=>(e-t)/xi),(t=>t.getUTCHours()))),Ni=(Fi.range,Si((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ki)/_i),(t=>t.getDate()-1))),Mi=(Ni.range,Si((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/_i),(t=>t.getUTCDate()-1))),ji=(Mi.range,Si((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/_i),(t=>Math.floor(t/_i))));ji.range;function Oi(t){return Si((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ki)/bi))}const Ri=Oi(0),Di=Oi(1),qi=Oi(2),$i=Oi(3),Pi=Oi(4),Zi=Oi(5),zi=Oi(6);Ri.range,Di.range,qi.range,$i.range,Pi.range,Zi.range,zi.range;function Wi(t){return Si((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/bi))}const Ui=Wi(0),Hi=Wi(1),Yi=Wi(2),Vi=Wi(3),Ki=Wi(4),Xi=Wi(5),Gi=Wi(6),Ji=(Ui.range,Hi.range,Yi.range,Vi.range,Ki.range,Xi.range,Gi.range,Si((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth()))),Qi=(Ji.range,Si((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth()))),to=(Qi.range,Si((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear())));to.every=t=>isFinite(t=Math.floor(t))&&t>0?Si((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,n)=>{e.setFullYear(e.getFullYear()+n*t)})):null;to.range;const eo=Si((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));eo.every=t=>isFinite(t=Math.floor(t))&&t>0?Si((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null;eo.range;function no(t,e,n,r,i,o){const s=[[Ii,1,yi],[Ii,5,5e3],[Ii,15,15e3],[Ii,30,3e4],[o,1,ki],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,xi],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,_i],[r,2,1728e5],[n,1,bi],[e,1,Ci],[e,3,7776e6],[t,1,vi]];function a(e,n,r){const i=Math.abs(n-e)/r,o=Nr((([,,t])=>t)).right(s,i);if(o===s.length)return t.every(Er(e/vi,n/vi,r));if(0===o)return Ai.every(Math.max(Er(e,n,r),1));const[a,l]=s[i/s[o-1][2]<s[o][2]/i?o-1:o];return a.every(l)}return[function(t,e,n){const r=e<t;r&&([t,e]=[e,t]);const i=n&&"function"==typeof n.range?n:a(t,e,n),o=i?i.range(t,+e+1):[];return r?o.reverse():o},a]}const[ro,io]=no(eo,Qi,Ui,ji,Fi,Ei),[oo,so]=no(to,Ji,Ri,Ni,Li,Bi);function ao(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function lo(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function co(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}var ho,uo,po={"-":"",_:" ",0:"0"},fo=/^\s*\d+/,mo=/^%/,go=/[\\^$*+?|[\]().{}]/g;function yo(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<n?new Array(n-o+1).join(e)+i:i)}function ko(t){return t.replace(go,"\\$&")}function xo(t){return new RegExp("^(?:"+t.map(ko).join("|")+")","i")}function _o(t){return new Map(t.map(((t,e)=>[t.toLowerCase(),e])))}function bo(t,e,n){var r=fo.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Co(t,e,n){var r=fo.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function vo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function To(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function wo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function So(t,e,n){var r=fo.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ao(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Io(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Bo(t,e,n){var r=fo.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function Eo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Lo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Fo(t,e,n){var r=fo.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function No(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Mo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function jo(t,e,n){var r=fo.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Oo(t,e,n){var r=fo.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ro(t,e,n){var r=fo.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Do(t,e,n){var r=mo.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function qo(t,e,n){var r=fo.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function $o(t,e,n){var r=fo.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Po(t,e){return yo(t.getDate(),e,2)}function Zo(t,e){return yo(t.getHours(),e,2)}function zo(t,e){return yo(t.getHours()%12||12,e,2)}function Wo(t,e){return yo(1+Ni.count(to(t),t),e,3)}function Uo(t,e){return yo(t.getMilliseconds(),e,3)}function Ho(t,e){return Uo(t,e)+"000"}function Yo(t,e){return yo(t.getMonth()+1,e,2)}function Vo(t,e){return yo(t.getMinutes(),e,2)}function Ko(t,e){return yo(t.getSeconds(),e,2)}function Xo(t){var e=t.getDay();return 0===e?7:e}function Go(t,e){return yo(Ri.count(to(t)-1,t),e,2)}function Jo(t){var e=t.getDay();return e>=4||0===e?Pi(t):Pi.ceil(t)}function Qo(t,e){return t=Jo(t),yo(Pi.count(to(t),t)+(4===to(t).getDay()),e,2)}function ts(t){return t.getDay()}function es(t,e){return yo(Di.count(to(t)-1,t),e,2)}function ns(t,e){return yo(t.getFullYear()%100,e,2)}function rs(t,e){return yo((t=Jo(t)).getFullYear()%100,e,2)}function is(t,e){return yo(t.getFullYear()%1e4,e,4)}function os(t,e){var n=t.getDay();return yo((t=n>=4||0===n?Pi(t):Pi.ceil(t)).getFullYear()%1e4,e,4)}function ss(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+yo(e/60|0,"0",2)+yo(e%60,"0",2)}function as(t,e){return yo(t.getUTCDate(),e,2)}function ls(t,e){return yo(t.getUTCHours(),e,2)}function cs(t,e){return yo(t.getUTCHours()%12||12,e,2)}function hs(t,e){return yo(1+Mi.count(eo(t),t),e,3)}function us(t,e){return yo(t.getUTCMilliseconds(),e,3)}function ds(t,e){return us(t,e)+"000"}function ps(t,e){return yo(t.getUTCMonth()+1,e,2)}function fs(t,e){return yo(t.getUTCMinutes(),e,2)}function ms(t,e){return yo(t.getUTCSeconds(),e,2)}function gs(t){var e=t.getUTCDay();return 0===e?7:e}function ys(t,e){return yo(Ui.count(eo(t)-1,t),e,2)}function ks(t){var e=t.getUTCDay();return e>=4||0===e?Ki(t):Ki.ceil(t)}function xs(t,e){return t=ks(t),yo(Ki.count(eo(t),t)+(4===eo(t).getUTCDay()),e,2)}function _s(t){return t.getUTCDay()}function bs(t,e){return yo(Hi.count(eo(t)-1,t),e,2)}function Cs(t,e){return yo(t.getUTCFullYear()%100,e,2)}function vs(t,e){return yo((t=ks(t)).getUTCFullYear()%100,e,2)}function Ts(t,e){return yo(t.getUTCFullYear()%1e4,e,4)}function ws(t,e){var n=t.getUTCDay();return yo((t=n>=4||0===n?Ki(t):Ki.ceil(t)).getUTCFullYear()%1e4,e,4)}function Ss(){return"+0000"}function As(){return"%"}function Is(t){return+t}function Bs(t){return Math.floor(+t/1e3)}function Es(t){return new Date(t)}function Ls(t){return t instanceof Date?+t:+new Date(+t)}function Fs(t,e,n,r,i,o,s,a,l,c){var h=Jr(),u=h.invert,d=h.domain,p=c(".%L"),f=c(":%S"),m=c("%I:%M"),g=c("%I %p"),y=c("%a %d"),k=c("%b %d"),x=c("%B"),_=c("%Y");function b(t){return(l(t)<t?p:a(t)<t?f:s(t)<t?m:o(t)<t?g:r(t)<t?i(t)<t?y:k:n(t)<t?x:_)(t)}return h.invert=function(t){return new Date(u(t))},h.domain=function(t){return arguments.length?d(Array.from(t,Ls)):d().map(Es)},h.ticks=function(e){var n=d();return t(n[0],n[n.length-1],null==e?10:e)},h.tickFormat=function(t,e){return null==e?b:c(e)},h.nice=function(t){var n=d();return t&&"function"==typeof t.range||(t=e(n[0],n[n.length-1],null==t?10:t)),t?d(function(t,e){var n,r=0,i=(t=t.slice()).length-1,o=t[r],s=t[i];return s<o&&(n=r,r=i,i=n,n=o,o=s,s=n),t[r]=e.floor(o),t[i]=e.ceil(s),t}(n,t)):h},h.copy=function(){return Xr(h,Fs(t,e,n,r,i,o,s,a,l,c))},h}function Ns(){return gr.apply(Fs(oo,so,to,Ji,Ri,Ni,Li,Bi,Ii,uo).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}!function(t){ho=function(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,l=t.shortMonths,c=xo(i),h=_o(i),u=xo(o),d=_o(o),p=xo(s),f=_o(s),m=xo(a),g=_o(a),y=xo(l),k=_o(l),x={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return a[t.getMonth()]},c:null,d:Po,e:Po,f:Ho,g:rs,G:os,H:Zo,I:zo,j:Wo,L:Uo,m:Yo,M:Vo,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Is,s:Bs,S:Ko,u:Xo,U:Go,V:Qo,w:ts,W:es,x:null,X:null,y:ns,Y:is,Z:ss,"%":As},_={a:function(t){return s[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return a[t.getUTCMonth()]},c:null,d:as,e:as,f:ds,g:vs,G:ws,H:ls,I:cs,j:hs,L:us,m:ps,M:fs,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Is,s:Bs,S:ms,u:gs,U:ys,V:xs,w:_s,W:bs,x:null,X:null,y:Cs,Y:Ts,Z:Ss,"%":As},b={a:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=f.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=u.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=k.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=g.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return T(t,e,n,r)},d:Lo,e:Lo,f:Ro,g:Ao,G:So,H:No,I:No,j:Fo,L:Oo,m:Eo,M:Mo,p:function(t,e,n){var r=c.exec(e.slice(n));return r?(t.p=h.get(r[0].toLowerCase()),n+r[0].length):-1},q:Bo,Q:qo,s:$o,S:jo,u:Co,U:vo,V:To,w:bo,W:wo,x:function(t,e,r){return T(t,n,e,r)},X:function(t,e,n){return T(t,r,e,n)},y:Ao,Y:So,Z:Io,"%":Do};function C(t,e){return function(n){var r,i,o,s=[],a=-1,l=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++a<c;)37===t.charCodeAt(a)&&(s.push(t.slice(l,a)),null!=(i=po[r=t.charAt(++a)])?r=t.charAt(++a):i="e"===r?" ":"0",(o=e[r])&&(r=o(n,i)),s.push(r),l=a+1);return s.push(t.slice(l,a)),s.join("")}}function v(t,e){return function(n){var r,i,o=co(1900,void 0,1);if(T(o,t,n+="",0)!=n.length)return null;if("Q"in o)return new Date(o.Q);if("s"in o)return new Date(1e3*o.s+("L"in o?o.L:0));if(e&&!("Z"in o)&&(o.Z=0),"p"in o&&(o.H=o.H%12+12*o.p),void 0===o.m&&(o.m="q"in o?o.q:0),"V"in o){if(o.V<1||o.V>53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=lo(co(o.y,0,1))).getUTCDay(),r=i>4||0===i?Hi.ceil(r):Hi(r),r=Mi.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=ao(co(o.y,0,1))).getDay(),r=i>4||0===i?Di.ceil(r):Di(r),r=Ni.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?lo(co(o.y,0,1)).getUTCDay():ao(co(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,lo(o)):ao(o)}}function T(t,e,n,r){for(var i,o,s=0,a=e.length,l=n.length;s<a;){if(r>=l)return-1;if(37===(i=e.charCodeAt(s++))){if(i=e.charAt(s++),!(o=b[i in po?e.charAt(s++):i])||(r=o(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return x.x=C(n,x),x.X=C(r,x),x.c=C(e,x),_.x=C(n,_),_.X=C(r,_),_.c=C(e,_),{format:function(t){var e=C(t+="",x);return e.toString=function(){return t},e},parse:function(t){var e=v(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=C(t+="",_);return e.toString=function(){return t},e},utcParse:function(t){var e=v(t+="",!0);return e.toString=function(){return t},e}}}(t),uo=ho.format,ho.parse,ho.utcFormat,ho.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});const Ms=function(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(6*r,6*++r);return n}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function js(t){return"string"==typeof t?new Bt([[document.querySelector(t)]],[document.documentElement]):new Bt([[t]],It)}function Os(t){return"string"==typeof t?new Bt([document.querySelectorAll(t)],[document.documentElement]):new Bt([b(t)],It)}function Rs(t){return function(){return t}}const Ds=Math.abs,qs=Math.atan2,$s=Math.cos,Ps=Math.max,Zs=Math.min,zs=Math.sin,Ws=Math.sqrt,Us=1e-12,Hs=Math.PI,Ys=Hs/2,Vs=2*Hs;function Ks(t){return t>=1?Ys:t<=-1?-Ys:Math.asin(t)}const Xs=Math.PI,Gs=2*Xs,Js=1e-6,Qs=Gs-Js;function ta(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}class ea{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?ta:function(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return ta;const n=10**e;return function(t){this._+=t[0];for(let e=1,r=t.length;e<r;++e)this._+=Math.round(arguments[e]*n)/n+t[e]}}(t)}moveTo(t,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,e){this._append`L${this._x1=+t},${this._y1=+e}`}quadraticCurveTo(t,e,n,r){this._append`Q${+t},${+e},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(t,e,n,r,i,o){this._append`C${+t},${+e},${+n},${+r},${this._x1=+i},${this._y1=+o}`}arcTo(t,e,n,r,i){if(t=+t,e=+e,n=+n,r=+r,(i=+i)<0)throw new Error(`negative radius: ${i}`);let o=this._x1,s=this._y1,a=n-t,l=r-e,c=o-t,h=s-e,u=c*c+h*h;if(null===this._x1)this._append`M${this._x1=t},${this._y1=e}`;else if(u>Js)if(Math.abs(h*a-l*c)>Js&&i){let d=n-o,p=r-s,f=a*a+l*l,m=d*d+p*p,g=Math.sqrt(f),y=Math.sqrt(u),k=i*Math.tan((Xs-Math.acos((f+u-m)/(2*g*y)))/2),x=k/y,_=k/g;Math.abs(x-1)>Js&&this._append`L${t+x*c},${e+x*h}`,this._append`A${i},${i},0,0,${+(h*d>c*p)},${this._x1=t+_*a},${this._y1=e+_*l}`}else this._append`L${this._x1=t},${this._y1=e}`;else;}arc(t,e,n,r,i,o){if(t=+t,e=+e,o=!!o,(n=+n)<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(r),a=n*Math.sin(r),l=t+s,c=e+a,h=1^o,u=o?r-i:i-r;null===this._x1?this._append`M${l},${c}`:(Math.abs(this._x1-l)>Js||Math.abs(this._y1-c)>Js)&&this._append`L${l},${c}`,n&&(u<0&&(u=u%Gs+Gs),u>Qs?this._append`A${n},${n},0,1,${h},${t-s},${e-a}A${n},${n},0,1,${h},${this._x1=l},${this._y1=c}`:u>Js&&this._append`A${n},${n},0,${+(u>=Xs)},${h},${this._x1=t+n*Math.cos(i)},${this._y1=e+n*Math.sin(i)}`)}rect(t,e,n,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function na(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{const t=Math.floor(n);if(!(t>=0))throw new RangeError(`invalid digits: ${n}`);e=t}return t},()=>new ea(e)}function ra(t){return t.innerRadius}function ia(t){return t.outerRadius}function oa(t){return t.startAngle}function sa(t){return t.endAngle}function aa(t){return t&&t.padAngle}function la(t,e,n,r,i,o,s){var a=t-n,l=e-r,c=(s?o:-o)/Ws(a*a+l*l),h=c*l,u=-c*a,d=t+h,p=e+u,f=n+h,m=r+u,g=(d+f)/2,y=(p+m)/2,k=f-d,x=m-p,_=k*k+x*x,b=i-o,C=d*m-f*p,v=(x<0?-1:1)*Ws(Ps(0,b*b*_-C*C)),T=(C*x-k*v)/_,w=(-C*k-x*v)/_,S=(C*x+k*v)/_,A=(-C*k+x*v)/_,I=T-g,B=w-y,E=S-g,L=A-y;return I*I+B*B>E*E+L*L&&(T=S,w=A),{cx:T,cy:w,x01:-h,y01:-u,x11:T*(i/b-1),y11:w*(i/b-1)}}function ca(){var t=ra,e=ia,n=Rs(0),r=null,i=oa,o=sa,s=aa,a=null,l=na(c);function c(){var c,h,u,d=+t.apply(this,arguments),p=+e.apply(this,arguments),f=i.apply(this,arguments)-Ys,m=o.apply(this,arguments)-Ys,g=Ds(m-f),y=m>f;if(a||(a=c=l()),p<d&&(h=p,p=d,d=h),p>Us)if(g>Vs-Us)a.moveTo(p*$s(f),p*zs(f)),a.arc(0,0,p,f,m,!y),d>Us&&(a.moveTo(d*$s(m),d*zs(m)),a.arc(0,0,d,m,f,y));else{var k,x,_=f,b=m,C=f,v=m,T=g,w=g,S=s.apply(this,arguments)/2,A=S>Us&&(r?+r.apply(this,arguments):Ws(d*d+p*p)),I=Zs(Ds(p-d)/2,+n.apply(this,arguments)),B=I,E=I;if(A>Us){var L=Ks(A/d*zs(S)),F=Ks(A/p*zs(S));(T-=2*L)>Us?(C+=L*=y?1:-1,v-=L):(T=0,C=v=(f+m)/2),(w-=2*F)>Us?(_+=F*=y?1:-1,b-=F):(w=0,_=b=(f+m)/2)}var N=p*$s(_),M=p*zs(_),j=d*$s(v),O=d*zs(v);if(I>Us){var R,D=p*$s(b),q=p*zs(b),$=d*$s(C),P=d*zs(C);if(g<Hs)if(R=function(t,e,n,r,i,o,s,a){var l=n-t,c=r-e,h=s-i,u=a-o,d=u*l-h*c;if(!(d*d<Us))return[t+(d=(h*(e-o)-u*(t-i))/d)*l,e+d*c]}(N,M,$,P,D,q,j,O)){var Z=N-R[0],z=M-R[1],W=D-R[0],U=q-R[1],H=1/zs(((u=(Z*W+z*U)/(Ws(Z*Z+z*z)*Ws(W*W+U*U)))>1?0:u<-1?Hs:Math.acos(u))/2),Y=Ws(R[0]*R[0]+R[1]*R[1]);B=Zs(I,(d-Y)/(H-1)),E=Zs(I,(p-Y)/(H+1))}else B=E=0}w>Us?E>Us?(k=la($,P,N,M,p,E,y),x=la(D,q,j,O,p,E,y),a.moveTo(k.cx+k.x01,k.cy+k.y01),E<I?a.arc(k.cx,k.cy,E,qs(k.y01,k.x01),qs(x.y01,x.x01),!y):(a.arc(k.cx,k.cy,E,qs(k.y01,k.x01),qs(k.y11,k.x11),!y),a.arc(0,0,p,qs(k.cy+k.y11,k.cx+k.x11),qs(x.cy+x.y11,x.cx+x.x11),!y),a.arc(x.cx,x.cy,E,qs(x.y11,x.x11),qs(x.y01,x.x01),!y))):(a.moveTo(N,M),a.arc(0,0,p,_,b,!y)):a.moveTo(N,M),d>Us&&T>Us?B>Us?(k=la(j,O,D,q,d,-B,y),x=la(N,M,$,P,d,-B,y),a.lineTo(k.cx+k.x01,k.cy+k.y01),B<I?a.arc(k.cx,k.cy,B,qs(k.y01,k.x01),qs(x.y01,x.x01),!y):(a.arc(k.cx,k.cy,B,qs(k.y01,k.x01),qs(k.y11,k.x11),!y),a.arc(0,0,d,qs(k.cy+k.y11,k.cx+k.x11),qs(x.cy+x.y11,x.cx+x.x11),y),a.arc(x.cx,x.cy,B,qs(x.y11,x.x11),qs(x.y01,x.x01),!y))):a.arc(0,0,d,v,C,y):a.lineTo(j,O)}else a.moveTo(0,0);if(a.closePath(),c)return a=null,c+""||null}return c.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-Hs/2;return[$s(r)*n,zs(r)*n]},c.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),c):t},c.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:Rs(+t),c):e},c.cornerRadius=function(t){return arguments.length?(n="function"==typeof t?t:Rs(+t),c):n},c.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Rs(+t),c):r},c.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:Rs(+t),c):i},c.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:Rs(+t),c):o},c.padAngle=function(t){return arguments.length?(s="function"==typeof t?t:Rs(+t),c):s},c.context=function(t){return arguments.length?(a=null==t?null:t,c):a},c}ea.prototype;Array.prototype.slice;function ha(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function ua(t){this._context=t}function da(t){return new ua(t)}function pa(t){return t[0]}function fa(t){return t[1]}function ma(t,e){var n=Rs(!0),r=null,i=da,o=null,s=na(a);function a(a){var l,c,h,u=(a=ha(a)).length,d=!1;for(null==r&&(o=i(h=s())),l=0;l<=u;++l)!(l<u&&n(c=a[l],l,a))===d&&((d=!d)?o.lineStart():o.lineEnd()),d&&o.point(+t(c,l,a),+e(c,l,a));if(h)return o=null,h+""||null}return t="function"==typeof t?t:void 0===t?pa:Rs(t),e="function"==typeof e?e:void 0===e?fa:Rs(e),a.x=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),a):t},a.y=function(t){return arguments.length?(e="function"==typeof t?t:Rs(+t),a):e},a.defined=function(t){return arguments.length?(n="function"==typeof t?t:Rs(!!t),a):n},a.curve=function(t){return arguments.length?(i=t,null!=r&&(o=i(r)),a):i},a.context=function(t){return arguments.length?(null==t?r=o=null:o=i(r=t),a):r},a}function ga(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function ya(t){return t}function ka(){var t=ya,e=ga,n=null,r=Rs(0),i=Rs(Vs),o=Rs(0);function s(s){var a,l,c,h,u,d=(s=ha(s)).length,p=0,f=new Array(d),m=new Array(d),g=+r.apply(this,arguments),y=Math.min(Vs,Math.max(-Vs,i.apply(this,arguments)-g)),k=Math.min(Math.abs(y)/d,o.apply(this,arguments)),x=k*(y<0?-1:1);for(a=0;a<d;++a)(u=m[f[a]=a]=+t(s[a],a,s))>0&&(p+=u);for(null!=e?f.sort((function(t,n){return e(m[t],m[n])})):null!=n&&f.sort((function(t,e){return n(s[t],s[e])})),a=0,c=p?(y-d*x)/p:0;a<d;++a,g=h)l=f[a],h=g+((u=m[l])>0?u*c:0)+x,m[l]={data:s[l],index:a,value:u,startAngle:g,endAngle:h,padAngle:k};return m}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Rs(+t),s):r},s.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Rs(+t),s):i},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:Rs(+t),s):o},s}function xa(){}function _a(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function ba(t){this._context=t}function Ca(t){return new ba(t)}function va(t){this._context=t}function Ta(t){return new va(t)}function wa(t){this._context=t}function Sa(t){return new wa(t)}ua.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},ba.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:_a(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:_a(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},va.prototype={areaStart:xa,areaEnd:xa,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:_a(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},wa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:_a(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class Aa{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function Ia(t){return new Aa(t,!0)}function Ba(t){return new Aa(t,!1)}function Ea(t,e){this._basis=new ba(t),this._beta=e}Ea.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],o=e[0],s=t[n]-i,a=e[n]-o,l=-1;++l<=n;)r=l/n,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+r*s),this._beta*e[l]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const La=function t(e){function n(t){return 1===e?new ba(t):new Ea(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function Fa(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Na(t,e){this._context=t,this._k=(1-e)/6}Na.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Fa(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Fa(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Ma=function t(e){function n(t){return new Na(t,e)}return n.tension=function(e){return t(+e)},n}(0);function ja(t,e){this._context=t,this._k=(1-e)/6}ja.prototype={areaStart:xa,areaEnd:xa,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Fa(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Oa=function t(e){function n(t){return new ja(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Ra(t,e){this._context=t,this._k=(1-e)/6}Ra.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Fa(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Da=function t(e){function n(t){return new Ra(t,e)}return n.tension=function(e){return t(+e)},n}(0);function qa(t,e,n){var r=t._x1,i=t._y1,o=t._x2,s=t._y2;if(t._l01_a>Us){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Us){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*c+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*c+t._y1*t._l23_2a-n*t._l12_2a)/h}t._context.bezierCurveTo(r,i,o,s,t._x2,t._y2)}function $a(t,e){this._context=t,this._alpha=e}$a.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:qa(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Pa=function t(e){function n(t){return e?new $a(t,e):new Na(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Za(t,e){this._context=t,this._alpha=e}Za.prototype={areaStart:xa,areaEnd:xa,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:qa(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const za=function t(e){function n(t){return e?new Za(t,e):new ja(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Wa(t,e){this._context=t,this._alpha=e}Wa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:qa(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Ua=function t(e){function n(t){return e?new Wa(t,e):new Ra(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Ha(t){this._context=t}function Ya(t){return new Ha(t)}function Va(t){return t<0?-1:1}function Ka(t,e,n){var r=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),s=(n-t._y1)/(i||r<0&&-0),a=(o*i+s*r)/(r+i);return(Va(o)+Va(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function Xa(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Ga(t,e,n){var r=t._x0,i=t._y0,o=t._x1,s=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,i+a*e,o-a,s-a*n,o,s)}function Ja(t){this._context=t}function Qa(t){this._context=new tl(t)}function tl(t){this._context=t}function el(t){return new Ja(t)}function nl(t){return new Qa(t)}function rl(t){this._context=t}function il(t){var e,n,r=t.length-1,i=new Array(r),o=new Array(r),s=new Array(r);for(i[0]=0,o[0]=2,s[0]=t[0]+2*t[1],e=1;e<r-1;++e)i[e]=1,o[e]=4,s[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,o[r-1]=7,s[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/o[e-1],o[e]-=n,s[e]-=n*s[e-1];for(i[r-1]=s[r-1]/o[r-1],e=r-2;e>=0;--e)i[e]=(s[e]-i[e+1])/o[e];for(o[r-1]=(t[r]+i[r-1])/2,e=0;e<r-1;++e)o[e]=2*t[e+1]-i[e+1];return[i,o]}function ol(t){return new rl(t)}function sl(t,e){this._context=t,this._t=e}function al(t){return new sl(t,.5)}function ll(t){return new sl(t,0)}function cl(t){return new sl(t,1)}function hl(t,e,n){this.k=t,this.x=e,this.y=n}Ha.prototype={areaStart:xa,areaEnd:xa,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},Ja.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Ga(this,this._t0,Xa(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Ga(this,Xa(this,n=Ka(this,t,e)),n);break;default:Ga(this,this._t0,n=Ka(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(Qa.prototype=Object.create(Ja.prototype)).point=function(t,e){Ja.prototype.point.call(this,e,t)},tl.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,o){this._context.bezierCurveTo(e,t,r,n,o,i)}},rl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var r=il(t),i=il(e),o=0,s=1;s<n;++o,++s)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[s],e[s]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},sl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}},hl.prototype={constructor:hl,scale:function(t){return 1===t?this:new hl(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new hl(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};new hl(1,0,0);hl.prototype},1883:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(1691),i=n(2142);const o=class{constructor(){this.type=i.w.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=i.w.ALL}is(t){return this.type===t}};const s=new class{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new o}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=i.w.ALL,this}_ensureHSL(){const t=this.data,{h:e,s:n,l:i}=t;void 0===e&&(t.h=r.Z.channel.rgb2hsl(t,"h")),void 0===n&&(t.s=r.Z.channel.rgb2hsl(t,"s")),void 0===i&&(t.l=r.Z.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r:e,g:n,b:i}=t;void 0===e&&(t.r=r.Z.channel.hsl2rgb(t,"r")),void 0===n&&(t.g=r.Z.channel.hsl2rgb(t,"g")),void 0===i&&(t.b=r.Z.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,e=t.r;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"r")):e}get g(){const t=this.data,e=t.g;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"g")):e}get b(){const t=this.data,e=t.b;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"b")):e}get h(){const t=this.data,e=t.h;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"h")):e}get s(){const t=this.data,e=t.s;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"s")):e}get l(){const t=this.data,e=t.l;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(i.w.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(i.w.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(i.w.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(i.w.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(i.w.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(i.w.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}({r:0,g:0,b:0,a:0},"transparent")},1610:(t,e,n)=>{"use strict";n.d(e,{Z:()=>m});var r=n(1883),i=n(2142);const o={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;const e=t.match(o.re);if(!e)return;const n=e[1],i=parseInt(n,16),s=n.length,a=s%4==0,l=s>4,c=l?1:17,h=l?8:4,u=a?0:-1,d=l?255:15;return r.Z.set({r:(i>>h*(u+3)&d)*c,g:(i>>h*(u+2)&d)*c,b:(i>>h*(u+1)&d)*c,a:a?(i&d)*c/255:1},t)},stringify:t=>{const{r:e,g:n,b:r,a:o}=t;return o<1?`#${i.Q[Math.round(e)]}${i.Q[Math.round(n)]}${i.Q[Math.round(r)]}${i.Q[Math.round(255*o)]}`:`#${i.Q[Math.round(e)]}${i.Q[Math.round(n)]}${i.Q[Math.round(r)]}`}},s=o;var a=n(1691);const l={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(l.hueRe);if(e){const[,t,n]=e;switch(n){case"grad":return a.Z.channel.clamp.h(.9*parseFloat(t));case"rad":return a.Z.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return a.Z.channel.clamp.h(360*parseFloat(t))}}return a.Z.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(104!==e&&72!==e)return;const n=t.match(l.re);if(!n)return;const[,i,o,s,c,h]=n;return r.Z.set({h:l._hue2deg(i),s:a.Z.channel.clamp.s(parseFloat(o)),l:a.Z.channel.clamp.l(parseFloat(s)),a:c?a.Z.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},t)},stringify:t=>{const{h:e,s:n,l:r,a:i}=t;return i<1?`hsla(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}%, ${a.Z.lang.round(r)}%, ${i})`:`hsl(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}%, ${a.Z.lang.round(r)}%)`}},c=l,h={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=h.colors[t];if(e)return s.parse(e)},stringify:t=>{const e=s.stringify(t);for(const n in h.colors)if(h.colors[n]===e)return n}},u=h,d={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(114!==e&&82!==e)return;const n=t.match(d.re);if(!n)return;const[,i,o,s,l,c,h,u,p]=n;return r.Z.set({r:a.Z.channel.clamp.r(o?2.55*parseFloat(i):parseFloat(i)),g:a.Z.channel.clamp.g(l?2.55*parseFloat(s):parseFloat(s)),b:a.Z.channel.clamp.b(h?2.55*parseFloat(c):parseFloat(c)),a:u?a.Z.channel.clamp.a(p?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:n,b:r,a:i}=t;return i<1?`rgba(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}, ${a.Z.lang.round(r)}, ${a.Z.lang.round(i)})`:`rgb(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}, ${a.Z.lang.round(r)})`}},p=d,f={format:{keyword:h,hex:s,rgb:d,rgba:d,hsl:l,hsla:l},parse:t=>{if("string"!=typeof t)return t;const e=s.parse(t)||p.parse(t)||c.parse(t)||u.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(i.w.HSL)||void 0===t.data.r?c.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?p.stringify(t):s.stringify(t)},m=f},2142:(t,e,n)=>{"use strict";n.d(e,{Q:()=>i,w:()=>o});var r=n(1691);const i={};for(let s=0;s<=255;s++)i[s]=r.Z.unit.dec2hex(s);const o={ALL:0,RGB:1,HSL:2}},6174:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(1691),i=n(1610);const o=(t,e,n)=>{const o=i.Z.parse(t),s=o[e],a=r.Z.channel.clamp[e](s+n);return s!==a&&(o[e]=a),i.Z.stringify(o)}},3438:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(1691),i=n(1610);const o=(t,e)=>{const n=i.Z.parse(t);for(const i in e)n[i]=r.Z.channel.clamp[i](e[i]);return i.Z.stringify(n)}},7201:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(6174);const i=(t,e)=>(0,r.Z)(t,"l",-e)},1619:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(1691),i=n(1610);const o=t=>{const{r:e,g:n,b:o}=i.Z.parse(t),s=.2126*r.Z.channel.toLinear(e)+.7152*r.Z.channel.toLinear(n)+.0722*r.Z.channel.toLinear(o);return r.Z.lang.round(s)},s=t=>o(t)>=.5,a=t=>!s(t)},2281:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(6174);const i=(t,e)=>(0,r.Z)(t,"l",e)},1117:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(1691),i=n(1883),o=n(1610),s=n(3438);const a=(t,e,n=0,a=1)=>{if("number"!=typeof t)return(0,s.Z)(t,{a:e});const l=i.Z.set({r:r.Z.channel.clamp.r(t),g:r.Z.channel.clamp.g(e),b:r.Z.channel.clamp.b(n),a:r.Z.channel.clamp.a(a)});return o.Z.stringify(l)}},1691:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});const r={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),hsl2rgb:({h:t,s:e,l:n},i)=>{if(!e)return 2.55*n;t/=360,e/=100;const o=(n/=100)<.5?n*(1+e):n+e-n*e,s=2*n-o;switch(i){case"r":return 255*r.hue2rgb(s,o,t+1/3);case"g":return 255*r.hue2rgb(s,o,t);case"b":return 255*r.hue2rgb(s,o,t-1/3)}},rgb2hsl:({r:t,g:e,b:n},r)=>{t/=255,e/=255,n/=255;const i=Math.max(t,e,n),o=Math.min(t,e,n),s=(i+o)/2;if("l"===r)return 100*s;if(i===o)return 0;const a=i-o;if("s"===r)return 100*(s>.5?a/(2-i-o):a/(i+o));switch(i){case t:return 60*((e-n)/a+(e<n?6:0));case e:return 60*((n-t)/a+2);case n:return 60*((t-e)/a+4);default:return-1}}},i={channel:r,lang:{clamp:(t,e,n)=>e>n?Math.min(e,Math.max(n,t)):Math.min(n,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}}},7308:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});const r=function(){this.__data__=[],this.size=0};var i=n(9651);const o=function(t,e){for(var n=t.length;n--;)if((0,i.Z)(t[n][0],e))return n;return-1};var s=Array.prototype.splice;const a=function(t){var e=this.__data__,n=o(e,t);return!(n<0)&&(n==e.length-1?e.pop():s.call(e,n,1),--this.size,!0)};const l=function(t){var e=this.__data__,n=o(e,t);return n<0?void 0:e[n][1]};const c=function(t){return o(this.__data__,t)>-1};const h=function(t,e){var n=this.__data__,r=o(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=a,u.prototype.get=l,u.prototype.has=c,u.prototype.set=h;const d=u},6183:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(2508),i=n(6092);const o=(0,r.Z)(i.Z,"Map")},7834:(t,e,n)=>{"use strict";n.d(e,{Z:()=>v});const r=(0,n(2508).Z)(Object,"create");const i=function(){this.__data__=r?r(null):{},this.size=0};const o=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e};var s=Object.prototype.hasOwnProperty;const a=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return s.call(e,t)?e[t]:void 0};var l=Object.prototype.hasOwnProperty;const c=function(t){var e=this.__data__;return r?void 0!==e[t]:l.call(e,t)};const h=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this};function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=c,u.prototype.set=h;const d=u;var p=n(7308),f=n(6183);const m=function(){this.size=0,this.__data__={hash:new d,map:new(f.Z||p.Z),string:new d}};const g=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};const y=function(t,e){var n=t.__data__;return g(e)?n["string"==typeof e?"string":"hash"]:n.map};const k=function(t){var e=y(this,t).delete(t);return this.size-=e?1:0,e};const x=function(t){return y(this,t).get(t)};const _=function(t){return y(this,t).has(t)};const b=function(t,e){var n=y(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function C(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}C.prototype.clear=m,C.prototype.delete=k,C.prototype.get=x,C.prototype.has=_,C.prototype.set=b;const v=C},3203:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(2508),i=n(6092);const o=(0,r.Z)(i.Z,"Set")},1667:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=n(7308);const i=function(){this.__data__=new r.Z,this.size=0};const o=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n};const s=function(t){return this.__data__.get(t)};const a=function(t){return this.__data__.has(t)};var l=n(6183),c=n(7834);const h=function(t,e){var n=this.__data__;if(n instanceof r.Z){var i=n.__data__;if(!l.Z||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new c.Z(i)}return n.set(t,e),this.size=n.size,this};function u(t){var e=this.__data__=new r.Z(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=s,u.prototype.has=a,u.prototype.set=h;const d=u},7685:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=n(6092).Z.Symbol},4073:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=n(6092).Z.Uint8Array},7668:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});const r=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r};var i=n(9169),o=n(7771),s=n(7008),a=n(6009),l=n(8843),c=Object.prototype.hasOwnProperty;const h=function(t,e){var n=(0,o.Z)(t),h=!n&&(0,i.Z)(t),u=!n&&!h&&(0,s.Z)(t),d=!n&&!h&&!u&&(0,l.Z)(t),p=n||h||u||d,f=p?r(t.length,String):[],m=f.length;for(var g in t)!e&&!c.call(t,g)||p&&("length"==g||u&&("offset"==g||"parent"==g)||d&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||(0,a.Z)(g,m))||f.push(g);return f}},2954:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(4752),i=n(9651),o=Object.prototype.hasOwnProperty;const s=function(t,e,n){var s=t[e];o.call(t,e)&&(0,i.Z)(s,n)&&(void 0!==n||e in t)||(0,r.Z)(t,e,n)}},4752:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(7904);const i=function(t,e,n){"__proto__"==e&&r.Z?(0,r.Z)(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},1395:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return function(e,n,r){for(var i=-1,o=Object(e),s=r(e),a=s.length;a--;){var l=s[t?a:++i];if(!1===n(o[l],l,o))break}return e}}()},3589:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=n(7685),i=Object.prototype,o=i.hasOwnProperty,s=i.toString,a=r.Z?r.Z.toStringTag:void 0;const l=function(t){var e=o.call(t,a),n=t[a];try{t[a]=void 0;var r=!0}catch(l){}var i=s.call(t);return r&&(e?t[a]=n:delete t[a]),i};var c=Object.prototype.toString;const h=function(t){return c.call(t)};var u=r.Z?r.Z.toStringTag:void 0;const d=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":u&&u in Object(t)?l(t):h(t)}},9473:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(2764);const i=(0,n(1851).Z)(Object.keys,Object);var o=Object.prototype.hasOwnProperty;const s=function(t){if(!(0,r.Z)(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},9581:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(9203),i=n(1211),o=n(7227);const s=function(t,e){return(0,o.Z)((0,i.Z)(t,e,r.Z),t+"")}},1162:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return function(e){return t(e)}}},1884:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(4073);const i=function(t){var e=new t.constructor(t.byteLength);return new r.Z(e).set(new r.Z(t)),e}},1050:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(6092),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&"object"==typeof module&&module&&!module.nodeType&&module,s=o&&o.exports===i?r.Z.Buffer:void 0,a=s?s.allocUnsafe:void 0;const l=function(t,e){if(e)return t.slice();var n=t.length,r=a?a(n):new t.constructor(n);return t.copy(r),r}},2701:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(1884);const i=function(t,e){var n=e?(0,r.Z)(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},7215:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},5569:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(2954),i=n(4752);const o=function(t,e,n,o){var s=!n;n||(n={});for(var a=-1,l=e.length;++a<l;){var c=e[a],h=o?o(n[c],t[c],c,n,t):void 0;void 0===h&&(h=t[c]),s?(0,i.Z)(n,c,h):(0,r.Z)(n,c,h)}return n}},7904:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(2508);const i=function(){try{var t=(0,r.Z)(Object,"defineProperty");return t({},"",{}),t}catch(e){}}()},3413:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r="object"==typeof global&&global&&global.Object===Object&&global},2508:(t,e,n)=>{"use strict";n.d(e,{Z:()=>k});var r=n(3234);const i=n(6092).Z["__core-js_shared__"];var o,s=(o=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+o:"";const a=function(t){return!!s&&s in t};var l=n(7226),c=n(19),h=/^\[object .+?Constructor\]$/,u=Function.prototype,d=Object.prototype,p=u.toString,f=d.hasOwnProperty,m=RegExp("^"+p.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const g=function(t){return!(!(0,l.Z)(t)||a(t))&&((0,r.Z)(t)?m:h).test((0,c.Z)(t))};const y=function(t,e){return null==t?void 0:t[e]};const k=function(t,e){var n=y(t,e);return g(n)?n:void 0}},2513:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=(0,n(1851).Z)(Object.getPrototypeOf,Object)},3970:(t,e,n)=>{"use strict";n.d(e,{Z:()=>v});var r=n(2508),i=n(6092);const o=(0,r.Z)(i.Z,"DataView");var s=n(6183);const a=(0,r.Z)(i.Z,"Promise");var l=n(3203);const c=(0,r.Z)(i.Z,"WeakMap");var h=n(3589),u=n(19),d="[object Map]",p="[object Promise]",f="[object Set]",m="[object WeakMap]",g="[object DataView]",y=(0,u.Z)(o),k=(0,u.Z)(s.Z),x=(0,u.Z)(a),_=(0,u.Z)(l.Z),b=(0,u.Z)(c),C=h.Z;(o&&C(new o(new ArrayBuffer(1)))!=g||s.Z&&C(new s.Z)!=d||a&&C(a.resolve())!=p||l.Z&&C(new l.Z)!=f||c&&C(new c)!=m)&&(C=function(t){var e=(0,h.Z)(t),n="[object Object]"==e?t.constructor:void 0,r=n?(0,u.Z)(n):"";if(r)switch(r){case y:return g;case k:return d;case x:return p;case _:return f;case b:return m}return e});const v=C},3658:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(7226),i=Object.create;const o=function(){function t(){}return function(e){if(!(0,r.Z)(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();var s=n(2513),a=n(2764);const l=function(t){return"function"!=typeof t.constructor||(0,a.Z)(t)?{}:o((0,s.Z)(t))}},6009:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=/^(?:0|[1-9]\d*)$/;const i=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&r.test(t))&&t>-1&&t%1==0&&t<e}},439:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(9651),i=n(585),o=n(6009),s=n(7226);const a=function(t,e,n){if(!(0,s.Z)(n))return!1;var a=typeof e;return!!("number"==a?(0,i.Z)(n)&&(0,o.Z)(e,n.length):"string"==a&&e in n)&&(0,r.Z)(n[e],t)}},2764:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=Object.prototype;const i=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||r)}},8351:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(3413),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&"object"==typeof module&&module&&!module.nodeType&&module,s=o&&o.exports===i&&r.Z.process;const a=function(){try{var t=o&&o.require&&o.require("util").types;return t||s&&s.binding&&s.binding("util")}catch(e){}}()},1851:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){return function(n){return t(e(n))}}},1211:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});const r=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)};var i=Math.max;const o=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,s=-1,a=i(o.length-e,0),l=Array(a);++s<a;)l[s]=o[e+s];s=-1;for(var c=Array(e+1);++s<e;)c[s]=o[s];return c[e]=n(l),r(t,this,c)}}},6092:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(3413),i="object"==typeof self&&self&&self.Object===Object&&self;const o=r.Z||i||Function("return this")()},7227:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(2002),i=n(7904),o=n(9203);const s=i.Z?function(t,e){return(0,i.Z)(t,"toString",{configurable:!0,enumerable:!1,value:(0,r.Z)(e),writable:!0})}:o.Z;var a=Date.now;const l=function(t){var e=0,n=0;return function(){var r=a(),i=16-(r-n);if(n=r,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(s)},19:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=Function.prototype.toString;const i=function(t){if(null!=t){try{return r.call(t)}catch(e){}try{return t+""}catch(e){}}return""}},2002:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return function(){return t}}},9651:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t,e){return t===e||t!=t&&e!=e}},9203:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return t}},9169:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var r=n(3589),i=n(8533);const o=function(t){return(0,i.Z)(t)&&"[object Arguments]"==(0,r.Z)(t)};var s=Object.prototype,a=s.hasOwnProperty,l=s.propertyIsEnumerable;const c=o(function(){return arguments}())?o:function(t){return(0,i.Z)(t)&&a.call(t,"callee")&&!l.call(t,"callee")}},7771:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=Array.isArray},585:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(3234),i=n(1656);const o=function(t){return null!=t&&(0,i.Z)(t.length)&&!(0,r.Z)(t)}},836:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(585),i=n(8533);const o=function(t){return(0,i.Z)(t)&&(0,r.Z)(t)}},7008:(t,e,n)=>{"use strict";n.d(e,{Z:()=>l});var r=n(6092);const i=function(){return!1};var o="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=o&&"object"==typeof module&&module&&!module.nodeType&&module,a=s&&s.exports===o?r.Z.Buffer:void 0;const l=(a?a.isBuffer:void 0)||i},9697:(t,e,n)=>{"use strict";n.d(e,{Z:()=>d});var r=n(9473),i=n(3970),o=n(9169),s=n(7771),a=n(585),l=n(7008),c=n(2764),h=n(8843),u=Object.prototype.hasOwnProperty;const d=function(t){if(null==t)return!0;if((0,a.Z)(t)&&((0,s.Z)(t)||"string"==typeof t||"function"==typeof t.splice||(0,l.Z)(t)||(0,h.Z)(t)||(0,o.Z)(t)))return!t.length;var e=(0,i.Z)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,c.Z)(t))return!(0,r.Z)(t).length;for(var n in t)if(u.call(t,n))return!1;return!0}},3234:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(3589),i=n(7226);const o=function(t){if(!(0,i.Z)(t))return!1;var e=(0,r.Z)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1656:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},7226:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},8533:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r=function(t){return null!=t&&"object"==typeof t}},7514:(t,e,n)=>{"use strict";n.d(e,{Z:()=>u});var r=n(3589),i=n(2513),o=n(8533),s=Function.prototype,a=Object.prototype,l=s.toString,c=a.hasOwnProperty,h=l.call(Object);const u=function(t){if(!(0,o.Z)(t)||"[object Object]"!=(0,r.Z)(t))return!1;var e=(0,i.Z)(t);if(null===e)return!0;var n=c.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==h}},8843:(t,e,n)=>{"use strict";n.d(e,{Z:()=>u});var r=n(3589),i=n(1656),o=n(8533),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1;const a=function(t){return(0,o.Z)(t)&&(0,i.Z)(t.length)&&!!s[(0,r.Z)(t)]};var l=n(1162),c=n(8351),h=c.Z&&c.Z.isTypedArray;const u=h?(0,l.Z)(h):a},2957:(t,e,n)=>{"use strict";n.d(e,{Z:()=>h});var r=n(7668),i=n(7226),o=n(2764);const s=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e};var a=Object.prototype.hasOwnProperty;const l=function(t){if(!(0,i.Z)(t))return s(t);var e=(0,o.Z)(t),n=[];for(var r in t)("constructor"!=r||!e&&a.call(t,r))&&n.push(r);return n};var c=n(585);const h=function(t){return(0,c.Z)(t)?(0,r.Z)(t,!0):l(t)}},2454:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var r=n(7834);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=t.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(i.Cache||r.Z),n}i.Cache=r.Z;const o=i},9236:(t,e,n)=>{"use strict";n.d(e,{Z:()=>I});var r=n(1667),i=n(4752),o=n(9651);const s=function(t,e,n){(void 0!==n&&!(0,o.Z)(t[e],n)||void 0===n&&!(e in t))&&(0,i.Z)(t,e,n)};var a=n(1395),l=n(1050),c=n(2701),h=n(7215),u=n(3658),d=n(9169),p=n(7771),f=n(836),m=n(7008),g=n(3234),y=n(7226),k=n(7514),x=n(8843);const _=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};var b=n(5569),C=n(2957);const v=function(t){return(0,b.Z)(t,(0,C.Z)(t))};const T=function(t,e,n,r,i,o,a){var b=_(t,n),C=_(e,n),T=a.get(C);if(T)s(t,n,T);else{var w=o?o(b,C,n+"",t,e,a):void 0,S=void 0===w;if(S){var A=(0,p.Z)(C),I=!A&&(0,m.Z)(C),B=!A&&!I&&(0,x.Z)(C);w=C,A||I||B?(0,p.Z)(b)?w=b:(0,f.Z)(b)?w=(0,h.Z)(b):I?(S=!1,w=(0,l.Z)(C,!0)):B?(S=!1,w=(0,c.Z)(C,!0)):w=[]:(0,k.Z)(C)||(0,d.Z)(C)?(w=b,(0,d.Z)(b)?w=v(b):(0,y.Z)(b)&&!(0,g.Z)(b)||(w=(0,u.Z)(C))):S=!1}S&&(a.set(C,w),i(w,C,r,o,a),a.delete(C)),s(t,n,w)}};const w=function t(e,n,i,o,l){e!==n&&(0,a.Z)(n,(function(a,c){if(l||(l=new r.Z),(0,y.Z)(a))T(e,n,c,i,t,o,l);else{var h=o?o(_(e,c),a,c+"",e,n,l):void 0;void 0===h&&(h=a),s(e,c,h)}}),C.Z)};var S=n(9581),A=n(439);const I=function(t){return(0,S.Z)((function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(i--,o):void 0,s&&(0,A.Z)(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),e=Object(e);++r<i;){var a=n[r];a&&t(e,a,r,o)}return e}))}((function(t,e,n){w(t,e,n)}))},5322:(t,e,n)=>{"use strict";n.d(e,{A:()=>Ot,B:()=>ge,C:()=>me,D:()=>It,E:()=>Ae,F:()=>nr,G:()=>oe,H:()=>ht,I:()=>Fn,J:()=>qi,K:()=>An,L:()=>to,Z:()=>Kt,a:()=>Tn,b:()=>vn,c:()=>En,d:()=>pt,e:()=>bt,f:()=>Vt,g:()=>Cn,h:()=>ue,i:()=>dn,j:()=>he,k:()=>re,l:()=>at,m:()=>gt,n:()=>Qt,o:()=>pn,p:()=>Ln,q:()=>wn,r:()=>Sn,s:()=>bn,t:()=>_n,u:()=>ye,v:()=>yt,w:()=>le,x:()=>se,y:()=>Mn,z:()=>qn});var r=n(8464),i=n(7484),o=n(7967),s=n(4218),a=n(7856),l=n(1610),c=n(3438);const h=(t,e)=>{const n=l.Z.parse(t),r={};for(const i in e)e[i]&&(r[i]=n[i]+e[i]);return(0,c.Z)(t,r)};var u=n(1117);const d=(t,e,n=50)=>{const{r:r,g:i,b:o,a:s}=l.Z.parse(t),{r:a,g:c,b:h,a:d}=l.Z.parse(e),p=n/100,f=2*p-1,m=s-d,g=((f*m==-1?f:(f+m)/(1+f*m))+1)/2,y=1-g,k=r*g+a*y,x=i*g+c*y,_=o*g+h*y,b=s*p+d*(1-p);return(0,u.Z)(k,x,_,b)},p=(t,e=100)=>{const n=l.Z.parse(t);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,d(n,t,e)};var f=n(7201),m=n(2281),g=n(1619),y=n(2454),k=n(9236),x="comm",_="rule",b="decl",C=Math.abs,v=String.fromCharCode;Object.assign;function T(t){return t.trim()}function w(t,e,n){return t.replace(e,n)}function S(t,e){return t.indexOf(e)}function A(t,e){return 0|t.charCodeAt(e)}function I(t,e,n){return t.slice(e,n)}function B(t){return t.length}function E(t,e){return e.push(t),t}function L(t,e){for(var n="",r=0;r<t.length;r++)n+=e(t[r],r,t,e)||"";return n}function F(t,e,n,r){switch(t.type){case"@layer":if(t.children.length)break;case"@import":case b:return t.return=t.return||t.value;case x:return"";case"@keyframes":return t.return=t.value+"{"+L(t.children,r)+"}";case _:if(!B(t.value=t.props.join(",")))return""}return B(n=L(t.children,r))?t.return=t.value+"{"+n+"}":""}var N=1,M=1,j=0,O=0,R=0,D="";function q(t,e,n,r,i,o,s,a){return{value:t,root:e,parent:n,type:r,props:i,children:o,line:N,column:M,length:s,return:"",siblings:a}}function $(){return R=O>0?A(D,--O):0,M--,10===R&&(M=1,N--),R}function P(){return R=O<j?A(D,O++):0,M++,10===R&&(M=1,N++),R}function Z(){return A(D,O)}function z(){return O}function W(t,e){return I(D,t,e)}function U(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function H(t){return N=M=1,j=B(D=t),O=0,[]}function Y(t){return D="",t}function V(t){return T(W(O-1,G(91===t?t+2:40===t?t+1:t)))}function K(t){for(;(R=Z())&&R<33;)P();return U(t)>2||U(R)>3?"":" "}function X(t,e){for(;--e&&P()&&!(R<48||R>102||R>57&&R<65||R>70&&R<97););return W(t,z()+(e<6&&32==Z()&&32==P()))}function G(t){for(;P();)switch(R){case t:return O;case 34:case 39:34!==t&&39!==t&&G(R);break;case 40:41===t&&G(t);break;case 92:P()}return O}function J(t,e){for(;P()&&t+R!==57&&(t+R!==84||47!==Z()););return"/*"+W(e,O-1)+"*"+v(47===t?t:P())}function Q(t){for(;!U(Z());)P();return W(t,O)}function tt(t){return Y(et("",null,null,null,[""],t=H(t),0,[0],t))}function et(t,e,n,r,i,o,s,a,l){for(var c=0,h=0,u=s,d=0,p=0,f=0,m=1,g=1,y=1,k=0,x="",_=i,b=o,C=r,T=x;g;)switch(f=k,k=P()){case 40:if(108!=f&&58==A(T,u-1)){-1!=S(T+=w(V(k),"&","&\f"),"&\f")&&(y=-1);break}case 34:case 39:case 91:T+=V(k);break;case 9:case 10:case 13:case 32:T+=K(f);break;case 92:T+=X(z()-1,7);continue;case 47:switch(Z()){case 42:case 47:E(rt(J(P(),z()),e,n,l),l);break;default:T+="/"}break;case 123*m:a[c++]=B(T)*y;case 125*m:case 59:case 0:switch(k){case 0:case 125:g=0;case 59+h:-1==y&&(T=w(T,/\f/g,"")),p>0&&B(T)-u&&E(p>32?it(T+";",r,n,u-1,l):it(w(T," ","")+";",r,n,u-2,l),l);break;case 59:T+=";";default:if(E(C=nt(T,e,n,c,h,i,a,x,_=[],b=[],u,o),o),123===k)if(0===h)et(T,e,C,C,_,o,u,a,b);else switch(99===d&&110===A(T,3)?100:d){case 100:case 108:case 109:case 115:et(t,C,C,r&&E(nt(t,C,C,0,0,i,a,x,i,_=[],u,b),b),i,b,u,a,r?_:b);break;default:et(T,C,C,C,[""],b,0,a,b)}}c=h=p=0,m=y=1,x=T="",u=s;break;case 58:u=1+B(T),p=f;default:if(m<1)if(123==k)--m;else if(125==k&&0==m++&&125==$())continue;switch(T+=v(k),k*m){case 38:y=h>0?1:(T+="\f",-1);break;case 44:a[c++]=(B(T)-1)*y,y=1;break;case 64:45===Z()&&(T+=V(P())),d=Z(),h=u=B(x=T+=Q(z())),k++;break;case 45:45===f&&2==B(T)&&(m=0)}}return o}function nt(t,e,n,r,i,o,s,a,l,c,h,u){for(var d=i-1,p=0===i?o:[""],f=function(t){return t.length}(p),m=0,g=0,y=0;m<r;++m)for(var k=0,x=I(t,d+1,d=C(g=s[m])),b=t;k<f;++k)(b=T(g>0?p[k]+" "+x:w(x,/&\f/g,p[k])))&&(l[y++]=b);return q(t,e,n,0===i?_:a,l,c,h,u)}function rt(t,e,n,r){return q(t,e,n,x,v(R),I(t,2,-2),0,r)}function it(t,e,n,r,i){return q(t,e,n,b,I(t,0,r),I(t,r+1,-1),r,i)}var ot=n(9697);const st={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},at={trace:(...t)=>{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},lt=function(t="fatal"){let e=st.fatal;"string"==typeof t?(t=t.toLowerCase())in st&&(e=st[t]):"number"==typeof t&&(e=t),at.trace=()=>{},at.debug=()=>{},at.info=()=>{},at.warn=()=>{},at.error=()=>{},at.fatal=()=>{},e<=st.fatal&&(at.fatal=console.error?console.error.bind(console,ct("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",ct("FATAL"))),e<=st.error&&(at.error=console.error?console.error.bind(console,ct("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",ct("ERROR"))),e<=st.warn&&(at.warn=console.warn?console.warn.bind(console,ct("WARN"),"color: orange"):console.log.bind(console,"\x1b[33m",ct("WARN"))),e<=st.info&&(at.info=console.info?console.info.bind(console,ct("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",ct("INFO"))),e<=st.debug&&(at.debug=console.debug?console.debug.bind(console,ct("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",ct("DEBUG"))),e<=st.trace&&(at.trace=console.debug?console.debug.bind(console,ct("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",ct("TRACE")))},ct=t=>`%c${i().format("ss.SSS")} : ${t} : `,ht=/<br\s*\/?>/gi,ut=t=>a.sanitize(t),dt=(t,e)=>{var n;if(!1!==(null==(n=e.flowchart)?void 0:n.htmlLabels)){const n=e.securityLevel;"antiscript"===n||"strict"===n?t=ut(t):"loose"!==n&&(t=(t=(t=mt(t)).replace(/</g,"<").replace(/>/g,">")).replace(/=/g,"="),t=ft(t))}return t},pt=(t,e)=>t?t=e.dompurifyConfig?a.sanitize(dt(t,e),e.dompurifyConfig).toString():a.sanitize(dt(t,e),{FORBID_TAGS:["style"]}).toString():t,ft=t=>t.replace(/#br#/g,"<br/>"),mt=t=>t.replace(ht,"#br#"),gt=t=>!1!==t&&!["false","null","0"].includes(String(t).trim().toLowerCase()),yt=function(t){const e=t.split(/(,)/),n=[];for(let r=0;r<e.length;r++){let t=e[r];if(","===t&&r>0&&r+1<e.length){const i=e[r-1],o=e[r+1];xt(i,o)&&(t=i+","+o,r++,n.pop())}n.push(_t(t))}return n.join("")},kt=(t,e)=>Math.max(0,t.split(e).length-1),xt=(t,e)=>{const n=kt(t,"~"),r=kt(e,"~");return 1===n&&1===r},_t=t=>{const e=kt(t,"~");let n=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),n=!0);const r=[...t];let i=r.indexOf("~"),o=r.lastIndexOf("~");for(;-1!==i&&-1!==o&&i!==o;)r[i]="<",r[o]=">",i=r.indexOf("~"),o=r.lastIndexOf("~");return n&&r.unshift("~"),r.join("")},bt={getRows:t=>{if(!t)return[""];return mt(t).replace(/\\n/g,"#br#").split("#br#")},sanitizeText:pt,sanitizeTextOrArray:(t,e)=>"string"==typeof t?pt(t,e):t.flat().map((t=>pt(t,e))),hasBreaks:t=>ht.test(t),splitBreaks:t=>t.split(ht),lineBreakRegex:ht,removeScript:ut,getUrl:t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},evaluate:gt,getMax:function(...t){const e=t.filter((t=>!isNaN(t)));return Math.max(...e)},getMin:function(...t){const e=t.filter((t=>!isNaN(t)));return Math.min(...e)}},Ct=(t,e)=>h(t,e?{s:-40,l:10}:{s:-40,l:-10}),vt="#ffffff",Tt="#f2f2f2";let wt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||h(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||h(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Ct(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Ct(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||p(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||p(this.tertiaryColor),this.lineColor=this.lineColor||p(this.background),this.arrowheadColor=this.arrowheadColor||p(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,f.Z)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,f.Z)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||p(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,m.Z)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||h(this.primaryColor,{h:30}),this.cScale4=this.cScale4||h(this.primaryColor,{h:60}),this.cScale5=this.cScale5||h(this.primaryColor,{h:90}),this.cScale6=this.cScale6||h(this.primaryColor,{h:120}),this.cScale7=this.cScale7||h(this.primaryColor,{h:150}),this.cScale8=this.cScale8||h(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||h(this.primaryColor,{h:270}),this.cScale10=this.cScale10||h(this.primaryColor,{h:300}),this.cScale11=this.cScale11||h(this.primaryColor,{h:330}),this.darkMode)for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScale"+h]=(0,f.Z)(this["cScale"+h],75);else for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScale"+h]=(0,f.Z)(this["cScale"+h],25);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleInv"+h]=this["cScaleInv"+h]||p(this["cScale"+h]);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this.darkMode?this["cScalePeer"+h]=this["cScalePeer"+h]||(0,m.Z)(this["cScale"+h],10):this["cScalePeer"+h]=this["cScalePeer"+h]||(0,f.Z)(this["cScale"+h],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleLabel"+h]=this["cScaleLabel"+h]||this.scaleLabelColor;const d=this.darkMode?-4:-1;for(let p=0;p<5;p++)this["surface"+p]=this["surface"+p]||h(this.mainBkg,{h:180,s:-15,l:d*(5+3*p)}),this["surfacePeer"+p]=this["surfacePeer"+p]||h(this.mainBkg,{h:180,s:-15,l:d*(8+3*p)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||h(this.primaryColor,{h:64}),this.fillType3=this.fillType3||h(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||h(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||h(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||h(this.primaryColor,{h:128}),this.fillType7=this.fillType7||h(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||h(this.primaryColor,{l:-10}),this.pie5=this.pie5||h(this.secondaryColor,{l:-10}),this.pie6=this.pie6||h(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||h(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||h(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||h(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||h(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||h(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||h(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,f.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||h(this.primaryColor,{h:-30}),this.git4=this.git4||h(this.primaryColor,{h:-60}),this.git5=this.git5||h(this.primaryColor,{h:-90}),this.git6=this.git6||h(this.primaryColor,{h:60}),this.git7=this.git7||h(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,m.Z)(this.git0,25),this.git1=(0,m.Z)(this.git1,25),this.git2=(0,m.Z)(this.git2,25),this.git3=(0,m.Z)(this.git3,25),this.git4=(0,m.Z)(this.git4,25),this.git5=(0,m.Z)(this.git5,25),this.git6=(0,m.Z)(this.git6,25),this.git7=(0,m.Z)(this.git7,25)):(this.git0=(0,f.Z)(this.git0,25),this.git1=(0,f.Z)(this.git1,25),this.git2=(0,f.Z)(this.git2,25),this.git3=(0,f.Z)(this.git3,25),this.git4=(0,f.Z)(this.git4,25),this.git5=(0,f.Z)(this.git5,25),this.git6=(0,f.Z)(this.git6,25),this.git7=(0,f.Z)(this.git7,25)),this.gitInv0=this.gitInv0||p(this.git0),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||vt,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Tt}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};let St=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,m.Z)(this.primaryColor,16),this.tertiaryColor=h(this.primaryColor,{h:-160}),this.primaryBorderColor=p(this.background),this.secondaryBorderColor=Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=p(this.primaryColor),this.secondaryTextColor=p(this.secondaryColor),this.tertiaryTextColor=p(this.tertiaryColor),this.lineColor=p(this.background),this.textColor=p(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,m.Z)(p("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=(0,u.Z)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=(0,f.Z)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=(0,f.Z)(this.sectionBkgColor,10),this.taskBorderColor=(0,u.Z)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,u.Z)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;this.secondBkg=(0,m.Z)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=(0,m.Z)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=(0,m.Z)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=h(this.primaryColor,{h:64}),this.fillType3=h(this.secondaryColor,{h:64}),this.fillType4=h(this.primaryColor,{h:-64}),this.fillType5=h(this.secondaryColor,{h:-64}),this.fillType6=h(this.primaryColor,{h:128}),this.fillType7=h(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||h(this.primaryColor,{h:30}),this.cScale4=this.cScale4||h(this.primaryColor,{h:60}),this.cScale5=this.cScale5||h(this.primaryColor,{h:90}),this.cScale6=this.cScale6||h(this.primaryColor,{h:120}),this.cScale7=this.cScale7||h(this.primaryColor,{h:150}),this.cScale8=this.cScale8||h(this.primaryColor,{h:210}),this.cScale9=this.cScale9||h(this.primaryColor,{h:270}),this.cScale10=this.cScale10||h(this.primaryColor,{h:300}),this.cScale11=this.cScale11||h(this.primaryColor,{h:330});for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleInv"+h]=this["cScaleInv"+h]||p(this["cScale"+h]);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScalePeer"+h]=this["cScalePeer"+h]||(0,m.Z)(this["cScale"+h],10);for(let d=0;d<5;d++)this["surface"+d]=this["surface"+d]||h(this.mainBkg,{h:30,s:-30,l:-(4*d-10)}),this["surfacePeer"+d]=this["surfacePeer"+d]||h(this.mainBkg,{h:30,s:-30,l:-(4*d-7)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleLabel"+h]=this["cScaleLabel"+h]||this.scaleLabelColor;for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["pie"+h]=this["cScale"+h];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,f.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,m.Z)(this.secondaryColor,20),this.git1=(0,m.Z)(this.pie2||this.secondaryColor,20),this.git2=(0,m.Z)(this.pie3||this.tertiaryColor,20),this.git3=(0,m.Z)(this.pie4||h(this.primaryColor,{h:-30}),20),this.git4=(0,m.Z)(this.pie5||h(this.primaryColor,{h:-60}),20),this.git5=(0,m.Z)(this.pie6||h(this.primaryColor,{h:-90}),10),this.git6=(0,m.Z)(this.pie7||h(this.primaryColor,{h:60}),10),this.git7=(0,m.Z)(this.pie8||h(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||p(this.git0),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||p(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||p(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||(0,m.Z)(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||(0,m.Z)(this.background,2)}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};let At=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=h(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=h(this.primaryColor,{h:-160}),this.primaryBorderColor=Ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=p(this.primaryColor),this.secondaryTextColor=p(this.secondaryColor),this.tertiaryTextColor=p(this.tertiaryColor),this.lineColor=p(this.background),this.textColor=p(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=(0,u.Z)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||h(this.primaryColor,{h:30}),this.cScale4=this.cScale4||h(this.primaryColor,{h:60}),this.cScale5=this.cScale5||h(this.primaryColor,{h:90}),this.cScale6=this.cScale6||h(this.primaryColor,{h:120}),this.cScale7=this.cScale7||h(this.primaryColor,{h:150}),this.cScale8=this.cScale8||h(this.primaryColor,{h:210}),this.cScale9=this.cScale9||h(this.primaryColor,{h:270}),this.cScale10=this.cScale10||h(this.primaryColor,{h:300}),this.cScale11=this.cScale11||h(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,f.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,f.Z)(this.tertiaryColor,40);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScale"+h]=(0,f.Z)(this["cScale"+h],10),this["cScalePeer"+h]=this["cScalePeer"+h]||(0,f.Z)(this["cScale"+h],25);for(let d=0;d<this.THEME_COLOR_LIMIT;d++)this["cScaleInv"+d]=this["cScaleInv"+d]||h(this["cScale"+d],{h:180});for(let d=0;d<5;d++)this["surface"+d]=this["surface"+d]||h(this.mainBkg,{h:30,l:-(5+5*d)}),this["surfacePeer"+d]=this["surfacePeer"+d]||h(this.mainBkg,{h:30,l:-(7+5*d)});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||p(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||p(this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=(0,m.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=h(this.primaryColor,{h:64}),this.fillType3=h(this.secondaryColor,{h:64}),this.fillType4=h(this.primaryColor,{h:-64}),this.fillType5=h(this.secondaryColor,{h:-64}),this.fillType6=h(this.primaryColor,{h:128}),this.fillType7=h(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||h(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||h(this.primaryColor,{l:-10}),this.pie5=this.pie5||h(this.secondaryColor,{l:-30}),this.pie6=this.pie6||h(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||h(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||h(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||h(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||h(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||h(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||h(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||h(this.primaryColor,{h:-30}),this.git4=this.git4||h(this.primaryColor,{h:-60}),this.git5=this.git5||h(this.primaryColor,{h:-90}),this.git6=this.git6||h(this.primaryColor,{h:60}),this.git7=this.git7||h(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,m.Z)(this.git0,25),this.git1=(0,m.Z)(this.git1,25),this.git2=(0,m.Z)(this.git2,25),this.git3=(0,m.Z)(this.git3,25),this.git4=(0,m.Z)(this.git4,25),this.git5=(0,m.Z)(this.git5,25),this.git6=(0,m.Z)(this.git6,25),this.git7=(0,m.Z)(this.git7,25)):(this.git0=(0,f.Z)(this.git0,25),this.git1=(0,f.Z)(this.git1,25),this.git2=(0,f.Z)(this.git2,25),this.git3=(0,f.Z)(this.git3,25),this.git4=(0,f.Z)(this.git4,25),this.git5=(0,f.Z)(this.git5,25),this.git6=(0,f.Z)(this.git6,25),this.git7=(0,f.Z)(this.git7,25)),this.gitInv0=this.gitInv0||(0,f.Z)(p(this.git0),25),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||p(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||p(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||vt,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Tt}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};const It=t=>{const e=new At;return e.calculate(t),e};let Bt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=(0,m.Z)("#cde498",10),this.primaryBorderColor=Ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=p(this.primaryColor),this.secondaryTextColor=p(this.secondaryColor),this.tertiaryTextColor=p(this.primaryColor),this.lineColor=p(this.background),this.textColor=p(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;this.actorBorder=(0,f.Z)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||h(this.primaryColor,{h:30}),this.cScale4=this.cScale4||h(this.primaryColor,{h:60}),this.cScale5=this.cScale5||h(this.primaryColor,{h:90}),this.cScale6=this.cScale6||h(this.primaryColor,{h:120}),this.cScale7=this.cScale7||h(this.primaryColor,{h:150}),this.cScale8=this.cScale8||h(this.primaryColor,{h:210}),this.cScale9=this.cScale9||h(this.primaryColor,{h:270}),this.cScale10=this.cScale10||h(this.primaryColor,{h:300}),this.cScale11=this.cScale11||h(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,f.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,f.Z)(this.tertiaryColor,40);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScale"+h]=(0,f.Z)(this["cScale"+h],10),this["cScalePeer"+h]=this["cScalePeer"+h]||(0,f.Z)(this["cScale"+h],25);for(let d=0;d<this.THEME_COLOR_LIMIT;d++)this["cScaleInv"+d]=this["cScaleInv"+d]||h(this["cScale"+d],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleLabel"+h]=this["cScaleLabel"+h]||this.scaleLabelColor;for(let d=0;d<5;d++)this["surface"+d]=this["surface"+d]||h(this.mainBkg,{h:30,s:-30,l:-(5+5*d)}),this["surfacePeer"+d]=this["surfacePeer"+d]||h(this.mainBkg,{h:30,s:-30,l:-(8+5*d)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=h(this.primaryColor,{h:64}),this.fillType3=h(this.secondaryColor,{h:64}),this.fillType4=h(this.primaryColor,{h:-64}),this.fillType5=h(this.secondaryColor,{h:-64}),this.fillType6=h(this.primaryColor,{h:128}),this.fillType7=h(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||h(this.primaryColor,{l:-30}),this.pie5=this.pie5||h(this.secondaryColor,{l:-30}),this.pie6=this.pie6||h(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||h(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||h(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||h(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||h(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||h(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||h(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||h(this.primaryColor,{h:-30}),this.git4=this.git4||h(this.primaryColor,{h:-60}),this.git5=this.git5||h(this.primaryColor,{h:-90}),this.git6=this.git6||h(this.primaryColor,{h:60}),this.git7=this.git7||h(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,m.Z)(this.git0,25),this.git1=(0,m.Z)(this.git1,25),this.git2=(0,m.Z)(this.git2,25),this.git3=(0,m.Z)(this.git3,25),this.git4=(0,m.Z)(this.git4,25),this.git5=(0,m.Z)(this.git5,25),this.git6=(0,m.Z)(this.git6,25),this.git7=(0,m.Z)(this.git7,25)):(this.git0=(0,f.Z)(this.git0,25),this.git1=(0,f.Z)(this.git1,25),this.git2=(0,f.Z)(this.git2,25),this.git3=(0,f.Z)(this.git3,25),this.git4=(0,f.Z)(this.git4,25),this.git5=(0,f.Z)(this.git5,25),this.git6=(0,f.Z)(this.git6,25),this.git7=(0,f.Z)(this.git7,25)),this.gitInv0=this.gitInv0||p(this.git0),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||p(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||p(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||vt,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Tt}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};class Et{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,m.Z)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=h(this.primaryColor,{h:-160}),this.primaryBorderColor=Ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=p(this.primaryColor),this.secondaryTextColor=p(this.secondaryColor),this.tertiaryTextColor=p(this.tertiaryColor),this.lineColor=p(this.background),this.textColor=p(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,e,n,r,i,o,s,a,l,c,u;this.secondBkg=(0,m.Z)(this.contrast,55),this.border2=this.contrast,this.actorBorder=(0,m.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleInv"+h]=this["cScaleInv"+h]||p(this["cScale"+h]);for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this.darkMode?this["cScalePeer"+h]=this["cScalePeer"+h]||(0,m.Z)(this["cScale"+h],10):this["cScalePeer"+h]=this["cScalePeer"+h]||(0,f.Z)(this["cScale"+h],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["cScaleLabel"+h]=this["cScaleLabel"+h]||this.scaleLabelColor;for(let d=0;d<5;d++)this["surface"+d]=this["surface"+d]||h(this.mainBkg,{l:-(5+5*d)}),this["surfacePeer"+d]=this["surfacePeer"+d]||h(this.mainBkg,{l:-(8+5*d)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=(0,m.Z)(this.contrast,30),this.sectionBkgColor2=(0,m.Z)(this.contrast,30),this.taskBorderColor=(0,f.Z)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=(0,m.Z)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=(0,f.Z)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=h(this.primaryColor,{h:64}),this.fillType3=h(this.secondaryColor,{h:64}),this.fillType4=h(this.primaryColor,{h:-64}),this.fillType5=h(this.secondaryColor,{h:-64}),this.fillType6=h(this.primaryColor,{h:128}),this.fillType7=h(this.secondaryColor,{h:128});for(let h=0;h<this.THEME_COLOR_LIMIT;h++)this["pie"+h]=this["cScale"+h];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||h(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||h(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||h(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||h(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||h(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||h(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,g.Z)(this.quadrant1Fill)?(0,m.Z)(this.quadrant1Fill):(0,f.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(n=this.xyChart)?void 0:n.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(i=this.xyChart)?void 0:i.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(o=this.xyChart)?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(s=this.xyChart)?void 0:s.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(a=this.xyChart)?void 0:a.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(l=this.xyChart)?void 0:l.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(c=this.xyChart)?void 0:c.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(u=this.xyChart)?void 0:u.plotColorPalette)||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,f.Z)(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||h(this.primaryColor,{h:-30}),this.git4=this.pie5||h(this.primaryColor,{h:-60}),this.git5=this.pie6||h(this.primaryColor,{h:-90}),this.git6=this.pie7||h(this.primaryColor,{h:60}),this.git7=this.pie8||h(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||p(this.git0),this.gitInv1=this.gitInv1||p(this.git1),this.gitInv2=this.gitInv2||p(this.git2),this.gitInv3=this.gitInv3||p(this.git3),this.gitInv4=this.gitInv4||p(this.git4),this.gitInv5=this.gitInv5||p(this.git5),this.gitInv6=this.gitInv6||p(this.git6),this.gitInv7=this.gitInv7||p(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||vt,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Tt}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}}const Lt={base:{getThemeVariables:t=>{const e=new wt;return e.calculate(t),e}},dark:{getThemeVariables:t=>{const e=new St;return e.calculate(t),e}},default:{getThemeVariables:It},forest:{getThemeVariables:t=>{const e=new Bt;return e.calculate(t),e}},neutral:{getThemeVariables:t=>{const e=new Et;return e.calculate(t),e}}},Ft={flowchart:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},theme:"default",maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,fontSize:16},Nt={...Ft,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Lt.default.getThemeVariables(),sequence:{...Ft.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...Ft.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Ft.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...Ft.pie,useWidth:984},xyChart:{...Ft.xyChart,useWidth:void 0},requirement:{...Ft.requirement,useWidth:void 0},gitGraph:{...Ft.gitGraph,useMaxWidth:!1},sankey:{...Ft.sankey,useMaxWidth:!1}},Mt=(t,e="")=>Object.keys(t).reduce(((n,r)=>Array.isArray(t[r])?n:"object"==typeof t[r]&&null!==t[r]?[...n,e+r,...Mt(t[r],"")]:[...n,e+r]),[]),jt=new Set(Mt(Nt,"")),Ot=Nt,Rt=t=>{if(at.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t)if(Array.isArray(t))t.forEach((t=>Rt(t)));else{for(const e of Object.keys(t)){if(at.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!jt.has(e)||null==t[e]){at.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){at.debug("sanitizing object",e),Rt(t[e]);continue}const n=["themeCSS","fontFamily","altFontFamily"];for(const r of n)e.includes(r)&&(at.debug("sanitizing css option",e),t[e]=Dt(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const n=t.themeVariables[e];(null==n?void 0:n.match)&&!n.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}at.debug("After sanitization",t)}},Dt=t=>{let e=0,n=0;for(const r of t){if(e<n)return"{ /* ERROR: Unbalanced CSS */ }";"{"===r?e++:"}"===r&&n++}return e!==n?"{ /* ERROR: Unbalanced CSS */ }":t},qt=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,$t=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Pt=/\s*%%.*\n/gm;class Zt extends Error{constructor(t){super(t),this.name="UnknownDiagramError"}}const zt={},Wt=function(t,e){t=t.replace(qt,"").replace($t,"").replace(Pt,"\n");for(const[n,{detector:r}]of Object.entries(zt)){if(r(t,e))return n}throw new Zt(`No diagram type detected matching given configuration for text: ${t}`)},Ut=(...t)=>{for(const{id:e,detector:n,loader:r}of t)Ht(e,n,r)},Ht=(t,e,n)=>{zt[t]?at.error(`Detector with key ${t} already exists`):zt[t]={detector:e,loader:n},at.debug(`Detector with key ${t} added${n?" with loader":""}`)},Yt=(t,e,{depth:n=2,clobber:r=!1}={})=>{const i={depth:n,clobber:r};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach((e=>Yt(t,e,i))),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach((e=>{t.includes(e)||t.push(e)})),t):void 0===t||n<=0?null!=t&&"object"==typeof t&&"object"==typeof e?Object.assign(t,e):e:(void 0!==e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).forEach((i=>{"object"!=typeof e[i]||void 0!==t[i]&&"object"!=typeof t[i]?(r||"object"!=typeof t[i]&&"object"!=typeof e[i])&&(t[i]=e[i]):(void 0===t[i]&&(t[i]=Array.isArray(e[i])?[]:{}),t[i]=Yt(t[i],e[i],{depth:n-1,clobber:r}))})),t)},Vt=Yt,Kt="\u200b",Xt={curveBasis:s.$0Z,curveBasisClosed:s.Dts,curveBasisOpen:s.WQY,curveBumpX:s.qpX,curveBumpY:s.u93,curveBundle:s.tFB,curveCardinalClosed:s.OvA,curveCardinalOpen:s.dCK,curveCardinal:s.YY7,curveCatmullRomClosed:s.fGX,curveCatmullRomOpen:s.$m7,curveCatmullRom:s.zgE,curveLinear:s.c_6,curveLinearClosed:s.fxm,curveMonotoneX:s.FdL,curveMonotoneY:s.ak_,curveNatural:s.SxZ,curveStep:s.eA_,curveStepAfter:s.jsv,curveStepBefore:s.iJ},Gt=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Jt=function(t,e=null){try{const n=new RegExp(`[%]{2}(?![{]${Gt.source})(?=[}][%]{2}).*\n`,"ig");let r;t=t.trim().replace(n,"").replace(/'/gm,'"'),at.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);const i=[];for(;null!==(r=$t.exec(t));)if(r.index===$t.lastIndex&&$t.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const t=r[1]?r[1]:r[2],e=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;i.push({type:t,args:e})}return 0===i.length?{type:t,args:null}:1===i.length?i[0]:i}catch(n){return at.error(`ERROR: ${n.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}};function Qt(t,e){if(!t)return e;const n=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return Xt[n]??e}function te(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}const ee=(t,e=2)=>{const n=Math.pow(10,e);return Math.round(t*n)/n},ne=(t,e)=>{let n,r=e;for(const i of t){if(n){const t=te(i,n);if(t<r)r-=t;else{const e=r/t;if(e<=0)return n;if(e>=1)return{x:i.x,y:i.y};if(e>0&&e<1)return{x:ee((1-e)*n.x+e*i.x,5),y:ee((1-e)*n.y+e*i.y,5)}}}n=i}throw new Error("Could not find a suitable point for the given distance")};function re(t){let e="",n="";for(const r of t)void 0!==r&&(r.startsWith("color:")||r.startsWith("text-align:")?n=n+r+";":e=e+r+";");return{style:e,labelStyle:n}}let ie=0;const oe=()=>(ie++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ie);const se=t=>function(t){let e="";const n="0123456789abcdef";for(let r=0;r<t;r++)e+=n.charAt(Math.floor(16*Math.random()));return e}(t.length),ae=function(t,e){const n=e.text.replace(bt.lineBreakRegex," "),[,r]=me(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",r),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);const o=i.append("tspan");return o.attr("x",e.x+2*e.textMargin),o.attr("fill",e.fill),o.text(n),i},le=(0,y.Z)(((t,e,n)=>{if(!t)return t;if(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},n),bt.lineBreakRegex.test(t))return t;const r=t.split(" "),i=[];let o="";return r.forEach(((t,s)=>{const a=ue(`${t} `,n),l=ue(o,n);if(a>e){const{hyphenatedStrings:r,remainingWord:s}=ce(t,e,"-",n);i.push(o,...r),o=s}else l+a>=e?(i.push(o),o=t):o=[o,t].filter(Boolean).join(" ");s+1===r.length&&i.push(o)})),i.filter((t=>""!==t)).join(n.joinWith)}),((t,e,n)=>`${t}${e}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}`)),ce=(0,y.Z)(((t,e,n="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const i=[...t],o=[];let s="";return i.forEach(((t,a)=>{const l=`${s}${t}`;if(ue(l,r)>=e){const t=a+1,e=i.length===t,r=`${l}${n}`;o.push(e?l:r),s=""}else s=l})),{hyphenatedStrings:o,remainingWord:s}}),((t,e,n="-",r)=>`${t}${e}${n}${r.fontSize}${r.fontWeight}${r.fontFamily}`));function he(t,e){return de(t,e).height}function ue(t,e){return de(t,e).width}const de=(0,y.Z)(((t,e)=>{const{fontSize:n=12,fontFamily:r="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,o]=me(n),a=["sans-serif",r],l=t.split(bt.lineBreakRegex),c=[],h=(0,s.Ys)("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const u=h.append("svg");for(const s of a){let t=0;const e={width:0,height:0,lineHeight:0};for(const n of l){const r={x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""};r.text=n||Kt;const a=ae(u,r).style("font-size",o).style("font-weight",i).style("font-family",s),l=(a._groups||a)[0][0].getBBox();if(0===l.width&&0===l.height)throw new Error("svg element not in render tree");e.width=Math.round(Math.max(e.width,l.width)),t=Math.round(l.height),e.height+=t,e.lineHeight=Math.round(Math.max(e.lineHeight,t))}c.push(e)}u.remove();return c[isNaN(c[1].height)||isNaN(c[1].width)||isNaN(c[1].lineHeight)||c[0].height>c[1].height&&c[0].width>c[1].width&&c[0].lineHeight>c[1].lineHeight?0:1]}),((t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`));let pe;function fe(t){return"str"in t}const me=t=>{if("number"==typeof t)return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]};function ge(t,e){return(0,k.Z)({},t,e)}const ye={assignWithDepth:Vt,wrapLabel:le,calculateTextHeight:he,calculateTextWidth:ue,calculateTextDimensions:de,cleanAndMerge:ge,detectInit:function(t,e){const n=Jt(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(n)){const t=n.map((t=>t.args));Rt(t),r=Vt(r,[...t])}else r=n.args;if(!r)return;let i=Wt(t,e);const o="config";return void 0!==r[o]&&("flowchart-v2"===i&&(i="flowchart"),r[i]=r[o],delete r[o]),r},detectDirective:Jt,isSubstringInArray:function(t,e){for(const[n,r]of e.entries())if(r.match(t))return n;return-1},interpolateToCurve:Qt,calcLabelPosition:function(t){return 1===t.length?t[0]:function(t){let e,n=0;return t.forEach((t=>{n+=te(t,e),e=t})),ne(t,n/2)}(t)},calcCardinalityPosition:(t,e,n)=>{at.info(`our points ${JSON.stringify(e)}`),e[0]!==n&&(e=e.reverse());const r=ne(e,25),i=t?10:5,o=Math.atan2(e[0].y-r.y,e[0].x-r.x),s={x:0,y:0};return s.x=Math.sin(o)*i+(e[0].x+r.x)/2,s.y=-Math.cos(o)*i+(e[0].y+r.y)/2,s},calcTerminalLabelPosition:function(t,e,n){const r=structuredClone(n);at.info("our points",r),"start_left"!==e&&"start_right"!==e&&r.reverse();const i=ne(r,25+t),o=10+.5*t,s=Math.atan2(r[0].y-i.y,r[0].x-i.x),a={x:0,y:0};return"start_left"===e?(a.x=Math.sin(s+Math.PI)*o+(r[0].x+i.x)/2,a.y=-Math.cos(s+Math.PI)*o+(r[0].y+i.y)/2):"end_right"===e?(a.x=Math.sin(s-Math.PI)*o+(r[0].x+i.x)/2-5,a.y=-Math.cos(s-Math.PI)*o+(r[0].y+i.y)/2-5):"end_left"===e?(a.x=Math.sin(s)*o+(r[0].x+i.x)/2-5,a.y=-Math.cos(s)*o+(r[0].y+i.y)/2-5):(a.x=Math.sin(s)*o+(r[0].x+i.x)/2,a.y=-Math.cos(s)*o+(r[0].y+i.y)/2),a},formatUrl:function(t,e){const n=t.trim();if(n)return"loose"!==e.securityLevel?(0,o.Nm)(n):n},getStylesFromArray:re,generateId:oe,random:se,runFunc:(t,...e)=>{const n=t.split("."),r=n.length-1,i=n[r];let o=window;for(let s=0;s<r;s++)if(o=o[n[s]],!o)return void at.error(`Function name: ${t} not found in window`);o[i](...e)},entityDecode:function(t){return pe=pe||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),pe.innerHTML=t,unescape(pe.textContent)},insertTitle:(t,e,n,r)=>{var i;if(!r)return;const o=null==(i=t.node())?void 0:i.getBBox();o&&t.append("text").text(r).attr("x",o.x+o.width/2).attr("y",-n).attr("class",e)},parseFontSize:me,InitIDGenerator:class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}}},ke="10.6.1",xe=Object.freeze(Ot);let _e,be=Vt({},xe),Ce=[],ve=Vt({},xe);const Te=(t,e)=>{let n=Vt({},t),r={};for(const i of e)Ie(i),r=Vt(r,i);if(n=Vt(n,r),r.theme&&r.theme in Lt){const t=Vt({},_e),e=Vt(t.themeVariables||{},r.themeVariables);n.theme&&n.theme in Lt&&(n.themeVariables=Lt[n.theme].getThemeVariables(e))}return ve=n,Ne(ve),ve},we=()=>Vt({},be),Se=t=>(Ne(t),Vt(ve,t),Ae()),Ae=()=>Vt({},ve),Ie=t=>{t&&(["secure",...be.secure??[]].forEach((e=>{Object.hasOwn(t,e)&&(at.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])})),Object.keys(t).forEach((e=>{e.startsWith("__")&&delete t[e]})),Object.keys(t).forEach((e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&Ie(t[e])})))},Be=t=>{Rt(t),!t.fontFamily||t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily}),Ce.push(t),Te(be,Ce)},Ee=(t=be)=>{Ce=[],Te(t,Ce)},Le={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Fe={},Ne=t=>{var e;t&&((t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&(Fe[e="LAZY_LOAD_DEPRECATED"]||(at.warn(Le[e]),Fe[e]=!0)))},Me={id:"c4",detector:t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),loader:async()=>{const{diagram:t}=await n.e(132).then(n.bind(n,132));return{id:"c4",diagram:t}}},je="flowchart",Oe={id:je,detector:(t,e)=>{var n,r;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer)&&"elk"!==(null==(r=null==e?void 0:e.flowchart)?void 0:r.defaultRenderer)&&/^\s*graph/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(9840),n.e(5269),n.e(7936),n.e(8955),n.e(1763)]).then(n.bind(n,1763));return{id:je,diagram:t}}},Re="flowchart-v2",De={id:Re,detector:(t,e)=>{var n,r,i;return"dagre-d3"!==(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer)&&"elk"!==(null==(r=null==e?void 0:e.flowchart)?void 0:r.defaultRenderer)&&(!(!/^\s*graph/.test(t)||"dagre-wrapper"!==(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer))||/^\s*flowchart/.test(t))},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(9840),n.e(5269),n.e(7936),n.e(8955),n.e(9893)]).then(n.bind(n,9893));return{id:Re,diagram:t}}},qe={id:"er",detector:t=>/^\s*erDiagram/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(3343)]).then(n.bind(n,3343));return{id:"er",diagram:t}}},$e="gitGraph",Pe={id:$e,detector:t=>/^\s*gitGraph/.test(t),loader:async()=>{const{diagram:t}=await n.e(3619).then(n.bind(n,3619));return{id:$e,diagram:t}}},Ze="gantt",ze={id:Ze,detector:t=>/^\s*gantt/.test(t),loader:async()=>{const{diagram:t}=await n.e(8016).then(n.bind(n,8016));return{id:Ze,diagram:t}}},We="info",Ue={id:We,detector:t=>/^\s*info/.test(t),loader:async()=>{const{diagram:t}=await n.e(5326).then(n.bind(n,5326));return{id:We,diagram:t}}},He={id:"pie",detector:t=>/^\s*pie/.test(t),loader:async()=>{const{diagram:t}=await n.e(2661).then(n.bind(n,2661));return{id:"pie",diagram:t}}},Ye="quadrantChart",Ve={id:Ye,detector:t=>/^\s*quadrantChart/.test(t),loader:async()=>{const{diagram:t}=await n.e(6648).then(n.bind(n,6648));return{id:Ye,diagram:t}}},Ke="xychart",Xe={id:Ke,detector:t=>/^\s*xychart-beta/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([n.e(9840),n.e(2693)]).then(n.bind(n,8088));return{id:Ke,diagram:t}}},Ge="requirement",Je={id:Ge,detector:t=>/^\s*requirement(Diagram)?/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(6985)]).then(n.bind(n,6985));return{id:Ge,diagram:t}}},Qe="sequence",tn={id:Qe,detector:t=>/^\s*sequenceDiagram/.test(t),loader:async()=>{const{diagram:t}=await n.e(5790).then(n.bind(n,5790));return{id:Qe,diagram:t}}},en="class",nn={id:en,detector:(t,e)=>{var n;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.class)?void 0:n.defaultRenderer)&&/^\s*classDiagram/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(4706),n.e(109)]).then(n.bind(n,109));return{id:en,diagram:t}}},rn="classDiagram",on={id:rn,detector:(t,e)=>{var n;return!(!/^\s*classDiagram/.test(t)||"dagre-wrapper"!==(null==(n=null==e?void 0:e.class)?void 0:n.defaultRenderer))||/^\s*classDiagram-v2/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(9840),n.e(5269),n.e(7936),n.e(4706),n.e(6255)]).then(n.bind(n,6255));return{id:rn,diagram:t}}},sn="state",an={id:sn,detector:(t,e)=>{var n;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer)&&/^\s*stateDiagram/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(1504),n.e(2696)]).then(n.bind(n,2696));return{id:sn,diagram:t}}},ln="stateDiagram",cn={id:ln,detector:(t,e)=>{var n;return!!/^\s*stateDiagram-v2/.test(t)||!(!/^\s*stateDiagram/.test(t)||"dagre-wrapper"!==(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.all([n.e(1644),n.e(9840),n.e(5269),n.e(7936),n.e(1504),n.e(5943)]).then(n.bind(n,5943));return{id:ln,diagram:t}}},hn="journey",un={id:hn,detector:t=>/^\s*journey/.test(t),loader:async()=>{const{diagram:t}=await n.e(2183).then(n.bind(n,2183));return{id:hn,diagram:t}}},dn=function(t,e,n,r){const i=function(t,e,n){let r=new Map;return n?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r}(e,n,r);!function(t,e){for(let n of e)t.attr(n[0],n[1])}(t,i)},pn=function(t,e,n,r){const i=e.node().getBBox(),o=i.width,s=i.height;at.info(`SVG bounds: ${o}x${s}`,i);let a=0,l=0;at.info(`Graph bounds: ${a}x${l}`,t),a=o+2*n,l=s+2*n,at.info(`Calculated bounds: ${a}x${l}`),dn(e,l,a,r);const c=`${i.x-n} ${i.y-n} ${i.width+2*n} ${i.height+2*n}`;e.attr("viewBox",c)},fn={},mn=(t,e,n)=>{let r="";return t in fn&&fn[t]?r=fn[t](n):at.warn(`No theme found for ${t}`),` & {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n fill: ${n.textColor}\n }\n\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${n.errorBkgColor};\n }\n & .error-text {\n fill: ${n.errorTextColor};\n stroke: ${n.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 2px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${n.lineColor};\n stroke: ${n.lineColor};\n }\n & .marker.cross {\n stroke: ${n.lineColor};\n }\n\n & svg {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n }\n\n ${r}\n\n ${e}\n`};let gn="",yn="",kn="";const xn=t=>pt(t,Ae()),_n=()=>{gn="",kn="",yn=""},bn=t=>{gn=xn(t).replace(/^\s+/g,"")},Cn=()=>gn,vn=t=>{kn=xn(t).replace(/\n\s+/g,"\n")},Tn=()=>kn,wn=t=>{yn=xn(t)},Sn=()=>yn,An=Object.freeze(Object.defineProperty({__proto__:null,clear:_n,getAccDescription:Tn,getAccTitle:Cn,getDiagramTitle:Sn,setAccDescription:vn,setAccTitle:bn,setDiagramTitle:wn},Symbol.toStringTag,{value:"Module"})),In=at,Bn=lt,En=Ae,Ln=Se,Fn=xe,Nn=t=>pt(t,En()),Mn=pn,jn={},On=(t,e,n)=>{var r,i,o;if(jn[t])throw new Error(`Diagram ${t} already registered.`);jn[t]=e,n&&Ht(t,n),i=t,void 0!==(o=e.styles)&&(fn[i]=o),null==(r=e.injectUtils)||r.call(e,In,Bn,En,Nn,Mn,An,(()=>{}))},Rn=t=>{if(t in jn)return jn[t];throw new Dn(t)};class Dn extends Error{constructor(t){super(`Diagram ${t} not found.`)}}const qn=t=>{var e;const{securityLevel:n}=En();let r=(0,s.Ys)("body");if("sandbox"===n){const n=(null==(e=(0,s.Ys)(`#i${t}`).node())?void 0:e.contentDocument)??document;r=(0,s.Ys)(n.body)}return r.select(`#${t}`)},$n={draw:(t,e,n)=>{at.debug("renering svg for syntax error\n");const r=qn(e);r.attr("viewBox","0 0 2412 512"),dn(r,100,512,!0);const i=r.append("g");i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${n}`)}},Pn=$n,Zn={db:{},renderer:$n,parser:{parser:{yy:{}},parse:()=>{}}},zn="flowchart-elk",Wn={id:zn,detector:(t,e)=>{var n;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&"elk"===(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.all([n.e(9840),n.e(5269),n.e(8955),n.e(4238)]).then(n.bind(n,4238));return{id:zn,diagram:t}}},Un="timeline",Hn={id:Un,detector:t=>/^\s*timeline/.test(t),loader:async()=>{const{diagram:t}=await n.e(2700).then(n.bind(n,2700));return{id:Un,diagram:t}}},Yn="mindmap",Vn={id:Yn,detector:t=>/^\s*mindmap/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([n.e(9840),n.e(9138)]).then(n.bind(n,9138));return{id:Yn,diagram:t}}},Kn="sankey",Xn={id:Kn,detector:t=>/^\s*sankey-beta/.test(t),loader:async()=>{const{diagram:t}=await n.e(240).then(n.bind(n,240));return{id:Kn,diagram:t}}};let Gn=!1;const Jn=()=>{Gn||(Gn=!0,On("error",Zn,(t=>"error"===t.toLowerCase().trim())),On("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},(t=>t.toLowerCase().trimStart().startsWith("---"))),Ut(Me,on,nn,qe,ze,Ue,He,Je,tn,Wn,De,Oe,Vn,Hn,Pe,cn,an,un,Ve,Xn,Xe))};class Qn{constructor(t,e={}){this.text=t,this.metadata=e,this.type="graph",this.text+="\n";const n=Ae();try{this.type=Wt(t,n)}catch(i){this.type="error",this.detectError=i}const r=Rn(this.type);at.debug("Type "+this.type),this.db=r.db,this.renderer=r.renderer,this.parser=r.parser,this.parser.parser.yy=this.db,this.init=r.init,this.parse()}parse(){var t,e,n,r,i;if(this.detectError)throw this.detectError;null==(e=(t=this.db).clear)||e.call(t);const o=Ae();null==(n=this.init)||n.call(this,o),this.metadata.title&&(null==(i=(r=this.db).setDiagramTitle)||i.call(r,this.metadata.title)),this.parser.parse(this.text)}async render(t,e){await this.renderer.draw(this.text,t,e,this)}getParser(){return this.parser}getType(){return this.type}}const tr=async(t,e={})=>{const n=Wt(t,Ae());try{Rn(n)}catch(r){const t=zt[n].loader;if(!t)throw new Zt(`Diagram ${n} not found.`);const{id:e,diagram:i}=await t();On(e,i)}return new Qn(t,e)};let er=[];const nr=t=>{er.push(t)},rr="graphics-document document";const ir=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();function or(t){return null==t}var sr={isNothing:or,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:or(t)?[]:[t]},repeat:function(t,e){var n,r="";for(n=0;n<e;n+=1)r+=t;return r},isNegativeZero:function(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t},extend:function(t,e){var n,r,i,o;if(e)for(n=0,r=(o=Object.keys(e)).length;n<r;n+=1)t[i=o[n]]=e[i];return t}};function ar(t,e){var n="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(n+='in "'+t.mark.name+'" '),n+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(n+="\n\n"+t.mark.snippet),r+" "+n):r}function lr(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=ar(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}lr.prototype=Object.create(Error.prototype),lr.prototype.constructor=lr,lr.prototype.toString=function(t){return this.name+": "+ar(this,t)};var cr=lr;function hr(t,e,n,r,i){var o="",s="",a=Math.floor(i/2)-1;return r-e>a&&(e=r-a+(o=" ... ").length),n-r>a&&(n=r+a-(s=" ...").length),{str:o+t.slice(e,n).replace(/\t/g,"\u2192")+s,pos:r-e+o.length}}function ur(t,e){return sr.repeat(" ",e-t.length)+t}var dr=function(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var n,r=/\r?\n|\r|\0/g,i=[0],o=[],s=-1;n=r.exec(t.buffer);)o.push(n.index),i.push(n.index+n[0].length),t.position<=n.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var a,l,c="",h=Math.min(t.line+e.linesAfter,o.length).toString().length,u=e.maxLength-(e.indent+h+3);for(a=1;a<=e.linesBefore&&!(s-a<0);a++)l=hr(t.buffer,i[s-a],o[s-a],t.position-(i[s]-i[s-a]),u),c=sr.repeat(" ",e.indent)+ur((t.line-a+1).toString(),h)+" | "+l.str+"\n"+c;for(l=hr(t.buffer,i[s],o[s],t.position,u),c+=sr.repeat(" ",e.indent)+ur((t.line+1).toString(),h)+" | "+l.str+"\n",c+=sr.repeat("-",e.indent+h+3+l.pos)+"^\n",a=1;a<=e.linesAfter&&!(s+a>=o.length);a++)l=hr(t.buffer,i[s+a],o[s+a],t.position-(i[s]-i[s+a]),u),c+=sr.repeat(" ",e.indent)+ur((t.line+a+1).toString(),h)+" | "+l.str+"\n";return c.replace(/\n$/,"")},pr=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],fr=["scalar","sequence","mapping"];var mr=function(t,e){var n,r;if(e=e||{},Object.keys(e).forEach((function(e){if(-1===pr.indexOf(e))throw new cr('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=(n=e.styleAliases||null,r={},null!==n&&Object.keys(n).forEach((function(t){n[t].forEach((function(e){r[String(e)]=t}))})),r),-1===fr.indexOf(this.kind))throw new cr('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function gr(t,e){var n=[];return t[e].forEach((function(t){var e=n.length;n.forEach((function(n,r){n.tag===t.tag&&n.kind===t.kind&&n.multi===t.multi&&(e=r)})),n[e]=t})),n}function yr(t){return this.extend(t)}yr.prototype.extend=function(t){var e=[],n=[];if(t instanceof mr)n.push(t);else if(Array.isArray(t))n=n.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new cr("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(n=n.concat(t.explicit))}e.forEach((function(t){if(!(t instanceof mr))throw new cr("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new cr("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new cr("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(t){if(!(t instanceof mr))throw new cr("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var r=Object.create(yr.prototype);return r.implicit=(this.implicit||[]).concat(e),r.explicit=(this.explicit||[]).concat(n),r.compiledImplicit=gr(r,"implicit"),r.compiledExplicit=gr(r,"explicit"),r.compiledTypeMap=function(){var t,e,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function r(t){t.multi?(n.multi[t.kind].push(t),n.multi.fallback.push(t)):n[t.kind][t.tag]=n.fallback[t.tag]=t}for(t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(r);return n}(r.compiledImplicit,r.compiledExplicit),r};var kr=new yr({explicit:[new mr("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),new mr("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),new mr("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})]});var xr=new mr("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});var _r=new mr("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function br(t){return 48<=t&&t<=55}function Cr(t){return 48<=t&&t<=57}var vr=new mr("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,r=t.length,i=0,o=!1;if(!r)return!1;if("-"!==(e=t[i])&&"+"!==e||(e=t[++i]),"0"===e){if(i+1===r)return!0;if("b"===(e=t[++i])){for(i++;i<r;i++)if("_"!==(e=t[i])){if("0"!==e&&"1"!==e)return!1;o=!0}return o&&"_"!==e}if("x"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!(48<=(n=t.charCodeAt(i))&&n<=57||65<=n&&n<=70||97<=n&&n<=102))return!1;o=!0}return o&&"_"!==e}if("o"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!br(t.charCodeAt(i)))return!1;o=!0}return o&&"_"!==e}}if("_"===e)return!1;for(;i<r;i++)if("_"!==(e=t[i])){if(!Cr(t.charCodeAt(i)))return!1;o=!0}return!(!o||"_"===e)},construct:function(t){var e,n=t,r=1;if(-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),"-"!==(e=n[0])&&"+"!==e||("-"===e&&(r=-1),e=(n=n.slice(1))[0]),"0"===n)return 0;if("0"===e){if("b"===n[1])return r*parseInt(n.slice(2),2);if("x"===n[1])return r*parseInt(n.slice(2),16);if("o"===n[1])return r*parseInt(n.slice(2),8)}return r*parseInt(n,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!sr.isNegativeZero(t)},represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Tr=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var wr=/^[-+]?[0-9]+e/;var Sr=new mr("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!Tr.test(t)||"_"===t[t.length-1])},construct:function(t){var e,n;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:n*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||sr.isNegativeZero(t))},represent:function(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(sr.isNegativeZero(t))return"-0.0";return n=t.toString(10),wr.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),Ar=kr.extend({implicit:[xr,_r,vr,Sr]}),Ir=Ar,Br=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Er=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var Lr=new mr("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==Br.exec(t)||null!==Er.exec(t))},construct:function(t){var e,n,r,i,o,s,a,l,c=0,h=null;if(null===(e=Br.exec(t))&&(e=Er.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],r=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(n,r,i));if(o=+e[4],s=+e[5],a=+e[6],e[7]){for(c=e[7].slice(0,3);c.length<3;)c+="0";c=+c}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),l=new Date(Date.UTC(n,r,i,o,s,a,c)),h&&l.setTime(l.getTime()-h),l},instanceOf:Date,represent:function(t){return t.toISOString()}});var Fr=new mr("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),Nr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var Mr=new mr("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,r=0,i=t.length,o=Nr;for(n=0;n<i;n++)if(!((e=o.indexOf(t.charAt(n)))>64)){if(e<0)return!1;r+=6}return r%8==0},construct:function(t){var e,n,r=t.replace(/[\r\n=]/g,""),i=r.length,o=Nr,s=0,a=[];for(e=0;e<i;e++)e%4==0&&e&&(a.push(s>>16&255),a.push(s>>8&255),a.push(255&s)),s=s<<6|o.indexOf(r.charAt(e));return 0===(n=i%4*6)?(a.push(s>>16&255),a.push(s>>8&255),a.push(255&s)):18===n?(a.push(s>>10&255),a.push(s>>2&255)):12===n&&a.push(s>>4&255),new Uint8Array(a)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,n,r="",i=0,o=t.length,s=Nr;for(e=0;e<o;e++)e%3==0&&e&&(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]),i=(i<<8)+t[e];return 0===(n=o%3)?(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]):2===n?(r+=s[i>>10&63],r+=s[i>>4&63],r+=s[i<<2&63],r+=s[64]):1===n&&(r+=s[i>>2&63],r+=s[i<<4&63],r+=s[64],r+=s[64]),r}}),jr=Object.prototype.hasOwnProperty,Or=Object.prototype.toString;var Rr=new mr("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,r,i,o,s=[],a=t;for(e=0,n=a.length;e<n;e+=1){if(r=a[e],o=!1,"[object Object]"!==Or.call(r))return!1;for(i in r)if(jr.call(r,i)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==s.indexOf(i))return!1;s.push(i)}return!0},construct:function(t){return null!==t?t:[]}}),Dr=Object.prototype.toString;var qr=new mr("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,r,i,o,s=t;for(o=new Array(s.length),e=0,n=s.length;e<n;e+=1){if(r=s[e],"[object Object]"!==Dr.call(r))return!1;if(1!==(i=Object.keys(r)).length)return!1;o[e]=[i[0],r[i[0]]]}return!0},construct:function(t){if(null===t)return[];var e,n,r,i,o,s=t;for(o=new Array(s.length),e=0,n=s.length;e<n;e+=1)r=s[e],i=Object.keys(r),o[e]=[i[0],r[i[0]]];return o}}),$r=Object.prototype.hasOwnProperty;var Pr=new mr("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,n=t;for(e in n)if($r.call(n,e)&&null!==n[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),Zr=Ir.extend({implicit:[Lr,Fr],explicit:[Mr,Rr,qr,Pr]}),zr=Object.prototype.hasOwnProperty,Wr=1,Ur=2,Hr=3,Yr=4,Vr=1,Kr=2,Xr=3,Gr=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Jr=/[\x85\u2028\u2029]/,Qr=/[,\[\]\{\}]/,ti=/^(?:!|!!|![a-z\-]+!)$/i,ei=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ni(t){return Object.prototype.toString.call(t)}function ri(t){return 10===t||13===t}function ii(t){return 9===t||32===t}function oi(t){return 9===t||32===t||10===t||13===t}function si(t){return 44===t||91===t||93===t||123===t||125===t}function ai(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function li(t){return 48===t?"\0":97===t?"\x07":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"\x1b":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"\x85":95===t?"\xa0":76===t?"\u2028":80===t?"\u2029":""}function ci(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var hi=new Array(256),ui=new Array(256),di=0;di<256;di++)hi[di]=li(di)?1:0,ui[di]=li(di);function pi(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Zr,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function fi(t,e){var n={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return n.snippet=dr(n),new cr(e,n)}function mi(t,e){throw fi(t,e)}function gi(t,e){t.onWarning&&t.onWarning.call(null,fi(t,e))}var yi={YAML:function(t,e,n){var r,i,o;null!==t.version&&mi(t,"duplication of %YAML directive"),1!==n.length&&mi(t,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&mi(t,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&mi(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&gi(t,"unsupported YAML version of the document")},TAG:function(t,e,n){var r,i;2!==n.length&&mi(t,"TAG directive accepts exactly two arguments"),r=n[0],i=n[1],ti.test(r)||mi(t,"ill-formed tag handle (first argument) of the TAG directive"),zr.call(t.tagMap,r)&&mi(t,'there is a previously declared suffix for "'+r+'" tag handle'),ei.test(i)||mi(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(o){mi(t,"tag prefix is malformed: "+i)}t.tagMap[r]=i}};function ki(t,e,n,r){var i,o,s,a;if(e<n){if(a=t.input.slice(e,n),r)for(i=0,o=a.length;i<o;i+=1)9===(s=a.charCodeAt(i))||32<=s&&s<=1114111||mi(t,"expected valid JSON character");else Gr.test(a)&&mi(t,"the stream contains non-printable characters");t.result+=a}}function xi(t,e,n,r){var i,o,s,a;for(sr.isObject(n)||mi(t,"cannot merge mappings; the provided source object is unacceptable"),s=0,a=(i=Object.keys(n)).length;s<a;s+=1)o=i[s],zr.call(e,o)||(e[o]=n[o],r[o]=!0)}function _i(t,e,n,r,i,o,s,a,l){var c,h;if(Array.isArray(i))for(c=0,h=(i=Array.prototype.slice.call(i)).length;c<h;c+=1)Array.isArray(i[c])&&mi(t,"nested arrays are not supported inside keys"),"object"==typeof i&&"[object Object]"===ni(i[c])&&(i[c]="[object Object]");if("object"==typeof i&&"[object Object]"===ni(i)&&(i="[object Object]"),i=String(i),null===e&&(e={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(o))for(c=0,h=o.length;c<h;c+=1)xi(t,e,o[c],n);else xi(t,e,o,n);else t.json||zr.call(n,i)||!zr.call(e,i)||(t.line=s||t.line,t.lineStart=a||t.lineStart,t.position=l||t.position,mi(t,"duplicated mapping key")),"__proto__"===i?Object.defineProperty(e,i,{configurable:!0,enumerable:!0,writable:!0,value:o}):e[i]=o,delete n[i];return e}function bi(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):mi(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function Ci(t,e,n){for(var r=0,i=t.input.charCodeAt(t.position);0!==i;){for(;ii(i);)9===i&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),i=t.input.charCodeAt(++t.position);if(e&&35===i)do{i=t.input.charCodeAt(++t.position)}while(10!==i&&13!==i&&0!==i);if(!ri(i))break;for(bi(t),i=t.input.charCodeAt(t.position),r++,t.lineIndent=0;32===i;)t.lineIndent++,i=t.input.charCodeAt(++t.position)}return-1!==n&&0!==r&&t.lineIndent<n&&gi(t,"deficient indentation"),r}function vi(t){var e,n=t.position;return!(45!==(e=t.input.charCodeAt(n))&&46!==e||e!==t.input.charCodeAt(n+1)||e!==t.input.charCodeAt(n+2)||(n+=3,0!==(e=t.input.charCodeAt(n))&&!oi(e)))}function Ti(t,e){1===e?t.result+=" ":e>1&&(t.result+=sr.repeat("\n",e-1))}function wi(t,e){var n,r,i=t.tag,o=t.anchor,s=[],a=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),r=t.input.charCodeAt(t.position);0!==r&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,mi(t,"tab characters must not be used in indentation")),45===r)&&oi(t.input.charCodeAt(t.position+1));)if(a=!0,t.position++,Ci(t,!0,-1)&&t.lineIndent<=e)s.push(null),r=t.input.charCodeAt(t.position);else if(n=t.line,Ii(t,e,Hr,!1,!0),s.push(t.result),Ci(t,!0,-1),r=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==r)mi(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return!!a&&(t.tag=i,t.anchor=o,t.kind="sequence",t.result=s,!0)}function Si(t){var e,n,r,i,o=!1,s=!1;if(33!==(i=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&mi(t,"duplication of a tag property"),60===(i=t.input.charCodeAt(++t.position))?(o=!0,i=t.input.charCodeAt(++t.position)):33===i?(s=!0,n="!!",i=t.input.charCodeAt(++t.position)):n="!",e=t.position,o){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&62!==i);t.position<t.length?(r=t.input.slice(e,t.position),i=t.input.charCodeAt(++t.position)):mi(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==i&&!oi(i);)33===i&&(s?mi(t,"tag suffix cannot contain exclamation marks"):(n=t.input.slice(e-1,t.position+1),ti.test(n)||mi(t,"named tag handle cannot contain such characters"),s=!0,e=t.position+1)),i=t.input.charCodeAt(++t.position);r=t.input.slice(e,t.position),Qr.test(r)&&mi(t,"tag suffix cannot contain flow indicator characters")}r&&!ei.test(r)&&mi(t,"tag name cannot contain such characters: "+r);try{r=decodeURIComponent(r)}catch(a){mi(t,"tag name is malformed: "+r)}return o?t.tag=r:zr.call(t.tagMap,n)?t.tag=t.tagMap[n]+r:"!"===n?t.tag="!"+r:"!!"===n?t.tag="tag:yaml.org,2002:"+r:mi(t,'undeclared tag handle "'+n+'"'),!0}function Ai(t){var e,n;if(38!==(n=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&mi(t,"duplication of an anchor property"),n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!oi(n)&&!si(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&mi(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function Ii(t,e,n,r,i){var o,s,a,l,c,h,u,d,p,f=1,m=!1,g=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,o=s=a=Yr===n||Hr===n,r&&Ci(t,!0,-1)&&(m=!0,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)),1===f)for(;Si(t)||Ai(t);)Ci(t,!0,-1)?(m=!0,a=o,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)):a=!1;if(a&&(a=m||i),1!==f&&Yr!==n||(d=Wr===n||Ur===n?e:e+1,p=t.position-t.lineStart,1===f?a&&(wi(t,p)||function(t,e,n){var r,i,o,s,a,l,c,h=t.tag,u=t.anchor,d={},p=Object.create(null),f=null,m=null,g=null,y=!1,k=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=d),c=t.input.charCodeAt(t.position);0!==c;){if(y||-1===t.firstTabInLine||(t.position=t.firstTabInLine,mi(t,"tab characters must not be used in indentation")),r=t.input.charCodeAt(t.position+1),o=t.line,63!==c&&58!==c||!oi(r)){if(s=t.line,a=t.lineStart,l=t.position,!Ii(t,n,Ur,!1,!0))break;if(t.line===o){for(c=t.input.charCodeAt(t.position);ii(c);)c=t.input.charCodeAt(++t.position);if(58===c)oi(c=t.input.charCodeAt(++t.position))||mi(t,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(_i(t,d,p,f,m,null,s,a,l),f=m=g=null),k=!0,y=!1,i=!1,f=t.tag,m=t.result;else{if(!k)return t.tag=h,t.anchor=u,!0;mi(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!k)return t.tag=h,t.anchor=u,!0;mi(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(y&&(_i(t,d,p,f,m,null,s,a,l),f=m=g=null),k=!0,y=!0,i=!0):y?(y=!1,i=!0):mi(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,c=r;if((t.line===o||t.lineIndent>e)&&(y&&(s=t.line,a=t.lineStart,l=t.position),Ii(t,e,Yr,!0,i)&&(y?m=t.result:g=t.result),y||(_i(t,d,p,f,m,g,s,a,l),f=m=g=null),Ci(t,!0,-1),c=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&0!==c)mi(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return y&&_i(t,d,p,f,m,null,s,a,l),k&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=d),k}(t,p,d))||function(t,e){var n,r,i,o,s,a,l,c,h,u,d,p,f=!0,m=t.tag,g=t.anchor,y=Object.create(null);if(91===(p=t.input.charCodeAt(t.position)))s=93,c=!1,o=[];else{if(123!==p)return!1;s=125,c=!0,o={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=o),p=t.input.charCodeAt(++t.position);0!==p;){if(Ci(t,!0,e),(p=t.input.charCodeAt(t.position))===s)return t.position++,t.tag=m,t.anchor=g,t.kind=c?"mapping":"sequence",t.result=o,!0;f?44===p&&mi(t,"expected the node content, but found ','"):mi(t,"missed comma between flow collection entries"),d=null,a=l=!1,63===p&&oi(t.input.charCodeAt(t.position+1))&&(a=l=!0,t.position++,Ci(t,!0,e)),n=t.line,r=t.lineStart,i=t.position,Ii(t,e,Wr,!1,!0),u=t.tag,h=t.result,Ci(t,!0,e),p=t.input.charCodeAt(t.position),!l&&t.line!==n||58!==p||(a=!0,p=t.input.charCodeAt(++t.position),Ci(t,!0,e),Ii(t,e,Wr,!1,!0),d=t.result),c?_i(t,o,y,u,h,d,n,r,i):a?o.push(_i(t,null,y,u,h,d,n,r,i)):o.push(h),Ci(t,!0,e),44===(p=t.input.charCodeAt(t.position))?(f=!0,p=t.input.charCodeAt(++t.position)):f=!1}mi(t,"unexpected end of the stream within a flow collection")}(t,d)?g=!0:(s&&function(t,e){var n,r,i,o,s,a=Vr,l=!1,c=!1,h=e,u=0,d=!1;if(124===(o=t.input.charCodeAt(t.position)))r=!1;else{if(62!==o)return!1;r=!0}for(t.kind="scalar",t.result="";0!==o;)if(43===(o=t.input.charCodeAt(++t.position))||45===o)Vr===a?a=43===o?Xr:Kr:mi(t,"repeat of a chomping mode identifier");else{if(!((i=48<=(s=o)&&s<=57?s-48:-1)>=0))break;0===i?mi(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?mi(t,"repeat of an indentation width identifier"):(h=e+i-1,c=!0)}if(ii(o)){do{o=t.input.charCodeAt(++t.position)}while(ii(o));if(35===o)do{o=t.input.charCodeAt(++t.position)}while(!ri(o)&&0!==o)}for(;0!==o;){for(bi(t),t.lineIndent=0,o=t.input.charCodeAt(t.position);(!c||t.lineIndent<h)&&32===o;)t.lineIndent++,o=t.input.charCodeAt(++t.position);if(!c&&t.lineIndent>h&&(h=t.lineIndent),ri(o))u++;else{if(t.lineIndent<h){a===Xr?t.result+=sr.repeat("\n",l?1+u:u):a===Vr&&l&&(t.result+="\n");break}for(r?ii(o)?(d=!0,t.result+=sr.repeat("\n",l?1+u:u)):d?(d=!1,t.result+=sr.repeat("\n",u+1)):0===u?l&&(t.result+=" "):t.result+=sr.repeat("\n",u):t.result+=sr.repeat("\n",l?1+u:u),l=!0,c=!0,u=0,n=t.position;!ri(o)&&0!==o;)o=t.input.charCodeAt(++t.position);ki(t,n,t.position,!1)}}return!0}(t,d)||function(t,e){var n,r,i;if(39!==(n=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(n=t.input.charCodeAt(t.position));)if(39===n){if(ki(t,r,t.position,!0),39!==(n=t.input.charCodeAt(++t.position)))return!0;r=t.position,t.position++,i=t.position}else ri(n)?(ki(t,r,i,!0),Ti(t,Ci(t,!1,e)),r=i=t.position):t.position===t.lineStart&&vi(t)?mi(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);mi(t,"unexpected end of the stream within a single quoted scalar")}(t,d)||function(t,e){var n,r,i,o,s,a,l;if(34!==(a=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,n=r=t.position;0!==(a=t.input.charCodeAt(t.position));){if(34===a)return ki(t,n,t.position,!0),t.position++,!0;if(92===a){if(ki(t,n,t.position,!0),ri(a=t.input.charCodeAt(++t.position)))Ci(t,!1,e);else if(a<256&&hi[a])t.result+=ui[a],t.position++;else if((s=120===(l=a)?2:117===l?4:85===l?8:0)>0){for(i=s,o=0;i>0;i--)(s=ai(a=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+s:mi(t,"expected hexadecimal character");t.result+=ci(o),t.position++}else mi(t,"unknown escape sequence");n=r=t.position}else ri(a)?(ki(t,n,r,!0),Ti(t,Ci(t,!1,e)),n=r=t.position):t.position===t.lineStart&&vi(t)?mi(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}mi(t,"unexpected end of the stream within a double quoted scalar")}(t,d)?g=!0:!function(t){var e,n,r;if(42!==(r=t.input.charCodeAt(t.position)))return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!oi(r)&&!si(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&mi(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),zr.call(t.anchorMap,n)||mi(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],Ci(t,!0,-1),!0}(t)?function(t,e,n){var r,i,o,s,a,l,c,h,u=t.kind,d=t.result;if(oi(h=t.input.charCodeAt(t.position))||si(h)||35===h||38===h||42===h||33===h||124===h||62===h||39===h||34===h||37===h||64===h||96===h)return!1;if((63===h||45===h)&&(oi(r=t.input.charCodeAt(t.position+1))||n&&si(r)))return!1;for(t.kind="scalar",t.result="",i=o=t.position,s=!1;0!==h;){if(58===h){if(oi(r=t.input.charCodeAt(t.position+1))||n&&si(r))break}else if(35===h){if(oi(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&vi(t)||n&&si(h))break;if(ri(h)){if(a=t.line,l=t.lineStart,c=t.lineIndent,Ci(t,!1,-1),t.lineIndent>=e){s=!0,h=t.input.charCodeAt(t.position);continue}t.position=o,t.line=a,t.lineStart=l,t.lineIndent=c;break}}s&&(ki(t,i,o,!1),Ti(t,t.line-a),i=o=t.position,s=!1),ii(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return ki(t,i,o,!1),!!t.result||(t.kind=u,t.result=d,!1)}(t,d,Wr===n)&&(g=!0,null===t.tag&&(t.tag="?")):(g=!0,null===t.tag&&null===t.anchor||mi(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===f&&(g=a&&wi(t,p))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&mi(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),l=0,c=t.implicitTypes.length;l<c;l+=1)if((u=t.implicitTypes[l]).resolve(t.result)){t.result=u.construct(t.result),t.tag=u.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(zr.call(t.typeMap[t.kind||"fallback"],t.tag))u=t.typeMap[t.kind||"fallback"][t.tag];else for(u=null,l=0,c=(h=t.typeMap.multi[t.kind||"fallback"]).length;l<c;l+=1)if(t.tag.slice(0,h[l].tag.length)===h[l].tag){u=h[l];break}u||mi(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&mi(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):mi(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||g}function Bi(t){var e,n,r,i,o=t.position,s=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(i=t.input.charCodeAt(t.position))&&(Ci(t,!0,-1),i=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==i));){for(s=!0,i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!oi(i);)i=t.input.charCodeAt(++t.position);for(r=[],(n=t.input.slice(e,t.position)).length<1&&mi(t,"directive name must not be less than one character in length");0!==i;){for(;ii(i);)i=t.input.charCodeAt(++t.position);if(35===i){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&!ri(i));break}if(ri(i))break;for(e=t.position;0!==i&&!oi(i);)i=t.input.charCodeAt(++t.position);r.push(t.input.slice(e,t.position))}0!==i&&bi(t),zr.call(yi,n)?yi[n](t,n,r):gi(t,'unknown document directive "'+n+'"')}Ci(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,Ci(t,!0,-1)):s&&mi(t,"directives end mark is expected"),Ii(t,t.lineIndent-1,Yr,!1,!0),Ci(t,!0,-1),t.checkLineBreaks&&Jr.test(t.input.slice(o,t.position))&&gi(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&vi(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,Ci(t,!0,-1)):t.position<t.length-1&&mi(t,"end of the stream or a document separator is expected")}function Ei(t,e){e=e||{},0!==(t=String(t)).length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var n=new pi(t,e),r=t.indexOf("\0");for(-1!==r&&(n.position=r,mi(n,"null byte is not allowed in input")),n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)Bi(n);return n.documents}var Li=Ar,Fi={loadAll:function(t,e,n){null!==e&&"object"==typeof e&&void 0===n&&(n=e,e=null);var r=Ei(t,n);if("function"!=typeof e)return r;for(var i=0,o=r.length;i<o;i+=1)e(r[i])},load:function(t,e){var n=Ei(t,e);if(0!==n.length){if(1===n.length)return n[0];throw new cr("expected a single document in the stream, but found more")}}}.load;const Ni=t=>t.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,((t,e,n)=>"<"+e+n.replace(/="([^"]*)"/g,"='$1'")+">")),Mi=t=>{const{text:e,metadata:n}=function(t){const e=t.match(qt);if(!e)return{text:t,metadata:{}};let n=Fi(e[1],{schema:Li})??{};n="object"!=typeof n||Array.isArray(n)?{}:n;const r={};return n.displayMode&&(r.displayMode=n.displayMode.toString()),n.title&&(r.title=n.title.toString()),n.config&&(r.config=n.config),{text:t.slice(e[0].length),metadata:r}}(t),{displayMode:r,title:i,config:o={}}=n;return r&&(o.gantt||(o.gantt={}),o.gantt.displayMode=r),{title:i,config:o,text:e}},ji=t=>{const e=ye.detectInit(t)??{},n=ye.detectDirective(t,"wrap");return Array.isArray(n)?e.wrap=n.some((({type:t})=>{})):"wrap"===(null==n?void 0:n.type)&&(e.wrap=!0),{text:(r=t,r.replace($t,"")),directive:e};var r};const Oi=["foreignobject"],Ri=["dominant-baseline"];function Di(t){const e=function(t){const e=Ni(t),n=Mi(e),r=ji(n.text),i=ge(n.config,r.directive);return{code:t=ir(r.text),title:n.title,config:i}}(t);return Ee(),Be(e.config??{}),e}const qi=function(t){return t.replace(/\ufb02\xb0\xb0/g,"&#").replace(/\ufb02\xb0/g,"&").replace(/\xb6\xdf/g,";")},$i=(t,e,n=[])=>`\n.${t} ${e} { ${n.join(" !important; ")} !important; }`,Pi=(t,e,n,r)=>{const i=((t,e={})=>{var n;let r="";if(void 0!==t.themeCSS&&(r+=`\n${t.themeCSS}`),void 0!==t.fontFamily&&(r+=`\n:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(r+=`\n:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!(0,ot.Z)(e)){const i=t.htmlLabels||(null==(n=t.flowchart)?void 0:n.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const t in e){const n=e[t];(0,ot.Z)(n.styles)||i.forEach((t=>{r+=$i(n.id,t,n.styles)})),(0,ot.Z)(n.textStyles)||(r+=$i(n.id,"tspan",n.textStyles))}}return r})(t,n);return L(tt(`${r}{${mn(e,i,t.themeVariables)}}`),F)},Zi=(t,e,n,r,i)=>{const o=t.append("div");o.attr("id",n),r&&o.attr("style",r);const s=o.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return i&&s.attr("xmlns:xlink",i),s.append("g"),t};function zi(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const Wi=Object.freeze({render:async function(t,e,n){var r,i,o,l,c,h;Jn();const u=Di(e);e=u.code;const d=Ae();at.debug(d),e.length>((null==d?void 0:d.maxTextSize)??5e4)&&(e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");const p="#"+t,f="i"+t,m="#"+f,g="d"+t,y="#"+g;let k=(0,s.Ys)("body");const x="sandbox"===d.securityLevel,_="loose"===d.securityLevel,b=d.fontFamily;if(void 0!==n){if(n&&(n.innerHTML=""),x){const t=zi((0,s.Ys)(n),f);k=(0,s.Ys)(t.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=(0,s.Ys)(n);Zi(k,t,g,`font-family: ${b}`,"http://www.w3.org/1999/xlink")}else{if(((t,e,n,r)=>{var i,o,s;null==(i=t.getElementById(e))||i.remove(),null==(o=t.getElementById(n))||o.remove(),null==(s=t.getElementById(r))||s.remove()})(document,t,g,f),x){const t=zi((0,s.Ys)("body"),f);k=(0,s.Ys)(t.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=(0,s.Ys)("body");Zi(k,t,g)}let C,v;e=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/#\w+;/g,(function(t){const e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"\ufb02\xb0\xb0"+e+"\xb6\xdf":"\ufb02\xb0"+e+"\xb6\xdf"})),e}(e);try{C=await tr(e,{title:u.title})}catch(M){C=new Qn("error"),v=M}const T=k.select(y).node(),w=C.type,S=T.firstChild,A=S.firstChild,I=null==(i=(r=C.renderer).getClasses)?void 0:i.call(r,e,C),B=Pi(d,w,I,p),E=document.createElement("style");E.innerHTML=B,S.insertBefore(E,A);try{await C.renderer.draw(e,t,ke,C)}catch(j){throw Pn.draw(e,t,ke),j}!function(t,e,n,r){(function(t,e){t.attr("role",rr),""!==e&&t.attr("aria-roledescription",e)})(e,t),function(t,e,n,r){if(void 0!==t.insert){if(n){const e=`chart-desc-${r}`;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(n)}if(e){const n=`chart-title-${r}`;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}(e,n,r,e.attr("id"))}(w,k.select(`${y} svg`),null==(l=(o=C.db).getAccTitle)?void 0:l.call(o),null==(h=(c=C.db).getAccDescription)?void 0:h.call(c)),k.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let L=k.select(y).node().innerHTML;if(at.debug("config.arrowMarkerAbsolute",d.arrowMarkerAbsolute),L=((t="",e,n)=>{let r=t;return n||e||(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=qi(r),r=r.replace(/<br>/g,"<br/>"),r})(L,x,gt(d.arrowMarkerAbsolute)),x){L=((t="",e)=>{var n,r;return`<iframe style="width:100%;height:${(null==(r=null==(n=null==e?void 0:e.viewBox)?void 0:n.baseVal)?void 0:r.height)?e.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;base64,${btoa('<body style="margin:0">'+t+"</body>")}" sandbox="allow-top-navigation-by-user-activation allow-popups">\n The "iframe" tag is not supported by your browser.\n</iframe>`})(L,k.select(y+" svg").node())}else _||(L=a.sanitize(L,{ADD_TAGS:Oi,ADD_ATTR:Ri}));if(er.forEach((t=>{t()})),er=[],v)throw v;const F=x?m:y,N=(0,s.Ys)(F).node();return N&&"remove"in N&&N.remove(),{svg:L,bindFunctions:C.db.bindFunctions}},parse:async function(t,e){Jn(),t=Di(t).code;try{await tr(t)}catch(n){if(null==e?void 0:e.suppressErrors)return!1;throw n}return!0},getDiagramFromText:tr,initialize:function(t={}){var e;(null==t?void 0:t.fontFamily)&&!(null==(e=t.themeVariables)?void 0:e.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),_e=Vt({},t),(null==t?void 0:t.theme)&&t.theme in Lt?t.themeVariables=Lt[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Lt.default.getThemeVariables(t.themeVariables));const n="object"==typeof t?(t=>(be=Vt({},xe),be=Vt(be,t),t.theme&&Lt[t.theme]&&(be.themeVariables=Lt[t.theme].getThemeVariables(t.themeVariables)),Te(be,Ce),be))(t):we();lt(n.logLevel),Jn()},getConfig:Ae,setConfig:Se,getSiteConfig:we,updateSiteConfig:t=>(be=Vt(be,t),Te(be,Ce),be),reset:()=>{Ee()},globalReset:()=>{Ee(xe)},defaultConfig:xe});lt(Ae().logLevel),Ee(Ae());const Ui=(t,e,n)=>{at.warn(t),fe(t)?(n&&n(t.str,t.hash),e.push({...t,message:t.str,error:t})):(n&&n(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},Hi=async function(t={querySelector:".mermaid"}){try{await Yi(t)}catch(e){if(fe(e)&&at.error(e.str),to.parseError&&to.parseError(e),!t.suppressErrors)throw at.error("Use the suppressErrors option to suppress these errors"),e}},Yi=async function({postRenderCallback:t,querySelector:e,nodes:n}={querySelector:".mermaid"}){const i=Wi.getConfig();let o;if(at.debug((t?"":"No ")+"Callback function found"),n)o=n;else{if(!e)throw new Error("Nodes and querySelector are both undefined");o=document.querySelectorAll(e)}at.debug(`Found ${o.length} diagrams`),void 0!==(null==i?void 0:i.startOnLoad)&&(at.debug("Start On Load: "+(null==i?void 0:i.startOnLoad)),Wi.updateSiteConfig({startOnLoad:null==i?void 0:i.startOnLoad}));const s=new ye.InitIDGenerator(i.deterministicIds,i.deterministicIDSeed);let a;const l=[];for(const h of Array.from(o)){if(at.info("Rendering diagram: "+h.id),h.getAttribute("data-processed"))continue;h.setAttribute("data-processed","true");const e=`mermaid-${s.next()}`;a=h.innerHTML,a=(0,r.Z)(ye.entityDecode(a)).trim().replace(/<br\s*\/?>/gi,"<br/>");const n=ye.detectInit(a);n&&at.debug("Detected early reinit: ",n);try{const{svg:n,bindFunctions:r}=await Qi(e,a,h);h.innerHTML=n,t&&await t(e),r&&r(h)}catch(c){Ui(c,l,to.parseError)}}if(l.length>0)throw l[0]},Vi=function(t){Wi.initialize(t)},Ki=function(){if(to.startOnLoad){const{startOnLoad:t}=Wi.getConfig();t&&to.run().catch((t=>at.error("Mermaid failed to initialize",t)))}};"undefined"!=typeof document&&window.addEventListener("load",Ki,!1);const Xi=[];let Gi=!1;const Ji=async()=>{if(!Gi){for(Gi=!0;Xi.length>0;){const e=Xi.shift();if(e)try{await e()}catch(t){at.error("Error executing queue",t)}}Gi=!1}},Qi=(t,e,n)=>new Promise(((r,i)=>{Xi.push((()=>new Promise(((o,s)=>{Wi.render(t,e,n).then((t=>{o(t),r(t)}),(t=>{var e;at.error("Error parsing",t),null==(e=to.parseError)||e.call(to,t),s(t),i(t)}))})))),Ji().catch(i)})),to={startOnLoad:!0,mermaidAPI:Wi,parse:async(t,e)=>new Promise(((n,r)=>{Xi.push((()=>new Promise(((i,o)=>{Wi.parse(t,e).then((t=>{i(t),n(t)}),(t=>{var e;at.error("Error parsing",t),null==(e=to.parseError)||e.call(to,t),o(t),r(t)}))})))),Ji().catch(r)})),render:Qi,init:async function(t,e,n){at.warn("mermaid.init is deprecated. Please use run instead."),t&&Vi(t);const r={postRenderCallback:n,querySelector:".mermaid"};"string"==typeof e?r.querySelector=e:e&&(e instanceof HTMLElement?r.nodes=[e]:r.nodes=e),await Hi(r)},run:Hi,registerExternalDiagrams:async(t,{lazyLoad:e=!0}={})=>{Ut(...t),!1===e&&await(async()=>{at.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(zt).map((async([t,{detector:e,loader:n}])=>{if(n)try{Rn(t)}catch(r){try{const{diagram:t,id:r}=await n();On(r,t,e)}catch(i){throw at.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete zt[t],i}}})))).filter((t=>"rejected"===t.status));if(t.length>0){at.error(`Failed to load ${t.length} external diagrams`);for(const e of t)at.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}})()},initialize:Vi,parseError:void 0,contentLoaded:Ki,setParseErrorHandler:function(t){to.parseError=t},detectType:Wt}}}]); \ No newline at end of file diff --git a/assets/js/7245.30fe3ba1.js.LICENSE.txt b/assets/js/7245.f6fdf635.js.LICENSE.txt similarity index 100% rename from assets/js/7245.30fe3ba1.js.LICENSE.txt rename to assets/js/7245.f6fdf635.js.LICENSE.txt diff --git a/assets/js/729ea7d2.626a66f9.js b/assets/js/729ea7d2.626a66f9.js deleted file mode 100644 index 8b80189e..00000000 --- a/assets/js/729ea7d2.626a66f9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3222],{925:e=>{e.exports=JSON.parse('{"title":"Debugging","description":"How to debug your programs","slug":"/category/debugging","permalink":"/cs102-writeups/docs/category/debugging","navigation":{"previous":{"title":"Speeding Ticket Calculator","permalink":"/cs102-writeups/docs/lab-walkthroughs/speeding-ticket-calculator"},"next":{"title":"Debugging Segmentation Faults","permalink":"/cs102-writeups/docs/debugging/segmentation-faults"}}}')}}]); \ No newline at end of file diff --git a/assets/js/73664a40.9f80efcf.js b/assets/js/73664a40.108bc111.js similarity index 94% rename from assets/js/73664a40.9f80efcf.js rename to assets/js/73664a40.108bc111.js index 770255d3..d2360ddd 100644 --- a/assets/js/73664a40.9f80efcf.js +++ b/assets/js/73664a40.108bc111.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3514],{1985:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>m,contentTitle:()=>u,default:()=>a,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var t=i(5893),o=i(1151);const n={slug:"long-blog-post",title:"Long Blog Post",authors:"endi",tags:["hello","docusaurus"]},u=void 0,r={permalink:"/cs102-writeups/blog/long-blog-post",source:"@site/blog/2019-05-29-long-blog-post.md",title:"Long Blog Post",description:"This is the summary of a very long blog post,",date:"2019-05-29T00:00:00.000Z",formattedDate:"May 29, 2019",tags:[{label:"hello",permalink:"/cs102-writeups/blog/tags/hello"},{label:"docusaurus",permalink:"/cs102-writeups/blog/tags/docusaurus"}],readingTime:2.05,hasTruncateMarker:!0,authors:[{name:"Endilie Yacop Sucipto",title:"Maintainer of Docusaurus",url:"https://github.com/endiliey",imageURL:"https://github.com/endiliey.png",key:"endi"}],frontMatter:{slug:"long-blog-post",title:"Long Blog Post",authors:"endi",tags:["hello","docusaurus"]},unlisted:!1,prevItem:{title:"MDX Blog Post",permalink:"/cs102-writeups/blog/mdx-blog-post"},nextItem:{title:"First Blog Post",permalink:"/cs102-writeups/blog/first-blog-post"}},m={authorsImageUrls:[void 0]},l=[];function c(e){const s={code:"code",p:"p",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,t.jsxs)(s.p,{children:["Use a ",(0,t.jsx)(s.code,{children:"\x3c!--"})," ",(0,t.jsx)(s.code,{children:"truncate"})," ",(0,t.jsx)(s.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})]})}function a(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1151:(e,s,i)=>{i.d(s,{Z:()=>r,a:()=>u});var t=i(7294);const o={},n=t.createContext(o);function u(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:u(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3514],{1985:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>m,contentTitle:()=>u,default:()=>a,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var t=i(5893),o=i(1151);const n={slug:"long-blog-post",title:"Long Blog Post",authors:"endi",tags:["hello","docusaurus"]},u=void 0,r={permalink:"/cs102-handbook/blog/long-blog-post",source:"@site/blog/2019-05-29-long-blog-post.md",title:"Long Blog Post",description:"This is the summary of a very long blog post,",date:"2019-05-29T00:00:00.000Z",formattedDate:"May 29, 2019",tags:[{label:"hello",permalink:"/cs102-handbook/blog/tags/hello"},{label:"docusaurus",permalink:"/cs102-handbook/blog/tags/docusaurus"}],readingTime:2.05,hasTruncateMarker:!0,authors:[{name:"Endilie Yacop Sucipto",title:"Maintainer of Docusaurus",url:"https://github.com/endiliey",imageURL:"https://github.com/endiliey.png",key:"endi"}],frontMatter:{slug:"long-blog-post",title:"Long Blog Post",authors:"endi",tags:["hello","docusaurus"]},unlisted:!1,prevItem:{title:"MDX Blog Post",permalink:"/cs102-handbook/blog/mdx-blog-post"},nextItem:{title:"First Blog Post",permalink:"/cs102-handbook/blog/first-blog-post"}},m={authorsImageUrls:[void 0]},l=[];function c(e){const s={code:"code",p:"p",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,t.jsxs)(s.p,{children:["Use a ",(0,t.jsx)(s.code,{children:"\x3c!--"})," ",(0,t.jsx)(s.code,{children:"truncate"})," ",(0,t.jsx)(s.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,t.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})]})}function a(e={}){const{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1151:(e,s,i)=>{i.d(s,{Z:()=>r,a:()=>u});var t=i(7294);const o={},n=t.createContext(o);function u(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:u(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/749f4ecd.31cd0ace.js b/assets/js/749f4ecd.31cd0ace.js deleted file mode 100644 index 2b7eb410..00000000 --- a/assets/js/749f4ecd.31cd0ace.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2816],{905:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var r=s(5893),o=s(1151);const i={sidebar_position:1},t="Common Unix/Linux & g++ Commands",c={id:"reference/common-linux-commands",title:"Common Unix/Linux & g++ Commands",description:"Tips and resources that are useful for the course.",source:"@site/docs/reference/common-linux-commands.md",sourceDirName:"reference",slug:"/reference/common-linux-commands",permalink:"/cs102-writeups/docs/reference/common-linux-commands",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"Sidebar",previous:{title:"Reference",permalink:"/cs102-writeups/docs/category/reference"},next:{title:"Sharing Code on Discord",permalink:"/cs102-writeups/docs/reference/discord"}},l={},d=[{value:"What is this?",id:"what-is-this",level:2},{value:"<code>g++</code> - The C++ Compiler",id:"g---the-c-compiler",level:2},{value:"Compiling",id:"compiling",level:3},{value:"example",id:"example",level:4},{value:"Running",id:"running",level:3},{value:"Logging into the lab machines",id:"logging-into-the-lab-machines",level:2},{value:"<code>ssh</code> Syntax",id:"ssh-syntax",level:3},{value:"Copying to and from the lab machines (<code>scp</code>)",id:"copying-to-and-from-the-lab-machines-scp",level:2},{value:"<code>scp</code> Syntax",id:"scp-syntax",level:3},{value:"From your computer to the lab computers",id:"from-your-computer-to-the-lab-computers",level:3},{value:"From the lab computers to your computer",id:"from-the-lab-computers-to-your-computer",level:3},{value:"Common SCP FAQs/Errors",id:"common-scp-faqserrors",level:3},{value:"Other commands you should know",id:"other-commands-you-should-know",level:2},{value:"List files in a directory",id:"list-files-in-a-directory",level:3},{value:"Change directory",id:"change-directory",level:3},{value:"Print current directory path",id:"print-current-directory-path",level:3},{value:"Make a new directory",id:"make-a-new-directory",level:3},{value:"Copy a file or directory",id:"copy-a-file-or-directory",level:3},{value:"Move/rename a file",id:"moverename-a-file",level:3},{value:"Remove a file or directory",id:"remove-a-file-or-directory",level:3},{value:"Create a new file",id:"create-a-new-file",level:3},{value:"Print the contents of a file",id:"print-the-contents-of-a-file",level:3},{value:"Tips & Important Notes",id:"tips--important-notes",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"common-unixlinux--g-commands",children:"Common Unix/Linux & g++ Commands"}),"\n",(0,r.jsx)(n.p,{children:"Tips and resources that are useful for the course."}),"\n",(0,r.jsx)(n.h2,{id:"what-is-this",children:"What is this?"}),"\n",(0,r.jsx)(n.p,{children:"This page can be used as a reference for the basics of the COSC 102 course. It is not meant to be a complete reference, but rather a quick reference for the most common things you will need to know."}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["This page is aimed at Unix/Linux computers. If you are using Windows, it's more or less the same, but some of the syntax is slightly different like how Windows uses ",(0,r.jsx)(n.code,{children:"\\"})," instead of ",(0,r.jsx)(n.code,{children:"/"})," for paths, and the file system structure is different. (e.g. ",(0,r.jsx)(n.code,{children:"C:\\"})," is the root directory for Windows, but ",(0,r.jsx)(n.code,{children:"/"})," is the root directory for Unix/Linux. ",(0,r.jsx)(n.code,{children:"C:\\Desktop"})," is the Desktop folder for Windows, but ",(0,r.jsx)(n.code,{children:"/home/<username>/Desktop"})," is the Desktop folder for Unix/Linux.)"]})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.h2,{id:"g---the-c-compiler",children:[(0,r.jsx)(n.code,{children:"g++"})," - The C++ Compiler"]}),"\n",(0,r.jsx)(n.h3,{id:"compiling",children:"Compiling"}),"\n",(0,r.jsx)(n.admonition,{type:"danger",children:(0,r.jsxs)(n.p,{children:["Whenever going to submit your code for an assignment, ",(0,r.jsx)(n.strong,{children:"ALWAYS"})," make sure it compiles ",(0,r.jsx)(n.em,{children:"and"})," behaves (as intended) before doing so -- ",(0,r.jsx)(n.strong,{children:"ON THE LAB MACHINES"}),". Compilers work different across computers, so even if it compiled on your computer, it doesn't necessarily compile or behave the same way on the lab machines. The TA's grade using the lab machines, so if your code doesn't compile or work correctly there, you will not get credit for the assignment."]})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"g++"})," - Stands for ",(0,r.jsx)(n.em,{children:"GNU C++ Compiler"}),". This command is used to compile C++ programs. It is the default compiler for C++ programs on Unix/Linux systems. It is also the compiler we will be using in this course."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["There are many ways to use the ",(0,r.jsx)(n.code,{children:"g++"})," command, but the most common way is to use the following syntax:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"g++ -std=c++11 -o <binary> <source>.cpp\n"})}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"binary"}),(0,r.jsx)(n.th,{children:"source"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"The name of the binary (final executable) you want to create"}),(0,r.jsx)(n.td,{children:"The name of the source file (your code) you want to compile"})]})})]}),"\n",(0,r.jsx)(n.h4,{id:"example",children:"example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"g++ -std=c++11 -o foo lab1.cpp\n"})}),"\n",(0,r.jsx)(n.h3,{id:"running",children:"Running"}),"\n",(0,r.jsxs)(n.p,{children:["This will compile the ",(0,r.jsx)(n.code,{children:"lab1.cpp"})," file and create a binary called ",(0,r.jsx)(n.code,{children:"foo"})," that you can run with"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"./foo\n"})}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:["Notice ",(0,r.jsx)(n.code,{children:"foo"})," is just a random name. You can name the executable whatever you want, since the ",(0,r.jsx)(n.code,{children:"g++"})," command will create the binary you specify. Usually though you want to name it something that makes sense, like the name of the program you're writing e.g. ",(0,r.jsx)(n.code,{children:"lab1"})," or ",(0,r.jsx)(n.code,{children:"lab2"})," etc."]})}),"\n",(0,r.jsxs)(n.p,{children:["We use ",(0,r.jsx)(n.code,{children:"./"})," to tell the computer that we want to run a binary in the current directory. If you want to run a binary in a different directory, you can use the full path to the binary without the ",(0,r.jsx)(n.code,{children:"."})]}),"\n",(0,r.jsxs)(n.p,{children:["Later in the course, you may be required to compile programs with extra flags that are specific to the lab. These flags will be provided to you in the lab instructions, but it's ",(0,r.jsx)(n.em,{children:"paramount"})," that you compile with these flags when required. Often times they affect the way your program runs, and if you don't compile with the correct flags, your program may not run correctly, or it may not compile at all, which will net you a 0 on the lab without chance for appeal."]}),"\n",(0,r.jsx)(n.h2,{id:"logging-into-the-lab-machines",children:"Logging into the lab machines"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"ssh"})," - Stands for ",(0,r.jsx)(n.em,{children:"Secure Shell"}),". This command allows you to log into a remote server. It is used to log into the lab machines."]}),"\n",(0,r.jsxs)(n.h3,{id:"ssh-syntax",children:[(0,r.jsx)(n.code,{children:"ssh"})," Syntax"]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"NetID"}),(0,r.jsx)(n.th,{children:"Number"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Your UTK NetID"}),(0,r.jsx)(n.td,{children:"Any number [0,30]"})]})})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# syntax\nssh <netid>@tesla<number>.eecs.utk.edu\n\n# example\nssh bricker1@hydra12.eecs.utk.edu\n"})}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"tesla"})," and ",(0,r.jsx)(n.code,{children:"hydra"})," are interchangeable. You can use either one to log into the lab machines. Also, any progress on the lab machines is transferred to the others. In other words, it doesn't matter what number or machine you use, you can always access your files from any other machine."]})}),"\n",(0,r.jsxs)(n.h2,{id:"copying-to-and-from-the-lab-machines-scp",children:["Copying to and from the lab machines (",(0,r.jsx)(n.code,{children:"scp"}),")"]}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/cs102-writeups/docs/tutorials/ssh-and-scp",children:"Here"})," is a full ",(0,r.jsx)(n.code,{children:"ssh"})," and ",(0,r.jsx)(n.code,{children:"scp"})," tutorial."]})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"scp"})," - Stands for ",(0,r.jsx)(n.em,{children:"Secure Copy"}),". This command allows you to copy files from a remote server to your local computer or vice versa."]}),"\n",(0,r.jsxs)(n.h3,{id:"scp-syntax",children:[(0,r.jsx)(n.code,{children:"scp"})," Syntax"]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"File"}),(0,r.jsx)(n.th,{children:"NetID"}),(0,r.jsx)(n.th,{children:"Number"}),(0,r.jsx)(n.th,{children:"Destination"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsxs)(n.td,{children:["The ",(0,r.jsx)(n.strong,{children:"path"})," to the file you want to copy"]}),(0,r.jsx)(n.td,{children:"Your UTK NetID"}),(0,r.jsx)(n.td,{children:"Any number [0,30]"}),(0,r.jsxs)(n.td,{children:["The ",(0,r.jsx)(n.strong,{children:"path"})," to the location you want the file copied"]})]})})]}),"\n",(0,r.jsx)(n.h3,{id:"from-your-computer-to-the-lab-computers",children:"From your computer to the lab computers"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# syntax\nscp <file> <netid>@tesla<number>.eecs.utk.edu:<destination>\n\n# example (Unix/Linux)\nscp ~/Documents/cs102/hello.cpp bricker1@hydra2.eecs.utk.edu:~/cs102/labs/lab1/\n\n# example (Windows)\nscp C:\\Users\\bricker1\\Documents\\cs102\\hello.cpp bricker1@hydra2.eecs.utk.edu:~/cs102/labs/lab1/\n"})}),"\n",(0,r.jsx)(n.h3,{id:"from-the-lab-computers-to-your-computer",children:"From the lab computers to your computer"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# syntax\nscp <netid>@tesla<number>.eecs.utk.edu:<file> <destination>\n\n# example (Unix/Linux)\nscp bricker1@hydra2.eecs.utk.edu:~/cs102/labs/lab1/hello.cpp ~/Downloads/\n\n# example (Windows)\nscp bricker1@hydra2.eecs.utk.edu:~/cs102/labs/lab1/hello.cpp C:\\Users\\bricker1\\Downloads\\\n"})}),"\n",(0,r.jsx)(n.h3,{id:"common-scp-faqserrors",children:"Common SCP FAQs/Errors"}),"\n",(0,r.jsxs)(n.p,{children:["If you're copying a file ",(0,r.jsx)(n.strong,{children:"from your computer to the lab computers"}),", you need to make sure ",(0,r.jsx)(n.em,{children:"one"})," of the following is true:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"You are in the same directory as the file you want to copy"}),"\n",(0,r.jsx)(n.li,{children:"You provide the full path of the file you want to copy"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["If you aren't in the same directory as the file you want to copy, then you can use ",(0,r.jsx)(n.code,{children:"cd"})," to navigate to the directory that contains the file you want to copy. Or you can provide the full path to the file you want to copy. (e.g. ",(0,r.jsx)(n.code,{children:"scp ~/Desktop/file.txt"})," as opposed to ",(0,r.jsx)(n.code,{children:"scp file.txt"}),")"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"scp ~/Desktop/file.txt <netid>@tesla<number>.eecs.utk.edu:<destination>\n\n# as opposed to\n\nscp file.txt <netid>@tesla<number>.eecs.utk.edu:<destination>\n"})}),"\n",(0,r.jsxs)(n.p,{children:["If you ",(0,r.jsx)(n.em,{children:"are"})," in the same directory, then the path you use for the file you want to copy is just the name of the file."]}),"\n",(0,r.jsxs)(n.p,{children:["If you're copying a file ",(0,r.jsx)(n.strong,{children:"from the lab computers to your computer"}),", then ",(0,r.jsx)(n.code,{children:"<file>"})," & ",(0,r.jsx)(n.code,{children:"<destination>"})," will ",(0,r.jsx)(n.em,{children:"always"})," be the full path to the file you want to copy. (e.g. ",(0,r.jsx)(n.code,{children:"~/cosc102/labs/lab1.cpp"})," for ",(0,r.jsx)(n.code,{children:"<file>"}),"). You can however copy a file to your current directory by using ",(0,r.jsx)(n.code,{children:"."})," as the destination."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"scp <netid>@tesla<number>.eecs.utk.edu:~/cosc102/labs/lab1.cpp .\n"})}),"\n",(0,r.jsx)(n.h2,{id:"other-commands-you-should-know",children:"Other commands you should know"}),"\n",(0,r.jsx)(n.h3,{id:"list-files-in-a-directory",children:"List files in a directory"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"ls"})," - Stands for ",(0,r.jsx)(n.em,{children:"List"}),". This command is used to list the contents of a directory. It is often used to see what files are in a directory, or to see if a file exists in a directory. There are multiple flags you can use with ",(0,r.jsx)(n.code,{children:"ls"})," that alter the output"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"ls -a # lists hidden files/directories (ones that start with a . character)\nls -l # a more detailed list of the current directory. It shows things like file mod times, permissions, and more\nls <directory/file> # lists the contents of a specific directory/lists whether a file exists in the current directory, respectively\n"})}),"\n",(0,r.jsx)(n.h3,{id:"change-directory",children:"Change directory"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"cd"})," - Stands for ",(0,r.jsx)(n.em,{children:"Change Directory"}),". This command is used to change the current directory. It is often used to navigate to a specific directory, or to navigate back to your home directory."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"cd <directory> # changes the current directory to the directory specified\ncd .. # changes the current directory to the parent directory of the current directory (moves back one)\ncd ~ # changes the current directory to your home directory\n"})}),"\n",(0,r.jsx)(n.h3,{id:"print-current-directory-path",children:"Print current directory path"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"pwd"})," - Stands for ",(0,r.jsx)(n.em,{children:"Print Working Directory"}),". This command is used to print the current directory. It is often used to see what directory you are currently in."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pwd\n"})}),"\n",(0,r.jsx)(n.h3,{id:"make-a-new-directory",children:"Make a new directory"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"mkdir"})," - Stands for ",(0,r.jsx)(n.em,{children:"Make Directory"}),". This command is used to create a new directory."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"mkdir <new-directory-name>\n"})}),"\n",(0,r.jsx)(n.h3,{id:"copy-a-file-or-directory",children:"Copy a file or directory"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"cp"})," - Stands for ",(0,r.jsx)(n.em,{children:"Copy"}),". This command is used to copy a file or directory."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"cp <source> <destination>\ncp -r <source-directory> <destination-directory>\n"})}),"\n",(0,r.jsx)(n.h3,{id:"moverename-a-file",children:"Move/rename a file"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"mv"})," - Stands for ",(0,r.jsx)(n.em,{children:"Move"}),". This command is used to move a file to a different location. You can also use it to rename a file."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"mv <source> <destination> # moves source to destination or renames source to destination\n"})}),"\n",(0,r.jsx)(n.h3,{id:"remove-a-file-or-directory",children:"Remove a file or directory"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"rm"})," - Stands for ",(0,r.jsx)(n.em,{children:"Remove"}),". This command is used to remove files and directories."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"rm <file> # removes a file\nrm -r <directory> # removes a directory and all of its contents\n"})}),"\n",(0,r.jsx)(n.h3,{id:"create-a-new-file",children:"Create a new file"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"touch"})," - This command is used to create a new file."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"touch <new-file-name>\n"})}),"\n",(0,r.jsx)(n.h3,{id:"print-the-contents-of-a-file",children:"Print the contents of a file"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"cat"})," - Stands for ",(0,r.jsx)(n.em,{children:"Concatenate"}),". This command is used to print the contents of a file to the terminal."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"cat <file>\n"})}),"\n",(0,r.jsx)(n.h2,{id:"tips--important-notes",children:"Tips & Important Notes"}),"\n",(0,r.jsx)(n.p,{children:"I'm just gonna throw out a bunch of small bits of info here that I see students struggle with often."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Instead of typing ",(0,r.jsx)(n.code,{children:"/home/netid/"})," in SCP/SSH, use ",(0,r.jsx)(n.code,{children:"~"}),". This is basically shorthand for that path. So ",(0,r.jsx)(n.code,{children:"/home/netid"})," is the same thing as ",(0,r.jsx)(n.code,{children:"~"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["When you're in a directory, you can use ",(0,r.jsx)(n.code,{children:".."})," to go back one directory. So if you're in ",(0,r.jsx)(n.code,{children:"/home/netid/cosc102/labs"}),", you can use ",(0,r.jsx)(n.code,{children:"cd .."})," to go back to ",(0,r.jsx)(n.code,{children:"/home/netid/cosc102"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>t});var r=s(7294);const o={},i=r.createContext(o);function t(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/749f4ecd.33c0195b.js b/assets/js/749f4ecd.33c0195b.js new file mode 100644 index 00000000..0143d2d4 --- /dev/null +++ b/assets/js/749f4ecd.33c0195b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2816],{905:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=s(5893),r=s(1151);const i={sidebar_position:1},t="Common Unix/Linux & g++ Commands",c={id:"reference/common-linux-commands",title:"Common Unix/Linux & g++ Commands",description:"Tips and resources that are useful for the course.",source:"@site/docs/reference/common-linux-commands.md",sourceDirName:"reference",slug:"/reference/common-linux-commands",permalink:"/cs102-handbook/docs/reference/common-linux-commands",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"Sidebar",previous:{title:"Reference",permalink:"/cs102-handbook/docs/category/reference"},next:{title:"Sharing Code on Discord",permalink:"/cs102-handbook/docs/reference/discord"}},l={},d=[{value:"What is this?",id:"what-is-this",level:2},{value:"<code>g++</code> - The C++ Compiler",id:"g---the-c-compiler",level:2},{value:"Compiling",id:"compiling",level:3},{value:"example",id:"example",level:4},{value:"Running",id:"running",level:3},{value:"Logging into the lab machines",id:"logging-into-the-lab-machines",level:2},{value:"<code>ssh</code> Syntax",id:"ssh-syntax",level:3},{value:"Copying to and from the lab machines (<code>scp</code>)",id:"copying-to-and-from-the-lab-machines-scp",level:2},{value:"<code>scp</code> Syntax",id:"scp-syntax",level:3},{value:"From your computer to the lab computers",id:"from-your-computer-to-the-lab-computers",level:3},{value:"From the lab computers to your computer",id:"from-the-lab-computers-to-your-computer",level:3},{value:"Common SCP FAQs/Errors",id:"common-scp-faqserrors",level:3},{value:"Other commands you should know",id:"other-commands-you-should-know",level:2},{value:"List files in a directory",id:"list-files-in-a-directory",level:3},{value:"Change directory",id:"change-directory",level:3},{value:"Print current directory path",id:"print-current-directory-path",level:3},{value:"Make a new directory",id:"make-a-new-directory",level:3},{value:"Copy a file or directory",id:"copy-a-file-or-directory",level:3},{value:"Move/rename a file",id:"moverename-a-file",level:3},{value:"Remove a file or directory",id:"remove-a-file-or-directory",level:3},{value:"Create a new file",id:"create-a-new-file",level:3},{value:"Print the contents of a file",id:"print-the-contents-of-a-file",level:3},{value:"Tips & Important Notes",id:"tips--important-notes",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"common-unixlinux--g-commands",children:"Common Unix/Linux & g++ Commands"}),"\n",(0,o.jsx)(n.p,{children:"Tips and resources that are useful for the course."}),"\n",(0,o.jsx)(n.h2,{id:"what-is-this",children:"What is this?"}),"\n",(0,o.jsx)(n.p,{children:"This page can be used as a reference for the basics of the COSC 102 course. It is not meant to be a complete reference, but rather a quick reference for the most common things you will need to know."}),"\n",(0,o.jsx)(n.admonition,{type:"info",children:(0,o.jsxs)(n.p,{children:["This page is aimed at Unix/Linux computers. If you are using Windows, it's more or less the same, but some of the syntax is slightly different like how Windows uses ",(0,o.jsx)(n.code,{children:"\\"})," instead of ",(0,o.jsx)(n.code,{children:"/"})," for paths, and the file system structure is different. (e.g. ",(0,o.jsx)(n.code,{children:"C:\\"})," is the root directory for Windows, but ",(0,o.jsx)(n.code,{children:"/"})," is the root directory for Unix/Linux. ",(0,o.jsx)(n.code,{children:"C:\\Desktop"})," is the Desktop folder for Windows, but ",(0,o.jsx)(n.code,{children:"/home/<username>/Desktop"})," is the Desktop folder for Unix/Linux.)"]})}),"\n",(0,o.jsx)(n.hr,{}),"\n",(0,o.jsxs)(n.h2,{id:"g---the-c-compiler",children:[(0,o.jsx)(n.code,{children:"g++"})," - The C++ Compiler"]}),"\n",(0,o.jsx)(n.h3,{id:"compiling",children:"Compiling"}),"\n",(0,o.jsx)(n.admonition,{type:"danger",children:(0,o.jsxs)(n.p,{children:["Whenever going to submit your code for an assignment, ",(0,o.jsx)(n.strong,{children:"ALWAYS"})," make sure it compiles ",(0,o.jsx)(n.em,{children:"and"})," behaves (as intended) before doing so -- ",(0,o.jsx)(n.strong,{children:"ON THE LAB MACHINES"}),". Compilers work different across computers, so even if it compiled on your computer, it doesn't necessarily compile or behave the same way on the lab machines. The TA's grade using the lab machines, so if your code doesn't compile or work correctly there, you will not get credit for the assignment."]})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"g++"})," - Stands for ",(0,o.jsx)(n.em,{children:"GNU C++ Compiler"}),". This command is used to compile C++ programs. It is the default compiler for C++ programs on Unix/Linux systems. It is also the compiler we will be using in this course."]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["There are many ways to use the ",(0,o.jsx)(n.code,{children:"g++"})," command, but the most common way is to use the following syntax:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"g++ -std=c++11 -o <binary> <source>.cpp\n"})}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"binary"}),(0,o.jsx)(n.th,{children:"source"})]})}),(0,o.jsx)(n.tbody,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"The name of the binary (final executable) you want to create"}),(0,o.jsx)(n.td,{children:"The name of the source file (your code) you want to compile"})]})})]}),"\n",(0,o.jsx)(n.h4,{id:"example",children:"example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"g++ -std=c++11 -o foo lab1.cpp\n"})}),"\n",(0,o.jsx)(n.h3,{id:"running",children:"Running"}),"\n",(0,o.jsxs)(n.p,{children:["This will compile the ",(0,o.jsx)(n.code,{children:"lab1.cpp"})," file and create a binary called ",(0,o.jsx)(n.code,{children:"foo"})," that you can run with"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"./foo\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["Notice ",(0,o.jsx)(n.code,{children:"foo"})," is just a random name. You can name the executable whatever you want, since the ",(0,o.jsx)(n.code,{children:"g++"})," command will create the binary you specify. Usually though you want to name it something that makes sense, like the name of the program you're writing e.g. ",(0,o.jsx)(n.code,{children:"lab1"})," or ",(0,o.jsx)(n.code,{children:"lab2"})," etc."]})}),"\n",(0,o.jsxs)(n.p,{children:["We use ",(0,o.jsx)(n.code,{children:"./"})," to tell the computer that we want to run a binary in the current directory. If you want to run a binary in a different directory, you can use the full path to the binary without the ",(0,o.jsx)(n.code,{children:"."})]}),"\n",(0,o.jsxs)(n.p,{children:["Later in the course, you may be required to compile programs with extra flags that are specific to the lab. These flags will be provided to you in the lab instructions, but it's ",(0,o.jsx)(n.em,{children:"paramount"})," that you compile with these flags when required. Often times they affect the way your program runs, and if you don't compile with the correct flags, your program may not run correctly, or it may not compile at all, which will net you a 0 on the lab without chance for appeal."]}),"\n",(0,o.jsx)(n.h2,{id:"logging-into-the-lab-machines",children:"Logging into the lab machines"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"ssh"})," - Stands for ",(0,o.jsx)(n.em,{children:"Secure Shell"}),". This command allows you to log into a remote server. It is used to log into the lab machines."]}),"\n",(0,o.jsxs)(n.h3,{id:"ssh-syntax",children:[(0,o.jsx)(n.code,{children:"ssh"})," Syntax"]}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"NetID"}),(0,o.jsx)(n.th,{children:"Number"})]})}),(0,o.jsx)(n.tbody,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:"Your UTK NetID"}),(0,o.jsx)(n.td,{children:"Any number [0,30]"})]})})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# syntax\nssh <netid>@tesla<number>.eecs.utk.edu\n\n# example\nssh bricker1@hydra12.eecs.utk.edu\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"tesla"})," and ",(0,o.jsx)(n.code,{children:"hydra"})," are interchangeable. You can use either one to log into the lab machines. Also, any progress on the lab machines is transferred to the others. In other words, it doesn't matter what number or machine you use, you can always access your files from any other machine."]})}),"\n",(0,o.jsxs)(n.h2,{id:"copying-to-and-from-the-lab-machines-scp",children:["Copying to and from the lab machines (",(0,o.jsx)(n.code,{children:"scp"}),")"]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"/cs102-handbook/docs/tutorials/ssh-and-scp",children:"Here"})," is a full ",(0,o.jsx)(n.code,{children:"ssh"})," and ",(0,o.jsx)(n.code,{children:"scp"})," tutorial."]})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"scp"})," - Stands for ",(0,o.jsx)(n.em,{children:"Secure Copy"}),". This command allows you to copy files from a remote server to your local computer or vice versa."]}),"\n",(0,o.jsxs)(n.h3,{id:"scp-syntax",children:[(0,o.jsx)(n.code,{children:"scp"})," Syntax"]}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"File"}),(0,o.jsx)(n.th,{children:"NetID"}),(0,o.jsx)(n.th,{children:"Number"}),(0,o.jsx)(n.th,{children:"Destination"})]})}),(0,o.jsx)(n.tbody,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsxs)(n.td,{children:["The ",(0,o.jsx)(n.strong,{children:"path"})," to the file you want to copy"]}),(0,o.jsx)(n.td,{children:"Your UTK NetID"}),(0,o.jsx)(n.td,{children:"Any number [0,30]"}),(0,o.jsxs)(n.td,{children:["The ",(0,o.jsx)(n.strong,{children:"path"})," to the location you want the file copied"]})]})})]}),"\n",(0,o.jsx)(n.h3,{id:"from-your-computer-to-the-lab-computers",children:"From your computer to the lab computers"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# syntax\nscp <file> <netid>@tesla<number>.eecs.utk.edu:<destination>\n\n# example (Unix/Linux)\nscp ~/Documents/cs102/hello.cpp bricker1@hydra2.eecs.utk.edu:~/cs102/labs/lab1/\n\n# example (Windows)\nscp C:\\Users\\bricker1\\Documents\\cs102\\hello.cpp bricker1@hydra2.eecs.utk.edu:~/cs102/labs/lab1/\n"})}),"\n",(0,o.jsx)(n.h3,{id:"from-the-lab-computers-to-your-computer",children:"From the lab computers to your computer"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# syntax\nscp <netid>@tesla<number>.eecs.utk.edu:<file> <destination>\n\n# example (Unix/Linux)\nscp bricker1@hydra2.eecs.utk.edu:~/cs102/labs/lab1/hello.cpp ~/Downloads/\n\n# example (Windows)\nscp bricker1@hydra2.eecs.utk.edu:~/cs102/labs/lab1/hello.cpp C:\\Users\\bricker1\\Downloads\\\n"})}),"\n",(0,o.jsx)(n.h3,{id:"common-scp-faqserrors",children:"Common SCP FAQs/Errors"}),"\n",(0,o.jsxs)(n.p,{children:["If you're copying a file ",(0,o.jsx)(n.strong,{children:"from your computer to the lab computers"}),", you need to make sure ",(0,o.jsx)(n.em,{children:"one"})," of the following is true:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"You are in the same directory as the file you want to copy"}),"\n",(0,o.jsx)(n.li,{children:"You provide the full path of the file you want to copy"}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["If you aren't in the same directory as the file you want to copy, then you can use ",(0,o.jsx)(n.code,{children:"cd"})," to navigate to the directory that contains the file you want to copy. Or you can provide the full path to the file you want to copy. (e.g. ",(0,o.jsx)(n.code,{children:"scp ~/Desktop/file.txt"})," as opposed to ",(0,o.jsx)(n.code,{children:"scp file.txt"}),")"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"scp ~/Desktop/file.txt <netid>@tesla<number>.eecs.utk.edu:<destination>\n\n# as opposed to\n\nscp file.txt <netid>@tesla<number>.eecs.utk.edu:<destination>\n"})}),"\n",(0,o.jsxs)(n.p,{children:["If you ",(0,o.jsx)(n.em,{children:"are"})," in the same directory, then the path you use for the file you want to copy is just the name of the file."]}),"\n",(0,o.jsxs)(n.p,{children:["If you're copying a file ",(0,o.jsx)(n.strong,{children:"from the lab computers to your computer"}),", then ",(0,o.jsx)(n.code,{children:"<file>"})," & ",(0,o.jsx)(n.code,{children:"<destination>"})," will ",(0,o.jsx)(n.em,{children:"always"})," be the full path to the file you want to copy. (e.g. ",(0,o.jsx)(n.code,{children:"~/cosc102/labs/lab1.cpp"})," for ",(0,o.jsx)(n.code,{children:"<file>"}),"). You can however copy a file to your current directory by using ",(0,o.jsx)(n.code,{children:"."})," as the destination."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"scp <netid>@tesla<number>.eecs.utk.edu:~/cosc102/labs/lab1.cpp .\n"})}),"\n",(0,o.jsx)(n.h2,{id:"other-commands-you-should-know",children:"Other commands you should know"}),"\n",(0,o.jsx)(n.h3,{id:"list-files-in-a-directory",children:"List files in a directory"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"ls"})," - Stands for ",(0,o.jsx)(n.em,{children:"List"}),". This command is used to list the contents of a directory. It is often used to see what files are in a directory, or to see if a file exists in a directory. There are multiple flags you can use with ",(0,o.jsx)(n.code,{children:"ls"})," that alter the output"]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"ls -a # lists hidden files/directories (ones that start with a . character)\nls -l # a more detailed list of the current directory. It shows things like file mod times, permissions, and more\nls <directory/file> # lists the contents of a specific directory/lists whether a file exists in the current directory, respectively\n"})}),"\n",(0,o.jsx)(n.h3,{id:"change-directory",children:"Change directory"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"cd"})," - Stands for ",(0,o.jsx)(n.em,{children:"Change Directory"}),". This command is used to change the current directory. It is often used to navigate to a specific directory, or to navigate back to your home directory."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"cd <directory> # changes the current directory to the directory specified\ncd .. # changes the current directory to the parent directory of the current directory (moves back one)\ncd ~ # changes the current directory to your home directory\n"})}),"\n",(0,o.jsx)(n.h3,{id:"print-current-directory-path",children:"Print current directory path"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"pwd"})," - Stands for ",(0,o.jsx)(n.em,{children:"Print Working Directory"}),". This command is used to print the current directory. It is often used to see what directory you are currently in."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"pwd\n"})}),"\n",(0,o.jsx)(n.h3,{id:"make-a-new-directory",children:"Make a new directory"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"mkdir"})," - Stands for ",(0,o.jsx)(n.em,{children:"Make Directory"}),". This command is used to create a new directory."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"mkdir <new-directory-name>\n"})}),"\n",(0,o.jsx)(n.h3,{id:"copy-a-file-or-directory",children:"Copy a file or directory"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"cp"})," - Stands for ",(0,o.jsx)(n.em,{children:"Copy"}),". This command is used to copy a file or directory."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"cp <source> <destination>\ncp -r <source-directory> <destination-directory>\n"})}),"\n",(0,o.jsx)(n.h3,{id:"moverename-a-file",children:"Move/rename a file"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"mv"})," - Stands for ",(0,o.jsx)(n.em,{children:"Move"}),". This command is used to move a file to a different location. You can also use it to rename a file."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"mv <source> <destination> # moves source to destination or renames source to destination\n"})}),"\n",(0,o.jsx)(n.h3,{id:"remove-a-file-or-directory",children:"Remove a file or directory"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"rm"})," - Stands for ",(0,o.jsx)(n.em,{children:"Remove"}),". This command is used to remove files and directories."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"rm <file> # removes a file\nrm -r <directory> # removes a directory and all of its contents\n"})}),"\n",(0,o.jsx)(n.h3,{id:"create-a-new-file",children:"Create a new file"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"touch"})," - This command is used to create a new file."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"touch <new-file-name>\n"})}),"\n",(0,o.jsx)(n.h3,{id:"print-the-contents-of-a-file",children:"Print the contents of a file"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"cat"})," - Stands for ",(0,o.jsx)(n.em,{children:"Concatenate"}),". This command is used to print the contents of a file to the terminal."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"cat <file>\n"})}),"\n",(0,o.jsx)(n.h2,{id:"tips--important-notes",children:"Tips & Important Notes"}),"\n",(0,o.jsx)(n.p,{children:"I'm just gonna throw out a bunch of small bits of info here that I see students struggle with often."}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Instead of typing ",(0,o.jsx)(n.code,{children:"/home/netid/"})," in SCP/SSH, use ",(0,o.jsx)(n.code,{children:"~"}),". This is basically shorthand for that path. So ",(0,o.jsx)(n.code,{children:"/home/netid"})," is the same thing as ",(0,o.jsx)(n.code,{children:"~"}),"."]}),"\n",(0,o.jsxs)(n.li,{children:["When you're in a directory, you can use ",(0,o.jsx)(n.code,{children:".."})," to go back one directory. So if you're in ",(0,o.jsx)(n.code,{children:"/home/netid/cosc102/labs"}),", you can use ",(0,o.jsx)(n.code,{children:"cd .."})," to go back to ",(0,o.jsx)(n.code,{children:"/home/netid/cosc102"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>c,a:()=>t});var o=s(7294);const r={},i=o.createContext(r);function t(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7661071f.5fb5f53c.js b/assets/js/7661071f.5fb5f53c.js deleted file mode 100644 index 4c771c0b..00000000 --- a/assets/js/7661071f.5fb5f53c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[9642],{3174:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var t=o(5893),n=o(1151);const r={slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},l=void 0,a={permalink:"/cs102-writeups/blog/welcome",source:"@site/blog/2021-08-26-welcome/index.md",title:"Welcome",description:"Docusaurus blogging features are powered by the blog plugin.",date:"2021-08-26T00:00:00.000Z",formattedDate:"August 26, 2021",tags:[{label:"facebook",permalink:"/cs102-writeups/blog/tags/facebook"},{label:"hello",permalink:"/cs102-writeups/blog/tags/hello"},{label:"docusaurus",permalink:"/cs102-writeups/blog/tags/docusaurus"}],readingTime:.405,hasTruncateMarker:!1,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",imageURL:"https://github.com/slorber.png",key:"slorber"},{name:"Yangshun Tay",title:"Front End Engineer @ Facebook",url:"https://github.com/yangshun",imageURL:"https://github.com/yangshun.png",key:"yangshun"}],frontMatter:{slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},unlisted:!1,nextItem:{title:"MDX Blog Post",permalink:"/cs102-writeups/blog/mdx-blog-post"}},c={authorsImageUrls:[void 0,void 0]},u=[];function i(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://docusaurus.io/docs/blog",children:"Docusaurus blogging features"})," are powered by the ",(0,t.jsx)(s.a,{href:"https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog plugin"}),"."]}),"\n",(0,t.jsxs)(s.p,{children:["Simply add Markdown files (or folders) to the ",(0,t.jsx)(s.code,{children:"blog"})," directory."]}),"\n",(0,t.jsxs)(s.p,{children:["Regular blog authors can be added to ",(0,t.jsx)(s.code,{children:"authors.yml"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"The blog post date can be extracted from filenames, such as:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"2019-05-30-welcome.md"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"2019-05-30-welcome/index.md"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"A blog post folder can be convenient to co-locate blog post images:"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"Docusaurus Plushie",src:o(535).Z+"",width:"1500",height:"500"})}),"\n",(0,t.jsx)(s.p,{children:"The blog supports tags as well!"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"And if you don't want a blog"}),": just delete this directory, and use ",(0,t.jsx)(s.code,{children:"blog: false"})," in your Docusaurus config."]})]})}function d(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(i,{...e})}):i(e)}},535:(e,s,o)=>{o.d(s,{Z:()=>t});const t=o.p+"assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg"},1151:(e,s,o)=>{o.d(s,{Z:()=>a,a:()=>l});var t=o(7294);const n={},r=t.createContext(n);function l(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7661071f.e05070ca.js b/assets/js/7661071f.e05070ca.js new file mode 100644 index 00000000..9cbbb91c --- /dev/null +++ b/assets/js/7661071f.e05070ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[9642],{3174:(e,o,s)=>{s.r(o),s.d(o,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>u});var n=s(5893),t=s(1151);const a={slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},l=void 0,r={permalink:"/cs102-handbook/blog/welcome",source:"@site/blog/2021-08-26-welcome/index.md",title:"Welcome",description:"Docusaurus blogging features are powered by the blog plugin.",date:"2021-08-26T00:00:00.000Z",formattedDate:"August 26, 2021",tags:[{label:"facebook",permalink:"/cs102-handbook/blog/tags/facebook"},{label:"hello",permalink:"/cs102-handbook/blog/tags/hello"},{label:"docusaurus",permalink:"/cs102-handbook/blog/tags/docusaurus"}],readingTime:.405,hasTruncateMarker:!1,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",imageURL:"https://github.com/slorber.png",key:"slorber"},{name:"Yangshun Tay",title:"Front End Engineer @ Facebook",url:"https://github.com/yangshun",imageURL:"https://github.com/yangshun.png",key:"yangshun"}],frontMatter:{slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},unlisted:!1,nextItem:{title:"MDX Blog Post",permalink:"/cs102-handbook/blog/mdx-blog-post"}},c={authorsImageUrls:[void 0,void 0]},u=[];function i(e){const o={a:"a",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.p,{children:[(0,n.jsx)(o.a,{href:"https://docusaurus.io/docs/blog",children:"Docusaurus blogging features"})," are powered by the ",(0,n.jsx)(o.a,{href:"https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog plugin"}),"."]}),"\n",(0,n.jsxs)(o.p,{children:["Simply add Markdown files (or folders) to the ",(0,n.jsx)(o.code,{children:"blog"})," directory."]}),"\n",(0,n.jsxs)(o.p,{children:["Regular blog authors can be added to ",(0,n.jsx)(o.code,{children:"authors.yml"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"The blog post date can be extracted from filenames, such as:"}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.code,{children:"2019-05-30-welcome.md"})}),"\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.code,{children:"2019-05-30-welcome/index.md"})}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:"A blog post folder can be convenient to co-locate blog post images:"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Docusaurus Plushie",src:s(535).Z+"",width:"1500",height:"500"})}),"\n",(0,n.jsx)(o.p,{children:"The blog supports tags as well!"}),"\n",(0,n.jsxs)(o.p,{children:[(0,n.jsx)(o.strong,{children:"And if you don't want a blog"}),": just delete this directory, and use ",(0,n.jsx)(o.code,{children:"blog: false"})," in your Docusaurus config."]})]})}function d(e={}){const{wrapper:o}={...(0,t.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(i,{...e})}):i(e)}},535:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg"},1151:(e,o,s)=>{s.d(o,{Z:()=>r,a:()=>l});var n=s(7294);const t={},a=n.createContext(t);function l(e){const o=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(a.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b5231bb.58abb436.js b/assets/js/7b5231bb.32e478d7.js similarity index 97% rename from assets/js/7b5231bb.58abb436.js rename to assets/js/7b5231bb.32e478d7.js index 499ba01b..fb67253e 100644 --- a/assets/js/7b5231bb.58abb436.js +++ b/assets/js/7b5231bb.32e478d7.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[486],{2710:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=s(5893),t=s(1151);const r={},l="Bitset Notes",a={id:"in-class-lab-notes/bitset-notes",title:"Bitset Notes",description:"Making Binary Numbers in C++",source:"@site/docs/in-class-lab-notes/bitset-notes.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/bitset-notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/bitset-notes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"In-Class Lab Notes",permalink:"/cs102-writeups/docs/category/in-class-lab-notes"},next:{title:"Boiling Water Notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/boiling-water-notes"}},o={},c=[{value:"Making Binary Numbers in C++",id:"making-binary-numbers-in-c",level:2},{value:"Converting a 1D Index into a 2D Index",id:"converting-a-1d-index-into-a-2d-index",level:2},{value:"Bitwise Operations",id:"bitwise-operations",level:2},{value:"Operator precedence",id:"operator-precedence",level:3},{value:"Right and Left Shift Examples",id:"right-and-left-shift-examples",level:2},{value:"Shorthand syntax",id:"shorthand-syntax",level:3},{value:"Returning a Boolean from a Function",id:"returning-a-boolean-from-a-function",level:2},{value:"Bitset Calculators",id:"bitset-calculators",level:2},{value:"vector APIs you will need for this lab",id:"vector-apis-you-will-need-for-this-lab",level:2},{value:"<code>resize(new_size, fill_value)</code>",id:"resizenew_size-fill_value",level:3},{value:"<code>pop_back()</code>",id:"pop_back",level:3},{value:"<code>back()</code>",id:"back",level:3},{value:"ToBinary Spacing",id:"tobinary-spacing",level:2},{value:"Helpful Resources",id:"helpful-resources",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"bitset-notes",children:"Bitset Notes"}),"\n",(0,i.jsx)(n.h2,{id:"making-binary-numbers-in-c",children:"Making Binary Numbers in C++"}),"\n",(0,i.jsx)(n.p,{children:"Not needed for this lab, but good to know!"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" const int binary_9 = 0b1001;\n const int binary_145 = 0b10010001;\n"})}),"\n",(0,i.jsx)(n.h2,{id:"converting-a-1d-index-into-a-2d-index",children:"Converting a 1D Index into a 2D Index"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" const size_t ARRAY_SIZE = 26;\n const size_t ROW_SIZE = 6;\n\n int array_2d[4][6] = {\n {0, 1, 2, 3, 4, 5},\n {6, 7, 8, 9, 10, 11},\n {12, 13, 14, 15, 16, 17},\n {18, 19, 20, 21, 22, 13},\n };\n\n for (size_t i = 0; i < ARRAY_SIZE; ++i) {\n // i = 0, row = 0, column = 0\n // i = 1, row = 0, column = 1\n // ...\n // i = 6, row = 1, column = 0\n // i = 7, row = 1, column = 1\n const size_t row_index = i / ROW_SIZE;\n const size_t column_index = i % ROW_SIZE;\n const int value = array_2d[row_index][column_index];\n std::cout << value << std::endl;\n }\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Your row size in this case will be 32, the number of bits in an ",(0,i.jsx)(n.code,{children:"int"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"bitwise-operations",children:"Bitwise Operations"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"~"})," bitwise NOT"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"<<"})," left shift"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:">>"})," right shift"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"&"})," bitwise AND"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"|"})," bitwise OR"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"^"})," bitwise XOR"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"For this lab, you will not use xor!!"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/lab-walkthroughs/bitset#bitwise-operators",children:"Ethan's overview of bitwise operators"})}),"\n",(0,i.jsx)(n.h3,{id:"operator-precedence",children:"Operator precedence"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"~"})," has the highest precedence meaning it will be evaluated first"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"<<"})," and ",(0,i.jsx)(n.code,{children:">>"})," have the second highest precedence. Since left-shift and right-shift, raise to a power of 2 or divide by a power of 2, I tend to think of them as bitwise multiplication and bitwise division."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"&"}),", ",(0,i.jsx)(n.code,{children:"|"}),", ",(0,i.jsx)(n.code,{children:"^"})," have the lowest precedence."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["WARNING: the ",(0,i.jsx)(n.code,{children:"=="})," operator has higher precedence than ",(0,i.jsx)(n.code,{children:"&"}),", ",(0,i.jsx)(n.code,{children:"|"}),", ",(0,i.jsx)(n.code,{children:"^"}),". This means that ",(0,i.jsx)(n.code,{children:"bitset & mask != 0"})," would be evaluated as ",(0,i.jsx)(n.code,{children:"bitset & (mask != 0)"})," when we want ",(0,i.jsx)(n.code,{children:"(bitset & mask) != 0"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"right-and-left-shift-examples",children:"Right and Left Shift Examples"}),"\n",(0,i.jsx)(n.p,{children:"Right shifting and left shifting are the same as multiplying and dividing by a power of 2."}),"\n",(0,i.jsxs)(n.p,{children:["NOTE: do not use the ",(0,i.jsx)(n.code,{children:"pow"})," function from ",(0,i.jsx)(n.code,{children:"cmath"})," for this lab!"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" int x = 64 << 1; // same as 64 * pow(2, 1) or 64 * 2\n int x = 64 << 3; // same as 64 * pow(2, 3) or 64 * 8\n int x = 64 >> 1; // same as 64 / pow(2, 1) or 64 / 2\n int x = 64 >> 4; // same as 64 / pow(2, 3) or 64 / 8\n"})}),"\n",(0,i.jsx)(n.h3,{id:"shorthand-syntax",children:"Shorthand syntax"}),"\n",(0,i.jsxs)(n.p,{children:["Like all other operators in ",(0,i.jsx)(n.code,{children:"c++"}),", you can use the shorthand assignment syntax with any bit operator"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" int bitset = 0b1001;\n bitset |= 0b1000; // bitset = bitset | 0b1000\n bitset &= 0b1000; // bitset = bitset & 0b1000\n bitset ^= 0b1000; // bitset = bitset ^ 0b1000\n bitset <<= 1; // bitset = bitset << 1\n"})}),"\n",(0,i.jsx)(n.h2,{id:"returning-a-boolean-from-a-function",children:"Returning a Boolean from a Function"}),"\n",(0,i.jsx)(n.p,{children:"The test function returns a boolean value, whether the bit is set or not."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const\n"})}),"\n",(0,i.jsx)(n.p,{children:"Do not do"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const {\n if ((bitset & mask) != 0) {\n return true;\n } else {\n return false;\n }\n}\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const {\n if ((bitset & mask) == 0) {\n return false;\n } else {\n return true;\n }\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Do"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const {\n return (bitset & mask) != 0;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Or possibly a more intuitive way"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const {\n const int test_bit = bitset & mask;\n return test_bit != 0;\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"bitset-calculators",children:"Bitset Calculators"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/lab-walkthroughs/bitset#examples",children:"Ethan's examples of bitwise calculators"})}),"\n",(0,i.jsx)(n.h2,{id:"vector-apis-you-will-need-for-this-lab",children:"vector APIs you will need for this lab"}),"\n",(0,i.jsx)(n.h3,{id:"resizenew_size-fill_value",children:(0,i.jsx)(n.code,{children:"resize(new_size, fill_value)"})}),"\n",(0,i.jsx)(n.p,{children:"You will need this for the set function"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" std::vector<int> data{1, 2, 3, 4, 5};\n data.resize(10 /* new size */, 0 /* fill value */); // resize to 10 elements, fill with 0\n // after: {1, 2, 3, 4, 5, 0, 0, 0, 0, 0}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Same call signature as the ",(0,i.jsx)(n.code,{children:"vector"})," constructor"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"std::vector<int> data(10 /* new size */, 0 /* fill value */);\ndata; // {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 10 0s\n"})}),"\n",(0,i.jsx)(n.h3,{id:"pop_back",children:(0,i.jsx)(n.code,{children:"pop_back()"})}),"\n",(0,i.jsx)(n.p,{children:"You will need this for the clear function"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" std::vector<int> data{1, 2, 3, 4, 5};\n data.pop_back(); // remove last element\n // after: {1, 2, 3, 4}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"back",children:(0,i.jsx)(n.code,{children:"back()"})}),"\n",(0,i.jsx)(n.p,{children:"Returns the last element in a vector. Not needed, but helpful for the clear function when checking if the last element is 0."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" std::vector<int> data{1, 2, 3, 4, 5};\n data.back(); // returns 5\n"})}),"\n",(0,i.jsx)(n.h2,{id:"tobinary-spacing",children:"ToBinary Spacing"}),"\n",(0,i.jsx)(n.p,{children:"When 32 (the number of bits) is not evenly divisible by the size of the spacing, the smallest group of bits will go on the right. For example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'ToBinary(0b1001, 3); // returns "000 000 000 000 000 000 000 000 000 010 01"\nToBinary(0b1001, 5); // returns "00000 00000 00000 00000 00000 00010 01"\nToBinary(0b1001, 6); // returns "000000 000000 000000 000000 000010 01"\n'})}),"\n",(0,i.jsx)(n.p,{children:"A common error, make sure you are not adding an extra space at the end of the string!"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'ToBinary(0b1001, 3); // Does not return "000 000 000 000 000 000 000 000 000 010 01 "\nToBinary(0b1001, 5); // Does not return "00000 00000 00000 00000 00000 00010 01 "\nToBinary(0b1001, 6); // Does not return "000000 000000 000000 000000 000010 01 "\n'})}),"\n",(0,i.jsx)(n.h2,{id:"helpful-resources",children:"Helpful Resources"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/lab-walkthroughs/bitset",children:"Ethan's walkthrough of the whole lab"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Make sure to set up the tests first thing. These are the tests we will grade the lab with!"})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>l});var i=s(7294);const t={},r=i.createContext(t);function l(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[486],{2710:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=s(5893),t=s(1151);const r={},l="Bitset Notes",a={id:"in-class-lab-notes/bitset-notes",title:"Bitset Notes",description:"Making Binary Numbers in C++",source:"@site/docs/in-class-lab-notes/bitset-notes.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/bitset-notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/bitset-notes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"In-Class Lab Notes",permalink:"/cs102-handbook/docs/category/in-class-lab-notes"},next:{title:"Boiling Water Notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/boiling-water-notes"}},o={},c=[{value:"Making Binary Numbers in C++",id:"making-binary-numbers-in-c",level:2},{value:"Converting a 1D Index into a 2D Index",id:"converting-a-1d-index-into-a-2d-index",level:2},{value:"Bitwise Operations",id:"bitwise-operations",level:2},{value:"Operator precedence",id:"operator-precedence",level:3},{value:"Right and Left Shift Examples",id:"right-and-left-shift-examples",level:2},{value:"Shorthand syntax",id:"shorthand-syntax",level:3},{value:"Returning a Boolean from a Function",id:"returning-a-boolean-from-a-function",level:2},{value:"Bitset Calculators",id:"bitset-calculators",level:2},{value:"vector APIs you will need for this lab",id:"vector-apis-you-will-need-for-this-lab",level:2},{value:"<code>resize(new_size, fill_value)</code>",id:"resizenew_size-fill_value",level:3},{value:"<code>pop_back()</code>",id:"pop_back",level:3},{value:"<code>back()</code>",id:"back",level:3},{value:"ToBinary Spacing",id:"tobinary-spacing",level:2},{value:"Helpful Resources",id:"helpful-resources",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"bitset-notes",children:"Bitset Notes"}),"\n",(0,i.jsx)(n.h2,{id:"making-binary-numbers-in-c",children:"Making Binary Numbers in C++"}),"\n",(0,i.jsx)(n.p,{children:"Not needed for this lab, but good to know!"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" const int binary_9 = 0b1001;\n const int binary_145 = 0b10010001;\n"})}),"\n",(0,i.jsx)(n.h2,{id:"converting-a-1d-index-into-a-2d-index",children:"Converting a 1D Index into a 2D Index"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" const size_t ARRAY_SIZE = 26;\n const size_t ROW_SIZE = 6;\n\n int array_2d[4][6] = {\n {0, 1, 2, 3, 4, 5},\n {6, 7, 8, 9, 10, 11},\n {12, 13, 14, 15, 16, 17},\n {18, 19, 20, 21, 22, 13},\n };\n\n for (size_t i = 0; i < ARRAY_SIZE; ++i) {\n // i = 0, row = 0, column = 0\n // i = 1, row = 0, column = 1\n // ...\n // i = 6, row = 1, column = 0\n // i = 7, row = 1, column = 1\n const size_t row_index = i / ROW_SIZE;\n const size_t column_index = i % ROW_SIZE;\n const int value = array_2d[row_index][column_index];\n std::cout << value << std::endl;\n }\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Your row size in this case will be 32, the number of bits in an ",(0,i.jsx)(n.code,{children:"int"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"bitwise-operations",children:"Bitwise Operations"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"~"})," bitwise NOT"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"<<"})," left shift"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:">>"})," right shift"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"&"})," bitwise AND"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"|"})," bitwise OR"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"^"})," bitwise XOR"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"For this lab, you will not use xor!!"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/lab-walkthroughs/bitset#bitwise-operators",children:"Ethan's overview of bitwise operators"})}),"\n",(0,i.jsx)(n.h3,{id:"operator-precedence",children:"Operator precedence"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"~"})," has the highest precedence meaning it will be evaluated first"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"<<"})," and ",(0,i.jsx)(n.code,{children:">>"})," have the second highest precedence. Since left-shift and right-shift, raise to a power of 2 or divide by a power of 2, I tend to think of them as bitwise multiplication and bitwise division."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"&"}),", ",(0,i.jsx)(n.code,{children:"|"}),", ",(0,i.jsx)(n.code,{children:"^"})," have the lowest precedence."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["WARNING: the ",(0,i.jsx)(n.code,{children:"=="})," operator has higher precedence than ",(0,i.jsx)(n.code,{children:"&"}),", ",(0,i.jsx)(n.code,{children:"|"}),", ",(0,i.jsx)(n.code,{children:"^"}),". This means that ",(0,i.jsx)(n.code,{children:"bitset & mask != 0"})," would be evaluated as ",(0,i.jsx)(n.code,{children:"bitset & (mask != 0)"})," when we want ",(0,i.jsx)(n.code,{children:"(bitset & mask) != 0"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"right-and-left-shift-examples",children:"Right and Left Shift Examples"}),"\n",(0,i.jsx)(n.p,{children:"Right shifting and left shifting are the same as multiplying and dividing by a power of 2."}),"\n",(0,i.jsxs)(n.p,{children:["NOTE: do not use the ",(0,i.jsx)(n.code,{children:"pow"})," function from ",(0,i.jsx)(n.code,{children:"cmath"})," for this lab!"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" int x = 64 << 1; // same as 64 * pow(2, 1) or 64 * 2\n int x = 64 << 3; // same as 64 * pow(2, 3) or 64 * 8\n int x = 64 >> 1; // same as 64 / pow(2, 1) or 64 / 2\n int x = 64 >> 4; // same as 64 / pow(2, 3) or 64 / 8\n"})}),"\n",(0,i.jsx)(n.h3,{id:"shorthand-syntax",children:"Shorthand syntax"}),"\n",(0,i.jsxs)(n.p,{children:["Like all other operators in ",(0,i.jsx)(n.code,{children:"c++"}),", you can use the shorthand assignment syntax with any bit operator"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" int bitset = 0b1001;\n bitset |= 0b1000; // bitset = bitset | 0b1000\n bitset &= 0b1000; // bitset = bitset & 0b1000\n bitset ^= 0b1000; // bitset = bitset ^ 0b1000\n bitset <<= 1; // bitset = bitset << 1\n"})}),"\n",(0,i.jsx)(n.h2,{id:"returning-a-boolean-from-a-function",children:"Returning a Boolean from a Function"}),"\n",(0,i.jsx)(n.p,{children:"The test function returns a boolean value, whether the bit is set or not."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const\n"})}),"\n",(0,i.jsx)(n.p,{children:"Do not do"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const {\n if ((bitset & mask) != 0) {\n return true;\n } else {\n return false;\n }\n}\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const {\n if ((bitset & mask) == 0) {\n return false;\n } else {\n return true;\n }\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Do"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const {\n return (bitset & mask) != 0;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Or possibly a more intuitive way"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"bool BITSET::Test(const int index) const {\n const int test_bit = bitset & mask;\n return test_bit != 0;\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"bitset-calculators",children:"Bitset Calculators"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/docs/lab-walkthroughs/bitset#examples",children:"Ethan's examples of bitwise calculators"})}),"\n",(0,i.jsx)(n.h2,{id:"vector-apis-you-will-need-for-this-lab",children:"vector APIs you will need for this lab"}),"\n",(0,i.jsx)(n.h3,{id:"resizenew_size-fill_value",children:(0,i.jsx)(n.code,{children:"resize(new_size, fill_value)"})}),"\n",(0,i.jsx)(n.p,{children:"You will need this for the set function"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" std::vector<int> data{1, 2, 3, 4, 5};\n data.resize(10 /* new size */, 0 /* fill value */); // resize to 10 elements, fill with 0\n // after: {1, 2, 3, 4, 5, 0, 0, 0, 0, 0}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Same call signature as the ",(0,i.jsx)(n.code,{children:"vector"})," constructor"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"std::vector<int> data(10 /* new size */, 0 /* fill value */);\ndata; // {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 10 0s\n"})}),"\n",(0,i.jsx)(n.h3,{id:"pop_back",children:(0,i.jsx)(n.code,{children:"pop_back()"})}),"\n",(0,i.jsx)(n.p,{children:"You will need this for the clear function"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" std::vector<int> data{1, 2, 3, 4, 5};\n data.pop_back(); // remove last element\n // after: {1, 2, 3, 4}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"back",children:(0,i.jsx)(n.code,{children:"back()"})}),"\n",(0,i.jsx)(n.p,{children:"Returns the last element in a vector. Not needed, but helpful for the clear function when checking if the last element is 0."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:" std::vector<int> data{1, 2, 3, 4, 5};\n data.back(); // returns 5\n"})}),"\n",(0,i.jsx)(n.h2,{id:"tobinary-spacing",children:"ToBinary Spacing"}),"\n",(0,i.jsx)(n.p,{children:"When 32 (the number of bits) is not evenly divisible by the size of the spacing, the smallest group of bits will go on the right. For example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'ToBinary(0b1001, 3); // returns "000 000 000 000 000 000 000 000 000 010 01"\nToBinary(0b1001, 5); // returns "00000 00000 00000 00000 00000 00010 01"\nToBinary(0b1001, 6); // returns "000000 000000 000000 000000 000010 01"\n'})}),"\n",(0,i.jsx)(n.p,{children:"A common error, make sure you are not adding an extra space at the end of the string!"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'ToBinary(0b1001, 3); // Does not return "000 000 000 000 000 000 000 000 000 010 01 "\nToBinary(0b1001, 5); // Does not return "00000 00000 00000 00000 00000 00010 01 "\nToBinary(0b1001, 6); // Does not return "000000 000000 000000 000000 000010 01 "\n'})}),"\n",(0,i.jsx)(n.h2,{id:"helpful-resources",children:"Helpful Resources"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/lab-walkthroughs/bitset",children:"Ethan's walkthrough of the whole lab"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Make sure to set up the tests first thing. These are the tests we will grade the lab with!"})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>l});var i=s(7294);const t={},r=i.createContext(t);function l(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7faec263.b1887d2b.js b/assets/js/7faec263.b1887d2b.js deleted file mode 100644 index edecdcf5..00000000 --- a/assets/js/7faec263.b1887d2b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[4608],{4536:s=>{s.exports=JSON.parse('{"title":"Tutorials","description":"Tutorials for various topics in the course.","slug":"/category/tutorials","permalink":"/cs102-writeups/docs/category/tutorials","navigation":{"previous":{"title":"Mac Environment Setup","permalink":"/cs102-writeups/docs/environment-setup/mac"},"next":{"title":"SSH and SCP Tutorial","permalink":"/cs102-writeups/docs/tutorials/ssh-and-scp"}}}')}}]); \ No newline at end of file diff --git a/assets/js/6314.1f9011bf.js b/assets/js/8016.d253f4c1.js similarity index 99% rename from assets/js/6314.1f9011bf.js rename to assets/js/8016.d253f4c1.js index f2a7c9d8..c7520319 100644 --- a/assets/js/6314.1f9011bf.js +++ b/assets/js/8016.d253f4c1.js @@ -1 +1 @@ -(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[6314],{8734:function(t){t.exports=function(){"use strict";return function(t,e){var n=e.prototype,i=n.format;n.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return i.bind(this)(t);var s=this.$utils(),r=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return n.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return n.ordinal(e.week(),"W");case"w":case"ww":return s.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return s.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return s.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}}));return i.bind(this)(r)}}}()},285:function(t){t.exports=function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,i=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,r={},a=function(t){return(t=+t)+(t>68?1900:2e3)},o=function(t){return function(e){this[t]=+e}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if("Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:"+"===e[0]?-n:n}(t)}],l=function(t){var e=r[t];return e&&(e.indexOf?e:e.s.concat(e.f))},d=function(t,e){var n,i=r.meridiem;if(i){for(var s=1;s<=24;s+=1)if(t.indexOf(i(s,0,e))>-1){n=s>12;break}}else n=t===(e?"pm":"PM");return n},u={A:[s,function(t){this.afternoon=d(t,!1)}],a:[s,function(t){this.afternoon=d(t,!0)}],S:[/\d/,function(t){this.milliseconds=100*+t}],SS:[n,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[i,o("seconds")],ss:[i,o("seconds")],m:[i,o("minutes")],mm:[i,o("minutes")],H:[i,o("hours")],h:[i,o("hours")],HH:[i,o("hours")],hh:[i,o("hours")],D:[i,o("day")],DD:[n,o("day")],Do:[s,function(t){var e=r.ordinal,n=t.match(/\d+/);if(this.day=n[0],e)for(var i=1;i<=31;i+=1)e(i).replace(/\[|\]/g,"")===t&&(this.day=i)}],M:[i,o("month")],MM:[n,o("month")],MMM:[s,function(t){var e=l("months"),n=(l("monthsShort")||e.map((function(t){return t.slice(0,3)}))).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[s,function(t){var e=l("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\d+/,o("year")],YY:[n,function(t){this.year=a(t)}],YYYY:[/\d{4}/,o("year")],Z:c,ZZ:c};function h(n){var i,s;i=n,s=r&&r.formats;for(var a=(n=i.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,n,i){var r=i&&i.toUpperCase();return n||s[i]||t[i]||s[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))).match(e),o=a.length,c=0;c<o;c+=1){var l=a[c],d=u[l],h=d&&d[0],f=d&&d[1];a[c]=f?{regex:h,parser:f}:l.replace(/^\[|\]$/g,"")}return function(t){for(var e={},n=0,i=0;n<o;n+=1){var s=a[n];if("string"==typeof s)i+=s.length;else{var r=s.regex,c=s.parser,l=t.slice(i),d=r.exec(l)[0];c.call(e,d),t=t.replace(d,"")}}return function(t){var e=t.afternoon;if(void 0!==e){var n=t.hours;e?n<12&&(t.hours+=12):12===n&&(t.hours=0),delete t.afternoon}}(e),e}}return function(t,e,n){n.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(a=t.parseTwoDigitYear);var i=e.prototype,s=i.parse;i.parse=function(t){var e=t.date,i=t.utc,a=t.args;this.$u=i;var o=a[1];if("string"==typeof o){var c=!0===a[2],l=!0===a[3],d=c||l,u=a[2];l&&(u=a[2]),r=this.$locale(),!c&&u&&(r=n.Ls[u]),this.$d=function(t,e,n){try{if(["x","X"].indexOf(e)>-1)return new Date(("X"===e?1e3:1)*t);var i=h(e)(t),s=i.year,r=i.month,a=i.day,o=i.hours,c=i.minutes,l=i.seconds,d=i.milliseconds,u=i.zone,f=new Date,y=a||(s||r?1:f.getDate()),m=s||f.getFullYear(),k=0;s&&!r||(k=r>0?r-1:f.getMonth());var p=o||0,g=c||0,b=l||0,x=d||0;return u?new Date(Date.UTC(m,k,y,p,g,b,x+60*u.offset*1e3)):n?new Date(Date.UTC(m,k,y,p,g,b,x)):new Date(m,k,y,p,g,b,x)}catch(t){return new Date("")}}(e,o,i),this.init(),u&&!0!==u&&(this.$L=this.locale(u).$L),d&&e!=this.format(o)&&(this.$d=new Date("")),r={}}else if(o instanceof Array)for(var f=o.length,y=1;y<=f;y+=1){a[1]=o[y-1];var m=n.apply(this,a);if(m.isValid()){this.$d=m.$d,this.$L=m.$L,this.init();break}y===f&&(this.$d=new Date(""))}else s.call(this,t)}}}()},9542:function(t){t.exports=function(){"use strict";var t="day";return function(e,n,i){var s=function(e){return e.add(4-e.isoWeekday(),t)},r=n.prototype;r.isoWeekYear=function(){return s(this).year()},r.isoWeek=function(e){if(!this.$utils().u(e))return this.add(7*(e-this.isoWeek()),t);var n,r,a,o=s(this),c=(n=this.isoWeekYear(),a=4-(r=(this.$u?i.utc:i)().year(n).startOf("year")).isoWeekday(),r.isoWeekday()>4&&(a+=7),r.add(a,t));return o.diff(c,"week")+1},r.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var a=r.startOf;r.startOf=function(t,e){var n=this.$utils(),i=!!n.u(e)||e;return"isoweek"===n.p(t)?i?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(t,e)}}}()},8016:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>X});var i=n(7967),s=n(7484),r=n(9542),a=n(285),o=n(8734),c=n(5322),l=n(4218),d=(n(7856),function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],n=[1,25],i=[1,26],s=[1,27],r=[1,28],a=[1,29],o=[1,30],c=[1,31],l=[1,9],d=[1,10],u=[1,11],h=[1,12],f=[1,13],y=[1,14],m=[1,15],k=[1,16],p=[1,18],g=[1,19],b=[1,20],x=[1,21],T=[1,22],v=[1,24],_=[1,32],w={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(t,e,n,i,s,r,a){var o=r.length-1;switch(s){case 1:return r[o-1];case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:this.$=r[o];break;case 8:i.setWeekday("monday");break;case 9:i.setWeekday("tuesday");break;case 10:i.setWeekday("wednesday");break;case 11:i.setWeekday("thursday");break;case 12:i.setWeekday("friday");break;case 13:i.setWeekday("saturday");break;case 14:i.setWeekday("sunday");break;case 15:i.setDateFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 16:i.enableInclusiveEndDates(),this.$=r[o].substr(18);break;case 17:i.TopAxis(),this.$=r[o].substr(8);break;case 18:i.setAxisFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 19:i.setTickInterval(r[o].substr(13)),this.$=r[o].substr(13);break;case 20:i.setExcludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 21:i.setIncludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 22:i.setTodayMarker(r[o].substr(12)),this.$=r[o].substr(12);break;case 24:i.setDiagramTitle(r[o].substr(6)),this.$=r[o].substr(6);break;case 25:this.$=r[o].trim(),i.setAccTitle(this.$);break;case 26:case 27:this.$=r[o].trim(),i.setAccDescription(this.$);break;case 28:i.addSection(r[o].substr(8)),this.$=r[o].substr(8);break;case 30:i.addTask(r[o-1],r[o]),this.$="task";break;case 31:this.$=r[o-1],i.setClickEvent(r[o-1],r[o],null);break;case 32:this.$=r[o-2],i.setClickEvent(r[o-2],r[o-1],r[o]);break;case 33:this.$=r[o-2],i.setClickEvent(r[o-2],r[o-1],null),i.setLink(r[o-2],r[o]);break;case 34:this.$=r[o-3],i.setClickEvent(r[o-3],r[o-2],r[o-1]),i.setLink(r[o-3],r[o]);break;case 35:this.$=r[o-2],i.setClickEvent(r[o-2],r[o],null),i.setLink(r[o-2],r[o-1]);break;case 36:this.$=r[o-3],i.setClickEvent(r[o-3],r[o-1],r[o]),i.setLink(r[o-3],r[o-2]);break;case 37:this.$=r[o-1],i.setLink(r[o-1],r[o]);break;case 38:case 44:this.$=r[o-1]+" "+r[o];break;case 39:case 40:case 42:this.$=r[o-2]+" "+r[o-1]+" "+r[o];break;case 41:case 43:this.$=r[o-3]+" "+r[o-2]+" "+r[o-1]+" "+r[o]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:i,14:s,15:r,16:a,17:o,18:c,19:l,20:d,21:u,22:h,23:f,24:y,25:m,26:k,27:p,28:g,30:b,32:x,33:T,34:23,35:v,37:_},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:n,13:i,14:s,15:r,16:a,17:o,18:c,19:l,20:d,21:u,22:h,23:f,24:y,25:m,26:k,27:p,28:g,30:b,32:x,33:T,34:23,35:v,37:_},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],i=[],s=[null],r=[],a=this.table,o="",c=0,l=0,d=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var y=u.yylloc;r.push(y);var m=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,p,g,b,x,T,v,_,w,$={};;){if(p=n[n.length-1],this.defaultActions[p]?g=this.defaultActions[p]:(null==k&&(w=void 0,"number"!=typeof(w=i.pop()||u.lex()||1)&&(w instanceof Array&&(w=(i=w).pop()),w=e.symbols_[w]||w),k=w),g=a[p]&&a[p][k]),void 0===g||!g.length||!g[0]){var D="";for(x in _=[],a[p])this.terminals_[x]&&x>2&&_.push("'"+this.terminals_[x]+"'");D=u.showPosition?"Parse error on line "+(c+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:u.match,token:this.terminals_[k]||k,line:u.yylineno,loc:y,expected:_})}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+k);switch(g[0]){case 1:n.push(k),s.push(u.yytext),r.push(u.yylloc),n.push(g[1]),k=null,l=u.yyleng,o=u.yytext,c=u.yylineno,y=u.yylloc;break;case 2:if(T=this.productions_[g[1]][1],$.$=s[s.length-T],$._$={first_line:r[r.length-(T||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(T||1)].first_column,last_column:r[r.length-1].last_column},m&&($._$.range=[r[r.length-(T||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply($,[o,l,c,h.yy,g[1],s,r].concat(d))))return b;T&&(n=n.slice(0,-1*T*2),s=s.slice(0,-1*T),r=r.slice(0,-1*T)),n.push(this.productions_[g[1]][0]),s.push($.$),r.push($._$),v=a[n[n.length-2]][n[n.length-1]],n.push(v);break;case 3:return!0}}return!0}},$={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;r<s.length;r++)if((n=this._input.match(this.rules[s[r]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 16:case 19:case 22:case 25:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:case 14:break;case 11:return 10;case 15:this.begin("href");break;case 17:return 40;case 18:this.begin("callbackname");break;case 20:this.popState(),this.begin("callbackargs");break;case 21:return 38;case 23:return 39;case 24:this.begin("click");break;case 26:return 37;case 27:return 4;case 28:return 19;case 29:return 20;case 30:return 21;case 31:return 22;case 32:return 23;case 33:return 25;case 34:return 24;case 35:return 26;case 36:return 12;case 37:return 13;case 38:return 14;case 39:return 15;case 40:return 16;case 41:return 17;case 42:return 18;case 43:return"date";case 44:return 27;case 45:return"accDescription";case 46:return 33;case 47:return 35;case 48:return 36;case 49:return":";case 50:return 6;case 51:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[22,23],inclusive:!1},callbackname:{rules:[19,20,21],inclusive:!1},href:{rules:[16,17],inclusive:!1},click:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,18,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};function D(){this.yy={}}return w.lexer=$,D.prototype=w,w.Parser=D,new D}());d.parser=d;const u=d;s.extend(r),s.extend(a),s.extend(o);let h,f="",y="",m="",k=[],p=[],g={},b=[],x=[],T="",v="";const _=["active","done","crit","milestone"];let w=[],$=!1,D=!1,S="sunday",C=0;const E=function(t,e,n,i){return!i.includes(t.format(e.trim()))&&(!!(t.isoWeekday()>=6&&n.includes("weekends"))||(!!n.includes(t.format("dddd").toLowerCase())||n.includes(t.format(e.trim()))))},M=function(t,e,n,i){if(!n.length||t.manualEndTime)return;let r,a;r=t.startTime instanceof Date?s(t.startTime):s(t.startTime,e,!0),r=r.add(1,"d"),a=t.endTime instanceof Date?s(t.endTime):s(t.endTime,e,!0);const[o,c]=Y(r,a,e,n,i);t.endTime=o.toDate(),t.renderEndTime=c},Y=function(t,e,n,i,s){let r=!1,a=null;for(;t<=e;)r||(a=e.toDate()),r=E(t,n,i,s),r&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,a]},A=function(t,e,n){n=n.trim();const i=/^after\s+([\d\w- ]+)/.exec(n.trim());if(null!==i){let t=null;if(i[1].split(" ").forEach((function(e){let n=N(e);void 0!==n&&(t?n.endTime>t.endTime&&(t=n):t=n)})),t)return t.endTime;{const t=new Date;return t.setHours(0,0,0,0),t}}let r=s(n,e.trim(),!0);if(r.isValid())return r.toDate();{c.l.debug("Invalid date:"+n),c.l.debug("With date format:"+e.trim());const t=new Date(n);if(void 0===t||isNaN(t.getTime())||t.getFullYear()<-1e4||t.getFullYear()>1e4)throw new Error("Invalid date:"+n);return t}},L=function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},F=function(t,e,n,i=!1){n=n.trim();let r=s(n,e.trim(),!0);if(r.isValid())return i&&(r=r.add(1,"d")),r.toDate();let a=s(t);const[o,c]=L(n);if(!Number.isNaN(o)){const t=a.add(o,c);t.isValid()&&(a=t)}return a.toDate()};let I=0;const O=function(t){return void 0===t?(I+=1,"task"+I):t};let W,z,B=[];const P={},N=function(t){const e=P[t];return B[e]},H=function(){const t=function(t){const e=B[t];let n="";switch(B[t].raw.startTime.type){case"prevTaskEnd":{const t=N(e.prevTaskId);e.startTime=t.endTime;break}case"getStartDate":n=A(0,f,B[t].raw.startTime.startData),n&&(B[t].startTime=n)}return B[t].startTime&&(B[t].endTime=F(B[t].startTime,f,B[t].raw.endTime.data,$),B[t].endTime&&(B[t].processed=!0,B[t].manualEndTime=s(B[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),M(B[t],f,p,k))),B[t].processed};let e=!0;for(const[n,i]of B.entries())t(n),e=e&&i.processed;return e},j=function(t,e){t.split(",").forEach((function(t){let n=N(t);void 0!==n&&n.classes.push(e)}))},Z=function(t,e){w.push((function(){const n=document.querySelector(`[id="${t}"]`);null!==n&&n.addEventListener("click",(function(){e()}))}),(function(){const n=document.querySelector(`[id="${t}-text"]`);null!==n&&n.addEventListener("click",(function(){e()}))}))},G={getConfig:()=>(0,c.c)().gantt,clear:function(){b=[],x=[],T="",w=[],I=0,W=void 0,z=void 0,B=[],f="",y="",v="",h=void 0,m="",k=[],p=[],$=!1,D=!1,C=0,g={},(0,c.t)(),S="sunday"},setDateFormat:function(t){f=t},getDateFormat:function(){return f},enableInclusiveEndDates:function(){$=!0},endDatesAreInclusive:function(){return $},enableTopAxis:function(){D=!0},topAxisEnabled:function(){return D},setAxisFormat:function(t){y=t},getAxisFormat:function(){return y},setTickInterval:function(t){h=t},getTickInterval:function(){return h},setTodayMarker:function(t){m=t},getTodayMarker:function(){return m},setAccTitle:c.s,getAccTitle:c.g,setDiagramTitle:c.q,getDiagramTitle:c.r,setDisplayMode:function(t){v=t},getDisplayMode:function(){return v},setAccDescription:c.b,getAccDescription:c.a,addSection:function(t){T=t,b.push(t)},getSections:function(){return b},getTasks:function(){let t=H();let e=0;for(;!t&&e<10;)t=H(),e++;return x=B,x},addTask:function(t,e){const n={section:T,type:T,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},i=function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const i=n.split(","),s={};V(i,s,_);for(let r=0;r<i.length;r++)i[r]=i[r].trim();switch(i.length){case 1:s.id=O(),s.startTime={type:"prevTaskEnd",id:t},s.endTime={data:i[0]};break;case 2:s.id=O(),s.startTime={type:"getStartDate",startData:i[0]},s.endTime={data:i[1]};break;case 3:s.id=O(i[0]),s.startTime={type:"getStartDate",startData:i[1]},s.endTime={data:i[2]}}return s}(z,e);n.raw.startTime=i.startTime,n.raw.endTime=i.endTime,n.id=i.id,n.prevTaskId=z,n.active=i.active,n.done=i.done,n.crit=i.crit,n.milestone=i.milestone,n.order=C,C++;const s=B.push(n);z=n.id,P[n.id]=s-1},findTaskById:N,addTaskOrg:function(t,e){const n={section:T,type:T,description:t,task:t,classes:[]},i=function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const i=n.split(","),r={};V(i,r,_);for(let s=0;s<i.length;s++)i[s]=i[s].trim();let a="";switch(i.length){case 1:r.id=O(),r.startTime=t.endTime,a=i[0];break;case 2:r.id=O(),r.startTime=A(0,f,i[0]),a=i[1];break;case 3:r.id=O(i[0]),r.startTime=A(0,f,i[1]),a=i[2]}return a&&(r.endTime=F(r.startTime,f,a,$),r.manualEndTime=s(a,"YYYY-MM-DD",!0).isValid(),M(r,f,p,k)),r}(W,e);n.startTime=i.startTime,n.endTime=i.endTime,n.id=i.id,n.active=i.active,n.done=i.done,n.crit=i.crit,n.milestone=i.milestone,W=n,x.push(n)},setIncludes:function(t){k=t.toLowerCase().split(/[\s,]+/)},getIncludes:function(){return k},setExcludes:function(t){p=t.toLowerCase().split(/[\s,]+/)},getExcludes:function(){return p},setClickEvent:function(t,e,n){t.split(",").forEach((function(t){!function(t,e,n){if("loose"!==(0,c.c)().securityLevel)return;if(void 0===e)return;let i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();'"'===e.charAt(0)&&'"'===e.charAt(e.length-1)&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(t),void 0!==N(t)&&Z(t,(()=>{c.u.runFunc(e,...i)}))}(t,e,n)})),j(t,"clickable")},setLink:function(t,e){let n=e;"loose"!==(0,c.c)().securityLevel&&(n=(0,i.Nm)(e)),t.split(",").forEach((function(t){void 0!==N(t)&&(Z(t,(()=>{window.open(n,"_self")})),g[t]=n)})),j(t,"clickable")},getLinks:function(){return g},bindFunctions:function(t){w.forEach((function(e){e(t)}))},parseDuration:L,isInvalidDate:E,setWeekday:function(t){S=t},getWeekday:function(){return S}};function V(t,e,n){let i=!0;for(;i;)i=!1,n.forEach((function(n){const s=new RegExp("^\\s*"+n+"\\s*$");t[0].match(s)&&(e[n]=!0,t.shift(1),i=!0)}))}const q={monday:l.Ox9,tuesday:l.YDX,wednesday:l.EFj,thursday:l.Igq,friday:l.y2j,saturday:l.LqH,sunday:l.Zyz},R=(t,e)=>{let n=[...t].map((()=>-1/0)),i=[...t].sort(((t,e)=>t.startTime-e.startTime||t.order-e.order)),s=0;for(const r of i)for(let t=0;t<n.length;t++)if(r.startTime>=n[t]){n[t]=r.endTime,r.order=t+e,t>s&&(s=t);break}return s};let U;const X={parser:u,db:G,renderer:{setConf:function(){c.l.debug("Something is calling, setConf, remove the call")},draw:function(t,e,n,i){const r=(0,c.c)().gantt,a=(0,c.c)().securityLevel;let o;"sandbox"===a&&(o=(0,l.Ys)("#i"+e));const d="sandbox"===a?(0,l.Ys)(o.nodes()[0].contentDocument.body):(0,l.Ys)("body"),u="sandbox"===a?o.nodes()[0].contentDocument:document,h=u.getElementById(e);U=h.parentElement.offsetWidth,void 0===U&&(U=1200),void 0!==r.useWidth&&(U=r.useWidth);const f=i.db.getTasks();let y=[];for(const s of f)y.push(s.type);y=function(t){const e={},n=[];for(let i=0,s=t.length;i<s;++i)Object.prototype.hasOwnProperty.call(e,t[i])||(e[t[i]]=!0,n.push(t[i]));return n}(y);const m={};let k=2*r.topPadding;if("compact"===i.db.getDisplayMode()||"compact"===r.displayMode){const t={};for(const n of f)void 0===t[n.section]?t[n.section]=[n]:t[n.section].push(n);let e=0;for(const n of Object.keys(t)){const i=R(t[n],e)+1;e+=i,k+=i*(r.barHeight+r.barGap),m[n]=i}}else{k+=f.length*(r.barHeight+r.barGap);for(const t of y)m[t]=f.filter((e=>e.type===t)).length}h.setAttribute("viewBox","0 0 "+U+" "+k);const p=d.select(`[id="${e}"]`),g=(0,l.Xf)().domain([(0,l.VV$)(f,(function(t){return t.startTime})),(0,l.Fp7)(f,(function(t){return t.endTime}))]).rangeRound([0,U-r.leftPadding-r.rightPadding]);f.sort((function(t,e){const n=t.startTime,i=e.startTime;let s=0;return n>i?s=1:n<i&&(s=-1),s})),function(t,n,a){const o=r.barHeight,d=o+r.barGap,h=r.topPadding,f=r.leftPadding;(0,l.BYU)().domain([0,y.length]).range(["#00B9FA","#F95002"]).interpolate(l.JHv);(function(t,e,n,a,o,l,d,u){if(0===d.length&&0===u.length)return;let h,f;for(const{startTime:i,endTime:s}of l)(void 0===h||i<h)&&(h=i),(void 0===f||s>f)&&(f=s);if(!h||!f)return;if(s(f).diff(s(h),"year")>5)return void c.l.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");const y=i.db.getDateFormat(),m=[];let k=null,b=s(h);for(;b.valueOf()<=f;)i.db.isInvalidDate(b,y,d,u)?k?k.end=b:k={start:b,end:b}:k&&(m.push(k),k=null),b=b.add(1,"d");p.append("g").selectAll("rect").data(m).enter().append("rect").attr("id",(function(t){return"exclude-"+t.start.format("YYYY-MM-DD")})).attr("x",(function(t){return g(t.start)+n})).attr("y",r.gridLineStartPadding).attr("width",(function(t){const e=t.end.add(1,"day");return g(e)-g(t.start)})).attr("height",o-e-r.gridLineStartPadding).attr("transform-origin",(function(e,i){return(g(e.start)+n+.5*(g(e.end)-g(e.start))).toString()+"px "+(i*t+.5*o).toString()+"px"})).attr("class","exclude-range")})(d,h,f,0,a,t,i.db.getExcludes(),i.db.getIncludes()),function(t,e,n,s){let a=(0,l.LLu)(g).tickSize(-s+e+r.gridLineStartPadding).tickFormat((0,l.i$Z)(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));const o=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(i.db.getTickInterval()||r.tickInterval);if(null!==o){const t=o[1],e=o[2],n=i.db.getWeekday()||r.weekday;switch(e){case"millisecond":a.ticks(l.U8T.every(t));break;case"second":a.ticks(l.S1K.every(t));break;case"minute":a.ticks(l.Z_i.every(t));break;case"hour":a.ticks(l.WQD.every(t));break;case"day":a.ticks(l.rr1.every(t));break;case"week":a.ticks(q[n].every(t));break;case"month":a.ticks(l.F0B.every(t))}}if(p.append("g").attr("class","grid").attr("transform","translate("+t+", "+(s-50)+")").call(a).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),i.db.topAxisEnabled()||r.topAxis){let n=(0,l.F5q)(g).tickSize(-s+e+r.gridLineStartPadding).tickFormat((0,l.i$Z)(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));if(null!==o){const t=o[1],e=o[2],s=i.db.getWeekday()||r.weekday;switch(e){case"millisecond":n.ticks(l.U8T.every(t));break;case"second":n.ticks(l.S1K.every(t));break;case"minute":n.ticks(l.Z_i.every(t));break;case"hour":n.ticks(l.WQD.every(t));break;case"day":n.ticks(l.rr1.every(t));break;case"week":n.ticks(q[s].every(t));break;case"month":n.ticks(l.F0B.every(t))}}p.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(n).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}(f,h,0,a),function(t,n,s,a,o,d,u){const h=[...new Set(t.map((t=>t.order)))].map((e=>t.find((t=>t.order===e))));p.append("g").selectAll("rect").data(h).enter().append("rect").attr("x",0).attr("y",(function(t,e){return t.order*n+s-2})).attr("width",(function(){return u-r.rightPadding/2})).attr("height",n).attr("class",(function(t){for(const[e,n]of y.entries())if(t.type===n)return"section section"+e%r.numberSectionStyles;return"section section0"}));const f=p.append("g").selectAll("rect").data(t).enter(),m=i.db.getLinks();f.append("rect").attr("id",(function(t){return t.id})).attr("rx",3).attr("ry",3).attr("x",(function(t){return t.milestone?g(t.startTime)+a+.5*(g(t.endTime)-g(t.startTime))-.5*o:g(t.startTime)+a})).attr("y",(function(t,e){return t.order*n+s})).attr("width",(function(t){return t.milestone?o:g(t.renderEndTime||t.endTime)-g(t.startTime)})).attr("height",o).attr("transform-origin",(function(t,e){return e=t.order,(g(t.startTime)+a+.5*(g(t.endTime)-g(t.startTime))).toString()+"px "+(e*n+s+.5*o).toString()+"px"})).attr("class",(function(t){const e="task";let n="";t.classes.length>0&&(n=t.classes.join(" "));let i=0;for(const[a,o]of y.entries())t.type===o&&(i=a%r.numberSectionStyles);let s="";return t.active?t.crit?s+=" activeCrit":s=" active":t.done?s=t.crit?" doneCrit":" done":t.crit&&(s+=" crit"),0===s.length&&(s=" task"),t.milestone&&(s=" milestone "+s),s+=i,s+=" "+n,e+s})),f.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",r.fontSize).attr("x",(function(t){let e=g(t.startTime),n=g(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(g(t.endTime)-g(t.startTime))-.5*o),t.milestone&&(n=e+o);const i=this.getBBox().width;return i>n-e?n+i+1.5*r.leftPadding>u?e+a-5:n+a+5:(n-e)/2+e+a})).attr("y",(function(t,e){return t.order*n+r.barHeight/2+(r.fontSize/2-2)+s})).attr("text-height",o).attr("class",(function(t){const e=g(t.startTime);let n=g(t.endTime);t.milestone&&(n=e+o);const i=this.getBBox().width;let s="";t.classes.length>0&&(s=t.classes.join(" "));let a=0;for(const[o,l]of y.entries())t.type===l&&(a=o%r.numberSectionStyles);let c="";return t.active&&(c=t.crit?"activeCritText"+a:"activeText"+a),t.done?c=t.crit?c+" doneCritText"+a:c+" doneText"+a:t.crit&&(c=c+" critText"+a),t.milestone&&(c+=" milestoneText"),i>n-e?n+i+1.5*r.leftPadding>u?s+" taskTextOutsideLeft taskTextOutside"+a+" "+c:s+" taskTextOutsideRight taskTextOutside"+a+" "+c+" width-"+i:s+" taskText taskText"+a+" "+c+" width-"+i}));if("sandbox"===(0,c.c)().securityLevel){let t;t=(0,l.Ys)("#i"+e);const n=t.nodes()[0].contentDocument;f.filter((function(t){return void 0!==m[t.id]})).each((function(t){var e=n.querySelector("#"+t.id),i=n.querySelector("#"+t.id+"-text");const s=e.parentNode;var r=n.createElement("a");r.setAttribute("xlink:href",m[t.id]),r.setAttribute("target","_top"),s.appendChild(r),r.appendChild(e),r.appendChild(i)}))}}(t,d,h,f,o,0,n),function(t,e){let n=0;const i=Object.keys(m).map((t=>[t,m[t]]));p.append("g").selectAll("text").data(i).enter().append((function(t){const e=t[0].split(c.e.lineBreakRegex),n=-(e.length-1)/2,i=u.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("dy",n+"em");for(const[s,r]of e.entries()){const t=u.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttribute("alignment-baseline","central"),t.setAttribute("x","10"),s>0&&t.setAttribute("dy","1em"),t.textContent=r,i.appendChild(t)}return i})).attr("x",10).attr("y",(function(s,r){if(!(r>0))return s[1]*t/2+e;for(let a=0;a<r;a++)return n+=i[r-1][1],s[1]*t/2+n*t+e})).attr("font-size",r.sectionFontSize).attr("class",(function(t){for(const[e,n]of y.entries())if(t[0]===n)return"sectionTitle sectionTitle"+e%r.numberSectionStyles;return"sectionTitle"}))}(d,h),function(t,e,n,s){const a=i.db.getTodayMarker();if("off"===a)return;const o=p.append("g").attr("class","today"),c=new Date,l=o.append("line");l.attr("x1",g(c)+t).attr("x2",g(c)+t).attr("y1",r.titleTopMargin).attr("y2",s-r.titleTopMargin).attr("class","today"),""!==a&&l.attr("style",a.replace(/,/g,";"))}(f,0,0,a)}(f,U,k),(0,c.i)(p,k,U,r.useMaxWidth),p.append("text").text(i.db.getDiagramTitle()).attr("x",U/2).attr("y",r.titleTopMargin).attr("class","titleText")}},styles:t=>`\n .mermaid-main-font {\n font-family: "trebuchet ms", verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n .exclude-range {\n fill: ${t.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${t.sectionBkgColor};\n }\n\n .section2 {\n fill: ${t.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${t.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n // font-size: ${t.ganttFontSize};\n // text-height: 14px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${t.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n text {\n font-family: ${t.fontFamily};\n fill: ${t.textColor};\n }\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${t.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n // .taskText:not([font-size]) {\n // font-size: ${t.ganttFontSize};\n // }\n\n .taskTextOutsideRight {\n fill: ${t.taskTextDarkColor};\n text-anchor: start;\n // font-size: ${t.ganttFontSize};\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n .taskTextOutsideLeft {\n fill: ${t.taskTextDarkColor};\n text-anchor: end;\n // font-size: ${t.ganttFontSize};\n }\n\n /* Special case clickable */\n .task.clickable {\n cursor: pointer;\n }\n .taskText.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${t.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${t.taskBkgColor};\n stroke: ${t.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${t.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${t.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${t.activeTaskBkgColor};\n stroke: ${t.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${t.doneTaskBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor} ;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n`}}}]); \ No newline at end of file +(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[8016],{8734:function(t){t.exports=function(){"use strict";return function(t,e){var n=e.prototype,i=n.format;n.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return i.bind(this)(t);var s=this.$utils(),r=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return n.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return n.ordinal(e.week(),"W");case"w":case"ww":return s.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return s.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return s.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}}));return i.bind(this)(r)}}}()},285:function(t){t.exports=function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,i=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,r={},a=function(t){return(t=+t)+(t>68?1900:2e3)},o=function(t){return function(e){this[t]=+e}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if("Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:"+"===e[0]?-n:n}(t)}],l=function(t){var e=r[t];return e&&(e.indexOf?e:e.s.concat(e.f))},d=function(t,e){var n,i=r.meridiem;if(i){for(var s=1;s<=24;s+=1)if(t.indexOf(i(s,0,e))>-1){n=s>12;break}}else n=t===(e?"pm":"PM");return n},u={A:[s,function(t){this.afternoon=d(t,!1)}],a:[s,function(t){this.afternoon=d(t,!0)}],S:[/\d/,function(t){this.milliseconds=100*+t}],SS:[n,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[i,o("seconds")],ss:[i,o("seconds")],m:[i,o("minutes")],mm:[i,o("minutes")],H:[i,o("hours")],h:[i,o("hours")],HH:[i,o("hours")],hh:[i,o("hours")],D:[i,o("day")],DD:[n,o("day")],Do:[s,function(t){var e=r.ordinal,n=t.match(/\d+/);if(this.day=n[0],e)for(var i=1;i<=31;i+=1)e(i).replace(/\[|\]/g,"")===t&&(this.day=i)}],M:[i,o("month")],MM:[n,o("month")],MMM:[s,function(t){var e=l("months"),n=(l("monthsShort")||e.map((function(t){return t.slice(0,3)}))).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[s,function(t){var e=l("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\d+/,o("year")],YY:[n,function(t){this.year=a(t)}],YYYY:[/\d{4}/,o("year")],Z:c,ZZ:c};function h(n){var i,s;i=n,s=r&&r.formats;for(var a=(n=i.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,n,i){var r=i&&i.toUpperCase();return n||s[i]||t[i]||s[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))).match(e),o=a.length,c=0;c<o;c+=1){var l=a[c],d=u[l],h=d&&d[0],f=d&&d[1];a[c]=f?{regex:h,parser:f}:l.replace(/^\[|\]$/g,"")}return function(t){for(var e={},n=0,i=0;n<o;n+=1){var s=a[n];if("string"==typeof s)i+=s.length;else{var r=s.regex,c=s.parser,l=t.slice(i),d=r.exec(l)[0];c.call(e,d),t=t.replace(d,"")}}return function(t){var e=t.afternoon;if(void 0!==e){var n=t.hours;e?n<12&&(t.hours+=12):12===n&&(t.hours=0),delete t.afternoon}}(e),e}}return function(t,e,n){n.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(a=t.parseTwoDigitYear);var i=e.prototype,s=i.parse;i.parse=function(t){var e=t.date,i=t.utc,a=t.args;this.$u=i;var o=a[1];if("string"==typeof o){var c=!0===a[2],l=!0===a[3],d=c||l,u=a[2];l&&(u=a[2]),r=this.$locale(),!c&&u&&(r=n.Ls[u]),this.$d=function(t,e,n){try{if(["x","X"].indexOf(e)>-1)return new Date(("X"===e?1e3:1)*t);var i=h(e)(t),s=i.year,r=i.month,a=i.day,o=i.hours,c=i.minutes,l=i.seconds,d=i.milliseconds,u=i.zone,f=new Date,y=a||(s||r?1:f.getDate()),m=s||f.getFullYear(),k=0;s&&!r||(k=r>0?r-1:f.getMonth());var p=o||0,g=c||0,b=l||0,x=d||0;return u?new Date(Date.UTC(m,k,y,p,g,b,x+60*u.offset*1e3)):n?new Date(Date.UTC(m,k,y,p,g,b,x)):new Date(m,k,y,p,g,b,x)}catch(t){return new Date("")}}(e,o,i),this.init(),u&&!0!==u&&(this.$L=this.locale(u).$L),d&&e!=this.format(o)&&(this.$d=new Date("")),r={}}else if(o instanceof Array)for(var f=o.length,y=1;y<=f;y+=1){a[1]=o[y-1];var m=n.apply(this,a);if(m.isValid()){this.$d=m.$d,this.$L=m.$L,this.init();break}y===f&&(this.$d=new Date(""))}else s.call(this,t)}}}()},9542:function(t){t.exports=function(){"use strict";var t="day";return function(e,n,i){var s=function(e){return e.add(4-e.isoWeekday(),t)},r=n.prototype;r.isoWeekYear=function(){return s(this).year()},r.isoWeek=function(e){if(!this.$utils().u(e))return this.add(7*(e-this.isoWeek()),t);var n,r,a,o=s(this),c=(n=this.isoWeekYear(),a=4-(r=(this.$u?i.utc:i)().year(n).startOf("year")).isoWeekday(),r.isoWeekday()>4&&(a+=7),r.add(a,t));return o.diff(c,"week")+1},r.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var a=r.startOf;r.startOf=function(t,e){var n=this.$utils(),i=!!n.u(e)||e;return"isoweek"===n.p(t)?i?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(t,e)}}}()},8016:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>X});var i=n(7967),s=n(7484),r=n(9542),a=n(285),o=n(8734),c=n(5322),l=n(4218),d=(n(7856),function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],n=[1,25],i=[1,26],s=[1,27],r=[1,28],a=[1,29],o=[1,30],c=[1,31],l=[1,9],d=[1,10],u=[1,11],h=[1,12],f=[1,13],y=[1,14],m=[1,15],k=[1,16],p=[1,18],g=[1,19],b=[1,20],x=[1,21],T=[1,22],v=[1,24],_=[1,32],w={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(t,e,n,i,s,r,a){var o=r.length-1;switch(s){case 1:return r[o-1];case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:this.$=r[o];break;case 8:i.setWeekday("monday");break;case 9:i.setWeekday("tuesday");break;case 10:i.setWeekday("wednesday");break;case 11:i.setWeekday("thursday");break;case 12:i.setWeekday("friday");break;case 13:i.setWeekday("saturday");break;case 14:i.setWeekday("sunday");break;case 15:i.setDateFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 16:i.enableInclusiveEndDates(),this.$=r[o].substr(18);break;case 17:i.TopAxis(),this.$=r[o].substr(8);break;case 18:i.setAxisFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 19:i.setTickInterval(r[o].substr(13)),this.$=r[o].substr(13);break;case 20:i.setExcludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 21:i.setIncludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 22:i.setTodayMarker(r[o].substr(12)),this.$=r[o].substr(12);break;case 24:i.setDiagramTitle(r[o].substr(6)),this.$=r[o].substr(6);break;case 25:this.$=r[o].trim(),i.setAccTitle(this.$);break;case 26:case 27:this.$=r[o].trim(),i.setAccDescription(this.$);break;case 28:i.addSection(r[o].substr(8)),this.$=r[o].substr(8);break;case 30:i.addTask(r[o-1],r[o]),this.$="task";break;case 31:this.$=r[o-1],i.setClickEvent(r[o-1],r[o],null);break;case 32:this.$=r[o-2],i.setClickEvent(r[o-2],r[o-1],r[o]);break;case 33:this.$=r[o-2],i.setClickEvent(r[o-2],r[o-1],null),i.setLink(r[o-2],r[o]);break;case 34:this.$=r[o-3],i.setClickEvent(r[o-3],r[o-2],r[o-1]),i.setLink(r[o-3],r[o]);break;case 35:this.$=r[o-2],i.setClickEvent(r[o-2],r[o],null),i.setLink(r[o-2],r[o-1]);break;case 36:this.$=r[o-3],i.setClickEvent(r[o-3],r[o-1],r[o]),i.setLink(r[o-3],r[o-2]);break;case 37:this.$=r[o-1],i.setLink(r[o-1],r[o]);break;case 38:case 44:this.$=r[o-1]+" "+r[o];break;case 39:case 40:case 42:this.$=r[o-2]+" "+r[o-1]+" "+r[o];break;case 41:case 43:this.$=r[o-3]+" "+r[o-2]+" "+r[o-1]+" "+r[o]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:i,14:s,15:r,16:a,17:o,18:c,19:l,20:d,21:u,22:h,23:f,24:y,25:m,26:k,27:p,28:g,30:b,32:x,33:T,34:23,35:v,37:_},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:n,13:i,14:s,15:r,16:a,17:o,18:c,19:l,20:d,21:u,22:h,23:f,24:y,25:m,26:k,27:p,28:g,30:b,32:x,33:T,34:23,35:v,37:_},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],i=[],s=[null],r=[],a=this.table,o="",c=0,l=0,d=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var y=u.yylloc;r.push(y);var m=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,p,g,b,x,T,v,_,w,$={};;){if(p=n[n.length-1],this.defaultActions[p]?g=this.defaultActions[p]:(null==k&&(w=void 0,"number"!=typeof(w=i.pop()||u.lex()||1)&&(w instanceof Array&&(w=(i=w).pop()),w=e.symbols_[w]||w),k=w),g=a[p]&&a[p][k]),void 0===g||!g.length||!g[0]){var D="";for(x in _=[],a[p])this.terminals_[x]&&x>2&&_.push("'"+this.terminals_[x]+"'");D=u.showPosition?"Parse error on line "+(c+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(D,{text:u.match,token:this.terminals_[k]||k,line:u.yylineno,loc:y,expected:_})}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+k);switch(g[0]){case 1:n.push(k),s.push(u.yytext),r.push(u.yylloc),n.push(g[1]),k=null,l=u.yyleng,o=u.yytext,c=u.yylineno,y=u.yylloc;break;case 2:if(T=this.productions_[g[1]][1],$.$=s[s.length-T],$._$={first_line:r[r.length-(T||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(T||1)].first_column,last_column:r[r.length-1].last_column},m&&($._$.range=[r[r.length-(T||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply($,[o,l,c,h.yy,g[1],s,r].concat(d))))return b;T&&(n=n.slice(0,-1*T*2),s=s.slice(0,-1*T),r=r.slice(0,-1*T)),n.push(this.productions_[g[1]][0]),s.push($.$),r.push($._$),v=a[n[n.length-2]][n[n.length-1]],n.push(v);break;case 3:return!0}}return!0}},$={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;r<s.length;r++)if((n=this._input.match(this.rules[s[r]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 16:case 19:case 22:case 25:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:case 14:break;case 11:return 10;case 15:this.begin("href");break;case 17:return 40;case 18:this.begin("callbackname");break;case 20:this.popState(),this.begin("callbackargs");break;case 21:return 38;case 23:return 39;case 24:this.begin("click");break;case 26:return 37;case 27:return 4;case 28:return 19;case 29:return 20;case 30:return 21;case 31:return 22;case 32:return 23;case 33:return 25;case 34:return 24;case 35:return 26;case 36:return 12;case 37:return 13;case 38:return 14;case 39:return 15;case 40:return 16;case 41:return 17;case 42:return 18;case 43:return"date";case 44:return 27;case 45:return"accDescription";case 46:return 33;case 47:return 35;case 48:return 36;case 49:return":";case 50:return 6;case 51:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[22,23],inclusive:!1},callbackname:{rules:[19,20,21],inclusive:!1},href:{rules:[16,17],inclusive:!1},click:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,18,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};function D(){this.yy={}}return w.lexer=$,D.prototype=w,w.Parser=D,new D}());d.parser=d;const u=d;s.extend(r),s.extend(a),s.extend(o);let h,f="",y="",m="",k=[],p=[],g={},b=[],x=[],T="",v="";const _=["active","done","crit","milestone"];let w=[],$=!1,D=!1,S="sunday",C=0;const E=function(t,e,n,i){return!i.includes(t.format(e.trim()))&&(!!(t.isoWeekday()>=6&&n.includes("weekends"))||(!!n.includes(t.format("dddd").toLowerCase())||n.includes(t.format(e.trim()))))},M=function(t,e,n,i){if(!n.length||t.manualEndTime)return;let r,a;r=t.startTime instanceof Date?s(t.startTime):s(t.startTime,e,!0),r=r.add(1,"d"),a=t.endTime instanceof Date?s(t.endTime):s(t.endTime,e,!0);const[o,c]=Y(r,a,e,n,i);t.endTime=o.toDate(),t.renderEndTime=c},Y=function(t,e,n,i,s){let r=!1,a=null;for(;t<=e;)r||(a=e.toDate()),r=E(t,n,i,s),r&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,a]},A=function(t,e,n){n=n.trim();const i=/^after\s+([\d\w- ]+)/.exec(n.trim());if(null!==i){let t=null;if(i[1].split(" ").forEach((function(e){let n=N(e);void 0!==n&&(t?n.endTime>t.endTime&&(t=n):t=n)})),t)return t.endTime;{const t=new Date;return t.setHours(0,0,0,0),t}}let r=s(n,e.trim(),!0);if(r.isValid())return r.toDate();{c.l.debug("Invalid date:"+n),c.l.debug("With date format:"+e.trim());const t=new Date(n);if(void 0===t||isNaN(t.getTime())||t.getFullYear()<-1e4||t.getFullYear()>1e4)throw new Error("Invalid date:"+n);return t}},L=function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},F=function(t,e,n,i=!1){n=n.trim();let r=s(n,e.trim(),!0);if(r.isValid())return i&&(r=r.add(1,"d")),r.toDate();let a=s(t);const[o,c]=L(n);if(!Number.isNaN(o)){const t=a.add(o,c);t.isValid()&&(a=t)}return a.toDate()};let I=0;const O=function(t){return void 0===t?(I+=1,"task"+I):t};let W,z,B=[];const P={},N=function(t){const e=P[t];return B[e]},H=function(){const t=function(t){const e=B[t];let n="";switch(B[t].raw.startTime.type){case"prevTaskEnd":{const t=N(e.prevTaskId);e.startTime=t.endTime;break}case"getStartDate":n=A(0,f,B[t].raw.startTime.startData),n&&(B[t].startTime=n)}return B[t].startTime&&(B[t].endTime=F(B[t].startTime,f,B[t].raw.endTime.data,$),B[t].endTime&&(B[t].processed=!0,B[t].manualEndTime=s(B[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),M(B[t],f,p,k))),B[t].processed};let e=!0;for(const[n,i]of B.entries())t(n),e=e&&i.processed;return e},j=function(t,e){t.split(",").forEach((function(t){let n=N(t);void 0!==n&&n.classes.push(e)}))},Z=function(t,e){w.push((function(){const n=document.querySelector(`[id="${t}"]`);null!==n&&n.addEventListener("click",(function(){e()}))}),(function(){const n=document.querySelector(`[id="${t}-text"]`);null!==n&&n.addEventListener("click",(function(){e()}))}))},G={getConfig:()=>(0,c.c)().gantt,clear:function(){b=[],x=[],T="",w=[],I=0,W=void 0,z=void 0,B=[],f="",y="",v="",h=void 0,m="",k=[],p=[],$=!1,D=!1,C=0,g={},(0,c.t)(),S="sunday"},setDateFormat:function(t){f=t},getDateFormat:function(){return f},enableInclusiveEndDates:function(){$=!0},endDatesAreInclusive:function(){return $},enableTopAxis:function(){D=!0},topAxisEnabled:function(){return D},setAxisFormat:function(t){y=t},getAxisFormat:function(){return y},setTickInterval:function(t){h=t},getTickInterval:function(){return h},setTodayMarker:function(t){m=t},getTodayMarker:function(){return m},setAccTitle:c.s,getAccTitle:c.g,setDiagramTitle:c.q,getDiagramTitle:c.r,setDisplayMode:function(t){v=t},getDisplayMode:function(){return v},setAccDescription:c.b,getAccDescription:c.a,addSection:function(t){T=t,b.push(t)},getSections:function(){return b},getTasks:function(){let t=H();let e=0;for(;!t&&e<10;)t=H(),e++;return x=B,x},addTask:function(t,e){const n={section:T,type:T,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},i=function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const i=n.split(","),s={};V(i,s,_);for(let r=0;r<i.length;r++)i[r]=i[r].trim();switch(i.length){case 1:s.id=O(),s.startTime={type:"prevTaskEnd",id:t},s.endTime={data:i[0]};break;case 2:s.id=O(),s.startTime={type:"getStartDate",startData:i[0]},s.endTime={data:i[1]};break;case 3:s.id=O(i[0]),s.startTime={type:"getStartDate",startData:i[1]},s.endTime={data:i[2]}}return s}(z,e);n.raw.startTime=i.startTime,n.raw.endTime=i.endTime,n.id=i.id,n.prevTaskId=z,n.active=i.active,n.done=i.done,n.crit=i.crit,n.milestone=i.milestone,n.order=C,C++;const s=B.push(n);z=n.id,P[n.id]=s-1},findTaskById:N,addTaskOrg:function(t,e){const n={section:T,type:T,description:t,task:t,classes:[]},i=function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const i=n.split(","),r={};V(i,r,_);for(let s=0;s<i.length;s++)i[s]=i[s].trim();let a="";switch(i.length){case 1:r.id=O(),r.startTime=t.endTime,a=i[0];break;case 2:r.id=O(),r.startTime=A(0,f,i[0]),a=i[1];break;case 3:r.id=O(i[0]),r.startTime=A(0,f,i[1]),a=i[2]}return a&&(r.endTime=F(r.startTime,f,a,$),r.manualEndTime=s(a,"YYYY-MM-DD",!0).isValid(),M(r,f,p,k)),r}(W,e);n.startTime=i.startTime,n.endTime=i.endTime,n.id=i.id,n.active=i.active,n.done=i.done,n.crit=i.crit,n.milestone=i.milestone,W=n,x.push(n)},setIncludes:function(t){k=t.toLowerCase().split(/[\s,]+/)},getIncludes:function(){return k},setExcludes:function(t){p=t.toLowerCase().split(/[\s,]+/)},getExcludes:function(){return p},setClickEvent:function(t,e,n){t.split(",").forEach((function(t){!function(t,e,n){if("loose"!==(0,c.c)().securityLevel)return;if(void 0===e)return;let i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();'"'===e.charAt(0)&&'"'===e.charAt(e.length-1)&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(t),void 0!==N(t)&&Z(t,(()=>{c.u.runFunc(e,...i)}))}(t,e,n)})),j(t,"clickable")},setLink:function(t,e){let n=e;"loose"!==(0,c.c)().securityLevel&&(n=(0,i.Nm)(e)),t.split(",").forEach((function(t){void 0!==N(t)&&(Z(t,(()=>{window.open(n,"_self")})),g[t]=n)})),j(t,"clickable")},getLinks:function(){return g},bindFunctions:function(t){w.forEach((function(e){e(t)}))},parseDuration:L,isInvalidDate:E,setWeekday:function(t){S=t},getWeekday:function(){return S}};function V(t,e,n){let i=!0;for(;i;)i=!1,n.forEach((function(n){const s=new RegExp("^\\s*"+n+"\\s*$");t[0].match(s)&&(e[n]=!0,t.shift(1),i=!0)}))}const q={monday:l.Ox9,tuesday:l.YDX,wednesday:l.EFj,thursday:l.Igq,friday:l.y2j,saturday:l.LqH,sunday:l.Zyz},R=(t,e)=>{let n=[...t].map((()=>-1/0)),i=[...t].sort(((t,e)=>t.startTime-e.startTime||t.order-e.order)),s=0;for(const r of i)for(let t=0;t<n.length;t++)if(r.startTime>=n[t]){n[t]=r.endTime,r.order=t+e,t>s&&(s=t);break}return s};let U;const X={parser:u,db:G,renderer:{setConf:function(){c.l.debug("Something is calling, setConf, remove the call")},draw:function(t,e,n,i){const r=(0,c.c)().gantt,a=(0,c.c)().securityLevel;let o;"sandbox"===a&&(o=(0,l.Ys)("#i"+e));const d="sandbox"===a?(0,l.Ys)(o.nodes()[0].contentDocument.body):(0,l.Ys)("body"),u="sandbox"===a?o.nodes()[0].contentDocument:document,h=u.getElementById(e);U=h.parentElement.offsetWidth,void 0===U&&(U=1200),void 0!==r.useWidth&&(U=r.useWidth);const f=i.db.getTasks();let y=[];for(const s of f)y.push(s.type);y=function(t){const e={},n=[];for(let i=0,s=t.length;i<s;++i)Object.prototype.hasOwnProperty.call(e,t[i])||(e[t[i]]=!0,n.push(t[i]));return n}(y);const m={};let k=2*r.topPadding;if("compact"===i.db.getDisplayMode()||"compact"===r.displayMode){const t={};for(const n of f)void 0===t[n.section]?t[n.section]=[n]:t[n.section].push(n);let e=0;for(const n of Object.keys(t)){const i=R(t[n],e)+1;e+=i,k+=i*(r.barHeight+r.barGap),m[n]=i}}else{k+=f.length*(r.barHeight+r.barGap);for(const t of y)m[t]=f.filter((e=>e.type===t)).length}h.setAttribute("viewBox","0 0 "+U+" "+k);const p=d.select(`[id="${e}"]`),g=(0,l.Xf)().domain([(0,l.VV$)(f,(function(t){return t.startTime})),(0,l.Fp7)(f,(function(t){return t.endTime}))]).rangeRound([0,U-r.leftPadding-r.rightPadding]);f.sort((function(t,e){const n=t.startTime,i=e.startTime;let s=0;return n>i?s=1:n<i&&(s=-1),s})),function(t,n,a){const o=r.barHeight,d=o+r.barGap,h=r.topPadding,f=r.leftPadding;(0,l.BYU)().domain([0,y.length]).range(["#00B9FA","#F95002"]).interpolate(l.JHv);(function(t,e,n,a,o,l,d,u){if(0===d.length&&0===u.length)return;let h,f;for(const{startTime:i,endTime:s}of l)(void 0===h||i<h)&&(h=i),(void 0===f||s>f)&&(f=s);if(!h||!f)return;if(s(f).diff(s(h),"year")>5)return void c.l.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");const y=i.db.getDateFormat(),m=[];let k=null,b=s(h);for(;b.valueOf()<=f;)i.db.isInvalidDate(b,y,d,u)?k?k.end=b:k={start:b,end:b}:k&&(m.push(k),k=null),b=b.add(1,"d");p.append("g").selectAll("rect").data(m).enter().append("rect").attr("id",(function(t){return"exclude-"+t.start.format("YYYY-MM-DD")})).attr("x",(function(t){return g(t.start)+n})).attr("y",r.gridLineStartPadding).attr("width",(function(t){const e=t.end.add(1,"day");return g(e)-g(t.start)})).attr("height",o-e-r.gridLineStartPadding).attr("transform-origin",(function(e,i){return(g(e.start)+n+.5*(g(e.end)-g(e.start))).toString()+"px "+(i*t+.5*o).toString()+"px"})).attr("class","exclude-range")})(d,h,f,0,a,t,i.db.getExcludes(),i.db.getIncludes()),function(t,e,n,s){let a=(0,l.LLu)(g).tickSize(-s+e+r.gridLineStartPadding).tickFormat((0,l.i$Z)(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));const o=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(i.db.getTickInterval()||r.tickInterval);if(null!==o){const t=o[1],e=o[2],n=i.db.getWeekday()||r.weekday;switch(e){case"millisecond":a.ticks(l.U8T.every(t));break;case"second":a.ticks(l.S1K.every(t));break;case"minute":a.ticks(l.Z_i.every(t));break;case"hour":a.ticks(l.WQD.every(t));break;case"day":a.ticks(l.rr1.every(t));break;case"week":a.ticks(q[n].every(t));break;case"month":a.ticks(l.F0B.every(t))}}if(p.append("g").attr("class","grid").attr("transform","translate("+t+", "+(s-50)+")").call(a).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),i.db.topAxisEnabled()||r.topAxis){let n=(0,l.F5q)(g).tickSize(-s+e+r.gridLineStartPadding).tickFormat((0,l.i$Z)(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));if(null!==o){const t=o[1],e=o[2],s=i.db.getWeekday()||r.weekday;switch(e){case"millisecond":n.ticks(l.U8T.every(t));break;case"second":n.ticks(l.S1K.every(t));break;case"minute":n.ticks(l.Z_i.every(t));break;case"hour":n.ticks(l.WQD.every(t));break;case"day":n.ticks(l.rr1.every(t));break;case"week":n.ticks(q[s].every(t));break;case"month":n.ticks(l.F0B.every(t))}}p.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(n).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}(f,h,0,a),function(t,n,s,a,o,d,u){const h=[...new Set(t.map((t=>t.order)))].map((e=>t.find((t=>t.order===e))));p.append("g").selectAll("rect").data(h).enter().append("rect").attr("x",0).attr("y",(function(t,e){return t.order*n+s-2})).attr("width",(function(){return u-r.rightPadding/2})).attr("height",n).attr("class",(function(t){for(const[e,n]of y.entries())if(t.type===n)return"section section"+e%r.numberSectionStyles;return"section section0"}));const f=p.append("g").selectAll("rect").data(t).enter(),m=i.db.getLinks();f.append("rect").attr("id",(function(t){return t.id})).attr("rx",3).attr("ry",3).attr("x",(function(t){return t.milestone?g(t.startTime)+a+.5*(g(t.endTime)-g(t.startTime))-.5*o:g(t.startTime)+a})).attr("y",(function(t,e){return t.order*n+s})).attr("width",(function(t){return t.milestone?o:g(t.renderEndTime||t.endTime)-g(t.startTime)})).attr("height",o).attr("transform-origin",(function(t,e){return e=t.order,(g(t.startTime)+a+.5*(g(t.endTime)-g(t.startTime))).toString()+"px "+(e*n+s+.5*o).toString()+"px"})).attr("class",(function(t){const e="task";let n="";t.classes.length>0&&(n=t.classes.join(" "));let i=0;for(const[a,o]of y.entries())t.type===o&&(i=a%r.numberSectionStyles);let s="";return t.active?t.crit?s+=" activeCrit":s=" active":t.done?s=t.crit?" doneCrit":" done":t.crit&&(s+=" crit"),0===s.length&&(s=" task"),t.milestone&&(s=" milestone "+s),s+=i,s+=" "+n,e+s})),f.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",r.fontSize).attr("x",(function(t){let e=g(t.startTime),n=g(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(g(t.endTime)-g(t.startTime))-.5*o),t.milestone&&(n=e+o);const i=this.getBBox().width;return i>n-e?n+i+1.5*r.leftPadding>u?e+a-5:n+a+5:(n-e)/2+e+a})).attr("y",(function(t,e){return t.order*n+r.barHeight/2+(r.fontSize/2-2)+s})).attr("text-height",o).attr("class",(function(t){const e=g(t.startTime);let n=g(t.endTime);t.milestone&&(n=e+o);const i=this.getBBox().width;let s="";t.classes.length>0&&(s=t.classes.join(" "));let a=0;for(const[o,l]of y.entries())t.type===l&&(a=o%r.numberSectionStyles);let c="";return t.active&&(c=t.crit?"activeCritText"+a:"activeText"+a),t.done?c=t.crit?c+" doneCritText"+a:c+" doneText"+a:t.crit&&(c=c+" critText"+a),t.milestone&&(c+=" milestoneText"),i>n-e?n+i+1.5*r.leftPadding>u?s+" taskTextOutsideLeft taskTextOutside"+a+" "+c:s+" taskTextOutsideRight taskTextOutside"+a+" "+c+" width-"+i:s+" taskText taskText"+a+" "+c+" width-"+i}));if("sandbox"===(0,c.c)().securityLevel){let t;t=(0,l.Ys)("#i"+e);const n=t.nodes()[0].contentDocument;f.filter((function(t){return void 0!==m[t.id]})).each((function(t){var e=n.querySelector("#"+t.id),i=n.querySelector("#"+t.id+"-text");const s=e.parentNode;var r=n.createElement("a");r.setAttribute("xlink:href",m[t.id]),r.setAttribute("target","_top"),s.appendChild(r),r.appendChild(e),r.appendChild(i)}))}}(t,d,h,f,o,0,n),function(t,e){let n=0;const i=Object.keys(m).map((t=>[t,m[t]]));p.append("g").selectAll("text").data(i).enter().append((function(t){const e=t[0].split(c.e.lineBreakRegex),n=-(e.length-1)/2,i=u.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("dy",n+"em");for(const[s,r]of e.entries()){const t=u.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttribute("alignment-baseline","central"),t.setAttribute("x","10"),s>0&&t.setAttribute("dy","1em"),t.textContent=r,i.appendChild(t)}return i})).attr("x",10).attr("y",(function(s,r){if(!(r>0))return s[1]*t/2+e;for(let a=0;a<r;a++)return n+=i[r-1][1],s[1]*t/2+n*t+e})).attr("font-size",r.sectionFontSize).attr("class",(function(t){for(const[e,n]of y.entries())if(t[0]===n)return"sectionTitle sectionTitle"+e%r.numberSectionStyles;return"sectionTitle"}))}(d,h),function(t,e,n,s){const a=i.db.getTodayMarker();if("off"===a)return;const o=p.append("g").attr("class","today"),c=new Date,l=o.append("line");l.attr("x1",g(c)+t).attr("x2",g(c)+t).attr("y1",r.titleTopMargin).attr("y2",s-r.titleTopMargin).attr("class","today"),""!==a&&l.attr("style",a.replace(/,/g,";"))}(f,0,0,a)}(f,U,k),(0,c.i)(p,k,U,r.useMaxWidth),p.append("text").text(i.db.getDiagramTitle()).attr("x",U/2).attr("y",r.titleTopMargin).attr("class","titleText")}},styles:t=>`\n .mermaid-main-font {\n font-family: "trebuchet ms", verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n .exclude-range {\n fill: ${t.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${t.sectionBkgColor};\n }\n\n .section2 {\n fill: ${t.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${t.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n // font-size: ${t.ganttFontSize};\n // text-height: 14px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${t.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n text {\n font-family: ${t.fontFamily};\n fill: ${t.textColor};\n }\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${t.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n // .taskText:not([font-size]) {\n // font-size: ${t.ganttFontSize};\n // }\n\n .taskTextOutsideRight {\n fill: ${t.taskTextDarkColor};\n text-anchor: start;\n // font-size: ${t.ganttFontSize};\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n .taskTextOutsideLeft {\n fill: ${t.taskTextDarkColor};\n text-anchor: end;\n // font-size: ${t.ganttFontSize};\n }\n\n /* Special case clickable */\n .task.clickable {\n cursor: pointer;\n }\n .taskText.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${t.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${t.taskBkgColor};\n stroke: ${t.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${t.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${t.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${t.activeTaskBkgColor};\n stroke: ${t.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${t.doneTaskBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor} ;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n`}}}]); \ No newline at end of file diff --git a/assets/js/814f3328.616e0b44.js b/assets/js/814f3328.616e0b44.js deleted file mode 100644 index b737881b..00000000 --- a/assets/js/814f3328.616e0b44.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2535],{5641:s=>{s.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Welcome","permalink":"/cs102-writeups/blog/welcome","unlisted":false},{"title":"MDX Blog Post","permalink":"/cs102-writeups/blog/mdx-blog-post","unlisted":false},{"title":"Long Blog Post","permalink":"/cs102-writeups/blog/long-blog-post","unlisted":false},{"title":"First Blog Post","permalink":"/cs102-writeups/blog/first-blog-post","unlisted":false}]}')}}]); \ No newline at end of file diff --git a/assets/js/814f3328.ceaec13a.js b/assets/js/814f3328.ceaec13a.js new file mode 100644 index 00000000..ec42d95e --- /dev/null +++ b/assets/js/814f3328.ceaec13a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2535],{5641:o=>{o.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Welcome","permalink":"/cs102-handbook/blog/welcome","unlisted":false},{"title":"MDX Blog Post","permalink":"/cs102-handbook/blog/mdx-blog-post","unlisted":false},{"title":"Long Blog Post","permalink":"/cs102-handbook/blog/long-blog-post","unlisted":false},{"title":"First Blog Post","permalink":"/cs102-handbook/blog/first-blog-post","unlisted":false}]}')}}]); \ No newline at end of file diff --git a/assets/js/8717b14a.684473af.js b/assets/js/8717b14a.684473af.js deleted file mode 100644 index e139e7df..00000000 --- a/assets/js/8717b14a.684473af.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[948],{7106:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>g,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var s=o(5893),n=o(1151);const l={slug:"long-blog-post",title:"Long Blog Post",authors:"endi",tags:["hello","docusaurus"]},r=void 0,i={permalink:"/cs102-writeups/blog/long-blog-post",source:"@site/blog/2019-05-29-long-blog-post.md",title:"Long Blog Post",description:"This is the summary of a very long blog post,",date:"2019-05-29T00:00:00.000Z",formattedDate:"May 29, 2019",tags:[{label:"hello",permalink:"/cs102-writeups/blog/tags/hello"},{label:"docusaurus",permalink:"/cs102-writeups/blog/tags/docusaurus"}],readingTime:2.05,hasTruncateMarker:!0,authors:[{name:"Endilie Yacop Sucipto",title:"Maintainer of Docusaurus",url:"https://github.com/endiliey",imageURL:"https://github.com/endiliey.png",key:"endi"}],frontMatter:{slug:"long-blog-post",title:"Long Blog Post",authors:"endi",tags:["hello","docusaurus"]},unlisted:!1,prevItem:{title:"MDX Blog Post",permalink:"/cs102-writeups/blog/mdx-blog-post"},nextItem:{title:"First Blog Post",permalink:"/cs102-writeups/blog/first-blog-post"}},a={authorsImageUrls:[void 0]},c=[];function u(t){const e={code:"code",p:"p",...(0,n.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,s.jsxs)(e.p,{children:["Use a ",(0,s.jsx)(e.code,{children:"\x3c!--"})," ",(0,s.jsx)(e.code,{children:"truncate"})," ",(0,s.jsx)(e.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]})]})}function g(t={}){const{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(u,{...t})}):u(t)}},1151:(t,e,o)=>{o.d(e,{Z:()=>i,a:()=>r});var s=o(7294);const n={},l=s.createContext(n);function r(t){const e=s.useContext(l);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),s.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/8717b14a.ef6a530a.js b/assets/js/8717b14a.ef6a530a.js new file mode 100644 index 00000000..314862a4 --- /dev/null +++ b/assets/js/8717b14a.ef6a530a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[948],{7106:(o,t,e)=>{e.r(t),e.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>d,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var n=e(5893),s=e(1151);const l={slug:"long-blog-post",title:"Long Blog Post",authors:"endi",tags:["hello","docusaurus"]},a=void 0,r={permalink:"/cs102-handbook/blog/long-blog-post",source:"@site/blog/2019-05-29-long-blog-post.md",title:"Long Blog Post",description:"This is the summary of a very long blog post,",date:"2019-05-29T00:00:00.000Z",formattedDate:"May 29, 2019",tags:[{label:"hello",permalink:"/cs102-handbook/blog/tags/hello"},{label:"docusaurus",permalink:"/cs102-handbook/blog/tags/docusaurus"}],readingTime:2.05,hasTruncateMarker:!0,authors:[{name:"Endilie Yacop Sucipto",title:"Maintainer of Docusaurus",url:"https://github.com/endiliey",imageURL:"https://github.com/endiliey.png",key:"endi"}],frontMatter:{slug:"long-blog-post",title:"Long Blog Post",authors:"endi",tags:["hello","docusaurus"]},unlisted:!1,prevItem:{title:"MDX Blog Post",permalink:"/cs102-handbook/blog/mdx-blog-post"},nextItem:{title:"First Blog Post",permalink:"/cs102-handbook/blog/first-blog-post"}},i={authorsImageUrls:[void 0]},c=[];function u(o){const t={code:"code",p:"p",...(0,s.a)(),...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,n.jsxs)(t.p,{children:["Use a ",(0,n.jsx)(t.code,{children:"\x3c!--"})," ",(0,n.jsx)(t.code,{children:"truncate"})," ",(0,n.jsx)(t.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]})]})}function d(o={}){const{wrapper:t}={...(0,s.a)(),...o.components};return t?(0,n.jsx)(t,{...o,children:(0,n.jsx)(u,{...o})}):u(o)}},1151:(o,t,e)=>{e.d(t,{Z:()=>r,a:()=>a});var n=e(7294);const s={},l=n.createContext(s);function a(o){const t=n.useContext(l);return n.useMemo((function(){return"function"==typeof o?o(t):{...t,...o}}),[t,o])}function r(o){let t;return t=o.disableParentContext?"function"==typeof o.components?o.components(s):o.components||s:a(o.components),n.createElement(l.Provider,{value:t},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ce383a0.6ee2b17e.js b/assets/js/8ce383a0.6ee2b17e.js deleted file mode 100644 index 333442be..00000000 --- a/assets/js/8ce383a0.6ee2b17e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3419],{3181:e=>{e.exports=JSON.parse('{"title":"Grading","description":"Information on labs and grading.","slug":"/category/grading","permalink":"/cs102-writeups/docs/category/grading","navigation":{"previous":{"title":"Swap Files","permalink":"/cs102-writeups/docs/reference/swap-files"},"next":{"title":"About Grading","permalink":"/cs102-writeups/docs/grading/about-grading"}}}')}}]); \ No newline at end of file diff --git a/assets/js/90c318f4.546bc73e.js b/assets/js/90c318f4.f03b95ee.js similarity index 95% rename from assets/js/90c318f4.546bc73e.js rename to assets/js/90c318f4.f03b95ee.js index 565fc0fc..4f0dabe5 100644 --- a/assets/js/90c318f4.546bc73e.js +++ b/assets/js/90c318f4.f03b95ee.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7435],{316:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>t,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>h});var o=n(5893),l=n(1151);const s={},t="Bowling",i={id:"lab-walkthroughs/bowling",title:"Bowling",description:"Build a text-based bowling game.",source:"@site/docs/lab-walkthroughs/bowling.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/bowling",permalink:"/cs102-writeups/docs/lab-walkthroughs/bowling",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"BITSET",permalink:"/cs102-writeups/docs/lab-walkthroughs/bitset"},next:{title:"Calculator",permalink:"/cs102-writeups/docs/lab-walkthroughs/calculator"}},a={},h=[{value:"Introduction",id:"introduction",level:2},{value:"Bowling Lab",id:"bowling-lab",level:2},{value:"Program flow",id:"program-flow",level:2},{value:"Algorithm",id:"algorithm",level:2},{value:"1. Scoring the game",id:"1-scoring-the-game",level:3},{value:"2. Scoring the frame",id:"2-scoring-the-frame",level:3},{value:"For each frame",id:"for-each-frame",level:3},{value:"TLDR",id:"tldr",level:3},{value:"Input/Output requirements",id:"inputoutput-requirements",level:2},{value:"example output 1",id:"example-output-1",level:3},{value:"example output 2",id:"example-output-2",level:3},{value:"Requirements",id:"requirements",level:2},{value:"Bye",id:"bye",level:2}];function c(e){const r={code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h1,{id:"bowling",children:"Bowling"}),"\n",(0,o.jsx)(r.p,{children:"Build a text-based bowling game."}),"\n",(0,o.jsx)(r.h2,{id:"introduction",children:"Introduction"}),"\n",(0,o.jsx)(r.p,{children:"This lab is simple on the surface, but annoying to implement. It'll be good for refining your logic and reasoning skills. That and you'll learn how to score bowling!"}),"\n",(0,o.jsx)(r.h2,{id:"bowling-lab",children:"Bowling Lab"}),"\n",(0,o.jsx)(r.p,{children:"Here's how bowling is scored at a high level:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"A game consists of 10 frames"}),"\n",(0,o.jsx)(r.li,{children:"Each frame consists of 2 rolls"}),"\n",(0,o.jsx)(r.li,{children:"The 10th frame can have 3 rolls if the first 2 rolls are a strike or spare"}),"\n",(0,o.jsxs)(r.li,{children:["A strike is when you knock down all 10 pins with the ",(0,o.jsx)(r.strong,{children:"first"})," roll of a frame"]}),"\n",(0,o.jsxs)(r.li,{children:["A spare is when you knock down all 10 pins with the ",(0,o.jsx)(r.strong,{children:"second"})," roll of a frame"]}),"\n"]}),"\n",(0,o.jsx)(r.p,{children:"Barring strikes and spares, a game's total score is the sum of the number of pins knocked down in each frame. The highest possible score is 300, consisting of 12 strikes."}),"\n",(0,o.jsx)(r.p,{children:"Strikes and spares are a bit more complicated. A strike's value is 10 plus the number of pins knocked down in the next 2 rolls. A spare's value is 10 plus the number of pins knocked down in the next roll. If it's the 10th frame, then you will have 2 rolls to start. If you get a strike or spare, then you will have 1 more roll to finish the frame, making 3 rolls total. Otherwise, it's just 2 rolls for the last frame."}),"\n",(0,o.jsx)(r.h2,{id:"program-flow",children:"Program flow"}),"\n",(0,o.jsx)(r.p,{children:"Here's a rough outline of the program flow:"}),"\n",(0,o.jsxs)(r.ol,{children:["\n",(0,o.jsx)(r.li,{children:"The player is prompted to enter their name"}),"\n",(0,o.jsxs)(r.li,{children:["The player enters the number of pins knocked down in each roll for every frame. If the first roll of a frame is a strike, then the 2nd roll is not prompted. Although you will still need to store the 2nd roll's value as 0, even though you won't be asking for the user to enter the 2nd roll. (",(0,o.jsx)(r.em,{children:"So notice we're storing our rolls in a vector or array"}),")"]}),"\n",(0,o.jsxs)(r.li,{children:["Once all frames have been entered, ",(0,o.jsx)(r.strong,{children:"evaluate"})," (don't print) the score for the player and store it. (",(0,o.jsx)(r.em,{children:"So we use a separate vector or array to store the scores"}),")"]}),"\n",(0,o.jsxs)(r.li,{children:["Repeat until the player enters ",(0,o.jsx)(r.code,{children:"done"})," when prompted for their name"]}),"\n",(0,o.jsx)(r.li,{children:"Print the scores for each player and the winner"}),"\n"]}),"\n",(0,o.jsxs)(r.p,{children:["Also note that the player can enter ",(0,o.jsx)(r.code,{children:"done"})," at the beginning of the game, in which case no scores will be evaluated, and the print statement will be different."]}),"\n",(0,o.jsx)(r.h2,{id:"algorithm",children:"Algorithm"}),"\n",(0,o.jsx)(r.p,{children:"Algorithmically speaking, we can break this down into 2 parts:"}),"\n",(0,o.jsx)(r.h3,{id:"1-scoring-the-game",children:"1. Scoring the game"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"For each frame, we need to know the number of pins knocked down in each roll and tally it up according to the scoring rules"}),"\n",(0,o.jsx)(r.li,{children:"If it's the last frame, its score is simply the sum of the number of pins knocked down in each roll, since there are no frames after for strikes/spares"}),"\n"]}),"\n",(0,o.jsx)(r.h3,{id:"2-scoring-the-frame",children:"2. Scoring the frame"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"If it's not a strike or spare, then the score is the sum of the number of pins knocked down in each roll"}),"\n",(0,o.jsx)(r.li,{children:"If it's a strike, then the score is 10 plus the number of pins knocked down in the next 2 rolls"}),"\n",(0,o.jsx)(r.li,{children:"If it's a spare, then the score is 10 plus the number of pins knocked down in the next roll"}),"\n"]}),"\n",(0,o.jsx)(r.p,{children:"More specifically, scoring a frame is as follows:"}),"\n",(0,o.jsx)(r.h3,{id:"for-each-frame",children:"For each frame"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"Get the number of pins knocked down in each roll"}),"\n",(0,o.jsx)(r.li,{children:"Determine if the frame was a strike or spare"}),"\n"]}),"\n",(0,o.jsx)(r.p,{children:"If it was a strike, then get the current frame's score plus the next 2 rolls"}),"\n",(0,o.jsx)(r.p,{children:"If it was a spare, then get the current frame's score plus the next roll"}),"\n",(0,o.jsx)(r.p,{children:"Otherwise, just get the current frame's score"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"Repeat until all frames are scored"}),"\n"]}),"\n",(0,o.jsx)(r.h3,{id:"tldr",children:"TLDR"}),"\n",(0,o.jsxs)(r.p,{children:["The ",(0,o.jsx)(r.em,{children:"general"})," formula for scoring a frame is:"]}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-python",children:"score += current_frame.roll1 + current_frame.roll2 # base case -- always do this\nscore += next_frame.roll1 + next_frame.roll2 # if strike\nscore += next_frame.roll1 # if spare\n"})}),"\n",(0,o.jsx)(r.p,{children:"The caveats to consider are"}),"\n",(0,o.jsxs)(r.ol,{children:["\n",(0,o.jsx)(r.li,{children:"You'll need to score the 10th frame slightly differently. It should be evaluated separately from the other frames."}),"\n",(0,o.jsxs)(r.li,{children:["If you get a strike two frames in a row, then you won't be able to do ",(0,o.jsx)(r.code,{children:"score += next_frame.roll1 + next_frame.roll2"}),", because ",(0,o.jsx)(r.code,{children:"roll2"})," in the next frame should be 0. You'll need to jump an extra frame ahead and get the next roll from there."]}),"\n",(0,o.jsx)(r.li,{children:"If you get a strike in the 9th frame as well as the 10th frame, then you'll need to make sure not to go a frame too far when scoring the 9th frame."}),"\n"]}),"\n",(0,o.jsx)(r.h2,{id:"inputoutput-requirements",children:"Input/Output requirements"}),"\n",(0,o.jsx)(r.p,{children:"There are no special formatting requirements for this lab. Just output the words and lines as shown in the sample output."}),"\n",(0,o.jsx)(r.p,{children:"As for the input requirements, just make sure your data types are what they should be. No error checking is required."}),"\n",(0,o.jsx)(r.h3,{id:"example-output-1",children:"example output 1"}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-txt",children:"Enter player's name (done for no more players): John\nEnter score for frame 1, roll 1: 10\nEnter score for frame 2, roll 1: 10\nEnter score for frame 3, roll 1: 10\nEnter score for frame 4, roll 1: 10\nEnter score for frame 5, roll 1: 10\nEnter score for frame 6, roll 1: 10\nEnter score for frame 7, roll 1: 10\nEnter score for frame 8, roll 1: 10\nEnter score for frame 9, roll 1: 10\nEnter score for frame 10, roll 1: 10\nEnter score for frame 10, roll 2: 10\nEnter score for frame 10, roll 3: 10\nEnter player's name (done for no more players): Cheryl\nEnter score for frame 1, roll 1: 8\nEnter score for frame 1, roll 2: 1\nEnter score for frame 2, roll 1: 0\nEnter score for frame 2, roll 2: 9\nEnter score for frame 3, roll 1: 2\nEnter score for frame 3, roll 2: 8\nEnter score for frame 4, roll 1: 10\nEnter score for frame 5, roll 1: 6\nEnter score for frame 5, roll 2: 3\nEnter score for frame 6, roll 1: 7\nEnter score for frame 6, roll 2: 0\nEnter score for frame 7, roll 1: 5\nEnter score for frame 7, roll 2: 2\nEnter score for frame 8, roll 1: 10\nEnter score for frame 9, roll 1: 0\nEnter score for frame 9, roll 2: 6\nEnter score for frame 10, roll 1: 2\nEnter score for frame 10, roll 2: 8\nEnter score for frame 10, roll 3: 10\nEnter player's name (done for no more players): done\n\nJohn scored 300.\nCheryl scored 122.\nCheryl did the worst by scoring 122.\nJohn won the game by scoring 300.\n"})}),"\n",(0,o.jsx)(r.h3,{id:"example-output-2",children:"example output 2"}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-txt",children:"Enter player's name (done for no more players): John\nEnter score for frame 1, roll 1: 8\nEnter score for frame 1, roll 2: 1\nEnter score for frame 2, roll 1: 0\nEnter score for frame 2, roll 2: 9\nEnter score for frame 3, roll 1: 2\nEnter score for frame 3, roll 2: 8\nEnter score for frame 4, roll 1: 10\nEnter score for frame 5, roll 1: 6\nEnter score for frame 5, roll 2: 3\nEnter score for frame 6, roll 1: 7\nEnter score for frame 6, roll 2: 0\nEnter score for frame 7, roll 1: 5\nEnter score for frame 7, roll 2: 2\nEnter score for frame 8, roll 1: 10\nEnter score for frame 9, roll 1: 0\nEnter score for frame 9, roll 2: 6\nEnter score for frame 10, roll 1: 2\nEnter score for frame 10, roll 2: 8\nEnter score for frame 10, roll 3: 10\nEnter player's name (done for no more players): done\n\nJohn scored 122.\nJohn did the worst by scoring 122.\nJohn won the game by scoring 122.\n"})}),"\n",(0,o.jsx)(r.h2,{id:"requirements",children:"Requirements"}),"\n",(0,o.jsx)(r.p,{children:"As per the lab's instructions, you'll need to implement the following:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsxs)(r.p,{children:[(0,o.jsx)(r.code,{children:"vector"})," of ",(0,o.jsx)(r.code,{children:"string"}),"s to store the name(s) of the player(s)"]}),"\n"]}),"\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsxs)(r.p,{children:[(0,o.jsx)(r.code,{children:"vector"})," of 21 ",(0,o.jsx)(r.code,{children:"int"}),"s to store 2 rolls per frame, plus 1 roll for the 10th frame (if applicable)"]}),"\n"]}),"\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsxs)(r.p,{children:[(0,o.jsx)(r.code,{children:"vector"})," of ",(0,o.jsx)(r.code,{children:"int"}),"s to store the score(s) of the player(s)"]}),"\n"]}),"\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsx)(r.p,{children:"Each player must enter their name and subsequently their score for each roll of each frame"}),"\n"]}),"\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsxs)(r.p,{children:["Once the player has quit the game (by entering ",(0,o.jsx)(r.code,{children:"done"})," when prompted for their name), the game should be scored and the results should be printed"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(r.h2,{id:"bye",children:"Bye"}),"\n",(0,o.jsx)(r.p,{children:"Good luck! Open a ticket on Discord or come to office hours if you have any questions, as always."})]})}function d(e={}){const{wrapper:r}={...(0,l.a)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},1151:(e,r,n)=>{n.d(r,{Z:()=>i,a:()=>t});var o=n(7294);const l={},s=o.createContext(l);function t(e){const r=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),o.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7435],{316:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>i,contentTitle:()=>t,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>h});var o=n(5893),l=n(1151);const s={},t="Bowling",a={id:"lab-walkthroughs/bowling",title:"Bowling",description:"Build a text-based bowling game.",source:"@site/docs/lab-walkthroughs/bowling.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/bowling",permalink:"/cs102-handbook/docs/lab-walkthroughs/bowling",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"BITSET",permalink:"/cs102-handbook/docs/lab-walkthroughs/bitset"},next:{title:"Calculator",permalink:"/cs102-handbook/docs/lab-walkthroughs/calculator"}},i={},h=[{value:"Introduction",id:"introduction",level:2},{value:"Bowling Lab",id:"bowling-lab",level:2},{value:"Program flow",id:"program-flow",level:2},{value:"Algorithm",id:"algorithm",level:2},{value:"1. Scoring the game",id:"1-scoring-the-game",level:3},{value:"2. Scoring the frame",id:"2-scoring-the-frame",level:3},{value:"For each frame",id:"for-each-frame",level:3},{value:"TLDR",id:"tldr",level:3},{value:"Input/Output requirements",id:"inputoutput-requirements",level:2},{value:"example output 1",id:"example-output-1",level:3},{value:"example output 2",id:"example-output-2",level:3},{value:"Requirements",id:"requirements",level:2},{value:"Bye",id:"bye",level:2}];function c(e){const r={code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h1,{id:"bowling",children:"Bowling"}),"\n",(0,o.jsx)(r.p,{children:"Build a text-based bowling game."}),"\n",(0,o.jsx)(r.h2,{id:"introduction",children:"Introduction"}),"\n",(0,o.jsx)(r.p,{children:"This lab is simple on the surface, but annoying to implement. It'll be good for refining your logic and reasoning skills. That and you'll learn how to score bowling!"}),"\n",(0,o.jsx)(r.h2,{id:"bowling-lab",children:"Bowling Lab"}),"\n",(0,o.jsx)(r.p,{children:"Here's how bowling is scored at a high level:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"A game consists of 10 frames"}),"\n",(0,o.jsx)(r.li,{children:"Each frame consists of 2 rolls"}),"\n",(0,o.jsx)(r.li,{children:"The 10th frame can have 3 rolls if the first 2 rolls are a strike or spare"}),"\n",(0,o.jsxs)(r.li,{children:["A strike is when you knock down all 10 pins with the ",(0,o.jsx)(r.strong,{children:"first"})," roll of a frame"]}),"\n",(0,o.jsxs)(r.li,{children:["A spare is when you knock down all 10 pins with the ",(0,o.jsx)(r.strong,{children:"second"})," roll of a frame"]}),"\n"]}),"\n",(0,o.jsx)(r.p,{children:"Barring strikes and spares, a game's total score is the sum of the number of pins knocked down in each frame. The highest possible score is 300, consisting of 12 strikes."}),"\n",(0,o.jsx)(r.p,{children:"Strikes and spares are a bit more complicated. A strike's value is 10 plus the number of pins knocked down in the next 2 rolls. A spare's value is 10 plus the number of pins knocked down in the next roll. If it's the 10th frame, then you will have 2 rolls to start. If you get a strike or spare, then you will have 1 more roll to finish the frame, making 3 rolls total. Otherwise, it's just 2 rolls for the last frame."}),"\n",(0,o.jsx)(r.h2,{id:"program-flow",children:"Program flow"}),"\n",(0,o.jsx)(r.p,{children:"Here's a rough outline of the program flow:"}),"\n",(0,o.jsxs)(r.ol,{children:["\n",(0,o.jsx)(r.li,{children:"The player is prompted to enter their name"}),"\n",(0,o.jsxs)(r.li,{children:["The player enters the number of pins knocked down in each roll for every frame. If the first roll of a frame is a strike, then the 2nd roll is not prompted. Although you will still need to store the 2nd roll's value as 0, even though you won't be asking for the user to enter the 2nd roll. (",(0,o.jsx)(r.em,{children:"So notice we're storing our rolls in a vector or array"}),")"]}),"\n",(0,o.jsxs)(r.li,{children:["Once all frames have been entered, ",(0,o.jsx)(r.strong,{children:"evaluate"})," (don't print) the score for the player and store it. (",(0,o.jsx)(r.em,{children:"So we use a separate vector or array to store the scores"}),")"]}),"\n",(0,o.jsxs)(r.li,{children:["Repeat until the player enters ",(0,o.jsx)(r.code,{children:"done"})," when prompted for their name"]}),"\n",(0,o.jsx)(r.li,{children:"Print the scores for each player and the winner"}),"\n"]}),"\n",(0,o.jsxs)(r.p,{children:["Also note that the player can enter ",(0,o.jsx)(r.code,{children:"done"})," at the beginning of the game, in which case no scores will be evaluated, and the print statement will be different."]}),"\n",(0,o.jsx)(r.h2,{id:"algorithm",children:"Algorithm"}),"\n",(0,o.jsx)(r.p,{children:"Algorithmically speaking, we can break this down into 2 parts:"}),"\n",(0,o.jsx)(r.h3,{id:"1-scoring-the-game",children:"1. Scoring the game"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"For each frame, we need to know the number of pins knocked down in each roll and tally it up according to the scoring rules"}),"\n",(0,o.jsx)(r.li,{children:"If it's the last frame, its score is simply the sum of the number of pins knocked down in each roll, since there are no frames after for strikes/spares"}),"\n"]}),"\n",(0,o.jsx)(r.h3,{id:"2-scoring-the-frame",children:"2. Scoring the frame"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"If it's not a strike or spare, then the score is the sum of the number of pins knocked down in each roll"}),"\n",(0,o.jsx)(r.li,{children:"If it's a strike, then the score is 10 plus the number of pins knocked down in the next 2 rolls"}),"\n",(0,o.jsx)(r.li,{children:"If it's a spare, then the score is 10 plus the number of pins knocked down in the next roll"}),"\n"]}),"\n",(0,o.jsx)(r.p,{children:"More specifically, scoring a frame is as follows:"}),"\n",(0,o.jsx)(r.h3,{id:"for-each-frame",children:"For each frame"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"Get the number of pins knocked down in each roll"}),"\n",(0,o.jsx)(r.li,{children:"Determine if the frame was a strike or spare"}),"\n"]}),"\n",(0,o.jsx)(r.p,{children:"If it was a strike, then get the current frame's score plus the next 2 rolls"}),"\n",(0,o.jsx)(r.p,{children:"If it was a spare, then get the current frame's score plus the next roll"}),"\n",(0,o.jsx)(r.p,{children:"Otherwise, just get the current frame's score"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"Repeat until all frames are scored"}),"\n"]}),"\n",(0,o.jsx)(r.h3,{id:"tldr",children:"TLDR"}),"\n",(0,o.jsxs)(r.p,{children:["The ",(0,o.jsx)(r.em,{children:"general"})," formula for scoring a frame is:"]}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-python",children:"score += current_frame.roll1 + current_frame.roll2 # base case -- always do this\nscore += next_frame.roll1 + next_frame.roll2 # if strike\nscore += next_frame.roll1 # if spare\n"})}),"\n",(0,o.jsx)(r.p,{children:"The caveats to consider are"}),"\n",(0,o.jsxs)(r.ol,{children:["\n",(0,o.jsx)(r.li,{children:"You'll need to score the 10th frame slightly differently. It should be evaluated separately from the other frames."}),"\n",(0,o.jsxs)(r.li,{children:["If you get a strike two frames in a row, then you won't be able to do ",(0,o.jsx)(r.code,{children:"score += next_frame.roll1 + next_frame.roll2"}),", because ",(0,o.jsx)(r.code,{children:"roll2"})," in the next frame should be 0. You'll need to jump an extra frame ahead and get the next roll from there."]}),"\n",(0,o.jsx)(r.li,{children:"If you get a strike in the 9th frame as well as the 10th frame, then you'll need to make sure not to go a frame too far when scoring the 9th frame."}),"\n"]}),"\n",(0,o.jsx)(r.h2,{id:"inputoutput-requirements",children:"Input/Output requirements"}),"\n",(0,o.jsx)(r.p,{children:"There are no special formatting requirements for this lab. Just output the words and lines as shown in the sample output."}),"\n",(0,o.jsx)(r.p,{children:"As for the input requirements, just make sure your data types are what they should be. No error checking is required."}),"\n",(0,o.jsx)(r.h3,{id:"example-output-1",children:"example output 1"}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-txt",children:"Enter player's name (done for no more players): John\nEnter score for frame 1, roll 1: 10\nEnter score for frame 2, roll 1: 10\nEnter score for frame 3, roll 1: 10\nEnter score for frame 4, roll 1: 10\nEnter score for frame 5, roll 1: 10\nEnter score for frame 6, roll 1: 10\nEnter score for frame 7, roll 1: 10\nEnter score for frame 8, roll 1: 10\nEnter score for frame 9, roll 1: 10\nEnter score for frame 10, roll 1: 10\nEnter score for frame 10, roll 2: 10\nEnter score for frame 10, roll 3: 10\nEnter player's name (done for no more players): Cheryl\nEnter score for frame 1, roll 1: 8\nEnter score for frame 1, roll 2: 1\nEnter score for frame 2, roll 1: 0\nEnter score for frame 2, roll 2: 9\nEnter score for frame 3, roll 1: 2\nEnter score for frame 3, roll 2: 8\nEnter score for frame 4, roll 1: 10\nEnter score for frame 5, roll 1: 6\nEnter score for frame 5, roll 2: 3\nEnter score for frame 6, roll 1: 7\nEnter score for frame 6, roll 2: 0\nEnter score for frame 7, roll 1: 5\nEnter score for frame 7, roll 2: 2\nEnter score for frame 8, roll 1: 10\nEnter score for frame 9, roll 1: 0\nEnter score for frame 9, roll 2: 6\nEnter score for frame 10, roll 1: 2\nEnter score for frame 10, roll 2: 8\nEnter score for frame 10, roll 3: 10\nEnter player's name (done for no more players): done\n\nJohn scored 300.\nCheryl scored 122.\nCheryl did the worst by scoring 122.\nJohn won the game by scoring 300.\n"})}),"\n",(0,o.jsx)(r.h3,{id:"example-output-2",children:"example output 2"}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-txt",children:"Enter player's name (done for no more players): John\nEnter score for frame 1, roll 1: 8\nEnter score for frame 1, roll 2: 1\nEnter score for frame 2, roll 1: 0\nEnter score for frame 2, roll 2: 9\nEnter score for frame 3, roll 1: 2\nEnter score for frame 3, roll 2: 8\nEnter score for frame 4, roll 1: 10\nEnter score for frame 5, roll 1: 6\nEnter score for frame 5, roll 2: 3\nEnter score for frame 6, roll 1: 7\nEnter score for frame 6, roll 2: 0\nEnter score for frame 7, roll 1: 5\nEnter score for frame 7, roll 2: 2\nEnter score for frame 8, roll 1: 10\nEnter score for frame 9, roll 1: 0\nEnter score for frame 9, roll 2: 6\nEnter score for frame 10, roll 1: 2\nEnter score for frame 10, roll 2: 8\nEnter score for frame 10, roll 3: 10\nEnter player's name (done for no more players): done\n\nJohn scored 122.\nJohn did the worst by scoring 122.\nJohn won the game by scoring 122.\n"})}),"\n",(0,o.jsx)(r.h2,{id:"requirements",children:"Requirements"}),"\n",(0,o.jsx)(r.p,{children:"As per the lab's instructions, you'll need to implement the following:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsxs)(r.p,{children:[(0,o.jsx)(r.code,{children:"vector"})," of ",(0,o.jsx)(r.code,{children:"string"}),"s to store the name(s) of the player(s)"]}),"\n"]}),"\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsxs)(r.p,{children:[(0,o.jsx)(r.code,{children:"vector"})," of 21 ",(0,o.jsx)(r.code,{children:"int"}),"s to store 2 rolls per frame, plus 1 roll for the 10th frame (if applicable)"]}),"\n"]}),"\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsxs)(r.p,{children:[(0,o.jsx)(r.code,{children:"vector"})," of ",(0,o.jsx)(r.code,{children:"int"}),"s to store the score(s) of the player(s)"]}),"\n"]}),"\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsx)(r.p,{children:"Each player must enter their name and subsequently their score for each roll of each frame"}),"\n"]}),"\n",(0,o.jsxs)(r.li,{children:["\n",(0,o.jsxs)(r.p,{children:["Once the player has quit the game (by entering ",(0,o.jsx)(r.code,{children:"done"})," when prompted for their name), the game should be scored and the results should be printed"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(r.h2,{id:"bye",children:"Bye"}),"\n",(0,o.jsx)(r.p,{children:"Good luck! Open a ticket on Discord or come to office hours if you have any questions, as always."})]})}function d(e={}){const{wrapper:r}={...(0,l.a)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},1151:(e,r,n)=>{n.d(r,{Z:()=>a,a:()=>t});var o=n(7294);const l={},s=o.createContext(l);function t(e){const r=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),o.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e273c56f.b00c1f09.js b/assets/js/925b3f96.5d39a849.js similarity index 54% rename from assets/js/e273c56f.b00c1f09.js rename to assets/js/925b3f96.5d39a849.js index 77d19f1b..53fdb819 100644 --- a/assets/js/e273c56f.b00c1f09.js +++ b/assets/js/925b3f96.5d39a849.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2362],{9954:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>n,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>u,toc:()=>l});var s=o(5893),a=o(1151);const i={slug:"first-blog-post",title:"First Blog Post",authors:{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png"},tags:["hola","docusaurus"]},r=void 0,u={permalink:"/cs102-writeups/blog/first-blog-post",source:"@site/blog/2019-05-28-first-blog-post.md",title:"First Blog Post",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet",date:"2019-05-28T00:00:00.000Z",formattedDate:"May 28, 2019",tags:[{label:"hola",permalink:"/cs102-writeups/blog/tags/hola"},{label:"docusaurus",permalink:"/cs102-writeups/blog/tags/docusaurus"}],readingTime:.12,hasTruncateMarker:!1,authors:[{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png",imageURL:"https://github.com/wgao19.png"}],frontMatter:{slug:"first-blog-post",title:"First Blog Post",authors:{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png",imageURL:"https://github.com/wgao19.png"},tags:["hola","docusaurus"]},unlisted:!1,prevItem:{title:"Long Blog Post",permalink:"/cs102-writeups/blog/long-blog-post"}},n={authorsImageUrls:[void 0]},l=[];function c(t){const e={p:"p",...(0,a.a)(),...t.components};return(0,s.jsx)(e.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})}function m(t={}){const{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},1151:(t,e,o)=>{o.d(e,{Z:()=>u,a:()=>r});var s=o(7294);const a={},i=s.createContext(a);function r(t){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function u(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:r(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[9003],{3902:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>u,contentTitle:()=>i,default:()=>m,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var s=e(5893),a=e(1151);const n={slug:"first-blog-post",title:"First Blog Post",authors:{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png"},tags:["hola","docusaurus"]},i=void 0,r={permalink:"/cs102-handbook/blog/first-blog-post",source:"@site/blog/2019-05-28-first-blog-post.md",title:"First Blog Post",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet",date:"2019-05-28T00:00:00.000Z",formattedDate:"May 28, 2019",tags:[{label:"hola",permalink:"/cs102-handbook/blog/tags/hola"},{label:"docusaurus",permalink:"/cs102-handbook/blog/tags/docusaurus"}],readingTime:.12,hasTruncateMarker:!1,authors:[{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png",imageURL:"https://github.com/wgao19.png"}],frontMatter:{slug:"first-blog-post",title:"First Blog Post",authors:{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png",imageURL:"https://github.com/wgao19.png"},tags:["hola","docusaurus"]},unlisted:!1,prevItem:{title:"Long Blog Post",permalink:"/cs102-handbook/blog/long-blog-post"}},u={authorsImageUrls:[void 0]},l=[];function c(t){const o={p:"p",...(0,a.a)(),...t.components};return(0,s.jsx)(o.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})}function m(t={}){const{wrapper:o}={...(0,a.a)(),...t.components};return o?(0,s.jsx)(o,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},1151:(t,o,e)=>{e.d(o,{Z:()=>r,a:()=>i});var s=e(7294);const a={},n=s.createContext(a);function i(t){const o=s.useContext(n);return s.useMemo((function(){return"function"==typeof t?t(o):{...o,...t}}),[o,t])}function r(t){let o;return o=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:i(t.components),s.createElement(n.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.492308b1.js b/assets/js/935f2afb.ef879f7f.js similarity index 76% rename from assets/js/935f2afb.492308b1.js rename to assets/js/935f2afb.ef879f7f.js index d9660ae1..09431356 100644 --- a/assets/js/935f2afb.492308b1.js +++ b/assets/js/935f2afb.ef879f7f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"Sidebar":[{"type":"link","label":"Home","href":"/cs102-writeups/docs/home","docId":"home","unlisted":false},{"type":"category","label":"Environment Setup","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Lab Machines Environment Setup","href":"/cs102-writeups/docs/environment-setup/lab-machines","docId":"environment-setup/lab-machines","unlisted":false},{"type":"link","label":"Windows Environment Setup","href":"/cs102-writeups/docs/environment-setup/windows","docId":"environment-setup/windows","unlisted":false},{"type":"link","label":"Mac Environment Setup","href":"/cs102-writeups/docs/environment-setup/mac","docId":"environment-setup/mac","unlisted":false}],"href":"/cs102-writeups/docs/category/environment-setup"},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"SSH and SCP Tutorial","href":"/cs102-writeups/docs/tutorials/ssh-and-scp","docId":"tutorials/ssh-and-scp","unlisted":false}],"href":"/cs102-writeups/docs/category/tutorials"},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Common Unix/Linux & g++ Commands","href":"/cs102-writeups/docs/reference/common-linux-commands","docId":"reference/common-linux-commands","unlisted":false},{"type":"link","label":"Sharing Code on Discord","href":"/cs102-writeups/docs/reference/discord","docId":"reference/discord","unlisted":false},{"type":"link","label":"VSCode Tips","href":"/cs102-writeups/docs/reference/vscode-tips","docId":"reference/vscode-tips","unlisted":false},{"type":"link","label":"Vim Cheatsheet","href":"/cs102-writeups/docs/reference/vim-cheatsheet","docId":"reference/vim-cheatsheet","unlisted":false},{"type":"link","label":"Swap Files","href":"/cs102-writeups/docs/reference/swap-files","docId":"reference/swap-files","unlisted":false}],"href":"/cs102-writeups/docs/category/reference"},{"type":"category","label":"Grading","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"About Grading","href":"/cs102-writeups/docs/grading/about-grading","docId":"grading/about-grading","unlisted":false},{"type":"link","label":"CS102lings","href":"/cs102-writeups/docs/grading/cs102lings","docId":"grading/cs102lings","unlisted":false}],"href":"/cs102-writeups/docs/category/grading"},{"type":"category","label":"In-Class Lab Notes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Bitset Notes","href":"/cs102-writeups/docs/in-class-lab-notes/bitset-notes","docId":"in-class-lab-notes/bitset-notes","unlisted":false},{"type":"link","label":"Boiling Water Notes","href":"/cs102-writeups/docs/in-class-lab-notes/boiling-water-notes","docId":"in-class-lab-notes/boiling-water-notes","unlisted":false},{"type":"link","label":"Bowling Notes","href":"/cs102-writeups/docs/in-class-lab-notes/bowling-notes","docId":"in-class-lab-notes/bowling-notes","unlisted":false},{"type":"link","label":"Multi-User Dungeons (MUD) Notes","href":"/cs102-writeups/docs/in-class-lab-notes/mud-notes","docId":"in-class-lab-notes/mud-notes","unlisted":false},{"type":"link","label":"Sorting Algorithms Notes","href":"/cs102-writeups/docs/in-class-lab-notes/sorting-algorithms","docId":"in-class-lab-notes/sorting-algorithms","unlisted":false}],"href":"/cs102-writeups/docs/category/in-class-lab-notes"},{"type":"category","label":"Lab Walkthroughs","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"BITSET","href":"/cs102-writeups/docs/lab-walkthroughs/bitset","docId":"lab-walkthroughs/bitset","unlisted":false},{"type":"link","label":"Bowling","href":"/cs102-writeups/docs/lab-walkthroughs/bowling","docId":"lab-walkthroughs/bowling","unlisted":false},{"type":"link","label":"Calculator","href":"/cs102-writeups/docs/lab-walkthroughs/calculator","docId":"lab-walkthroughs/calculator","unlisted":false},{"type":"link","label":"PPM Manipulation","href":"/cs102-writeups/docs/lab-walkthroughs/ppm-manipulator","docId":"lab-walkthroughs/ppm-manipulator","unlisted":false},{"type":"link","label":"Speeding Ticket Calculator","href":"/cs102-writeups/docs/lab-walkthroughs/speeding-ticket-calculator","docId":"lab-walkthroughs/speeding-ticket-calculator","unlisted":false}],"href":"/cs102-writeups/docs/category/lab-walkthroughs"},{"type":"category","label":"Debugging","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Debugging Segmentation Faults","href":"/cs102-writeups/docs/debugging/segmentation-faults","docId":"debugging/segmentation-faults","unlisted":false}],"href":"/cs102-writeups/docs/category/debugging"}]},"docs":{"debugging/segmentation-faults":{"id":"debugging/segmentation-faults","title":"Debugging Segmentation Faults","description":"How to debug segmentation faults","sidebar":"Sidebar"},"environment-setup/lab-machines":{"id":"environment-setup/lab-machines","title":"Lab Machines Environment Setup","description":"Setting up Oh-My-Zsh and Neovim on the lab machines.","sidebar":"Sidebar"},"environment-setup/mac":{"id":"environment-setup/mac","title":"Mac Environment Setup","description":"Setting up homebrew, g++, and VSCode on Mac.","sidebar":"Sidebar"},"environment-setup/windows":{"id":"environment-setup/windows","title":"Windows Environment Setup","description":"Setting up WSL, g++, and VSCode on Windows.","sidebar":"Sidebar"},"grading/about-grading":{"id":"grading/about-grading","title":"About Grading","description":"How to format your lab submissions.","sidebar":"Sidebar"},"grading/cs102lings":{"id":"grading/cs102lings","title":"CS102lings","description":"A repository of CS102 lab templates and tests: cs102lings.","sidebar":"Sidebar"},"home":{"id":"home","title":"Home","description":"About","sidebar":"Sidebar"},"in-class-lab-notes/bitset-notes":{"id":"in-class-lab-notes/bitset-notes","title":"Bitset Notes","description":"Making Binary Numbers in C++","sidebar":"Sidebar"},"in-class-lab-notes/boiling-water-notes":{"id":"in-class-lab-notes/boiling-water-notes","title":"Boiling Water Notes","description":"New APIs","sidebar":"Sidebar"},"in-class-lab-notes/bowling-notes":{"id":"in-class-lab-notes/bowling-notes","title":"Bowling Notes","description":"Basic Program Structure","sidebar":"Sidebar"},"in-class-lab-notes/mud-notes":{"id":"in-class-lab-notes/mud-notes","title":"Multi-User Dungeons (MUD) Notes","description":"Here is a graph of what the rooms look like","sidebar":"Sidebar"},"in-class-lab-notes/sorting-algorithms":{"id":"in-class-lab-notes/sorting-algorithms","title":"Sorting Algorithms Notes","description":"Here are some helpful resources for this lab:","sidebar":"Sidebar"},"lab-walkthroughs/bitset":{"id":"lab-walkthroughs/bitset","title":"BITSET","description":"Work with bits and bitsets using bitwise operators.","sidebar":"Sidebar"},"lab-walkthroughs/bowling":{"id":"lab-walkthroughs/bowling","title":"Bowling","description":"Build a text-based bowling game.","sidebar":"Sidebar"},"lab-walkthroughs/calculator":{"id":"lab-walkthroughs/calculator","title":"Calculator","description":"Build a simple arithmetic calculator.","sidebar":"Sidebar"},"lab-walkthroughs/ppm-manipulator":{"id":"lab-walkthroughs/ppm-manipulator","title":"PPM Manipulation","description":"Manipulate images in the PPM format from the command line.","sidebar":"Sidebar"},"lab-walkthroughs/speeding-ticket-calculator":{"id":"lab-walkthroughs/speeding-ticket-calculator","title":"Speeding Ticket Calculator","description":"A speeding ticket calculator that reads from a file.","sidebar":"Sidebar"},"reference/common-linux-commands":{"id":"reference/common-linux-commands","title":"Common Unix/Linux & g++ Commands","description":"Tips and resources that are useful for the course.","sidebar":"Sidebar"},"reference/discord":{"id":"reference/discord","title":"Sharing Code on Discord","description":"How to share code on Discord.","sidebar":"Sidebar"},"reference/swap-files":{"id":"reference/swap-files","title":"Swap Files","description":"What is a swap file?","sidebar":"Sidebar"},"reference/vim-cheatsheet":{"id":"reference/vim-cheatsheet","title":"Vim Cheatsheet","description":"Basic Vim motions to get you started.","sidebar":"Sidebar"},"reference/vscode-tips":{"id":"reference/vscode-tips","title":"VSCode Tips","description":"Entirely optional but highly recommended.","sidebar":"Sidebar"},"tutorials/ssh-and-scp":{"id":"tutorials/ssh-and-scp","title":"SSH and SCP Tutorial","description":"How to log into the lab machines and transfer files to and from them.","sidebar":"Sidebar"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"Sidebar":[{"type":"link","label":"Home","href":"/cs102-handbook/docs/home","docId":"home","unlisted":false},{"type":"category","label":"Environment Setup","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Lab Machines Environment Setup","href":"/cs102-handbook/docs/environment-setup/lab-machines","docId":"environment-setup/lab-machines","unlisted":false},{"type":"link","label":"Windows Environment Setup","href":"/cs102-handbook/docs/environment-setup/windows","docId":"environment-setup/windows","unlisted":false},{"type":"link","label":"Mac Environment Setup","href":"/cs102-handbook/docs/environment-setup/mac","docId":"environment-setup/mac","unlisted":false}],"href":"/cs102-handbook/docs/category/environment-setup"},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"SSH and SCP Tutorial","href":"/cs102-handbook/docs/tutorials/ssh-and-scp","docId":"tutorials/ssh-and-scp","unlisted":false}],"href":"/cs102-handbook/docs/category/tutorials"},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Common Unix/Linux & g++ Commands","href":"/cs102-handbook/docs/reference/common-linux-commands","docId":"reference/common-linux-commands","unlisted":false},{"type":"link","label":"Sharing Code on Discord","href":"/cs102-handbook/docs/reference/discord","docId":"reference/discord","unlisted":false},{"type":"link","label":"VSCode Tips","href":"/cs102-handbook/docs/reference/vscode-tips","docId":"reference/vscode-tips","unlisted":false},{"type":"link","label":"Vim Cheatsheet","href":"/cs102-handbook/docs/reference/vim-cheatsheet","docId":"reference/vim-cheatsheet","unlisted":false},{"type":"link","label":"Swap Files","href":"/cs102-handbook/docs/reference/swap-files","docId":"reference/swap-files","unlisted":false}],"href":"/cs102-handbook/docs/category/reference"},{"type":"category","label":"Grading","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"About Grading","href":"/cs102-handbook/docs/grading/about-grading","docId":"grading/about-grading","unlisted":false},{"type":"link","label":"CS102lings","href":"/cs102-handbook/docs/grading/cs102lings","docId":"grading/cs102lings","unlisted":false}],"href":"/cs102-handbook/docs/category/grading"},{"type":"category","label":"In-Class Lab Notes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Bitset Notes","href":"/cs102-handbook/docs/in-class-lab-notes/bitset-notes","docId":"in-class-lab-notes/bitset-notes","unlisted":false},{"type":"link","label":"Boiling Water Notes","href":"/cs102-handbook/docs/in-class-lab-notes/boiling-water-notes","docId":"in-class-lab-notes/boiling-water-notes","unlisted":false},{"type":"link","label":"Bowling Notes","href":"/cs102-handbook/docs/in-class-lab-notes/bowling-notes","docId":"in-class-lab-notes/bowling-notes","unlisted":false},{"type":"link","label":"Multi-User Dungeons (MUD) Notes","href":"/cs102-handbook/docs/in-class-lab-notes/mud-notes","docId":"in-class-lab-notes/mud-notes","unlisted":false},{"type":"link","label":"Sorting Algorithms Notes","href":"/cs102-handbook/docs/in-class-lab-notes/sorting-algorithms","docId":"in-class-lab-notes/sorting-algorithms","unlisted":false}],"href":"/cs102-handbook/docs/category/in-class-lab-notes"},{"type":"category","label":"Lab Walkthroughs","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"BITSET","href":"/cs102-handbook/docs/lab-walkthroughs/bitset","docId":"lab-walkthroughs/bitset","unlisted":false},{"type":"link","label":"Bowling","href":"/cs102-handbook/docs/lab-walkthroughs/bowling","docId":"lab-walkthroughs/bowling","unlisted":false},{"type":"link","label":"Calculator","href":"/cs102-handbook/docs/lab-walkthroughs/calculator","docId":"lab-walkthroughs/calculator","unlisted":false},{"type":"link","label":"PPM Manipulation","href":"/cs102-handbook/docs/lab-walkthroughs/ppm-manipulator","docId":"lab-walkthroughs/ppm-manipulator","unlisted":false},{"type":"link","label":"Speeding Ticket Calculator","href":"/cs102-handbook/docs/lab-walkthroughs/speeding-ticket-calculator","docId":"lab-walkthroughs/speeding-ticket-calculator","unlisted":false}],"href":"/cs102-handbook/docs/category/lab-walkthroughs"},{"type":"category","label":"Debugging","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Debugging Segmentation Faults","href":"/cs102-handbook/docs/debugging/segmentation-faults","docId":"debugging/segmentation-faults","unlisted":false}],"href":"/cs102-handbook/docs/category/debugging"}]},"docs":{"debugging/segmentation-faults":{"id":"debugging/segmentation-faults","title":"Debugging Segmentation Faults","description":"How to debug segmentation faults","sidebar":"Sidebar"},"environment-setup/lab-machines":{"id":"environment-setup/lab-machines","title":"Lab Machines Environment Setup","description":"Setting up Oh-My-Zsh and Neovim on the lab machines.","sidebar":"Sidebar"},"environment-setup/mac":{"id":"environment-setup/mac","title":"Mac Environment Setup","description":"Setting up homebrew, g++, and VSCode on Mac.","sidebar":"Sidebar"},"environment-setup/windows":{"id":"environment-setup/windows","title":"Windows Environment Setup","description":"Setting up WSL, g++, and VSCode on Windows.","sidebar":"Sidebar"},"grading/about-grading":{"id":"grading/about-grading","title":"About Grading","description":"How to format your lab submissions.","sidebar":"Sidebar"},"grading/cs102lings":{"id":"grading/cs102lings","title":"CS102lings","description":"A repository of CS102 lab templates and tests: cs102lings.","sidebar":"Sidebar"},"home":{"id":"home","title":"Home","description":"About","sidebar":"Sidebar"},"in-class-lab-notes/bitset-notes":{"id":"in-class-lab-notes/bitset-notes","title":"Bitset Notes","description":"Making Binary Numbers in C++","sidebar":"Sidebar"},"in-class-lab-notes/boiling-water-notes":{"id":"in-class-lab-notes/boiling-water-notes","title":"Boiling Water Notes","description":"New APIs","sidebar":"Sidebar"},"in-class-lab-notes/bowling-notes":{"id":"in-class-lab-notes/bowling-notes","title":"Bowling Notes","description":"Basic Program Structure","sidebar":"Sidebar"},"in-class-lab-notes/mud-notes":{"id":"in-class-lab-notes/mud-notes","title":"Multi-User Dungeons (MUD) Notes","description":"Here is a graph of what the rooms look like","sidebar":"Sidebar"},"in-class-lab-notes/sorting-algorithms":{"id":"in-class-lab-notes/sorting-algorithms","title":"Sorting Algorithms Notes","description":"Here are some helpful resources for this lab:","sidebar":"Sidebar"},"lab-walkthroughs/bitset":{"id":"lab-walkthroughs/bitset","title":"BITSET","description":"Work with bits and bitsets using bitwise operators.","sidebar":"Sidebar"},"lab-walkthroughs/bowling":{"id":"lab-walkthroughs/bowling","title":"Bowling","description":"Build a text-based bowling game.","sidebar":"Sidebar"},"lab-walkthroughs/calculator":{"id":"lab-walkthroughs/calculator","title":"Calculator","description":"Build a simple arithmetic calculator.","sidebar":"Sidebar"},"lab-walkthroughs/ppm-manipulator":{"id":"lab-walkthroughs/ppm-manipulator","title":"PPM Manipulation","description":"Manipulate images in the PPM format from the command line.","sidebar":"Sidebar"},"lab-walkthroughs/speeding-ticket-calculator":{"id":"lab-walkthroughs/speeding-ticket-calculator","title":"Speeding Ticket Calculator","description":"A speeding ticket calculator that reads from a file.","sidebar":"Sidebar"},"reference/common-linux-commands":{"id":"reference/common-linux-commands","title":"Common Unix/Linux & g++ Commands","description":"Tips and resources that are useful for the course.","sidebar":"Sidebar"},"reference/discord":{"id":"reference/discord","title":"Sharing Code on Discord","description":"How to share code on Discord.","sidebar":"Sidebar"},"reference/swap-files":{"id":"reference/swap-files","title":"Swap Files","description":"What is a swap file?","sidebar":"Sidebar"},"reference/vim-cheatsheet":{"id":"reference/vim-cheatsheet","title":"Vim Cheatsheet","description":"Basic Vim motions to get you started.","sidebar":"Sidebar"},"reference/vscode-tips":{"id":"reference/vscode-tips","title":"VSCode Tips","description":"Entirely optional but highly recommended.","sidebar":"Sidebar"},"tutorials/ssh-and-scp":{"id":"tutorials/ssh-and-scp","title":"SSH and SCP Tutorial","description":"How to log into the lab machines and transfer files to and from them.","sidebar":"Sidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/9aaa03f3.33fc8d93.js b/assets/js/9aaa03f3.33fc8d93.js new file mode 100644 index 00000000..ac9f38ea --- /dev/null +++ b/assets/js/9aaa03f3.33fc8d93.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1873],{5748:a=>{a.exports=JSON.parse('{"label":"hola","permalink":"/cs102-handbook/blog/tags/hola","allTagsPath":"/cs102-handbook/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/0cb04183.99656346.js b/assets/js/a2a2c8d3.bface174.js similarity index 53% rename from assets/js/0cb04183.99656346.js rename to assets/js/a2a2c8d3.bface174.js index 2b653dc4..f693a67a 100644 --- a/assets/js/0cb04183.99656346.js +++ b/assets/js/a2a2c8d3.bface174.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[6459],{7034:s=>{s.exports=JSON.parse('{"title":"Lab Walkthroughs","description":"Step-by-step guides to help with completing the labs.","slug":"/category/lab-walkthroughs","permalink":"/cs102-writeups/docs/category/lab-walkthroughs","navigation":{"previous":{"title":"Sorting Algorithms Notes","permalink":"/cs102-writeups/docs/in-class-lab-notes/sorting-algorithms"},"next":{"title":"BITSET","permalink":"/cs102-writeups/docs/lab-walkthroughs/bitset"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1419],{3268:s=>{s.exports=JSON.parse('{"title":"Lab Walkthroughs","description":"Step-by-step guides to help with completing the labs.","slug":"/category/lab-walkthroughs","permalink":"/cs102-handbook/docs/category/lab-walkthroughs","navigation":{"previous":{"title":"Sorting Algorithms Notes","permalink":"/cs102-handbook/docs/in-class-lab-notes/sorting-algorithms"},"next":{"title":"BITSET","permalink":"/cs102-handbook/docs/lab-walkthroughs/bitset"}}}')}}]); \ No newline at end of file diff --git a/assets/js/a3604fc6.9dfa8e51.js b/assets/js/a3604fc6.9dfa8e51.js deleted file mode 100644 index 8d4546b9..00000000 --- a/assets/js/a3604fc6.9dfa8e51.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7494],{1903:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var n=s(5893),t=s(1151);const l={},a="Bowling Notes",i={id:"in-class-lab-notes/bowling-notes",title:"Bowling Notes",description:"Basic Program Structure",source:"@site/docs/in-class-lab-notes/bowling-notes.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/bowling-notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/bowling-notes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Boiling Water Notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/boiling-water-notes"},next:{title:"Multi-User Dungeons (MUD) Notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/mud-notes"}},o={},c=[{value:"Basic Program Structure",id:"basic-program-structure",level:2},{value:"Scoring Examples",id:"scoring-examples",level:2}];function d(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h1,{id:"bowling-notes",children:"Bowling Notes"}),"\n",(0,n.jsx)(r.h2,{id:"basic-program-structure",children:"Basic Program Structure"}),"\n",(0,n.jsx)(r.p,{children:"Three main components"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"inputPlayerRolls"}),": input all 21 rolls for the player and store them in a vector. If a strike happens, only input one roll for that frame. If there is a strike or spare on the last frame, input the 21st roll."]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"calculatePlayerScore"}),": take the 21 rolls from the player and calculate their score.\nNOTE: You do not calculate the scores until all the rolls have been entered, this is much harder than doing it after."]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"printGameSummary"}),": print out all the players and their scores and print out the best and worst scores. If no players were entered, print ",(0,n.jsx)(r.code,{children:'"No players were entered."'})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"scoring-examples",children:"Scoring Examples"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"https://bowlinggenius.com/",children:"Bowling calculator"})}),"\n",(0,n.jsx)(r.p,{children:"Spare: add current frame roll 1 + current frame roll 2 + next frame roll 1"}),"\n",(0,n.jsx)(r.p,{children:"Frame 1: 5 + 5 + 6 = 16"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.img,{alt:"spare",src:s(6791).Z+"",width:"538",height:"288"})}),"\n",(0,n.jsx)(r.p,{children:"Strike: add current frame roll 1 + next frame roll 1 + next frame roll 2"}),"\n",(0,n.jsx)(r.p,{children:"Frame 1: 10 + 3 + 4 = 17"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.img,{alt:"strike",src:s(5991).Z+"",width:"532",height:"294"})}),"\n",(0,n.jsx)(r.p,{children:"Double strike: add current frame roll 1 + next frame roll 1 + next next frame roll 1"}),"\n",(0,n.jsx)(r.p,{children:"Frame 1: 10 + 10 + 5 = 25"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.img,{alt:"double-strike",src:s(5254).Z+"",width:"760",height:"244"})}),"\n",(0,n.jsx)(r.p,{children:"Frame 10 spare: add frame 10 roll 1 + roll 2 + roll 3"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.img,{alt:"frame10-spare",src:s(6513).Z+"",width:"2952",height:"270"})}),"\n",(0,n.jsx)(r.p,{children:"Frame 10 strike: add frame 10 roll 1 + roll 2 + roll 3"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.img,{alt:"frame10-strike",src:s(2323).Z+"",width:"2950",height:"296"})}),"\n",(0,n.jsx)(r.p,{children:"Frame 9 double strike edge case: add frame 9 roll 1 + frame 10 roll 1 + frame 10 roll 2 (not frame 10 roll 3)"}),"\n",(0,n.jsx)(r.p,{children:"Frame 9: 10 + 10 + 3 = 23 (not 10 + 10 + 2)"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.img,{alt:"frame9-double-strike-edge-case",src:s(81).Z+"",width:"2940",height:"246"})})]})}function h(e={}){const{wrapper:r}={...(0,t.a)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},5254:(e,r,s)=>{s.d(r,{Z:()=>n});const n=s.p+"assets/images/double-strike-53d4bce7127fc6222876f188a06946dc.png"},6513:(e,r,s)=>{s.d(r,{Z:()=>n});const n=s.p+"assets/images/frame10-spare-8debf66718cfb301820b7778e5a4388c.png"},2323:(e,r,s)=>{s.d(r,{Z:()=>n});const n=s.p+"assets/images/frame10-strike-27056acaefb60940a786a870ef4d8c36.png"},81:(e,r,s)=>{s.d(r,{Z:()=>n});const n=s.p+"assets/images/frame9-double-strike-edge-case-ef75305976a9f06ce26c409963d2b8e7.png"},6791:(e,r,s)=>{s.d(r,{Z:()=>n});const n=s.p+"assets/images/spare-1dd2bbd4014b2fe452c42acc125daa04.png"},5991:(e,r,s)=>{s.d(r,{Z:()=>n});const n=s.p+"assets/images/strike-a2953b5251c6d72b011c19f7882cd232.png"},1151:(e,r,s)=>{s.d(r,{Z:()=>i,a:()=>a});var n=s(7294);const t={},l=n.createContext(t);function a(e){const r=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),n.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a3604fc6.e6dba4c3.js b/assets/js/a3604fc6.e6dba4c3.js new file mode 100644 index 00000000..08b09df5 --- /dev/null +++ b/assets/js/a3604fc6.e6dba4c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7494],{1903:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>i,contentTitle:()=>a,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var s=n(5893),t=n(1151);const l={},a="Bowling Notes",o={id:"in-class-lab-notes/bowling-notes",title:"Bowling Notes",description:"Basic Program Structure",source:"@site/docs/in-class-lab-notes/bowling-notes.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/bowling-notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/bowling-notes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Boiling Water Notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/boiling-water-notes"},next:{title:"Multi-User Dungeons (MUD) Notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/mud-notes"}},i={},c=[{value:"Basic Program Structure",id:"basic-program-structure",level:2},{value:"Scoring Examples",id:"scoring-examples",level:2}];function d(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.h1,{id:"bowling-notes",children:"Bowling Notes"}),"\n",(0,s.jsx)(r.h2,{id:"basic-program-structure",children:"Basic Program Structure"}),"\n",(0,s.jsx)(r.p,{children:"Three main components"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"inputPlayerRolls"}),": input all 21 rolls for the player and store them in a vector. If a strike happens, only input one roll for that frame. If there is a strike or spare on the last frame, input the 21st roll."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"calculatePlayerScore"}),": take the 21 rolls from the player and calculate their score.\nNOTE: You do not calculate the scores until all the rolls have been entered, this is much harder than doing it after."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"printGameSummary"}),": print out all the players and their scores and print out the best and worst scores. If no players were entered, print ",(0,s.jsx)(r.code,{children:'"No players were entered."'})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"scoring-examples",children:"Scoring Examples"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"https://bowlinggenius.com/",children:"Bowling calculator"})}),"\n",(0,s.jsx)(r.p,{children:"Spare: add current frame roll 1 + current frame roll 2 + next frame roll 1"}),"\n",(0,s.jsx)(r.p,{children:"Frame 1: 5 + 5 + 6 = 16"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.img,{alt:"spare",src:n(6791).Z+"",width:"538",height:"288"})}),"\n",(0,s.jsx)(r.p,{children:"Strike: add current frame roll 1 + next frame roll 1 + next frame roll 2"}),"\n",(0,s.jsx)(r.p,{children:"Frame 1: 10 + 3 + 4 = 17"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.img,{alt:"strike",src:n(5991).Z+"",width:"532",height:"294"})}),"\n",(0,s.jsx)(r.p,{children:"Double strike: add current frame roll 1 + next frame roll 1 + next next frame roll 1"}),"\n",(0,s.jsx)(r.p,{children:"Frame 1: 10 + 10 + 5 = 25"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.img,{alt:"double-strike",src:n(5254).Z+"",width:"760",height:"244"})}),"\n",(0,s.jsx)(r.p,{children:"Frame 10 spare: add frame 10 roll 1 + roll 2 + roll 3"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.img,{alt:"frame10-spare",src:n(6513).Z+"",width:"2952",height:"270"})}),"\n",(0,s.jsx)(r.p,{children:"Frame 10 strike: add frame 10 roll 1 + roll 2 + roll 3"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.img,{alt:"frame10-strike",src:n(2323).Z+"",width:"2950",height:"296"})}),"\n",(0,s.jsx)(r.p,{children:"Frame 9 double strike edge case: add frame 9 roll 1 + frame 10 roll 1 + frame 10 roll 2 (not frame 10 roll 3)"}),"\n",(0,s.jsx)(r.p,{children:"Frame 9: 10 + 10 + 3 = 23 (not 10 + 10 + 2)"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.img,{alt:"frame9-double-strike-edge-case",src:n(81).Z+"",width:"2940",height:"246"})})]})}function h(e={}){const{wrapper:r}={...(0,t.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},5254:(e,r,n)=>{n.d(r,{Z:()=>s});const s=n.p+"assets/images/double-strike-53d4bce7127fc6222876f188a06946dc.png"},6513:(e,r,n)=>{n.d(r,{Z:()=>s});const s=n.p+"assets/images/frame10-spare-8debf66718cfb301820b7778e5a4388c.png"},2323:(e,r,n)=>{n.d(r,{Z:()=>s});const s=n.p+"assets/images/frame10-strike-27056acaefb60940a786a870ef4d8c36.png"},81:(e,r,n)=>{n.d(r,{Z:()=>s});const s=n.p+"assets/images/frame9-double-strike-edge-case-ef75305976a9f06ce26c409963d2b8e7.png"},6791:(e,r,n)=>{n.d(r,{Z:()=>s});const s=n.p+"assets/images/spare-1dd2bbd4014b2fe452c42acc125daa04.png"},5991:(e,r,n)=>{n.d(r,{Z:()=>s});const s=n.p+"assets/images/strike-a2953b5251c6d72b011c19f7882cd232.png"},1151:(e,r,n)=>{n.d(r,{Z:()=>o,a:()=>a});var s=n(7294);const t={},l=s.createContext(t);function a(e){const r=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a7ccc271.dc285692.js b/assets/js/a7ccc271.dc285692.js new file mode 100644 index 00000000..23e0c849 --- /dev/null +++ b/assets/js/a7ccc271.dc285692.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[8850],{8350:o=>{o.exports=JSON.parse('[{"label":"facebook","permalink":"/cs102-handbook/blog/tags/facebook","count":1},{"label":"hello","permalink":"/cs102-handbook/blog/tags/hello","count":2},{"label":"docusaurus","permalink":"/cs102-handbook/blog/tags/docusaurus","count":4},{"label":"hola","permalink":"/cs102-handbook/blog/tags/hola","count":1}]')}}]); \ No newline at end of file diff --git a/assets/js/af520d2c.86661289.js b/assets/js/af520d2c.f9c77b3c.js similarity index 98% rename from assets/js/af520d2c.86661289.js rename to assets/js/af520d2c.f9c77b3c.js index 1575cc20..355d2d52 100644 --- a/assets/js/af520d2c.86661289.js +++ b/assets/js/af520d2c.f9c77b3c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[6896],{1360:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var i=t(5893),s=t(1151);const a={},o="Debugging Segmentation Faults",r={id:"debugging/segmentation-faults",title:"Debugging Segmentation Faults",description:"How to debug segmentation faults",source:"@site/docs/debugging/segmentation-faults.md",sourceDirName:"debugging",slug:"/debugging/segmentation-faults",permalink:"/cs102-writeups/docs/debugging/segmentation-faults",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Debugging",permalink:"/cs102-writeups/docs/category/debugging"}},l={},c=[{value:"What is a Segmentation Fault?",id:"what-is-a-segmentation-fault",level:2},{value:"Dereferencing a Null Pointer",id:"dereferencing-a-null-pointer",level:3},{value:"Indexing a Vector/Array Out-of-Bounds",id:"indexing-a-vectorarray-out-of-bounds",level:3},{value:"How to Debug Segmentation Faults",id:"how-to-debug-segmentation-faults",level:2},{value:"Using Print Statements",id:"using-print-statements",level:3}];function u(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"debugging-segmentation-faults",children:"Debugging Segmentation Faults"}),"\n",(0,i.jsx)(n.p,{children:"How to debug segmentation faults"}),"\n",(0,i.jsx)(n.h2,{id:"what-is-a-segmentation-fault",children:"What is a Segmentation Fault?"}),"\n",(0,i.jsx)(n.p,{children:"A segmentation fault is a common error that occurs when a program tries to access a memory location that it is not allowed to access. Segmentation faults are often caused by dereferencing a null pointer, or by trying to access memory that has been freed."}),"\n",(0,i.jsx)(n.p,{children:"Here is an example of a segmentation fault:"}),"\n",(0,i.jsx)(n.h3,{id:"dereferencing-a-null-pointer",children:"Dereferencing a Null Pointer"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int main() {\n int *p = nullptr; // p is a pointer to an integer, and it is initialized to null\n\n // This will error\n *p = 5; // This line causes a segmentation fault because p is a null pointer\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"When we run this program, we get the following output:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"$ ./segfault\nSegmentation fault (core dumped)\n"})}),"\n",(0,i.jsxs)(n.p,{children:["The segmentation fault occurs when we try to dereference the null pointer ",(0,i.jsx)(n.code,{children:"p"}),". The program tries to access the memory location that ",(0,i.jsx)(n.code,{children:"p"})," points to, but ",(0,i.jsx)(n.code,{children:"p"})," is a null pointer, so it is not allowed to access that memory location."]}),"\n",(0,i.jsx)(n.p,{children:"Another common case is indexing a vector out-of-bounds"}),"\n",(0,i.jsx)(n.h3,{id:"indexing-a-vectorarray-out-of-bounds",children:"Indexing a Vector/Array Out-of-Bounds"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"#include <vector>\nusing namespace std;\n\nint main() {\n vector<int> v = {1, 2, 3};\n\n // This will error\n v[3] = 4; // This line causes a segmentation fault because v only has 3 elements\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"how-to-debug-segmentation-faults",children:"How to Debug Segmentation Faults"}),"\n",(0,i.jsx)(n.h3,{id:"using-print-statements",children:"Using Print Statements"}),"\n",(0,i.jsx)(n.p,{children:"One way to debug segmentation faults is to use print statements. Print statements allow you to print the value of variables at different points in your program. This can be useful for finding the line of code that caused the segmentation fault."}),"\n",(0,i.jsx)(n.p,{children:"Let's look at an example of a program that has a segmentation fault:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'#include <iostream>\n#include <vector>\n\nusing namespace std;\n\nint main() {\n // create a vector of integers\n vector<int> integers;\n\n cout << "Adding 10 elements to the vector" << endl;\n\n // add 10 elements to the vector\n for (size_t i = 0; i < 10; i++) {\n integers.push_back(i);\n }\n\n // print out each element\n for (size_t i = 0; i < 10; i++) {\n cout << integers[i] << endl;\n }\n\n // add last element to the first\n // This will error\n integers[0] = integers[0] + integers[10] // This line causes a segmentation fault;\n\n cout << "Doubled each element" << endl;\n\n // double each element\n for (size_t i = 0; i < 10; i++) {\n integers[i] = integers[i] * 2;\n }\n\n // print out each element\n for (size_t i = 0; i < 10; i++) {\n cout << integers[i] << endl;\n }\n\n return 0;\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:"This line causes a segmentation fault because we are trying to access the 11th element of the vector, but the vector only has 10 elements:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"integers[0] += integers[10];\n"})}),"\n",(0,i.jsx)(n.p,{children:"When we run this program, we get the following output:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"\n$ ./segfault\nAdding 10 elements to the vector\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\nSegmentation fault (core dumped)\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Notice that the program crashes before it prints out the line ",(0,i.jsx)(n.code,{children:"Doubled each element"}),". This is because the program crashes when it tries to access the 11th element of the vector. To find the line of code that caused the segmentation fault, we can add print statements to the program:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'int main() {\n // create a vector of integers\n vector<int> integers;\n\n cout << "Adding 10 elements to the vector" << endl;\n\n // add 10 elements to the vector\n for (size_t i = 0; i < 10; i++) {\n integers.push_back(i);\n }\n\n // print out each element\n for (size_t i = 0; i < 10; i++) {\n cout << integers[i] << endl;\n }\n\n // Highlight\n cout << "I will print" << endl;\n\n // add last element to the first\n // This will error\n integers[0] += integers[10]; // This line causes a segmentation fault;\n\n // Highlight\n cout << "I will not print" << endl;\n\n cout << "Doubled each element" << endl;\n\n // double each element\n for (size_t i = 0; i < 10; i++) {\n integers[i] = integers[i] * 2;\n }\n\n // print out each element\n for (size_t i = 0; i < 10; i++) {\n cout << integers[i] << endl;\n }\n\n return 0;\n}\n\n'})}),"\n",(0,i.jsx)(n.p,{children:"When we run this program, we get the following output:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"\n$ ./segfault\nAdding 10 elements to the vector\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\nI will print\nSegmentation fault (core dumped)\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Since the program crashes before it prints out the line ",(0,i.jsx)(n.code,{children:"I will not print"}),", but after it prints out the line ",(0,i.jsx)(n.code,{children:"I will print"}),", we know that the line that caused the segmentation fault is ",(0,i.jsx)(n.code,{children:"integers[0] += integers[10];"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"By this way of adding print statements to our code, we can find the line of code that caused the segmentation fault."})]})}function d(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>o});var i=t(7294);const s={},a=i.createContext(s);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[6896],{1360:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var i=t(5893),s=t(1151);const a={},o="Debugging Segmentation Faults",r={id:"debugging/segmentation-faults",title:"Debugging Segmentation Faults",description:"How to debug segmentation faults",source:"@site/docs/debugging/segmentation-faults.md",sourceDirName:"debugging",slug:"/debugging/segmentation-faults",permalink:"/cs102-handbook/docs/debugging/segmentation-faults",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Debugging",permalink:"/cs102-handbook/docs/category/debugging"}},l={},c=[{value:"What is a Segmentation Fault?",id:"what-is-a-segmentation-fault",level:2},{value:"Dereferencing a Null Pointer",id:"dereferencing-a-null-pointer",level:3},{value:"Indexing a Vector/Array Out-of-Bounds",id:"indexing-a-vectorarray-out-of-bounds",level:3},{value:"How to Debug Segmentation Faults",id:"how-to-debug-segmentation-faults",level:2},{value:"Using Print Statements",id:"using-print-statements",level:3}];function u(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"debugging-segmentation-faults",children:"Debugging Segmentation Faults"}),"\n",(0,i.jsx)(n.p,{children:"How to debug segmentation faults"}),"\n",(0,i.jsx)(n.h2,{id:"what-is-a-segmentation-fault",children:"What is a Segmentation Fault?"}),"\n",(0,i.jsx)(n.p,{children:"A segmentation fault is a common error that occurs when a program tries to access a memory location that it is not allowed to access. Segmentation faults are often caused by dereferencing a null pointer, or by trying to access memory that has been freed."}),"\n",(0,i.jsx)(n.p,{children:"Here is an example of a segmentation fault:"}),"\n",(0,i.jsx)(n.h3,{id:"dereferencing-a-null-pointer",children:"Dereferencing a Null Pointer"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"int main() {\n int *p = nullptr; // p is a pointer to an integer, and it is initialized to null\n\n // This will error\n *p = 5; // This line causes a segmentation fault because p is a null pointer\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"When we run this program, we get the following output:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"$ ./segfault\nSegmentation fault (core dumped)\n"})}),"\n",(0,i.jsxs)(n.p,{children:["The segmentation fault occurs when we try to dereference the null pointer ",(0,i.jsx)(n.code,{children:"p"}),". The program tries to access the memory location that ",(0,i.jsx)(n.code,{children:"p"})," points to, but ",(0,i.jsx)(n.code,{children:"p"})," is a null pointer, so it is not allowed to access that memory location."]}),"\n",(0,i.jsx)(n.p,{children:"Another common case is indexing a vector out-of-bounds"}),"\n",(0,i.jsx)(n.h3,{id:"indexing-a-vectorarray-out-of-bounds",children:"Indexing a Vector/Array Out-of-Bounds"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"#include <vector>\nusing namespace std;\n\nint main() {\n vector<int> v = {1, 2, 3};\n\n // This will error\n v[3] = 4; // This line causes a segmentation fault because v only has 3 elements\n return 0;\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"how-to-debug-segmentation-faults",children:"How to Debug Segmentation Faults"}),"\n",(0,i.jsx)(n.h3,{id:"using-print-statements",children:"Using Print Statements"}),"\n",(0,i.jsx)(n.p,{children:"One way to debug segmentation faults is to use print statements. Print statements allow you to print the value of variables at different points in your program. This can be useful for finding the line of code that caused the segmentation fault."}),"\n",(0,i.jsx)(n.p,{children:"Let's look at an example of a program that has a segmentation fault:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'#include <iostream>\n#include <vector>\n\nusing namespace std;\n\nint main() {\n // create a vector of integers\n vector<int> integers;\n\n cout << "Adding 10 elements to the vector" << endl;\n\n // add 10 elements to the vector\n for (size_t i = 0; i < 10; i++) {\n integers.push_back(i);\n }\n\n // print out each element\n for (size_t i = 0; i < 10; i++) {\n cout << integers[i] << endl;\n }\n\n // add last element to the first\n // This will error\n integers[0] = integers[0] + integers[10] // This line causes a segmentation fault;\n\n cout << "Doubled each element" << endl;\n\n // double each element\n for (size_t i = 0; i < 10; i++) {\n integers[i] = integers[i] * 2;\n }\n\n // print out each element\n for (size_t i = 0; i < 10; i++) {\n cout << integers[i] << endl;\n }\n\n return 0;\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:"This line causes a segmentation fault because we are trying to access the 11th element of the vector, but the vector only has 10 elements:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"integers[0] += integers[10];\n"})}),"\n",(0,i.jsx)(n.p,{children:"When we run this program, we get the following output:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"\n$ ./segfault\nAdding 10 elements to the vector\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\nSegmentation fault (core dumped)\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Notice that the program crashes before it prints out the line ",(0,i.jsx)(n.code,{children:"Doubled each element"}),". This is because the program crashes when it tries to access the 11th element of the vector. To find the line of code that caused the segmentation fault, we can add print statements to the program:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'int main() {\n // create a vector of integers\n vector<int> integers;\n\n cout << "Adding 10 elements to the vector" << endl;\n\n // add 10 elements to the vector\n for (size_t i = 0; i < 10; i++) {\n integers.push_back(i);\n }\n\n // print out each element\n for (size_t i = 0; i < 10; i++) {\n cout << integers[i] << endl;\n }\n\n // Highlight\n cout << "I will print" << endl;\n\n // add last element to the first\n // This will error\n integers[0] += integers[10]; // This line causes a segmentation fault;\n\n // Highlight\n cout << "I will not print" << endl;\n\n cout << "Doubled each element" << endl;\n\n // double each element\n for (size_t i = 0; i < 10; i++) {\n integers[i] = integers[i] * 2;\n }\n\n // print out each element\n for (size_t i = 0; i < 10; i++) {\n cout << integers[i] << endl;\n }\n\n return 0;\n}\n\n'})}),"\n",(0,i.jsx)(n.p,{children:"When we run this program, we get the following output:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"\n$ ./segfault\nAdding 10 elements to the vector\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\nI will print\nSegmentation fault (core dumped)\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Since the program crashes before it prints out the line ",(0,i.jsx)(n.code,{children:"I will not print"}),", but after it prints out the line ",(0,i.jsx)(n.code,{children:"I will print"}),", we know that the line that caused the segmentation fault is ",(0,i.jsx)(n.code,{children:"integers[0] += integers[10];"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"By this way of adding print statements to our code, we can find the line of code that caused the segmentation fault."})]})}function d(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>o});var i=t(7294);const s={},a=i.createContext(s);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5a42a249.6ef16321.js b/assets/js/af57d80f.b62e56e1.js similarity index 64% rename from assets/js/5a42a249.6ef16321.js rename to assets/js/af57d80f.b62e56e1.js index 07922522..aafa90c8 100644 --- a/assets/js/5a42a249.6ef16321.js +++ b/assets/js/af57d80f.b62e56e1.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2086],{3068:e=>{e.exports=JSON.parse('{"title":"Environment Setup","description":"How to set up your C++ development environment and IDE. Use the Mac and Windows guides if you would like to develop locally with VSCode. Use the lab machines guide if you would like to do all your work on the lab machines over ssh using Neovim.","slug":"/category/environment-setup","permalink":"/cs102-writeups/docs/category/environment-setup","navigation":{"previous":{"title":"Home","permalink":"/cs102-writeups/docs/home"},"next":{"title":"Lab Machines Environment Setup","permalink":"/cs102-writeups/docs/environment-setup/lab-machines"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3736],{2996:e=>{e.exports=JSON.parse('{"title":"Environment Setup","description":"How to set up your C++ development environment and IDE. Use the Mac and Windows guides if you would like to develop locally with VSCode. Use the lab machines guide if you would like to do all your work on the lab machines over ssh using Neovim.","slug":"/category/environment-setup","permalink":"/cs102-handbook/docs/category/environment-setup","navigation":{"previous":{"title":"Home","permalink":"/cs102-handbook/docs/home"},"next":{"title":"Lab Machines Environment Setup","permalink":"/cs102-handbook/docs/environment-setup/lab-machines"}}}')}}]); \ No newline at end of file diff --git a/assets/js/a91fe783.e98835e9.js b/assets/js/b2a86a22.b3464a32.js similarity index 52% rename from assets/js/a91fe783.e98835e9.js rename to assets/js/b2a86a22.b3464a32.js index b4d56009..ec13b771 100644 --- a/assets/js/a91fe783.e98835e9.js +++ b/assets/js/b2a86a22.b3464a32.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[9863],{8205:e=>{e.exports=JSON.parse('{"permalink":"/cs102-writeups/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2195],{1318:o=>{o.exports=JSON.parse('{"permalink":"/cs102-handbook/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/b917d90f.342ac1ca.js b/assets/js/b917d90f.781540e9.js similarity index 98% rename from assets/js/b917d90f.342ac1ca.js rename to assets/js/b917d90f.781540e9.js index df304602..70288b71 100644 --- a/assets/js/b917d90f.342ac1ca.js +++ b/assets/js/b917d90f.781540e9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[775],{4527:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>l,metadata:()=>r,toc:()=>h});var t=n(5893),s=n(1151);const l={},o="PPM Manipulation",r={id:"lab-walkthroughs/ppm-manipulator",title:"PPM Manipulation",description:"Manipulate images in the PPM format from the command line.",source:"@site/docs/lab-walkthroughs/ppm-manipulator.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/ppm-manipulator",permalink:"/cs102-writeups/docs/lab-walkthroughs/ppm-manipulator",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Calculator",permalink:"/cs102-writeups/docs/lab-walkthroughs/calculator"},next:{title:"Speeding Ticket Calculator",permalink:"/cs102-writeups/docs/lab-walkthroughs/speeding-ticket-calculator"}},d={},h=[{value:"Introduction",id:"introduction",level:2},{value:"What is PPM?",id:"what-is-ppm",level:2},{value:"What it contains",id:"what-it-contains",level:3},{value:"Pixel",id:"pixel",level:2},{value:"Picture",id:"picture",level:2},{value:"Width, height, and max intensity",id:"width-height-and-max-intensity",level:3},{value:"Pixel list",id:"pixel-list",level:3},{value:"Constructor",id:"constructor",level:3},{value:"Get Pixel (Immutable)",id:"get-pixel-immutable",level:3},{value:"Get Pixel (Mutable)",id:"get-pixel-mutable",level:3},{value:"Set Pixel",id:"set-pixel",level:3},{value:"Invert",id:"invert",level:3},{value:"Flip X",id:"flip-x",level:3},{value:"Flip Y",id:"flip-y",level:3},{value:"Read Input",id:"read-input",level:3},{value:"example",id:"example",level:4},{value:"Deciding which to use",id:"deciding-which-to-use",level:4},{value:"Reading",id:"reading",level:4}];function a(e){const i={code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.h1,{id:"ppm-manipulation",children:"PPM Manipulation"}),"\n",(0,t.jsx)(i.p,{children:"Manipulate images in the PPM format from the command line."}),"\n",(0,t.jsx)(i.h2,{id:"introduction",children:"Introduction"}),"\n",(0,t.jsxs)(i.p,{children:["This is definitely the hardest lab this semester, probably a bit harder than both blackjack, but it's also the most cool, in my opinion. The purpose of this lab is to be able to manipulate a ",(0,t.jsx)(i.code,{children:".ppm"})," file in several ways. It'll familiarize you more with classes, and also maybe make you think a bit."]}),"\n",(0,t.jsx)(i.h2,{id:"what-is-ppm",children:"What is PPM?"}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.code,{children:"PPM"})," is a file type that designates a specific format the file should adhere to. Just like how your ",(0,t.jsx)(i.code,{children:".cpp"})," files need to include things like ",(0,t.jsx)(i.code,{children:"int main()"})," or ",(0,t.jsx)(i.code,{children:"#include"}),", a .",(0,t.jsx)(i.code,{children:"ppm"}),' file needs to include "meta" content that outlines details pertaining to the content, and of course, it also needs to contain the content itself (e.g. the "pixels" that make up the image).']}),"\n",(0,t.jsx)(i.h3,{id:"what-it-contains",children:"What it contains"}),"\n",(0,t.jsxs)(i.p,{children:["If you were to open a ",(0,t.jsx)(i.code,{children:".ppm"})," file with a text editor, this is what you would see (this is on a per-line basis, in this exact order)"]}),"\n",(0,t.jsxs)(i.ol,{children:["\n",(0,t.jsxs)(i.li,{children:["A heading which will always be the string ",(0,t.jsx)(i.code,{children:"P3"}),". If a ",(0,t.jsx)(i.code,{children:".ppm"})," file does not contain this, then it does not conform to the standard that a ",(0,t.jsx)(i.code,{children:".ppm"})," file should, and therefore should be omitted."]}),"\n",(0,t.jsxs)(i.li,{children:["The ",(0,t.jsx)(i.code,{children:"width"})," and ",(0,t.jsx)(i.code,{children:"height"})," (WxH) of the image in pixels (e.g. ",(0,t.jsx)(i.code,{children:"150 150"})," would be 150x150 image)"]}),"\n",(0,t.jsxs)(i.li,{children:["The ",(0,t.jsx)(i.code,{children:"Max Intensity"}),". i.e. the absolute range of any color value in the image. Typically this will be ",(0,t.jsx)(i.code,{children:"[0, 255]"}),", but the max intensity determines the bound, so assume the color range is ",(0,t.jsx)(i.code,{children:"[0, maxIntensity]"}),"."]}),"\n",(0,t.jsxs)(i.li,{children:["Every line after this describes the color value of each subsequent pixel. Represented by integers ranging from the color range mentioned earlier. ",(0,t.jsx)(i.strong,{children:"One important thing to note"})," is that these lines could be in various formats. They can follow/precede commented lines (refer to #5), they can be in the format ",(0,t.jsx)(i.code,{children:"r g b"})," or they can be in the format ",(0,t.jsx)(i.code,{children:"r\\nb\\ng\\n"})," (i.e. on separate lines), basically their format will be inconsistent, BUT we can work with that."]}),"\n",(0,t.jsxs)(i.li,{children:["Any line beginning with ",(0,t.jsx)(i.code,{children:"#"})," should be skipped, as it simply denotes a comment."]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["Here's an example of a ",(0,t.jsx)(i.code,{children:".ppm"})," file in plain text"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-P3",children:"3 2\n255\n255 0 0\n0 255 0\n0 0 255\n255 255 0\n255 255 255\n0 0 0\n"})}),"\n",(0,t.jsxs)(i.p,{children:["As you can see, it is a valid ",(0,t.jsx)(i.code,{children:".ppm"})," file as it conforms to the format required."]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["It has a header of ",(0,t.jsx)(i.code,{children:"P3"})]}),"\n",(0,t.jsxs)(i.li,{children:["It has a width of ",(0,t.jsx)(i.code,{children:"3px"})," and a height of ",(0,t.jsx)(i.code,{children:"2px"})]}),"\n",(0,t.jsxs)(i.li,{children:["The max intensity is ",(0,t.jsx)(i.code,{children:"255"})]}),"\n",(0,t.jsxs)(i.li,{children:["The dimensions of the image are ",(0,t.jsx)(i.code,{children:"3x2"})]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["We know the dimensions of the file are ",(0,t.jsx)(i.code,{children:"3x2"}),", so logically there are 6 pixels in total in the image. Every line after the max intensity is the color value of a pixel at that index (going from left to right, and then moving to the next row once you've reached the last column). Because there are ",(0,t.jsx)(i.code,{children:"3 RGB"})," values per pixel, and there are ",(0,t.jsx)(i.code,{children:"6 pixels"}),", we should expect to read ",(0,t.jsx)(i.code,{children:"18 RGB values"}),". This is exactly what we see in the file."]}),"\n",(0,t.jsx)(i.h1,{id:"your-job",children:"Your Job"}),"\n",(0,t.jsxs)(i.p,{children:["Your job for this lab is to be able to parse these ",(0,t.jsx)(i.code,{children:".ppm"})," files and modify them in some way. Namely, your program should be able to do the following things:"]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Read a ",(0,t.jsx)(i.code,{children:".ppm"})," file. e.g. check for ",(0,t.jsx)(i.code,{children:"P3"}),", store your width/height/max intens, and store the color values of each pixel."]}),"\n",(0,t.jsxs)(i.li,{children:["Write a ",(0,t.jsx)(i.code,{children:".ppm"})," file"]}),"\n",(0,t.jsx)(i.li,{children:"Flip an image on the x-axis"}),"\n",(0,t.jsx)(i.li,{children:"Flip an image on the y-axis"}),"\n",(0,t.jsx)(i.li,{children:"Invert an image"}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"pixel",children:"Pixel"}),"\n",(0,t.jsxs)(i.p,{children:["The first thing you'll want to get out of the way is your ",(0,t.jsx)(i.code,{children:"Pixel"})," structure. This will make it easy to read/write data with pixels. Using the ",(0,t.jsx)(i.code,{children:"Pixel"})," structure, we'll create a ",(0,t.jsx)(i.code,{children:"Picture"})," class whose core data member will be a ",(0,t.jsx)(i.code,{children:"vector"})," of ",(0,t.jsx)(i.code,{children:"Pixel"}),"s."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.code,{children:"struct Pixel"})," contains:"]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["3 ",(0,t.jsx)(i.code,{children:"unsigned int"}),"s, one for each ",(0,t.jsx)(i.code,{children:"r"}),", ",(0,t.jsx)(i.code,{children:"g"}),", and ",(0,t.jsx)(i.code,{children:"b"}),". The reason we're using ",(0,t.jsx)(i.code,{children:"unsigned"})," is because our color range is ",(0,t.jsx)(i.code,{children:"[0,max_intensity]"}),", which is positive only range."]}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"This should be pretty easy to create yourself."}),"\n",(0,t.jsx)(i.h2,{id:"picture",children:"Picture"}),"\n",(0,t.jsx)(i.p,{children:"This is the greater class that will represent the PPM image itself and will contain the data members that will be used to manipulate the image."}),"\n",(0,t.jsx)(i.h3,{id:"width-height-and-max-intensity",children:"Width, height, and max intensity"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"private int"})," - width of the picture"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"private int"})," - height of the picture"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"private int"})," - max intensity of the picture"]}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"pixel-list",children:"Pixel list"}),"\n",(0,t.jsxs)(i.p,{children:["A ",(0,t.jsx)(i.em,{children:"private"})," ",(0,t.jsx)(i.code,{children:"vector"})," of ",(0,t.jsx)(i.code,{children:"Pixel"}),'s. These will be our "coordinates" so to speak.']}),"\n",(0,t.jsx)(i.h3,{id:"constructor",children:"Constructor"}),"\n",(0,t.jsxs)(i.p,{children:["A public constructor that sets up our class instance. It takes 0 arguments and sets the width, height, and max intensity to 0. So once you've invoked thsi constructor, you'll have a ",(0,t.jsx)(i.code,{children:"Picture"})," object that has no pixels, an image width of 0, an image height of 0, and a max intensity of 0."]}),"\n",(0,t.jsx)(i.h3,{id:"get-pixel-immutable",children:"Get Pixel (Immutable)"}),"\n",(0,t.jsxs)(i.p,{children:["A public method that returns a ",(0,t.jsx)(i.strong,{children:"read-only"})," (",(0,t.jsx)(i.code,{children:"const <TYPE>&"}),") Pixel object located at the row & col passed as arguments. You'll need to do some arithmetic to transpose the ",(0,t.jsx)(i.code,{children:"(row, col)"})," to a valid index to your vector of pixels since the vector is 1-dimensional. The formula for this is pretty simple, and you can easily google to find it online if you're not sure."]}),"\n",(0,t.jsx)(i.h3,{id:"get-pixel-mutable",children:"Get Pixel (Mutable)"}),"\n",(0,t.jsxs)(i.p,{children:["A public method that returns a ",(0,t.jsx)(i.strong,{children:"mutable"})," ",(0,t.jsx)(i.code,{children:"Pixel"})," object based on the row and column passed as arguments. You'll notice this is an ",(0,t.jsx)(i.em,{children:"overloaded"})," method since there is another method with a similar signature. The difference between the two is the return value. This method returns ",(0,t.jsx)(i.code,{children:"Pixel&"}),", whereas the other returns ",(0,t.jsx)(i.code,{children:"const Pixel&"}),". i.e. the return value of this method is mutable, meaning it can be modified. So if you wanted to, you could do something like this:"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-cpp",children:"Picture pic;\nPixel p = pic.get_pixel(0,0);\np.r = 255;\n"})}),"\n",(0,t.jsxs)(i.p,{children:["This would set the ",(0,t.jsx)(i.code,{children:"r"})," value of the pixel at ",(0,t.jsx)(i.code,{children:"(0,0)"})," to ",(0,t.jsx)(i.code,{children:"255"}),". This is useful when you want to modify the pixel at a specific location."]}),"\n",(0,t.jsxs)(i.p,{children:["This isn't possible if you call the other method, since it returns a ",(0,t.jsx)(i.code,{children:"const Pixel&"}),", which again means you can't modify the pixel."]}),"\n",(0,t.jsx)(i.p,{children:"The implementation of these methods is identical, only the return value type is different."}),"\n",(0,t.jsx)(i.h3,{id:"set-pixel",children:"Set Pixel"}),"\n",(0,t.jsxs)(i.p,{children:["A public method that sets a pixel at index ",(0,t.jsx)(i.code,{children:"(row, col)"})," (1D transposed) using the provided ",(0,t.jsx)(i.code,{children:"px"})," argument. (e.g. ",(0,t.jsx)(i.code,{children:"pixels[index] = px"}),"). In other words, it finds the index of the pixel in your vector, and changes it to the new one provided."]}),"\n",(0,t.jsx)(i.h3,{id:"invert",children:"Invert"}),"\n",(0,t.jsxs)(i.p,{children:["Inverts all pixels i.e. set every pixel color equal to ",(0,t.jsx)(i.code,{children:"max_intensity - r/g/b"}),", respectively. ",(0,t.jsx)(i.strong,{children:"This should update the vector of pixels"}),". Simply loop through your vector of ",(0,t.jsx)(i.code,{children:"Pixel"}),"s and update the color values accordingly."]}),"\n",(0,t.jsx)(i.h3,{id:"flip-x",children:"Flip X"}),"\n",(0,t.jsx)(i.p,{children:"Flips all pixels around the x-axis. The general idea here is to examine two rows simultaneously. So we look at every pixel in the top row and swap each pixel with the corresponding pixel in the bottom row, and then we jump to the next set of rows after we've finished one."}),"\n",(0,t.jsx)(i.p,{children:"You'll need two nested loops to do this. The outer loop will iterate over the rows, and the inner loop will iterate over the columns. You'll need to do some arithmetic to figure out which pixels to swap, but it's not too hard."}),"\n",(0,t.jsx)(i.h3,{id:"flip-y",children:"Flip Y"}),"\n",(0,t.jsxs)(i.p,{children:["This will be almost exactly like your ",(0,t.jsx)(i.code,{children:"flip_x()"})," method, except you'll swap the roles of your nested loops, and you'll replace the concept of top/bottom with left/right. This should be easy enough to do if you've already done ",(0,t.jsx)(i.code,{children:"flip_x()"}),", so I will leave it at this."]}),"\n",(0,t.jsx)(i.h3,{id:"read-input",children:"Read Input"}),"\n",(0,t.jsxs)(i.p,{children:["This part isn't hard, but a lot of students seem to be confused about what is going on with ",(0,t.jsx)(i.code,{children:"read_input()"})," here, so I will try to explain it to the best of my ability. All this method does is read the input of ",(0,t.jsx)(i.strong,{children:"either"})]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["a ",(0,t.jsx)(i.code,{children:".ppm"})," ",(0,t.jsx)(i.em,{children:"file"})]}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.strong,{children:"OR"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Standard input, e.g. ",(0,t.jsx)(i.code,{children:"stdin"}),", e.g. your keyboard -- like we've done most of the semester."]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["The tricky part is that it can read either of those. We determine which of those we are reading from in ",(0,t.jsx)(i.code,{children:"main"})," from the arguments passed through ",(0,t.jsx)(i.code,{children:"argv[]"}),"."]}),"\n",(0,t.jsxs)(i.p,{children:["The ",(0,t.jsx)(i.code,{children:"read_input()"})," method itself will have no difference in implementation whether or not we are reading from a file or from ",(0,t.jsx)(i.code,{children:"stdin"}),". This is because the argument it takes is of type ",(0,t.jsx)(i.code,{children:"istream"}),", which is any general-purpose input stream. Both ",(0,t.jsx)(i.code,{children:"ifstream"}),", and ",(0,t.jsx)(i.code,{children:"cin"})," are derived from ",(0,t.jsx)(i.code,{children:"istream"}),", so we can pass either of those into ",(0,t.jsx)(i.code,{children:"read_input()"})," and it will work. No matter what, we will be using the ",(0,t.jsx)(i.code,{children:"in"})," function argument to read once you're in the method from the following example"]}),"\n",(0,t.jsx)(i.h4,{id:"example",children:"example"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-cpp",children:'bool read_input(istream& in) {\n in >> stuff; // this would be the same as cin >> stuff, or fin >> stuff\n}\n\nint main() {\n // passing file input stream to read_input()\n ifstream fin("file.txt");\n read_input(fin);\n\n // passing standard input stream to read input()\n read_input(cin);\n}\n'})}),"\n",(0,t.jsx)(i.h4,{id:"deciding-which-to-use",children:"Deciding which to use"}),"\n",(0,t.jsxs)(i.p,{children:["In ",(0,t.jsx)(i.code,{children:"main"}),", we will be using ",(0,t.jsx)(i.code,{children:"argc"})," and ",(0,t.jsx)(i.code,{children:"argv"})," to determine whether or not we are reading from a file or from ",(0,t.jsx)(i.code,{children:"stdin"}),". Here is the argument format"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-bash",children:"./ppm <INPUT> <OUTPUT> <MANIPULATION>\n"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"INPUT"})," is the ",(0,t.jsx)(i.em,{children:"name"})," of the input file (e.g. ",(0,t.jsx)(i.code,{children:"file.ppm"}),"), ",(0,t.jsx)(i.strong,{children:"OR"})," it's a dash (",(0,t.jsx)(i.code,{children:"-"}),") if we are reading from ",(0,t.jsx)(i.code,{children:"stdin"}),"."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"OUTPUT"})," is the ",(0,t.jsx)(i.em,{children:"name"})," of the output file (e.g. ",(0,t.jsx)(i.code,{children:"file.ppm"}),"), ",(0,t.jsx)(i.strong,{children:"OR"})," it's a dash (",(0,t.jsx)(i.code,{children:"-"}),") if we are writing to ",(0,t.jsx)(i.code,{children:"stdout"})," (using ",(0,t.jsx)(i.code,{children:"cout"}),")."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"MANIPULATION"})," is the only optional argument and is the one-letter representation for the manipulation we want to do. This can be any of the following: It can be ",(0,t.jsx)(i.code,{children:"X"})," for ",(0,t.jsx)(i.code,{children:"flip_x"}),", ",(0,t.jsx)(i.code,{children:"Y"})," for ",(0,t.jsx)(i.code,{children:"flip_y"}),", or ",(0,t.jsx)(i.code,{children:"I"})," for ",(0,t.jsx)(i.code,{children:"invert"}),". If no argument is specified, then you won't modify the image at all."]}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"reading",children:"Reading"}),"\n",(0,t.jsx)(i.p,{children:"There are a ton of ways to do this. The meta content e.g. the header will always be in the same format, so you can read that fairly simply. Just like the last few labs, using a mixture of stringstream and getline is my recommendation, but there are other ways."})]})}function c(e={}){const{wrapper:i}={...(0,s.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},1151:(e,i,n)=>{n.d(i,{Z:()=>r,a:()=>o});var t=n(7294);const s={},l=t.createContext(s);function o(e){const i=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[775],{4527:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>l,metadata:()=>r,toc:()=>h});var t=n(5893),s=n(1151);const l={},o="PPM Manipulation",r={id:"lab-walkthroughs/ppm-manipulator",title:"PPM Manipulation",description:"Manipulate images in the PPM format from the command line.",source:"@site/docs/lab-walkthroughs/ppm-manipulator.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/ppm-manipulator",permalink:"/cs102-handbook/docs/lab-walkthroughs/ppm-manipulator",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Calculator",permalink:"/cs102-handbook/docs/lab-walkthroughs/calculator"},next:{title:"Speeding Ticket Calculator",permalink:"/cs102-handbook/docs/lab-walkthroughs/speeding-ticket-calculator"}},d={},h=[{value:"Introduction",id:"introduction",level:2},{value:"What is PPM?",id:"what-is-ppm",level:2},{value:"What it contains",id:"what-it-contains",level:3},{value:"Pixel",id:"pixel",level:2},{value:"Picture",id:"picture",level:2},{value:"Width, height, and max intensity",id:"width-height-and-max-intensity",level:3},{value:"Pixel list",id:"pixel-list",level:3},{value:"Constructor",id:"constructor",level:3},{value:"Get Pixel (Immutable)",id:"get-pixel-immutable",level:3},{value:"Get Pixel (Mutable)",id:"get-pixel-mutable",level:3},{value:"Set Pixel",id:"set-pixel",level:3},{value:"Invert",id:"invert",level:3},{value:"Flip X",id:"flip-x",level:3},{value:"Flip Y",id:"flip-y",level:3},{value:"Read Input",id:"read-input",level:3},{value:"example",id:"example",level:4},{value:"Deciding which to use",id:"deciding-which-to-use",level:4},{value:"Reading",id:"reading",level:4}];function a(e){const i={code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.h1,{id:"ppm-manipulation",children:"PPM Manipulation"}),"\n",(0,t.jsx)(i.p,{children:"Manipulate images in the PPM format from the command line."}),"\n",(0,t.jsx)(i.h2,{id:"introduction",children:"Introduction"}),"\n",(0,t.jsxs)(i.p,{children:["This is definitely the hardest lab this semester, probably a bit harder than both blackjack, but it's also the most cool, in my opinion. The purpose of this lab is to be able to manipulate a ",(0,t.jsx)(i.code,{children:".ppm"})," file in several ways. It'll familiarize you more with classes, and also maybe make you think a bit."]}),"\n",(0,t.jsx)(i.h2,{id:"what-is-ppm",children:"What is PPM?"}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.code,{children:"PPM"})," is a file type that designates a specific format the file should adhere to. Just like how your ",(0,t.jsx)(i.code,{children:".cpp"})," files need to include things like ",(0,t.jsx)(i.code,{children:"int main()"})," or ",(0,t.jsx)(i.code,{children:"#include"}),", a .",(0,t.jsx)(i.code,{children:"ppm"}),' file needs to include "meta" content that outlines details pertaining to the content, and of course, it also needs to contain the content itself (e.g. the "pixels" that make up the image).']}),"\n",(0,t.jsx)(i.h3,{id:"what-it-contains",children:"What it contains"}),"\n",(0,t.jsxs)(i.p,{children:["If you were to open a ",(0,t.jsx)(i.code,{children:".ppm"})," file with a text editor, this is what you would see (this is on a per-line basis, in this exact order)"]}),"\n",(0,t.jsxs)(i.ol,{children:["\n",(0,t.jsxs)(i.li,{children:["A heading which will always be the string ",(0,t.jsx)(i.code,{children:"P3"}),". If a ",(0,t.jsx)(i.code,{children:".ppm"})," file does not contain this, then it does not conform to the standard that a ",(0,t.jsx)(i.code,{children:".ppm"})," file should, and therefore should be omitted."]}),"\n",(0,t.jsxs)(i.li,{children:["The ",(0,t.jsx)(i.code,{children:"width"})," and ",(0,t.jsx)(i.code,{children:"height"})," (WxH) of the image in pixels (e.g. ",(0,t.jsx)(i.code,{children:"150 150"})," would be 150x150 image)"]}),"\n",(0,t.jsxs)(i.li,{children:["The ",(0,t.jsx)(i.code,{children:"Max Intensity"}),". i.e. the absolute range of any color value in the image. Typically this will be ",(0,t.jsx)(i.code,{children:"[0, 255]"}),", but the max intensity determines the bound, so assume the color range is ",(0,t.jsx)(i.code,{children:"[0, maxIntensity]"}),"."]}),"\n",(0,t.jsxs)(i.li,{children:["Every line after this describes the color value of each subsequent pixel. Represented by integers ranging from the color range mentioned earlier. ",(0,t.jsx)(i.strong,{children:"One important thing to note"})," is that these lines could be in various formats. They can follow/precede commented lines (refer to #5), they can be in the format ",(0,t.jsx)(i.code,{children:"r g b"})," or they can be in the format ",(0,t.jsx)(i.code,{children:"r\\nb\\ng\\n"})," (i.e. on separate lines), basically their format will be inconsistent, BUT we can work with that."]}),"\n",(0,t.jsxs)(i.li,{children:["Any line beginning with ",(0,t.jsx)(i.code,{children:"#"})," should be skipped, as it simply denotes a comment."]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["Here's an example of a ",(0,t.jsx)(i.code,{children:".ppm"})," file in plain text"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-P3",children:"3 2\n255\n255 0 0\n0 255 0\n0 0 255\n255 255 0\n255 255 255\n0 0 0\n"})}),"\n",(0,t.jsxs)(i.p,{children:["As you can see, it is a valid ",(0,t.jsx)(i.code,{children:".ppm"})," file as it conforms to the format required."]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["It has a header of ",(0,t.jsx)(i.code,{children:"P3"})]}),"\n",(0,t.jsxs)(i.li,{children:["It has a width of ",(0,t.jsx)(i.code,{children:"3px"})," and a height of ",(0,t.jsx)(i.code,{children:"2px"})]}),"\n",(0,t.jsxs)(i.li,{children:["The max intensity is ",(0,t.jsx)(i.code,{children:"255"})]}),"\n",(0,t.jsxs)(i.li,{children:["The dimensions of the image are ",(0,t.jsx)(i.code,{children:"3x2"})]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["We know the dimensions of the file are ",(0,t.jsx)(i.code,{children:"3x2"}),", so logically there are 6 pixels in total in the image. Every line after the max intensity is the color value of a pixel at that index (going from left to right, and then moving to the next row once you've reached the last column). Because there are ",(0,t.jsx)(i.code,{children:"3 RGB"})," values per pixel, and there are ",(0,t.jsx)(i.code,{children:"6 pixels"}),", we should expect to read ",(0,t.jsx)(i.code,{children:"18 RGB values"}),". This is exactly what we see in the file."]}),"\n",(0,t.jsx)(i.h1,{id:"your-job",children:"Your Job"}),"\n",(0,t.jsxs)(i.p,{children:["Your job for this lab is to be able to parse these ",(0,t.jsx)(i.code,{children:".ppm"})," files and modify them in some way. Namely, your program should be able to do the following things:"]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Read a ",(0,t.jsx)(i.code,{children:".ppm"})," file. e.g. check for ",(0,t.jsx)(i.code,{children:"P3"}),", store your width/height/max intens, and store the color values of each pixel."]}),"\n",(0,t.jsxs)(i.li,{children:["Write a ",(0,t.jsx)(i.code,{children:".ppm"})," file"]}),"\n",(0,t.jsx)(i.li,{children:"Flip an image on the x-axis"}),"\n",(0,t.jsx)(i.li,{children:"Flip an image on the y-axis"}),"\n",(0,t.jsx)(i.li,{children:"Invert an image"}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"pixel",children:"Pixel"}),"\n",(0,t.jsxs)(i.p,{children:["The first thing you'll want to get out of the way is your ",(0,t.jsx)(i.code,{children:"Pixel"})," structure. This will make it easy to read/write data with pixels. Using the ",(0,t.jsx)(i.code,{children:"Pixel"})," structure, we'll create a ",(0,t.jsx)(i.code,{children:"Picture"})," class whose core data member will be a ",(0,t.jsx)(i.code,{children:"vector"})," of ",(0,t.jsx)(i.code,{children:"Pixel"}),"s."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.code,{children:"struct Pixel"})," contains:"]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["3 ",(0,t.jsx)(i.code,{children:"unsigned int"}),"s, one for each ",(0,t.jsx)(i.code,{children:"r"}),", ",(0,t.jsx)(i.code,{children:"g"}),", and ",(0,t.jsx)(i.code,{children:"b"}),". The reason we're using ",(0,t.jsx)(i.code,{children:"unsigned"})," is because our color range is ",(0,t.jsx)(i.code,{children:"[0,max_intensity]"}),", which is positive only range."]}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"This should be pretty easy to create yourself."}),"\n",(0,t.jsx)(i.h2,{id:"picture",children:"Picture"}),"\n",(0,t.jsx)(i.p,{children:"This is the greater class that will represent the PPM image itself and will contain the data members that will be used to manipulate the image."}),"\n",(0,t.jsx)(i.h3,{id:"width-height-and-max-intensity",children:"Width, height, and max intensity"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"private int"})," - width of the picture"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"private int"})," - height of the picture"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"private int"})," - max intensity of the picture"]}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"pixel-list",children:"Pixel list"}),"\n",(0,t.jsxs)(i.p,{children:["A ",(0,t.jsx)(i.em,{children:"private"})," ",(0,t.jsx)(i.code,{children:"vector"})," of ",(0,t.jsx)(i.code,{children:"Pixel"}),'s. These will be our "coordinates" so to speak.']}),"\n",(0,t.jsx)(i.h3,{id:"constructor",children:"Constructor"}),"\n",(0,t.jsxs)(i.p,{children:["A public constructor that sets up our class instance. It takes 0 arguments and sets the width, height, and max intensity to 0. So once you've invoked thsi constructor, you'll have a ",(0,t.jsx)(i.code,{children:"Picture"})," object that has no pixels, an image width of 0, an image height of 0, and a max intensity of 0."]}),"\n",(0,t.jsx)(i.h3,{id:"get-pixel-immutable",children:"Get Pixel (Immutable)"}),"\n",(0,t.jsxs)(i.p,{children:["A public method that returns a ",(0,t.jsx)(i.strong,{children:"read-only"})," (",(0,t.jsx)(i.code,{children:"const <TYPE>&"}),") Pixel object located at the row & col passed as arguments. You'll need to do some arithmetic to transpose the ",(0,t.jsx)(i.code,{children:"(row, col)"})," to a valid index to your vector of pixels since the vector is 1-dimensional. The formula for this is pretty simple, and you can easily google to find it online if you're not sure."]}),"\n",(0,t.jsx)(i.h3,{id:"get-pixel-mutable",children:"Get Pixel (Mutable)"}),"\n",(0,t.jsxs)(i.p,{children:["A public method that returns a ",(0,t.jsx)(i.strong,{children:"mutable"})," ",(0,t.jsx)(i.code,{children:"Pixel"})," object based on the row and column passed as arguments. You'll notice this is an ",(0,t.jsx)(i.em,{children:"overloaded"})," method since there is another method with a similar signature. The difference between the two is the return value. This method returns ",(0,t.jsx)(i.code,{children:"Pixel&"}),", whereas the other returns ",(0,t.jsx)(i.code,{children:"const Pixel&"}),". i.e. the return value of this method is mutable, meaning it can be modified. So if you wanted to, you could do something like this:"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-cpp",children:"Picture pic;\nPixel p = pic.get_pixel(0,0);\np.r = 255;\n"})}),"\n",(0,t.jsxs)(i.p,{children:["This would set the ",(0,t.jsx)(i.code,{children:"r"})," value of the pixel at ",(0,t.jsx)(i.code,{children:"(0,0)"})," to ",(0,t.jsx)(i.code,{children:"255"}),". This is useful when you want to modify the pixel at a specific location."]}),"\n",(0,t.jsxs)(i.p,{children:["This isn't possible if you call the other method, since it returns a ",(0,t.jsx)(i.code,{children:"const Pixel&"}),", which again means you can't modify the pixel."]}),"\n",(0,t.jsx)(i.p,{children:"The implementation of these methods is identical, only the return value type is different."}),"\n",(0,t.jsx)(i.h3,{id:"set-pixel",children:"Set Pixel"}),"\n",(0,t.jsxs)(i.p,{children:["A public method that sets a pixel at index ",(0,t.jsx)(i.code,{children:"(row, col)"})," (1D transposed) using the provided ",(0,t.jsx)(i.code,{children:"px"})," argument. (e.g. ",(0,t.jsx)(i.code,{children:"pixels[index] = px"}),"). In other words, it finds the index of the pixel in your vector, and changes it to the new one provided."]}),"\n",(0,t.jsx)(i.h3,{id:"invert",children:"Invert"}),"\n",(0,t.jsxs)(i.p,{children:["Inverts all pixels i.e. set every pixel color equal to ",(0,t.jsx)(i.code,{children:"max_intensity - r/g/b"}),", respectively. ",(0,t.jsx)(i.strong,{children:"This should update the vector of pixels"}),". Simply loop through your vector of ",(0,t.jsx)(i.code,{children:"Pixel"}),"s and update the color values accordingly."]}),"\n",(0,t.jsx)(i.h3,{id:"flip-x",children:"Flip X"}),"\n",(0,t.jsx)(i.p,{children:"Flips all pixels around the x-axis. The general idea here is to examine two rows simultaneously. So we look at every pixel in the top row and swap each pixel with the corresponding pixel in the bottom row, and then we jump to the next set of rows after we've finished one."}),"\n",(0,t.jsx)(i.p,{children:"You'll need two nested loops to do this. The outer loop will iterate over the rows, and the inner loop will iterate over the columns. You'll need to do some arithmetic to figure out which pixels to swap, but it's not too hard."}),"\n",(0,t.jsx)(i.h3,{id:"flip-y",children:"Flip Y"}),"\n",(0,t.jsxs)(i.p,{children:["This will be almost exactly like your ",(0,t.jsx)(i.code,{children:"flip_x()"})," method, except you'll swap the roles of your nested loops, and you'll replace the concept of top/bottom with left/right. This should be easy enough to do if you've already done ",(0,t.jsx)(i.code,{children:"flip_x()"}),", so I will leave it at this."]}),"\n",(0,t.jsx)(i.h3,{id:"read-input",children:"Read Input"}),"\n",(0,t.jsxs)(i.p,{children:["This part isn't hard, but a lot of students seem to be confused about what is going on with ",(0,t.jsx)(i.code,{children:"read_input()"})," here, so I will try to explain it to the best of my ability. All this method does is read the input of ",(0,t.jsx)(i.strong,{children:"either"})]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["a ",(0,t.jsx)(i.code,{children:".ppm"})," ",(0,t.jsx)(i.em,{children:"file"})]}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.strong,{children:"OR"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Standard input, e.g. ",(0,t.jsx)(i.code,{children:"stdin"}),", e.g. your keyboard -- like we've done most of the semester."]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["The tricky part is that it can read either of those. We determine which of those we are reading from in ",(0,t.jsx)(i.code,{children:"main"})," from the arguments passed through ",(0,t.jsx)(i.code,{children:"argv[]"}),"."]}),"\n",(0,t.jsxs)(i.p,{children:["The ",(0,t.jsx)(i.code,{children:"read_input()"})," method itself will have no difference in implementation whether or not we are reading from a file or from ",(0,t.jsx)(i.code,{children:"stdin"}),". This is because the argument it takes is of type ",(0,t.jsx)(i.code,{children:"istream"}),", which is any general-purpose input stream. Both ",(0,t.jsx)(i.code,{children:"ifstream"}),", and ",(0,t.jsx)(i.code,{children:"cin"})," are derived from ",(0,t.jsx)(i.code,{children:"istream"}),", so we can pass either of those into ",(0,t.jsx)(i.code,{children:"read_input()"})," and it will work. No matter what, we will be using the ",(0,t.jsx)(i.code,{children:"in"})," function argument to read once you're in the method from the following example"]}),"\n",(0,t.jsx)(i.h4,{id:"example",children:"example"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-cpp",children:'bool read_input(istream& in) {\n in >> stuff; // this would be the same as cin >> stuff, or fin >> stuff\n}\n\nint main() {\n // passing file input stream to read_input()\n ifstream fin("file.txt");\n read_input(fin);\n\n // passing standard input stream to read input()\n read_input(cin);\n}\n'})}),"\n",(0,t.jsx)(i.h4,{id:"deciding-which-to-use",children:"Deciding which to use"}),"\n",(0,t.jsxs)(i.p,{children:["In ",(0,t.jsx)(i.code,{children:"main"}),", we will be using ",(0,t.jsx)(i.code,{children:"argc"})," and ",(0,t.jsx)(i.code,{children:"argv"})," to determine whether or not we are reading from a file or from ",(0,t.jsx)(i.code,{children:"stdin"}),". Here is the argument format"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-bash",children:"./ppm <INPUT> <OUTPUT> <MANIPULATION>\n"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"INPUT"})," is the ",(0,t.jsx)(i.em,{children:"name"})," of the input file (e.g. ",(0,t.jsx)(i.code,{children:"file.ppm"}),"), ",(0,t.jsx)(i.strong,{children:"OR"})," it's a dash (",(0,t.jsx)(i.code,{children:"-"}),") if we are reading from ",(0,t.jsx)(i.code,{children:"stdin"}),"."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"OUTPUT"})," is the ",(0,t.jsx)(i.em,{children:"name"})," of the output file (e.g. ",(0,t.jsx)(i.code,{children:"file.ppm"}),"), ",(0,t.jsx)(i.strong,{children:"OR"})," it's a dash (",(0,t.jsx)(i.code,{children:"-"}),") if we are writing to ",(0,t.jsx)(i.code,{children:"stdout"})," (using ",(0,t.jsx)(i.code,{children:"cout"}),")."]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"MANIPULATION"})," is the only optional argument and is the one-letter representation for the manipulation we want to do. This can be any of the following: It can be ",(0,t.jsx)(i.code,{children:"X"})," for ",(0,t.jsx)(i.code,{children:"flip_x"}),", ",(0,t.jsx)(i.code,{children:"Y"})," for ",(0,t.jsx)(i.code,{children:"flip_y"}),", or ",(0,t.jsx)(i.code,{children:"I"})," for ",(0,t.jsx)(i.code,{children:"invert"}),". If no argument is specified, then you won't modify the image at all."]}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"reading",children:"Reading"}),"\n",(0,t.jsx)(i.p,{children:"There are a ton of ways to do this. The meta content e.g. the header will always be in the same format, so you can read that fairly simply. Just like the last few labs, using a mixture of stringstream and getline is my recommendation, but there are other ways."})]})}function c(e={}){const{wrapper:i}={...(0,s.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},1151:(e,i,n)=>{n.d(i,{Z:()=>r,a:()=>o});var t=n(7294);const s={},l=t.createContext(s);function o(e){const i=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c8824059.98136ed7.js b/assets/js/c8824059.d2c623f9.js similarity index 96% rename from assets/js/c8824059.98136ed7.js rename to assets/js/c8824059.d2c623f9.js index 01b785b1..21a758f0 100644 --- a/assets/js/c8824059.98136ed7.js +++ b/assets/js/c8824059.d2c623f9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1722],{9104:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>t});var i=r(5893),s=r(1151);const o={},c="Boiling Water Notes",l={id:"in-class-lab-notes/boiling-water-notes",title:"Boiling Water Notes",description:"New APIs",source:"@site/docs/in-class-lab-notes/boiling-water-notes.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/boiling-water-notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/boiling-water-notes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Bitset Notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/bitset-notes"},next:{title:"Bowling Notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/bowling-notes"}},a={},t=[{value:"New APIs",id:"new-apis",level:2},{value:"Command Line Arguments",id:"command-line-arguments",level:2},{value:"Parsing a CSV File into Vectors Example",id:"parsing-a-csv-file-into-vectors-example",level:2},{value:"Calculating the Boiling Point",id:"calculating-the-boiling-point",level:2},{value:"Creating a CSV Record (Optional)",id:"creating-a-csv-record-optional",level:2},{value:"Creating the CSV Record",id:"creating-the-csv-record",level:3},{value:"Accessing the CSV Record",id:"accessing-the-csv-record",level:3}];function d(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"boiling-water-notes",children:"Boiling Water Notes"}),"\n",(0,i.jsx)(n.h2,{id:"new-apis",children:"New APIs"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Command line arguments"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"argc"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"argv"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"getline"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optional third argument"}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"getline(istream, buffer)"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"getline(istream, buffer, delimiter)"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"getline(istream, buffer, '\\n')"})," default behavior"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"getline(istream, buffer, ',')"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"stringstreams"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"istringstreams"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"vectors"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"push_back"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"size"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"[]"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"stoi"})," - string to integer"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"throws an error for invalid inputs"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"command-line-arguments",children:"Command Line Arguments"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'int main(int argc, char** argv) {\n // We need to make sure to check `argc`, before we try accessing anything out of `argv`!\n if (argc != 2) {\n cerr << "usage: ./csv-parser filename" << endl;\n return 1;\n }\n\n // This will be a segfault if we do not check `argc` first!\n const string csvFilename = argv[1];\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"parsing-a-csv-file-into-vectors-example",children:"Parsing a CSV File into Vectors Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-csv",children:"Name,Age,Occupation,Salary\nJohn,25,Engineer,55000\nJane,28,Doctor,75000\nAlex,30,Teacher,42000\nLisa,22,Student,0\nMike,35,Driver,32000\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:' ifstream fin(csvFilename);\n\n if (!fin.is_open()) {\n cerr << "File failed to open." << endl;\n return 1;\n }\n\n // One vector for each column of the CSV\n vector<string> personNames;\n vector<int> personAges;\n vector<string> personOccupations;\n vector<int> personSalaries;\n\n string line;\n getline(fin, line); // Read past the first line. "Name,Age,Occupation,Salary"\n\n\n while (getline(fin, line)) { // `line` will be "John,25,Engineer,55000"\n string personName;\n string personAge;\n string personOccupation;\n string personSalary;\n\n istringstream recordStream(line); // `recordStream` will be "John,25,Engineer,55000"\n\n getline(recordStream, personName, \',\'); // `personName` will be "John", `recordStream` will be "25,Engineer,55000"\n getline(recordStream, personAge, \',\'); // `personAge` will be "25", `recordStream` will be "Engineer,55000"\n getline(recordStream, personOccupation, \',\'); // `personOccupation` will be "Engineer", `recordStream` will be "55000"\n getline(recordStream, personSalary, \',\'); // `personSalary` will be "55000", `recordStream` will be ""\n\n personNames.push_back(personName); // "John"\n personAges.push_back(stoi(personAge)); // stoi("25") -> 25\n personOccupations.push_back(personOccupation); // "Engineer"\n personSalaries.push_back(stoi(personSalary)); // stoi("55000") -> 55000\n };\n\n // We can immediately close the file after we have read all the data into vectors.\n fin.close();\n'})}),"\n",(0,i.jsx)(n.h2,{id:"calculating-the-boiling-point",children:"Calculating the Boiling Point"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"double elevationToBoilingPoint(const double elevation) {\n double boilingPoint = 0.0;\n\n // TODO Calculate the boiling point of water at the given elevation\n // using the equation provided in the lab description.\n\n return boilingPoint;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Math functions"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"double pow(double base, double exponent);\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"// natural log: ln(x)\ndouble log(double x);\n"})}),"\n",(0,i.jsx)(n.h2,{id:"creating-a-csv-record-optional",children:"Creating a CSV Record (Optional)"}),"\n",(0,i.jsxs)(n.p,{children:["With a ",(0,i.jsx)(n.code,{children:"struct"}),", you can store all of the csv fields into one vector."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"struct PersonRecord {\n string name;\n int age;\n string occupation;\n int salary;\n};\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"vector<PersonRecord> personRecords;\n"})}),"\n",(0,i.jsx)(n.h3,{id:"creating-the-csv-record",children:"Creating the CSV Record"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"PersonRecord personRecord = {\n .name = personName,\n .age = stoi(personAge),\n .occupation = personOccupation,\n .salary = stoi(personSalary),\n};\n\npersonRecords.push_back(personRecord);\n"})}),"\n",(0,i.jsx)(n.h3,{id:"accessing-the-csv-record",children:"Accessing the CSV Record"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'PersonRecord personRecord = personRecords[0];\n/* yields:\nPersonRecord {\n name: "John",\n age: 25,\n occupation: "Engineer",\n salary: 55000,\n}\n*/\n\n// access it using\nPersonRecord personRecord = personRecords[0];\npersonRecord.name; // "John"\npersonRecord.age; // 25\npersonRecord.occupation; // "Engineer"\npersonRecord.salary; // 55000\n\n// or\npersonRecords[0].name; // "John"\npersonRecords[0].age; // 25\npersonRecords[0].occupation; // "Engineer"\npersonRecords[0].salary; // 55000\n'})})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1151:(e,n,r)=>{r.d(n,{Z:()=>l,a:()=>c});var i=r(7294);const s={},o=i.createContext(s);function c(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1722],{9104:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>t});var i=r(5893),s=r(1151);const o={},c="Boiling Water Notes",l={id:"in-class-lab-notes/boiling-water-notes",title:"Boiling Water Notes",description:"New APIs",source:"@site/docs/in-class-lab-notes/boiling-water-notes.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/boiling-water-notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/boiling-water-notes",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Bitset Notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/bitset-notes"},next:{title:"Bowling Notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/bowling-notes"}},a={},t=[{value:"New APIs",id:"new-apis",level:2},{value:"Command Line Arguments",id:"command-line-arguments",level:2},{value:"Parsing a CSV File into Vectors Example",id:"parsing-a-csv-file-into-vectors-example",level:2},{value:"Calculating the Boiling Point",id:"calculating-the-boiling-point",level:2},{value:"Creating a CSV Record (Optional)",id:"creating-a-csv-record-optional",level:2},{value:"Creating the CSV Record",id:"creating-the-csv-record",level:3},{value:"Accessing the CSV Record",id:"accessing-the-csv-record",level:3}];function d(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"boiling-water-notes",children:"Boiling Water Notes"}),"\n",(0,i.jsx)(n.h2,{id:"new-apis",children:"New APIs"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Command line arguments"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"argc"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"argv"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"getline"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"optional third argument"}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"getline(istream, buffer)"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"getline(istream, buffer, delimiter)"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"getline(istream, buffer, '\\n')"})," default behavior"]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"getline(istream, buffer, ',')"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"stringstreams"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"istringstreams"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"vectors"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"push_back"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"size"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"[]"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"stoi"})," - string to integer"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"throws an error for invalid inputs"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"command-line-arguments",children:"Command Line Arguments"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'int main(int argc, char** argv) {\n // We need to make sure to check `argc`, before we try accessing anything out of `argv`!\n if (argc != 2) {\n cerr << "usage: ./csv-parser filename" << endl;\n return 1;\n }\n\n // This will be a segfault if we do not check `argc` first!\n const string csvFilename = argv[1];\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"parsing-a-csv-file-into-vectors-example",children:"Parsing a CSV File into Vectors Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-csv",children:"Name,Age,Occupation,Salary\nJohn,25,Engineer,55000\nJane,28,Doctor,75000\nAlex,30,Teacher,42000\nLisa,22,Student,0\nMike,35,Driver,32000\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:' ifstream fin(csvFilename);\n\n if (!fin.is_open()) {\n cerr << "File failed to open." << endl;\n return 1;\n }\n\n // One vector for each column of the CSV\n vector<string> personNames;\n vector<int> personAges;\n vector<string> personOccupations;\n vector<int> personSalaries;\n\n string line;\n getline(fin, line); // Read past the first line. "Name,Age,Occupation,Salary"\n\n\n while (getline(fin, line)) { // `line` will be "John,25,Engineer,55000"\n string personName;\n string personAge;\n string personOccupation;\n string personSalary;\n\n istringstream recordStream(line); // `recordStream` will be "John,25,Engineer,55000"\n\n getline(recordStream, personName, \',\'); // `personName` will be "John", `recordStream` will be "25,Engineer,55000"\n getline(recordStream, personAge, \',\'); // `personAge` will be "25", `recordStream` will be "Engineer,55000"\n getline(recordStream, personOccupation, \',\'); // `personOccupation` will be "Engineer", `recordStream` will be "55000"\n getline(recordStream, personSalary, \',\'); // `personSalary` will be "55000", `recordStream` will be ""\n\n personNames.push_back(personName); // "John"\n personAges.push_back(stoi(personAge)); // stoi("25") -> 25\n personOccupations.push_back(personOccupation); // "Engineer"\n personSalaries.push_back(stoi(personSalary)); // stoi("55000") -> 55000\n };\n\n // We can immediately close the file after we have read all the data into vectors.\n fin.close();\n'})}),"\n",(0,i.jsx)(n.h2,{id:"calculating-the-boiling-point",children:"Calculating the Boiling Point"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"double elevationToBoilingPoint(const double elevation) {\n double boilingPoint = 0.0;\n\n // TODO Calculate the boiling point of water at the given elevation\n // using the equation provided in the lab description.\n\n return boilingPoint;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Math functions"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"double pow(double base, double exponent);\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"// natural log: ln(x)\ndouble log(double x);\n"})}),"\n",(0,i.jsx)(n.h2,{id:"creating-a-csv-record-optional",children:"Creating a CSV Record (Optional)"}),"\n",(0,i.jsxs)(n.p,{children:["With a ",(0,i.jsx)(n.code,{children:"struct"}),", you can store all of the csv fields into one vector."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"struct PersonRecord {\n string name;\n int age;\n string occupation;\n int salary;\n};\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"vector<PersonRecord> personRecords;\n"})}),"\n",(0,i.jsx)(n.h3,{id:"creating-the-csv-record",children:"Creating the CSV Record"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"PersonRecord personRecord = {\n .name = personName,\n .age = stoi(personAge),\n .occupation = personOccupation,\n .salary = stoi(personSalary),\n};\n\npersonRecords.push_back(personRecord);\n"})}),"\n",(0,i.jsx)(n.h3,{id:"accessing-the-csv-record",children:"Accessing the CSV Record"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'PersonRecord personRecord = personRecords[0];\n/* yields:\nPersonRecord {\n name: "John",\n age: 25,\n occupation: "Engineer",\n salary: 55000,\n}\n*/\n\n// access it using\nPersonRecord personRecord = personRecords[0];\npersonRecord.name; // "John"\npersonRecord.age; // 25\npersonRecord.occupation; // "Engineer"\npersonRecord.salary; // 55000\n\n// or\npersonRecords[0].name; // "John"\npersonRecords[0].age; // 25\npersonRecords[0].occupation; // "Engineer"\npersonRecords[0].salary; // 55000\n'})})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1151:(e,n,r)=>{r.d(n,{Z:()=>l,a:()=>c});var i=r(7294);const s={},o=i.createContext(s);function c(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c9526e68.286cbb7c.js b/assets/js/c9526e68.286cbb7c.js new file mode 100644 index 00000000..edb21de7 --- /dev/null +++ b/assets/js/c9526e68.286cbb7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2670],{8952:s=>{s.exports=JSON.parse('{"label":"hello","permalink":"/cs102-handbook/blog/tags/hello","allTagsPath":"/cs102-handbook/blog/tags","count":2,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/d50067d7.542df232.js b/assets/js/cb068ac6.3eb5bc94.js similarity index 55% rename from assets/js/d50067d7.542df232.js rename to assets/js/cb068ac6.3eb5bc94.js index 915ae8c1..c3e3b3df 100644 --- a/assets/js/d50067d7.542df232.js +++ b/assets/js/cb068ac6.3eb5bc94.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1911],{9268:s=>{s.exports=JSON.parse('{"permalink":"/cs102-writeups/blog/tags/docusaurus","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2079],{6102:o=>{o.exports=JSON.parse('{"permalink":"/cs102-handbook/blog/tags/docusaurus","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/d0397398.f6b885a3.js b/assets/js/d0397398.60022f2d.js similarity index 97% rename from assets/js/d0397398.f6b885a3.js rename to assets/js/d0397398.60022f2d.js index d4164aee..c9553987 100644 --- a/assets/js/d0397398.f6b885a3.js +++ b/assets/js/d0397398.60022f2d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3587],{248:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>r,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>o,toc:()=>h});var s=n(5893),t=n(1151);const a={sidebar_position:5},l="Swap Files",o={id:"reference/swap-files",title:"Swap Files",description:"What is a swap file?",source:"@site/docs/reference/swap-files.md",sourceDirName:"reference",slug:"/reference/swap-files",permalink:"/cs102-writeups/docs/reference/swap-files",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"Sidebar",previous:{title:"Vim Cheatsheet",permalink:"/cs102-writeups/docs/reference/vim-cheatsheet"},next:{title:"Grading",permalink:"/cs102-writeups/docs/category/grading"}},r={},h=[{value:"What is a swap file?",id:"what-is-a-swap-file",level:2},{value:"Viewing the current file",id:"viewing-the-current-file",level:2},{value:"Deleting the swap file",id:"deleting-the-swap-file",level:2},{value:"Recovering the swap file",id:"recovering-the-swap-file",level:2},{value:"Quitting or Aborting",id:"quitting-or-aborting",level:2},{value:"Disabling swap files",id:"disabling-swap-files",level:2}];function d(e){const i={admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h1,{id:"swap-files",children:"Swap Files"}),"\n",(0,s.jsx)(i.h2,{id:"what-is-a-swap-file",children:"What is a swap file?"}),"\n",(0,s.jsx)(i.p,{children:"If you have Vim open, and a session ends unexpectedly (such as closing the terminal while Vim is open), the unsaved changes you have made will be stored in a swap file.\nIf a swap file exists, a screen will pop up displaying the location of the swap file and a list of actions you can take."}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-txt",children:'E325: ATTENTION\nFound a swap file by the name ".file.txt.swp"\n owned by: abradl11 dated: Fri Jan 12 09:17:55 2024\n file name: ~abradl11/file.txt\n modified: YES\n user name: abradl11 host name: hydra0.eecs.utk.edu\n process ID: 865209\nWhile opening file "file.txt"\n dated: Fri Jan 12 09:15:42 2024\n\n(1) Another program may be editing the same file. If this is the case,\n be careful not to end up with two different instances of the same\n file when making changes. Quit, or continue with caution.\n(2) An edit session for this file crashed.\n If this is the case, use ":recover" or "vim -r file.txt"\n to recover the changes (see ":help recovery").\n If you did this already, delete the swap file ".file.txt.swp"\n to avoid this message.\n\nSwap file ".file.txt.swp" already exists!\n[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:\n'})}),"\n",(0,s.jsx)(i.h2,{id:"viewing-the-current-file",children:"Viewing the current file"}),"\n",(0,s.jsxs)(i.p,{children:["Using the ",(0,s.jsx)(i.code,{children:"[O]pen Read-Only"})," will let you see the current contents of the file without the changes saved in the swap file."]}),"\n",(0,s.jsxs)(i.p,{children:["Using the ",(0,s.jsx)(i.code,{children:"(E)dit anyway"})," will let you open the current file and make changes to it."]}),"\n",(0,s.jsx)(i.admonition,{type:"danger",children:(0,s.jsx)(i.p,{children:"If you make changes to your file and then choose to recover your swap file, the changes you made will be overwritten."})}),"\n",(0,s.jsx)(i.h2,{id:"deleting-the-swap-file",children:"Deleting the swap file"}),"\n",(0,s.jsx)(i.p,{children:"If you have not made many unsaved changes, the easiest course of action to to simply delete the swap file and continue editing where you left off. Deleting the swap file will prevent the dialogue from popping up when you open Vim. There are two ways to delete the swap file."}),"\n",(0,s.jsxs)(i.ol,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["One of the options may pop up saying ",(0,s.jsx)(i.code,{children:"(D)elete it"}),". If you press this option, it will delete the swap file and open up your file for editing as normal without applying the changes from the swap file."]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["You can remove the swap file manually. A path should appear on the screen ",(0,s.jsx)(i.code,{children:'Found a swap file by the name ".file.txt.swp"'}),". To remove the file, you can simply use"]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"rm .file.txt.swp\n"})}),"\n",(0,s.jsx)(i.admonition,{type:"note",children:(0,s.jsxs)(i.p,{children:["Files preceded by a dot will not appear in the directory normally with the ",(0,s.jsx)(i.code,{children:"ls"})," command. You must use ",(0,s.jsx)(i.code,{children:"ls -a"})," to list them."]})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"recovering-the-swap-file",children:"Recovering the swap file"}),"\n",(0,s.jsxs)(i.p,{children:["If you have made significant unsaved changes to your file and wish to recover them from your swap file, you can use the ",(0,s.jsx)(i.code,{children:"(R)ecover"})," option. This will open up the editor with the changes from the swap file. If you wish to keep the changes from the swap file, you must write and quit as normal ",(0,s.jsx)(i.code,{children:":wq"}),". If you wish to discard the changes from the swap file, you can use ",(0,s.jsx)(i.code,{children:":q!"}),"."]}),"\n",(0,s.jsx)(i.p,{children:"In either case, whether you apply or discard the changes, you must manually delete the swap file to prevent the dialogue from popping up again."}),"\n",(0,s.jsx)(i.admonition,{type:"danger",children:(0,s.jsx)(i.p,{children:"If you recover your changes, don't delete the swap file, continue editing the file, then recover the swap file a second time, the changes will be reverted to the first time you recovered the swap file and your changes after recovering will be overwritten."})}),"\n",(0,s.jsx)(i.h2,{id:"quitting-or-aborting",children:"Quitting or Aborting"}),"\n",(0,s.jsxs)(i.p,{children:["The ",(0,s.jsx)(i.code,{children:"(Q)uit"})," and ",(0,s.jsx)(i.code,{children:"(A)bort"})," options will simply close Vim."]}),"\n",(0,s.jsx)(i.h2,{id:"disabling-swap-files",children:"Disabling swap files"}),"\n",(0,s.jsx)(i.p,{children:"If you wish the prevent Vim from creating swap files altogether, this is possible, however, if you disable swap files, there will be no way to recover any unsaved changes you have made if Vim quits unexpectedly."}),"\n",(0,s.jsx)(i.p,{children:"To disable the swap files in Vim, open up the vimrc"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"vim ~/.vimrc\n"})}),"\n",(0,s.jsx)(i.p,{children:"And add the following line"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-vim",children:"set noswapfile\n"})}),"\n",(0,s.jsxs)(i.p,{children:["To disable swap files in Neovim open the ",(0,s.jsx)(i.code,{children:"init.lua"})," file"]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"nvim ~/.config/nvim/init.lua\n"})}),"\n",(0,s.jsx)(i.p,{children:"and all the following line"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"vim.opt.swapfile = false\n"})})]})}function c(e={}){const{wrapper:i}={...(0,t.a)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1151:(e,i,n)=>{n.d(i,{Z:()=>o,a:()=>l});var s=n(7294);const t={},a=s.createContext(t);function l(e){const i=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3587],{248:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>r,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>o,toc:()=>h});var s=n(5893),t=n(1151);const a={sidebar_position:5},l="Swap Files",o={id:"reference/swap-files",title:"Swap Files",description:"What is a swap file?",source:"@site/docs/reference/swap-files.md",sourceDirName:"reference",slug:"/reference/swap-files",permalink:"/cs102-handbook/docs/reference/swap-files",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"Sidebar",previous:{title:"Vim Cheatsheet",permalink:"/cs102-handbook/docs/reference/vim-cheatsheet"},next:{title:"Grading",permalink:"/cs102-handbook/docs/category/grading"}},r={},h=[{value:"What is a swap file?",id:"what-is-a-swap-file",level:2},{value:"Viewing the current file",id:"viewing-the-current-file",level:2},{value:"Deleting the swap file",id:"deleting-the-swap-file",level:2},{value:"Recovering the swap file",id:"recovering-the-swap-file",level:2},{value:"Quitting or Aborting",id:"quitting-or-aborting",level:2},{value:"Disabling swap files",id:"disabling-swap-files",level:2}];function d(e){const i={admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h1,{id:"swap-files",children:"Swap Files"}),"\n",(0,s.jsx)(i.h2,{id:"what-is-a-swap-file",children:"What is a swap file?"}),"\n",(0,s.jsx)(i.p,{children:"If you have Vim open, and a session ends unexpectedly (such as closing the terminal while Vim is open), the unsaved changes you have made will be stored in a swap file.\nIf a swap file exists, a screen will pop up displaying the location of the swap file and a list of actions you can take."}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-txt",children:'E325: ATTENTION\nFound a swap file by the name ".file.txt.swp"\n owned by: abradl11 dated: Fri Jan 12 09:17:55 2024\n file name: ~abradl11/file.txt\n modified: YES\n user name: abradl11 host name: hydra0.eecs.utk.edu\n process ID: 865209\nWhile opening file "file.txt"\n dated: Fri Jan 12 09:15:42 2024\n\n(1) Another program may be editing the same file. If this is the case,\n be careful not to end up with two different instances of the same\n file when making changes. Quit, or continue with caution.\n(2) An edit session for this file crashed.\n If this is the case, use ":recover" or "vim -r file.txt"\n to recover the changes (see ":help recovery").\n If you did this already, delete the swap file ".file.txt.swp"\n to avoid this message.\n\nSwap file ".file.txt.swp" already exists!\n[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:\n'})}),"\n",(0,s.jsx)(i.h2,{id:"viewing-the-current-file",children:"Viewing the current file"}),"\n",(0,s.jsxs)(i.p,{children:["Using the ",(0,s.jsx)(i.code,{children:"[O]pen Read-Only"})," will let you see the current contents of the file without the changes saved in the swap file."]}),"\n",(0,s.jsxs)(i.p,{children:["Using the ",(0,s.jsx)(i.code,{children:"(E)dit anyway"})," will let you open the current file and make changes to it."]}),"\n",(0,s.jsx)(i.admonition,{type:"danger",children:(0,s.jsx)(i.p,{children:"If you make changes to your file and then choose to recover your swap file, the changes you made will be overwritten."})}),"\n",(0,s.jsx)(i.h2,{id:"deleting-the-swap-file",children:"Deleting the swap file"}),"\n",(0,s.jsx)(i.p,{children:"If you have not made many unsaved changes, the easiest course of action to to simply delete the swap file and continue editing where you left off. Deleting the swap file will prevent the dialogue from popping up when you open Vim. There are two ways to delete the swap file."}),"\n",(0,s.jsxs)(i.ol,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["One of the options may pop up saying ",(0,s.jsx)(i.code,{children:"(D)elete it"}),". If you press this option, it will delete the swap file and open up your file for editing as normal without applying the changes from the swap file."]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["You can remove the swap file manually. A path should appear on the screen ",(0,s.jsx)(i.code,{children:'Found a swap file by the name ".file.txt.swp"'}),". To remove the file, you can simply use"]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"rm .file.txt.swp\n"})}),"\n",(0,s.jsx)(i.admonition,{type:"note",children:(0,s.jsxs)(i.p,{children:["Files preceded by a dot will not appear in the directory normally with the ",(0,s.jsx)(i.code,{children:"ls"})," command. You must use ",(0,s.jsx)(i.code,{children:"ls -a"})," to list them."]})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"recovering-the-swap-file",children:"Recovering the swap file"}),"\n",(0,s.jsxs)(i.p,{children:["If you have made significant unsaved changes to your file and wish to recover them from your swap file, you can use the ",(0,s.jsx)(i.code,{children:"(R)ecover"})," option. This will open up the editor with the changes from the swap file. If you wish to keep the changes from the swap file, you must write and quit as normal ",(0,s.jsx)(i.code,{children:":wq"}),". If you wish to discard the changes from the swap file, you can use ",(0,s.jsx)(i.code,{children:":q!"}),"."]}),"\n",(0,s.jsx)(i.p,{children:"In either case, whether you apply or discard the changes, you must manually delete the swap file to prevent the dialogue from popping up again."}),"\n",(0,s.jsx)(i.admonition,{type:"danger",children:(0,s.jsx)(i.p,{children:"If you recover your changes, don't delete the swap file, continue editing the file, then recover the swap file a second time, the changes will be reverted to the first time you recovered the swap file and your changes after recovering will be overwritten."})}),"\n",(0,s.jsx)(i.h2,{id:"quitting-or-aborting",children:"Quitting or Aborting"}),"\n",(0,s.jsxs)(i.p,{children:["The ",(0,s.jsx)(i.code,{children:"(Q)uit"})," and ",(0,s.jsx)(i.code,{children:"(A)bort"})," options will simply close Vim."]}),"\n",(0,s.jsx)(i.h2,{id:"disabling-swap-files",children:"Disabling swap files"}),"\n",(0,s.jsx)(i.p,{children:"If you wish the prevent Vim from creating swap files altogether, this is possible, however, if you disable swap files, there will be no way to recover any unsaved changes you have made if Vim quits unexpectedly."}),"\n",(0,s.jsx)(i.p,{children:"To disable the swap files in Vim, open up the vimrc"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"vim ~/.vimrc\n"})}),"\n",(0,s.jsx)(i.p,{children:"And add the following line"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-vim",children:"set noswapfile\n"})}),"\n",(0,s.jsxs)(i.p,{children:["To disable swap files in Neovim open the ",(0,s.jsx)(i.code,{children:"init.lua"})," file"]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"nvim ~/.config/nvim/init.lua\n"})}),"\n",(0,s.jsx)(i.p,{children:"and all the following line"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"vim.opt.swapfile = false\n"})})]})}function c(e={}){const{wrapper:i}={...(0,t.a)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1151:(e,i,n)=>{n.d(i,{Z:()=>o,a:()=>l});var s=n(7294);const t={},a=s.createContext(t);function l(e){const i=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d17ddf99.6ee4863b.js b/assets/js/d17ddf99.6ee4863b.js deleted file mode 100644 index e6585678..00000000 --- a/assets/js/d17ddf99.6ee4863b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7989],{4377:s=>{s.exports=JSON.parse('{"label":"docusaurus","permalink":"/cs102-writeups/blog/tags/docusaurus","allTagsPath":"/cs102-writeups/blog/tags","count":4,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/d62f1c6e.32117dd4.js b/assets/js/d62f1c6e.32117dd4.js new file mode 100644 index 00000000..6a621a29 --- /dev/null +++ b/assets/js/d62f1c6e.32117dd4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[9697],{5550:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>a});var o=s(5893),i=s(1151);const t={},r="Sorting Algorithms Notes",l={id:"in-class-lab-notes/sorting-algorithms",title:"Sorting Algorithms Notes",description:"Here are some helpful resources for this lab:",source:"@site/docs/in-class-lab-notes/sorting-algorithms.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/sorting-algorithms",permalink:"/cs102-handbook/docs/in-class-lab-notes/sorting-algorithms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Multi-User Dungeons (MUD) Notes",permalink:"/cs102-handbook/docs/in-class-lab-notes/mud-notes"},next:{title:"Lab Walkthroughs",permalink:"/cs102-handbook/docs/category/lab-walkthroughs"}},c={},a=[{value:"Continuous Input",id:"continuous-input",level:2},{value:"<code>at</code> vs. <code>[]</code>",id:"at-vs-",level:2},{value:"Escape Characters",id:"escape-characters",level:2},{value:"Stable vs. Unstable",id:"stable-vs-unstable",level:2},{value:"Bonus Big-O Notation of sorts O(n^2) and O(n log n)",id:"bonus-big-o-notation-of-sorts-on2-and-on-log-n",level:2},{value:"<code>O(1)</code>",id:"o1",level:3},{value:"<code>O(n)</code>",id:"on",level:3},{value:"<code>O(n^2)</code>",id:"on2",level:3},{value:"<code>O(log n)</code>",id:"olog-n",level:3},{value:"<code>O(n log n)</code>",id:"on-log-n",level:3}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"sorting-algorithms-notes",children:"Sorting Algorithms Notes"}),"\n",(0,o.jsx)(n.p,{children:"Here are some helpful resources for this lab:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Selection_sort",children:"Selection sort gif"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Insertion_sort",children:"Insertion sort gif"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://en.cppreference.com/w/cpp/language/escape",children:"Escape characters cppreference"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://www.bigocheatsheet.com/",children:"Big-O cheat sheet for sorts"})}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"This video is very good, showing how to write code in JavaScript for 7 different sorting algorithms and animations of them sorting."}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://www.youtube.com/watch?v=RfXt_qHDEPw&t=414s",children:"Fireship.io Sorting Algorithms"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"continuous-input",children:"Continuous Input"}),"\n",(0,o.jsx)(n.p,{children:"When prompting the user, you are required to keep prompting them until they supply valid input."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'void get_x() {\n char input;\n\n while (true) {\n cout << "Input: ";\n cin >> input;\n\n if (input == \'x\') {\n break;\n }\n\n cout << "Try again!" << endl;\n }\n\n\n if (input == \'x\') {\n cout << "Success!" << endl;\n } else {\n cout << "Failure!" << endl; // this will never happen\n }\n}\n'})}),"\n",(0,o.jsxs)(n.h2,{id:"at-vs-",children:[(0,o.jsx)(n.code,{children:"at"})," vs. ",(0,o.jsx)(n.code,{children:"[]"})]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"at"})," is ",(0,o.jsx)(n.strong,{children:"required"})," in this lab"]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"at"})," and square brackets do the same thing, just ",(0,o.jsx)(n.code,{children:"at"})," is a little safer. It will check if the element is out of range and exit the program with an error if it is. The square brackets will either return an uninitialized value resulting in undefined behavior or terminate with a seg fault."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:"const size_t slightly_out_of_bounds = 5;\nconst size_t very_out_of_bounds = 10000000000; // 10 billion\nconst vector<int> values = {1, 2, 3, 4, 5}; // indexes 0 - 4\n\nconst int indexed_value1 = values[slightly_out_of_bounds]; // undefined behavior\nconst int indexed_value2 = values[very_out_of_bounds]; // segfault\n\nconst int at_value1 = values.at(very_out_of_bounds); // throws an exception\nconst int at_value2 = values.at(slightly_out_of_bounds); // throws an exception\n"})}),"\n",(0,o.jsx)(n.h2,{id:"escape-characters",children:"Escape Characters"}),"\n",(0,o.jsxs)(n.p,{children:["These allow us to use double quotes and other characters within a string by prefixing them with a backslash ",(0,o.jsx)(n.code,{children:"\\"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'cout << "Enter \\"x\\" or \\"y\\"";\n'})}),"\n",(0,o.jsxs)(n.p,{children:["You should recognize ",(0,o.jsx)(n.code,{children:"\\n"})," and from the terminal ",(0,o.jsx)(n.code,{children:"cd ./my\\ directory\\ with\\ spaces/"})," for escaping spaces in a path or on windows ",(0,o.jsx)(n.code,{children:"cd .\\\\my_directory\\\\my_subdirectory"})," for escaping slashes in a path."]}),"\n",(0,o.jsx)(n.h2,{id:"stable-vs-unstable",children:"Stable vs. Unstable"}),"\n",(0,o.jsxs)(n.p,{children:["Elements keep there relative order. In this example, the ",(0,o.jsx)(n.code,{children:"4_1"})," and ",(0,o.jsx)(n.code,{children:"4_2"})," are the same value, just subscripted so you can see their original order."]}),"\n",(0,o.jsx)(n.p,{children:"Original:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"[4_1, 6, 5, 7, 8, 4_2]"})}),"\n",(0,o.jsxs)(n.p,{children:["Stable sort:\n",(0,o.jsx)(n.code,{children:"[4_1, 4_2, 5, 6, 7, 8]"})]}),"\n",(0,o.jsxs)(n.p,{children:["Unstable sort:\n",(0,o.jsx)(n.code,{children:"[4_2, 4_1, 5, 6, 7, 8]"})]}),"\n",(0,o.jsx)(n.p,{children:"Both of the sorts you implement in this lab, should be stable, aka keep their relative order. The final list is the same, but it will be extra work for your code because you will be swapping elements of the same value and the output will be incorrect if your sorts are unstable."}),"\n",(0,o.jsxs)(n.p,{children:["This essentially boils down to using ",(0,o.jsx)(n.code,{children:">"}),", ",(0,o.jsx)(n.code,{children:"<"})," or ",(0,o.jsx)(n.code,{children:">="})," ",(0,o.jsx)(n.code,{children:"<="})," in your comparisons. If you are swapping like elements, you may need to remove the ",(0,o.jsx)(n.code,{children:"="})," from your comparison."]}),"\n",(0,o.jsx)(n.h2,{id:"bonus-big-o-notation-of-sorts-on2-and-on-log-n",children:"Bonus Big-O Notation of sorts O(n^2) and O(n log n)"}),"\n",(0,o.jsxs)(n.p,{children:["It's hard to talk about sorts without talking about big-o notation. You can just think of these like functions we learned in algebra: ",(0,o.jsx)(n.code,{children:"O(n^2)"})," is essentially the same as ",(0,o.jsx)(n.code,{children:"f(x)=x^2"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["All the sorts we are implemented run in ",(0,o.jsx)(n.code,{children:"O(n^2)"})," (two nested for loops)."]}),"\n",(0,o.jsxs)(n.p,{children:["The best sorting algorithms are ",(0,o.jsx)(n.code,{children:"O(n log n)"})," (merge sort, quick sort). The reason these are so much faster is they are able to sort half the elements in 1 pass vs. 1 element per pass. You will learn about this in CS302."]}),"\n",(0,o.jsxs)(n.p,{children:["Below are example functions that run in ",(0,o.jsx)(n.code,{children:"O(1)"}),", ",(0,o.jsx)(n.code,{children:"O(n)"}),", ",(0,o.jsx)(n.code,{children:"O(n^2)"}),", ",(0,o.jsx)(n.code,{children:"O(log n)"}),", and ",(0,o.jsx)(n.code,{children:"O(n log n)"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"o1",children:(0,o.jsx)(n.code,{children:"O(1)"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_1(const int n) {\n // 1 or constant time\n // takes the same amount of time no matter what n is\n cout << "n: " << n << endl;\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"on",children:(0,o.jsx)(n.code,{children:"O(n)"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_n(const int n) {\n for (int i = 0; i < n; ++i) {\n cout << "i: " << i << endl; // runs n times\n }\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"on2",children:(0,o.jsx)(n.code,{children:"O(n^2)"})}),"\n",(0,o.jsxs)(n.p,{children:["Selection and insertion sort are both ",(0,o.jsx)(n.code,{children:"O(n^2)"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_n_squared(const int n) {\n // n * n\n for (int i = 0; i < n; ++i) {\n for (int j = 0; j < n; ++j) {\n cout << "i: " << i << " j: " << j << endl; // runs n * n times\n }\n }\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"olog-n",children:(0,o.jsx)(n.code,{children:"O(log n)"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_log_n(const int n) {\n for (int i = 1; i < n; i *= 2) { // i doubles each time 1, 2, 4, 8 ...\n cout << "i: " << i << endl; // runs log(n) times\n }\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"on-log-n",children:(0,o.jsx)(n.code,{children:"O(n log n)"})}),"\n",(0,o.jsxs)(n.p,{children:["Merge and quick sort are both ",(0,o.jsx)(n.code,{children:"O(n log n)"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_n_log_n(const int n) {\n for (int i = 0; i < n; ++i) {\n for (int j = 0; j < n; j *= 2) {\n cout << "i: " << i << " j: " << j << endl; // runs n * log(n) times\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var o=s(7294);const i={},t=o.createContext(i);function r(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d62f1c6e.ad0aeec3.js b/assets/js/d62f1c6e.ad0aeec3.js deleted file mode 100644 index fbbe1f9b..00000000 --- a/assets/js/d62f1c6e.ad0aeec3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[9697],{5550:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>a});var i=s(5893),o=s(1151);const t={},r="Sorting Algorithms Notes",l={id:"in-class-lab-notes/sorting-algorithms",title:"Sorting Algorithms Notes",description:"Here are some helpful resources for this lab:",source:"@site/docs/in-class-lab-notes/sorting-algorithms.md",sourceDirName:"in-class-lab-notes",slug:"/in-class-lab-notes/sorting-algorithms",permalink:"/cs102-writeups/docs/in-class-lab-notes/sorting-algorithms",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Multi-User Dungeons (MUD) Notes",permalink:"/cs102-writeups/docs/in-class-lab-notes/mud-notes"},next:{title:"Lab Walkthroughs",permalink:"/cs102-writeups/docs/category/lab-walkthroughs"}},c={},a=[{value:"Continuous Input",id:"continuous-input",level:2},{value:"<code>at</code> vs. <code>[]</code>",id:"at-vs-",level:2},{value:"Escape Characters",id:"escape-characters",level:2},{value:"Stable vs. Unstable",id:"stable-vs-unstable",level:2},{value:"Bonus Big-O Notation of sorts O(n^2) and O(n log n)",id:"bonus-big-o-notation-of-sorts-on2-and-on-log-n",level:2},{value:"<code>O(1)</code>",id:"o1",level:3},{value:"<code>O(n)</code>",id:"on",level:3},{value:"<code>O(n^2)</code>",id:"on2",level:3},{value:"<code>O(log n)</code>",id:"olog-n",level:3},{value:"<code>O(n log n)</code>",id:"on-log-n",level:3}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"sorting-algorithms-notes",children:"Sorting Algorithms Notes"}),"\n",(0,i.jsx)(n.p,{children:"Here are some helpful resources for this lab:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Selection_sort",children:"Selection sort gif"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Insertion_sort",children:"Insertion sort gif"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://en.cppreference.com/w/cpp/language/escape",children:"Escape characters cppreference"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.bigocheatsheet.com/",children:"Big-O cheat sheet for sorts"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"This video is very good, showing how to write code in JavaScript for 7 different sorting algorithms and animations of them sorting."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=RfXt_qHDEPw&t=414s",children:"Fireship.io Sorting Algorithms"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"continuous-input",children:"Continuous Input"}),"\n",(0,i.jsx)(n.p,{children:"When prompting the user, you are required to keep prompting them until they supply valid input."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'void get_x() {\n char input;\n\n while (true) {\n cout << "Input: ";\n cin >> input;\n\n if (input == \'x\') {\n break;\n }\n\n cout << "Try again!" << endl;\n }\n\n\n if (input == \'x\') {\n cout << "Success!" << endl;\n } else {\n cout << "Failure!" << endl; // this will never happen\n }\n}\n'})}),"\n",(0,i.jsxs)(n.h2,{id:"at-vs-",children:[(0,i.jsx)(n.code,{children:"at"})," vs. ",(0,i.jsx)(n.code,{children:"[]"})]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"at"})," is ",(0,i.jsx)(n.strong,{children:"required"})," in this lab"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"at"})," and square brackets do the same thing, just ",(0,i.jsx)(n.code,{children:"at"})," is a little safer. It will check if the element is out of range and exit the program with an error if it is. The square brackets will either return an uninitialized value resulting in undefined behavior or terminate with a seg fault."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:"const size_t slightly_out_of_bounds = 5;\nconst size_t very_out_of_bounds = 10000000000; // 10 billion\nconst vector<int> values = {1, 2, 3, 4, 5}; // indexes 0 - 4\n\nconst int indexed_value1 = values[slightly_out_of_bounds]; // undefined behavior\nconst int indexed_value2 = values[very_out_of_bounds]; // segfault\n\nconst int at_value1 = values.at(very_out_of_bounds); // throws an exception\nconst int at_value2 = values.at(slightly_out_of_bounds); // throws an exception\n"})}),"\n",(0,i.jsx)(n.h2,{id:"escape-characters",children:"Escape Characters"}),"\n",(0,i.jsxs)(n.p,{children:["These allow us to use double quotes and other characters within a string by prefixing them with a backslash ",(0,i.jsx)(n.code,{children:"\\"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'cout << "Enter \\"x\\" or \\"y\\"";\n'})}),"\n",(0,i.jsxs)(n.p,{children:["You should recognize ",(0,i.jsx)(n.code,{children:"\\n"})," and from the terminal ",(0,i.jsx)(n.code,{children:"cd ./my\\ directory\\ with\\ spaces/"})," for escaping spaces in a path or on windows ",(0,i.jsx)(n.code,{children:"cd .\\\\my_directory\\\\my_subdirectory"})," for escaping slashes in a path."]}),"\n",(0,i.jsx)(n.h2,{id:"stable-vs-unstable",children:"Stable vs. Unstable"}),"\n",(0,i.jsxs)(n.p,{children:["Elements keep there relative order. In this example, the ",(0,i.jsx)(n.code,{children:"4_1"})," and ",(0,i.jsx)(n.code,{children:"4_2"})," are the same value, just subscripted so you can see their original order."]}),"\n",(0,i.jsx)(n.p,{children:"Original:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"[4_1, 6, 5, 7, 8, 4_2]"})}),"\n",(0,i.jsxs)(n.p,{children:["Stable sort:\n",(0,i.jsx)(n.code,{children:"[4_1, 4_2, 5, 6, 7, 8]"})]}),"\n",(0,i.jsxs)(n.p,{children:["Unstable sort:\n",(0,i.jsx)(n.code,{children:"[4_2, 4_1, 5, 6, 7, 8]"})]}),"\n",(0,i.jsx)(n.p,{children:"Both of the sorts you implement in this lab, should be stable, aka keep their relative order. The final list is the same, but it will be extra work for your code because you will be swapping elements of the same value and the output will be incorrect if your sorts are unstable."}),"\n",(0,i.jsxs)(n.p,{children:["This essentially boils down to using ",(0,i.jsx)(n.code,{children:">"}),", ",(0,i.jsx)(n.code,{children:"<"})," or ",(0,i.jsx)(n.code,{children:">="})," ",(0,i.jsx)(n.code,{children:"<="})," in your comparisons. If you are swapping like elements, you may need to remove the ",(0,i.jsx)(n.code,{children:"="})," from your comparison."]}),"\n",(0,i.jsx)(n.h2,{id:"bonus-big-o-notation-of-sorts-on2-and-on-log-n",children:"Bonus Big-O Notation of sorts O(n^2) and O(n log n)"}),"\n",(0,i.jsxs)(n.p,{children:["It's hard to talk about sorts without talking about big-o notation. You can just think of these like functions we learned in algebra: ",(0,i.jsx)(n.code,{children:"O(n^2)"})," is essentially the same as ",(0,i.jsx)(n.code,{children:"f(x)=x^2"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["All the sorts we are implemented run in ",(0,i.jsx)(n.code,{children:"O(n^2)"})," (two nested for loops)."]}),"\n",(0,i.jsxs)(n.p,{children:["The best sorting algorithms are ",(0,i.jsx)(n.code,{children:"O(n log n)"})," (merge sort, quick sort). The reason these are so much faster is they are able to sort half the elements in 1 pass vs. 1 element per pass. You will learn about this in CS302."]}),"\n",(0,i.jsxs)(n.p,{children:["Below are example functions that run in ",(0,i.jsx)(n.code,{children:"O(1)"}),", ",(0,i.jsx)(n.code,{children:"O(n)"}),", ",(0,i.jsx)(n.code,{children:"O(n^2)"}),", ",(0,i.jsx)(n.code,{children:"O(log n)"}),", and ",(0,i.jsx)(n.code,{children:"O(n log n)"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"o1",children:(0,i.jsx)(n.code,{children:"O(1)"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_1(const int n) {\n // 1 or constant time\n // takes the same amount of time no matter what n is\n cout << "n: " << n << endl;\n}\n'})}),"\n",(0,i.jsx)(n.h3,{id:"on",children:(0,i.jsx)(n.code,{children:"O(n)"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_n(const int n) {\n for (int i = 0; i < n; ++i) {\n cout << "i: " << i << endl; // runs n times\n }\n}\n'})}),"\n",(0,i.jsx)(n.h3,{id:"on2",children:(0,i.jsx)(n.code,{children:"O(n^2)"})}),"\n",(0,i.jsxs)(n.p,{children:["Selection and insertion sort are both ",(0,i.jsx)(n.code,{children:"O(n^2)"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_n_squared(const int n) {\n // n * n\n for (int i = 0; i < n; ++i) {\n for (int j = 0; j < n; ++j) {\n cout << "i: " << i << " j: " << j << endl; // runs n * n times\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.h3,{id:"olog-n",children:(0,i.jsx)(n.code,{children:"O(log n)"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_log_n(const int n) {\n for (int i = 1; i < n; i *= 2) { // i doubles each time 1, 2, 4, 8 ...\n cout << "i: " << i << endl; // runs log(n) times\n }\n}\n'})}),"\n",(0,i.jsx)(n.h3,{id:"on-log-n",children:(0,i.jsx)(n.code,{children:"O(n log n)"})}),"\n",(0,i.jsxs)(n.p,{children:["Merge and quick sort are both ",(0,i.jsx)(n.code,{children:"O(n log n)"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-cpp",children:'void big_o_of_n_log_n(const int n) {\n for (int i = 0; i < n; ++i) {\n for (int j = 0; j < n; j *= 2) {\n cout << "i: " << i << " j: " << j << endl; // runs n * log(n) times\n }\n }\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var i=s(7294);const o={},t=i.createContext(o);function r(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d9f32620.09e565c1.js b/assets/js/d9f32620.09e565c1.js deleted file mode 100644 index d985ccc9..00000000 --- a/assets/js/d9f32620.09e565c1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1914],{8123:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var t=o(5893),n=o(1151);const r={slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},l=void 0,a={permalink:"/cs102-writeups/blog/welcome",source:"@site/blog/2021-08-26-welcome/index.md",title:"Welcome",description:"Docusaurus blogging features are powered by the blog plugin.",date:"2021-08-26T00:00:00.000Z",formattedDate:"August 26, 2021",tags:[{label:"facebook",permalink:"/cs102-writeups/blog/tags/facebook"},{label:"hello",permalink:"/cs102-writeups/blog/tags/hello"},{label:"docusaurus",permalink:"/cs102-writeups/blog/tags/docusaurus"}],readingTime:.405,hasTruncateMarker:!1,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",imageURL:"https://github.com/slorber.png",key:"slorber"},{name:"Yangshun Tay",title:"Front End Engineer @ Facebook",url:"https://github.com/yangshun",imageURL:"https://github.com/yangshun.png",key:"yangshun"}],frontMatter:{slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},unlisted:!1,nextItem:{title:"MDX Blog Post",permalink:"/cs102-writeups/blog/mdx-blog-post"}},c={authorsImageUrls:[void 0,void 0]},u=[];function i(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://docusaurus.io/docs/blog",children:"Docusaurus blogging features"})," are powered by the ",(0,t.jsx)(s.a,{href:"https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog plugin"}),"."]}),"\n",(0,t.jsxs)(s.p,{children:["Simply add Markdown files (or folders) to the ",(0,t.jsx)(s.code,{children:"blog"})," directory."]}),"\n",(0,t.jsxs)(s.p,{children:["Regular blog authors can be added to ",(0,t.jsx)(s.code,{children:"authors.yml"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"The blog post date can be extracted from filenames, such as:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"2019-05-30-welcome.md"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"2019-05-30-welcome/index.md"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"A blog post folder can be convenient to co-locate blog post images:"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"Docusaurus Plushie",src:o(535).Z+"",width:"1500",height:"500"})}),"\n",(0,t.jsx)(s.p,{children:"The blog supports tags as well!"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"And if you don't want a blog"}),": just delete this directory, and use ",(0,t.jsx)(s.code,{children:"blog: false"})," in your Docusaurus config."]})]})}function d(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(i,{...e})}):i(e)}},535:(e,s,o)=>{o.d(s,{Z:()=>t});const t=o.p+"assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg"},1151:(e,s,o)=>{o.d(s,{Z:()=>a,a:()=>l});var t=o(7294);const n={},r=t.createContext(n);function l(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d9f32620.5a78a25c.js b/assets/js/d9f32620.5a78a25c.js new file mode 100644 index 00000000..a2b537e2 --- /dev/null +++ b/assets/js/d9f32620.5a78a25c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1914],{8123:(e,o,s)=>{s.r(o),s.d(o,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>u});var n=s(5893),t=s(1151);const a={slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},l=void 0,r={permalink:"/cs102-handbook/blog/welcome",source:"@site/blog/2021-08-26-welcome/index.md",title:"Welcome",description:"Docusaurus blogging features are powered by the blog plugin.",date:"2021-08-26T00:00:00.000Z",formattedDate:"August 26, 2021",tags:[{label:"facebook",permalink:"/cs102-handbook/blog/tags/facebook"},{label:"hello",permalink:"/cs102-handbook/blog/tags/hello"},{label:"docusaurus",permalink:"/cs102-handbook/blog/tags/docusaurus"}],readingTime:.405,hasTruncateMarker:!1,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",imageURL:"https://github.com/slorber.png",key:"slorber"},{name:"Yangshun Tay",title:"Front End Engineer @ Facebook",url:"https://github.com/yangshun",imageURL:"https://github.com/yangshun.png",key:"yangshun"}],frontMatter:{slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},unlisted:!1,nextItem:{title:"MDX Blog Post",permalink:"/cs102-handbook/blog/mdx-blog-post"}},c={authorsImageUrls:[void 0,void 0]},u=[];function i(e){const o={a:"a",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.p,{children:[(0,n.jsx)(o.a,{href:"https://docusaurus.io/docs/blog",children:"Docusaurus blogging features"})," are powered by the ",(0,n.jsx)(o.a,{href:"https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog plugin"}),"."]}),"\n",(0,n.jsxs)(o.p,{children:["Simply add Markdown files (or folders) to the ",(0,n.jsx)(o.code,{children:"blog"})," directory."]}),"\n",(0,n.jsxs)(o.p,{children:["Regular blog authors can be added to ",(0,n.jsx)(o.code,{children:"authors.yml"}),"."]}),"\n",(0,n.jsx)(o.p,{children:"The blog post date can be extracted from filenames, such as:"}),"\n",(0,n.jsxs)(o.ul,{children:["\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.code,{children:"2019-05-30-welcome.md"})}),"\n",(0,n.jsx)(o.li,{children:(0,n.jsx)(o.code,{children:"2019-05-30-welcome/index.md"})}),"\n"]}),"\n",(0,n.jsx)(o.p,{children:"A blog post folder can be convenient to co-locate blog post images:"}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Docusaurus Plushie",src:s(535).Z+"",width:"1500",height:"500"})}),"\n",(0,n.jsx)(o.p,{children:"The blog supports tags as well!"}),"\n",(0,n.jsxs)(o.p,{children:[(0,n.jsx)(o.strong,{children:"And if you don't want a blog"}),": just delete this directory, and use ",(0,n.jsx)(o.code,{children:"blog: false"})," in your Docusaurus config."]})]})}function d(e={}){const{wrapper:o}={...(0,t.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(i,{...e})}):i(e)}},535:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg"},1151:(e,o,s)=>{s.d(o,{Z:()=>r,a:()=>l});var n=s(7294);const t={},a=n.createContext(t);function l(e){const o=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(a.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/db0b8da5.25acad80.js b/assets/js/db0b8da5.25acad80.js deleted file mode 100644 index fb348bb5..00000000 --- a/assets/js/db0b8da5.25acad80.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7283],{7420:e=>{e.exports=JSON.parse('{"title":"Reference","description":"Information on how to get started in CS102 and useful tips/resources for the course.","slug":"/category/reference","permalink":"/cs102-writeups/docs/category/reference","navigation":{"previous":{"title":"SSH and SCP Tutorial","permalink":"/cs102-writeups/docs/tutorials/ssh-and-scp"},"next":{"title":"Common Unix/Linux & g++ Commands","permalink":"/cs102-writeups/docs/reference/common-linux-commands"}}}')}}]); \ No newline at end of file diff --git a/assets/js/dbb84cb5.08dca618.js b/assets/js/dbb84cb5.41f72d92.js similarity index 99% rename from assets/js/dbb84cb5.08dca618.js rename to assets/js/dbb84cb5.41f72d92.js index 66790cde..7db37bc7 100644 --- a/assets/js/dbb84cb5.08dca618.js +++ b/assets/js/dbb84cb5.41f72d92.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3144],{9153:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>h});var n=i(5893),s=i(1151);const r={},l="Speeding Ticket Calculator",a={id:"lab-walkthroughs/speeding-ticket-calculator",title:"Speeding Ticket Calculator",description:"A speeding ticket calculator that reads from a file.",source:"@site/docs/lab-walkthroughs/speeding-ticket-calculator.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/speeding-ticket-calculator",permalink:"/cs102-writeups/docs/lab-walkthroughs/speeding-ticket-calculator",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"PPM Manipulation",permalink:"/cs102-writeups/docs/lab-walkthroughs/ppm-manipulator"},next:{title:"Debugging",permalink:"/cs102-writeups/docs/category/debugging"}},o={},h=[{value:"Introduction",id:"introduction",level:2},{value:"Step 1: Reading input",id:"step-1-reading-input",level:2},{value:"Example 1",id:"example-1",level:3},{value:"Example 2",id:"example-2",level:3},{value:"Step 2: File Input",id:"step-2-file-input",level:2},{value:"Input File Format",id:"input-file-format",level:3},{value:"input file example",id:"input-file-example",level:4},{value:"Reading The File and The <code>fstream</code> Library",id:"reading-the-file-and-the-fstream-library",level:3},{value:"Include <code>fstream</code>",id:"include-fstream",level:4},{value:"1. Creating the <code>ifstream</code> object",id:"1-creating-the-ifstream-object",level:4},{value:"2. Opening the file",id:"2-opening-the-file",level:4},{value:"3. Reading from the file",id:"3-reading-from-the-file",level:4},{value:"4. Closing the file",id:"4-closing-the-file",level:4},{value:"Step 3: Calculating The Ticket Fee",id:"step-3-calculating-the-ticket-fee",level:2},{value:"Multipliers & Road Types",id:"multipliers--road-types",level:3},{value:"table",id:"table",level:4},{value:"Step 4: Writing The Ticket Information To a File",id:"step-4-writing-the-ticket-information-to-a-file",level:2},{value:"Output File Format",id:"output-file-format",level:3},{value:"template",id:"template",level:4},{value:"output corresponding to the input file",id:"output-corresponding-to-the-input-file",level:4},{value:"Comparing Dates",id:"comparing-dates",level:3},{value:"hints",id:"hints",level:4},{value:"Requirements",id:"requirements",level:2},{value:"MAKE SURE IT COMPILES AND RUNS",id:"make-sure-it-compiles-and-runs",level:3},{value:"References",id:"references",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",del:"del",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"speeding-ticket-calculator",children:"Speeding Ticket Calculator"}),"\n",(0,n.jsx)(t.p,{children:"A speeding ticket calculator that reads from a file."}),"\n",(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsxs)(t.p,{children:["In this lab, we'll be calculating a fine for several speeding tickets, and then outputting that fine as a report. The caveat to this lab is that the ticket we read is an actual file on the computer. So we'll be familiarizing ourselves with a few new concepts, such as reading from a file and using the ",(0,n.jsx)(t.code,{children:"fstream"})," class."]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"fstream"})," is ",(0,n.jsx)(t.code,{children:"iostream"})," but for files"]})}),"\n",(0,n.jsxs)(t.p,{children:["I want you to think of ",(0,n.jsx)(t.code,{children:"fstream"})," as the same thing as ",(0,n.jsx)(t.code,{children:"iostream"})," but for files. The two work almost identically, just slight variations. Similar to ",(0,n.jsx)(t.code,{children:"cout"})," and ",(0,n.jsx)(t.code,{children:"cin"}),", ",(0,n.jsx)(t.code,{children:"fstream"})," has ",(0,n.jsx)(t.code,{children:"ifstream"})," and ",(0,n.jsx)(t.code,{children:"ofstream"}),". ",(0,n.jsx)(t.code,{children:"ifstream"})," is for reading from a file, and ",(0,n.jsx)(t.code,{children:"ofstream"})," is for writing to a file. We'll be using both in this lab."]}),"\n",(0,n.jsx)(t.p,{children:":::"}),"\n",(0,n.jsx)(t.h2,{id:"step-1-reading-input",children:"Step 1: Reading input"}),"\n",(0,n.jsx)(t.p,{children:"The first part of this program prompts the user for the information needed to calculate the fine. The program should prompt the user for the following information, and store them in the appropriate variables:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Ticket File"})," - The ",(0,n.jsx)(t.strong,{children:"name"})," of the file containing the ticket information. This will be the name of an ",(0,n.jsx)(t.em,{children:"actual file"})," on the computer. More on that later. Its type is a ",(0,n.jsx)(t.code,{children:"string"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Report File"})," - The ",(0,n.jsx)(t.strong,{children:"name"})," of the file that the final report will be written to. This will be the name of an ",(0,n.jsx)(t.em,{children:"actual file"})," on the computer. More on that later. Its type is a ",(0,n.jsx)(t.code,{children:"string"}),"."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:'The Ticket and Report "File"'})}),"\n",(0,n.jsxs)(t.p,{children:["In this program, you will be opening a text file that the user specifies to be opened, and you will read from it. The name of the file is a ",(0,n.jsx)(t.code,{children:"string"})," that the user will input. In other words, the input they give us is not a file, it's a file name that exists on the computer that you will open with ",(0,n.jsx)(t.code,{children:"fstream"}),"."]}),"\n",(0,n.jsx)(t.p,{children:":::"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Report Start Date"})," - name is self-explanatory. Just know that the format is ",(0,n.jsx)(t.code,{children:"mm dd yyyy"}),", and it should actually consist of 3 separate values, each of which is an ",(0,n.jsx)(t.code,{children:"int"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Report End Date"})," - same as above, but for the end date."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"example-1",children:"Example 1"}),"\n",(0,n.jsx)(t.p,{children:"Here's an example of the prompt output"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:'Enter a ticket file: ticket // ticket file is "ticket"\nEnter report start date (mm dd yyyy): 7 1 2017 // three int\'s separated by spaces\nEnter report end date (mm dd yyyy): 8 11 2018\n'})}),"\n",(0,n.jsxs)(t.p,{children:["You should already know how to read info from ",(0,n.jsx)(t.code,{children:"stdin"})," (the name we use for the keyboard basically). We can just use ",(0,n.jsx)(t.code,{children:"cin"}),". A ",(0,n.jsx)(t.em,{children:"little hint"})," though to make your life easier is that you can read multiple values into multiple variables with just one ",(0,n.jsx)(t.code,{children:"cin"}),". This is because ",(0,n.jsx)(t.code,{children:"cin"}),' by default recognizes spaces as "delimiters", which is just a fancy word for things that separate other things.']}),"\n",(0,n.jsx)(t.p,{children:"The example below shows a use case for this:"}),"\n",(0,n.jsx)(t.h3,{id:"example-2",children:"Example 2"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"int v1, v2, v3;\n\ncin >> v1 >> v2 >> v3\n"})}),"\n",(0,n.jsxs)(t.p,{children:["This will read 3 values from ",(0,n.jsx)(t.code,{children:"stdin"})," and store them in ",(0,n.jsx)(t.code,{children:"v1"}),", ",(0,n.jsx)(t.code,{children:"v2"}),", and ",(0,n.jsx)(t.code,{children:"v3"})," respectively. You can use this to read the 3 values for the report start date in one line."]}),"\n",(0,n.jsx)(t.h2,{id:"step-2-file-input",children:"Step 2: File Input"}),"\n",(0,n.jsxs)(t.p,{children:['As previously mentioned, the ticket "file" we get from the user input is the ',(0,n.jsx)(t.em,{children:"name"})," of the file we are to open on the computer. Interacting with files is almost the exact same as normal I/O (input/output), except that we have to do a little bit of setup first. We'll be using the ",(0,n.jsx)(t.code,{children:"fstream"})," library for this, which is a subset of the ",(0,n.jsx)(t.code,{children:"iostream"})," library. We'll be using the ",(0,n.jsx)(t.code,{children:"ifstream"})," class from the ",(0,n.jsx)(t.code,{children:"fstream"})," library to read from the file."]}),"\n",(0,n.jsx)(t.h3,{id:"input-file-format",children:"Input File Format"}),"\n",(0,n.jsxs)(t.p,{children:["Luckily the input file will adhere to a very specific format, so we can consistently read any file the same way every time and parse it accordingly. The format is as follows ",(0,n.jsx)(t.em,{children:"(excluding the brackets)"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"<citation number> <month> <day> <year> <clocked speed> <speed limit> <type of road>\n"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Citation Number"})," - a ",(0,n.jsx)(t.code,{children:"string"})," that represents the citation number (yes, it's a ",(0,n.jsx)(t.code,{children:"string"}),"). This is the first value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Month"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the month the ticket was issued. This is the second value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Day"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the day the ticket was issued. This is the third value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Year"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the year the ticket was issued. This is the fourth value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Clocked Speed"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the speed the driver was clocked at. This is the fifth value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Speed Limit"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the speed limit of the road. This is the sixth value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Type of Road"})," - A ",(0,n.jsx)(t.code,{children:"char"})," that represents the type of road the ticket was issued on. This is the seventh value in the file."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["One caveat here is that the year can be in the format of ",(0,n.jsx)(t.code,{children:"yyyy"})," or ",(0,n.jsx)(t.code,{children:"yy"}),". If it's in the format of ",(0,n.jsx)(t.code,{children:"yy"}),", then it should be interpreted as ",(0,n.jsx)(t.code,{children:"20yy"}),". For example, if the year is ",(0,n.jsx)(t.code,{children:"17"}),", then it should be interpreted as ",(0,n.jsx)(t.code,{children:"2017"}),", since in the final output we print the full year, and for this lab every year is assumed to be within the 21st century."]}),"\n",(0,n.jsx)(t.h4,{id:"input-file-example",children:"input file example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"E059564 8 12 2018 89 55 i\nE515522 7 3 2017 105 50 r\nE712221 6 4 2015 200 25 h\nE219221 12 25 17 2000 10 p\n"})}),"\n",(0,n.jsxs)(t.p,{children:["The above text is what is actually inside the input file. Notice how each line conforms to the ",(0,n.jsx)(t.a,{href:"#input-file-format",children:"format I mentioned"}),". Each line is a ticket, and each ticket is composed of 7 values, separated by spaces, just like I listed above."]}),"\n",(0,n.jsxs)(t.h3,{id:"reading-the-file-and-the-fstream-library",children:["Reading The File and The ",(0,n.jsx)(t.code,{children:"fstream"})," Library"]}),"\n",(0,n.jsxs)(t.p,{children:["As I mentioned ",(0,n.jsx)(t.a,{href:"#Introduction",children:"here"}),", ",(0,n.jsx)(t.code,{children:"fstream"})," is the file equivalent of ",(0,n.jsx)(t.code,{children:"iostream"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"cin"})," is to ",(0,n.jsx)(t.code,{children:"iostream"})," as ",(0,n.jsx)(t.code,{children:"ifstream"})," is to ",(0,n.jsx)(t.code,{children:"fstream"}),". You can think of ",(0,n.jsx)(t.code,{children:"cin"})," as just a ",(0,n.jsx)(t.em,{children:"pre-defined"})," keyword that we can use to easily read from ",(0,n.jsx)(t.code,{children:"stdin"})," (the technical term for the keyboard, basically). ",(0,n.jsx)(t.code,{children:"ifstream"})," is almost the exact same as ",(0,n.jsx)(t.code,{children:"cin"}),", but it's not pre-defined, and it's used to read from a file instead of ",(0,n.jsx)(t.code,{children:"stdin"})," (the keyboard)."]}),"\n",(0,n.jsx)(t.p,{children:"In general, these are the steps to reading a file:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Create an ",(0,n.jsx)(t.code,{children:"ifstream"})," object. This is the object that will be used to read from the file. You can think of it as a file handle. When you make a ",(0,n.jsx)(t.code,{children:"string"})," in C++, you use the ",(0,n.jsx)(t.code,{children:"string"})," keyword. When you make an ",(0,n.jsx)(t.code,{children:"ifstream"})," object, you use the ",(0,n.jsx)(t.code,{children:"ifstream"})," keyword."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Open the file using the ",(0,n.jsx)(t.code,{children:"ifstream"})," object. This is done using the ",(0,n.jsx)(t.code,{children:"open()"})," method. This method takes in a ",(0,n.jsx)(t.code,{children:"string"})," argument that represents the name of the file. ",(0,n.jsx)(t.strong,{children:"This is the same name that the user entered in the prompt"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Read from the file using the ",(0,n.jsx)(t.code,{children:"ifstream"})," object. This is done using the ",(0,n.jsx)(t.code,{children:">>"}),' operator. This operator is "overloaded" to read from a file, and it works the same way as ',(0,n.jsx)(t.code,{children:"cin"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Close the file once we are done reading using the ",(0,n.jsx)(t.code,{children:"ifstream"})," object. This is done using the ",(0,n.jsx)(t.code,{children:"close()"})," method. This method takes no arguments."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.h4,{id:"include-fstream",children:["Include ",(0,n.jsx)(t.code,{children:"fstream"})]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"#include<fstream>\n"})}),"\n",(0,n.jsxs)(t.h4,{id:"1-creating-the-ifstream-object",children:["1. Creating the ",(0,n.jsx)(t.code,{children:"ifstream"})," object"]}),"\n",(0,n.jsxs)(t.p,{children:["By convention, we name the ",(0,n.jsx)(t.code,{children:"ifstream"})," object ",(0,n.jsx)(t.code,{children:"fin"}),". This is because ",(0,n.jsx)(t.code,{children:"fin"}),' is short for "file input", just like ',(0,n.jsx)(t.code,{children:"cin"}),' is short for "console input". You can name it whatever you want, but I recommend you use ',(0,n.jsx)(t.code,{children:"fin"})," for consistency."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:'// can be invoked in a number of ways\n\nifstream fin; // creates a blank ifstream handle\n\n// or\n\nifstream fin("file_to_open"); /* creates an ifstream handle\n that automatically opens the file */\n'})}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["In the above example, ",(0,n.jsx)(t.code,{children:'"file_to_open"'})," is the name of the file we want to open. In your code, you'll replace that string-",(0,n.jsx)(t.em,{children:"literal"}),' (i.e. an "in-place" ',(0,n.jsx)(t.code,{children:"string"}),") with the ",(0,n.jsx)(t.code,{children:"string"})," ",(0,n.jsx)(t.em,{children:"variable"})," that holds the name of the file you prompted the user for in step 1."]})}),"\n",(0,n.jsx)(t.h4,{id:"2-opening-the-file",children:"2. Opening the file"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"// opens the file.\n// can be skipped if the ifstream object was created with a file name\nfin.open(\"file_to_open\");\n\n// check to make sure the file is open by our program.\n// if it isn't, then we can't read from it\n\nif (!fin.is_open()) {\n // print error and exit\n}\n"})}),"\n",(0,n.jsx)(t.h4,{id:"3-reading-from-the-file",children:"3. Reading from the file"}),"\n",(0,n.jsxs)(t.p,{children:["After the file is opened, reading from the file is ",(0,n.jsx)(t.em,{children:"the same"})," as reading with ",(0,n.jsx)(t.code,{children:"cin"}),". Again, the only difference is that we use the ",(0,n.jsx)(t.code,{children:"ifstream"})," object instead of ",(0,n.jsx)(t.code,{children:"cin"}),", because the contents of a file are being read instead of the keyboard."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"// read from the file.\n// can be done in a number of ways\n\nint v1, v2, v3;\n\n// reads 3 values from the file and stores them in v1, v2, and v3\nfin >> v1 >> v2 >> v3;\n\n// or\n\nint v1, v2, v3;\n\nfin >> v1; // reads 1 value from the file and stores it in v1\n\nfin >> v2; // reads 1 value from the file and stores it in v2\n\nfin >> v3; // reads 1 value from the file and stores it in v3\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Keep in mind that ",(0,n.jsx)(t.code,{children:"fin"})," is a ",(0,n.jsx)(t.em,{children:"stream"}),' object, which means it is reading from the file as a continuous "stream" and "delimiting" the values based on the spaces in the file. Every time a space is encountered, the ',(0,n.jsx)(t.code,{children:"fin"})," object will stop reading and store the value it read so far in the variable you specified."]}),"\n",(0,n.jsx)(t.h4,{id:"4-closing-the-file",children:"4. Closing the file"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"// closes the file\nfin.close();\n"})}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Always close the file when you're done reading!"})}),"\n",(0,n.jsx)(t.h2,{id:"step-3-calculating-the-ticket-fee",children:"Step 3: Calculating The Ticket Fee"}),"\n",(0,n.jsx)(t.admonition,{title:"Calculating as you read",type:"note",children:(0,n.jsx)(t.p,{children:"Each time you read a single line from the file, you should calculate everything for that line, and then move to the next line and repeat the process."})}),"\n",(0,n.jsx)(t.p,{children:"Now that we have the ticket information, we can calculate the fee for each ticket. The fee is calculated using two variables"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["The initial fee of the ticket is calculated by subtracting the ",(0,n.jsx)(t.strong,{children:"speed limit"})," from the ",(0,n.jsx)(t.strong,{children:"clocked speed"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["A ",(0,n.jsx)(t.strong,{children:"multiplier"})," that is determined based on the ",(0,n.jsx)(t.strong,{children:"type of road"})," the ticket was issued on, and then multiplied by the initial fee."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"multipliers--road-types",children:"Multipliers & Road Types"}),"\n",(0,n.jsxs)(t.p,{children:["Each multiplier should be stored as a ",(0,n.jsx)(t.code,{children:"const double"})," variable. They will never change, and we know them at compile time, which is why we can use ",(0,n.jsx)(t.code,{children:"const"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["Recall that the type of road is the last character in the ticket information. The type of road is represented by a single character, which is why we can use a ",(0,n.jsx)(t.code,{children:"char"})," variable to store it. So once you've read your line, you should determine which multiplier to use based on the type of road. Here's a table that shows the mapping between the type of road and the multiplier:"]}),"\n",(0,n.jsx)(t.h4,{id:"table",children:"table"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"type of road"}),(0,n.jsx)(t.th,{children:"multiplier"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"i(nterstate)"}),(0,n.jsx)(t.td,{children:"5.2243"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"h(ighway)"}),(0,n.jsx)(t.td,{children:"9.4312"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"r(esidential)"}),(0,n.jsx)(t.td,{children:"17.2537"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"p(none of the above)"}),(0,n.jsx)(t.td,{children:"12.916"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Use a switch statement to determine which multiplier to use to calculate the fine."}),"\n",(0,n.jsx)(t.p,{children:"This part is pretty straightforward, so I won't go into too much detail."}),"\n",(0,n.jsx)(t.h2,{id:"step-4-writing-the-ticket-information-to-a-file",children:"Step 4: Writing The Ticket Information To a File"}),"\n",(0,n.jsxs)(t.p,{children:["Now that we have the ticket information, we can write it into a file. Since we're writing to a file, we'll need to use an ",(0,n.jsx)(t.code,{children:"ofstream"})," object. This is the same as the ",(0,n.jsx)(t.code,{children:"ifstream"})," object, except it's used for writing to a file instead of reading from a file. As I mentioned previously, ",(0,n.jsx)(t.code,{children:"ofstream"})," is basically ",(0,n.jsx)(t.code,{children:"cout"})," for files. I went over ",(0,n.jsx)(t.code,{children:"ifstream"})," in great detail, so you can probably figure out how to use ",(0,n.jsx)(t.code,{children:"ofstream"})," on your own. I'll show you how to open a file though since it's the only difference."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:'// ofstream will automatically create the file if it doesn\'t exist\nofstream fout("file_to_open.txt");\n'})}),"\n",(0,n.jsxs)(t.p,{children:["Of course, you'll replace ",(0,n.jsx)(t.code,{children:'"file_to_open"'})," with the name of the output file the user gave us earlier. You can also open the file using the ",(0,n.jsx)(t.code,{children:"open()"})," method, but I prefer to use the constructor."]}),"\n",(0,n.jsx)(t.h3,{id:"output-file-format",children:"Output File Format"}),"\n",(0,n.jsx)(t.p,{children:"Similar to the input file, the output file will be in a particular format."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Day"})," - The day the ticket was issued. This is the third value in the input file."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Month"})," - The month the ticket was issued, represented by a 3-letter abbreviation. This is the second value in the input file."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Year"})," - The year the ticket was issued. This is the fourth value in the input file and is in the format ",(0,n.jsx)(t.code,{children:"yyyy"})," ",(0,n.jsx)(t.em,{children:"OR"})," ",(0,n.jsx)(t.code,{children:"yy"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Citation"})," - The citation number (not a number). This is the first value in the input file."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Fine"})," - The fine you calculated for the ticket based on the speed and road type."]}),"\n"]}),"\n",(0,n.jsx)(t.h4,{id:"template",children:"template"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"<day>-<3-character Month>-<Year> <citation> $<fine>\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Here are the formatting specifications such as width, justification, precision, etc (according to Canvas). ",(0,n.jsx)(t.strong,{children:"Read them carefully"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"1. The day must be exactly two digits. If the day is 1 - 9, it must be 01 - 09.\n2. The 3-character month must be the three-character month: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, or Dec.\n3. The year is simply a 2 or 4 digit year. If the year is only two digits, assume the 21st century. For example, year 10 will be the year 2010.\n4. The citation is exactly the citation given in the input file, but it will be in a left justified field, 10 characters wide.\n5. The $ must follow the citation field.\n6. The fine will be a dollar amount in a right justified field, 9 characters wide.\n7. You will only output those citations that occur between the given report start date and end dates (inclusively).\n"})}),"\n",(0,n.jsx)(t.h4,{id:"output-corresponding-to-the-input-file",children:"output corresponding to the input file"}),"\n",(0,n.jsx)(t.p,{children:"Here's an example of the output for the example file shown earlier:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"03-Jul-2017 E515522 $ 948.95\n25-Dec-2017 E219221 $ 25702.84\n"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Extremely Important"})," - The resulting report only contains tickets that were issued between the start and end date specified in the initial prompt. You must do some math to determine which tickets fall between the start and end dates. This is the most difficult part of the assignment, but it's still pretty straightforward. You'll need to compare the date of each ticket to the start and end date. If the ticket date is between the start and end date (inclusive), then it should be printed. If it isn't, then it should be skipped."]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"comparing-dates",children:"Comparing Dates"}),"\n",(0,n.jsx)(t.p,{children:"There are a bunch of ways to compare dates. Some of them are simpler than others but maybe not as intuitive, whereas others are more verbose but easier to understand. I'm not going to describe the methods here outside of a couple of hints to lead you in the right direction (there's always office hours/Discord/Google if you get stuck)"}),"\n",(0,n.jsx)(t.h4,{id:"hints",children:"hints"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"More verbose but easier to understand: You can compare the date you've read to the date range by checking each component of the date, starting at the widest scope (year) and working your way down to the smallest scope (day)."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Less verbose but more difficult to understand: You can convert the date to a single number, and compare the number to the date range. This might not be as intuitive, but it's less typing than the former."}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Just keep in mind that the date range given is inclusive. So if a ticket date is exactly equal to the start/end date, then it still falls within the range."}),"\n",(0,n.jsx)(t.h2,{id:"requirements",children:"Requirements"}),"\n",(0,n.jsx)(t.p,{children:"As usual, your program needs to adhere to the general requirements like proper indentation, variable naming, header, etc. But other than that, there are a few specific requirements that you need to follow."}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use ",(0,n.jsx)(t.code,{children:"iomanip"})," to restrict the day output to 2 digits, and the year output to 4 digits."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use ",(0,n.jsx)(t.code,{children:"iomanip"})," to restrict the fine output to 2 decimal places."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use a ",(0,n.jsx)(t.code,{children:"const string"})," array (",(0,n.jsx)(t.strong,{children:"NOT"})," a ",(0,n.jsx)(t.code,{children:"vector"}),") to store the 3-letter month abbreviations. (Note the relationship between the month number and the index in the array.)"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use ",(0,n.jsx)(t.code,{children:"const double"}),"s for each fine multiplier and a ",(0,n.jsx)(t.code,{children:"switch"})," statement to determine the multiplier used in the calculation based on the road type."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use ",(0,n.jsx)(t.code,{children:"iomanip"})," for formatting the output (e.g. justification)"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["All fines must be ",(0,n.jsx)(t.code,{children:"\u2265"})," ",(0,n.jsx)(t.code,{children:"$0.00"}),". If the fine is less than ",(0,n.jsx)(t.code,{children:"$0.00"}),", then round to ",(0,n.jsx)(t.code,{children:"$0"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"If you attempt to open a file that does not exist, then you should print an error message and exit the program."}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"make-sure-it-compiles-and-runs",children:"MAKE SURE IT COMPILES AND RUNS"}),"\n",(0,n.jsxs)(t.p,{children:["The program you turn in must compile and run on the lab machines using ",(0,n.jsx)(t.em,{children:"this exact command:"})]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"g++ -Wall -O0 -g -std=c++11 -o speeding speeding.cpp\n"})}),"\n",(0,n.jsxs)(t.p,{children:["If it doesn't compile with that exactly, you ",(0,n.jsx)(t.em,{children:"will"})," ",(0,n.jsx)(t.del,{children:"almost certainly"})," get a ",(0,n.jsx)(t.strong,{children:"0"}),". If you're having trouble getting it to compile, then you should ask for help on Discord or in office hours."]}),"\n",(0,n.jsx)(t.h2,{id:"references",children:"References"}),"\n",(0,n.jsx)(t.p,{children:"I've compiled a list of references if you get stuck on something and want easy access to information that might help you."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://www.tutorialspoint.com/cpp_standard_library/iomanip.htm",children:"Iomanip stuff"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://www.tutorialspoint.com/cplusplus/cpp_files_streams.htm",children:"fstream stuff"})}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>l});var n=i(7294);const s={},r=n.createContext(s);function l(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[3144],{9153:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>h});var n=i(5893),s=i(1151);const r={},l="Speeding Ticket Calculator",a={id:"lab-walkthroughs/speeding-ticket-calculator",title:"Speeding Ticket Calculator",description:"A speeding ticket calculator that reads from a file.",source:"@site/docs/lab-walkthroughs/speeding-ticket-calculator.md",sourceDirName:"lab-walkthroughs",slug:"/lab-walkthroughs/speeding-ticket-calculator",permalink:"/cs102-handbook/docs/lab-walkthroughs/speeding-ticket-calculator",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"PPM Manipulation",permalink:"/cs102-handbook/docs/lab-walkthroughs/ppm-manipulator"},next:{title:"Debugging",permalink:"/cs102-handbook/docs/category/debugging"}},o={},h=[{value:"Introduction",id:"introduction",level:2},{value:"Step 1: Reading input",id:"step-1-reading-input",level:2},{value:"Example 1",id:"example-1",level:3},{value:"Example 2",id:"example-2",level:3},{value:"Step 2: File Input",id:"step-2-file-input",level:2},{value:"Input File Format",id:"input-file-format",level:3},{value:"input file example",id:"input-file-example",level:4},{value:"Reading The File and The <code>fstream</code> Library",id:"reading-the-file-and-the-fstream-library",level:3},{value:"Include <code>fstream</code>",id:"include-fstream",level:4},{value:"1. Creating the <code>ifstream</code> object",id:"1-creating-the-ifstream-object",level:4},{value:"2. Opening the file",id:"2-opening-the-file",level:4},{value:"3. Reading from the file",id:"3-reading-from-the-file",level:4},{value:"4. Closing the file",id:"4-closing-the-file",level:4},{value:"Step 3: Calculating The Ticket Fee",id:"step-3-calculating-the-ticket-fee",level:2},{value:"Multipliers & Road Types",id:"multipliers--road-types",level:3},{value:"table",id:"table",level:4},{value:"Step 4: Writing The Ticket Information To a File",id:"step-4-writing-the-ticket-information-to-a-file",level:2},{value:"Output File Format",id:"output-file-format",level:3},{value:"template",id:"template",level:4},{value:"output corresponding to the input file",id:"output-corresponding-to-the-input-file",level:4},{value:"Comparing Dates",id:"comparing-dates",level:3},{value:"hints",id:"hints",level:4},{value:"Requirements",id:"requirements",level:2},{value:"MAKE SURE IT COMPILES AND RUNS",id:"make-sure-it-compiles-and-runs",level:3},{value:"References",id:"references",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",del:"del",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"speeding-ticket-calculator",children:"Speeding Ticket Calculator"}),"\n",(0,n.jsx)(t.p,{children:"A speeding ticket calculator that reads from a file."}),"\n",(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsxs)(t.p,{children:["In this lab, we'll be calculating a fine for several speeding tickets, and then outputting that fine as a report. The caveat to this lab is that the ticket we read is an actual file on the computer. So we'll be familiarizing ourselves with a few new concepts, such as reading from a file and using the ",(0,n.jsx)(t.code,{children:"fstream"})," class."]}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"fstream"})," is ",(0,n.jsx)(t.code,{children:"iostream"})," but for files"]})}),"\n",(0,n.jsxs)(t.p,{children:["I want you to think of ",(0,n.jsx)(t.code,{children:"fstream"})," as the same thing as ",(0,n.jsx)(t.code,{children:"iostream"})," but for files. The two work almost identically, just slight variations. Similar to ",(0,n.jsx)(t.code,{children:"cout"})," and ",(0,n.jsx)(t.code,{children:"cin"}),", ",(0,n.jsx)(t.code,{children:"fstream"})," has ",(0,n.jsx)(t.code,{children:"ifstream"})," and ",(0,n.jsx)(t.code,{children:"ofstream"}),". ",(0,n.jsx)(t.code,{children:"ifstream"})," is for reading from a file, and ",(0,n.jsx)(t.code,{children:"ofstream"})," is for writing to a file. We'll be using both in this lab."]}),"\n",(0,n.jsx)(t.p,{children:":::"}),"\n",(0,n.jsx)(t.h2,{id:"step-1-reading-input",children:"Step 1: Reading input"}),"\n",(0,n.jsx)(t.p,{children:"The first part of this program prompts the user for the information needed to calculate the fine. The program should prompt the user for the following information, and store them in the appropriate variables:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Ticket File"})," - The ",(0,n.jsx)(t.strong,{children:"name"})," of the file containing the ticket information. This will be the name of an ",(0,n.jsx)(t.em,{children:"actual file"})," on the computer. More on that later. Its type is a ",(0,n.jsx)(t.code,{children:"string"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Report File"})," - The ",(0,n.jsx)(t.strong,{children:"name"})," of the file that the final report will be written to. This will be the name of an ",(0,n.jsx)(t.em,{children:"actual file"})," on the computer. More on that later. Its type is a ",(0,n.jsx)(t.code,{children:"string"}),"."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:'The Ticket and Report "File"'})}),"\n",(0,n.jsxs)(t.p,{children:["In this program, you will be opening a text file that the user specifies to be opened, and you will read from it. The name of the file is a ",(0,n.jsx)(t.code,{children:"string"})," that the user will input. In other words, the input they give us is not a file, it's a file name that exists on the computer that you will open with ",(0,n.jsx)(t.code,{children:"fstream"}),"."]}),"\n",(0,n.jsx)(t.p,{children:":::"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Report Start Date"})," - name is self-explanatory. Just know that the format is ",(0,n.jsx)(t.code,{children:"mm dd yyyy"}),", and it should actually consist of 3 separate values, each of which is an ",(0,n.jsx)(t.code,{children:"int"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Report End Date"})," - same as above, but for the end date."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"example-1",children:"Example 1"}),"\n",(0,n.jsx)(t.p,{children:"Here's an example of the prompt output"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:'Enter a ticket file: ticket // ticket file is "ticket"\nEnter report start date (mm dd yyyy): 7 1 2017 // three int\'s separated by spaces\nEnter report end date (mm dd yyyy): 8 11 2018\n'})}),"\n",(0,n.jsxs)(t.p,{children:["You should already know how to read info from ",(0,n.jsx)(t.code,{children:"stdin"})," (the name we use for the keyboard basically). We can just use ",(0,n.jsx)(t.code,{children:"cin"}),". A ",(0,n.jsx)(t.em,{children:"little hint"})," though to make your life easier is that you can read multiple values into multiple variables with just one ",(0,n.jsx)(t.code,{children:"cin"}),". This is because ",(0,n.jsx)(t.code,{children:"cin"}),' by default recognizes spaces as "delimiters", which is just a fancy word for things that separate other things.']}),"\n",(0,n.jsx)(t.p,{children:"The example below shows a use case for this:"}),"\n",(0,n.jsx)(t.h3,{id:"example-2",children:"Example 2"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"int v1, v2, v3;\n\ncin >> v1 >> v2 >> v3\n"})}),"\n",(0,n.jsxs)(t.p,{children:["This will read 3 values from ",(0,n.jsx)(t.code,{children:"stdin"})," and store them in ",(0,n.jsx)(t.code,{children:"v1"}),", ",(0,n.jsx)(t.code,{children:"v2"}),", and ",(0,n.jsx)(t.code,{children:"v3"})," respectively. You can use this to read the 3 values for the report start date in one line."]}),"\n",(0,n.jsx)(t.h2,{id:"step-2-file-input",children:"Step 2: File Input"}),"\n",(0,n.jsxs)(t.p,{children:['As previously mentioned, the ticket "file" we get from the user input is the ',(0,n.jsx)(t.em,{children:"name"})," of the file we are to open on the computer. Interacting with files is almost the exact same as normal I/O (input/output), except that we have to do a little bit of setup first. We'll be using the ",(0,n.jsx)(t.code,{children:"fstream"})," library for this, which is a subset of the ",(0,n.jsx)(t.code,{children:"iostream"})," library. We'll be using the ",(0,n.jsx)(t.code,{children:"ifstream"})," class from the ",(0,n.jsx)(t.code,{children:"fstream"})," library to read from the file."]}),"\n",(0,n.jsx)(t.h3,{id:"input-file-format",children:"Input File Format"}),"\n",(0,n.jsxs)(t.p,{children:["Luckily the input file will adhere to a very specific format, so we can consistently read any file the same way every time and parse it accordingly. The format is as follows ",(0,n.jsx)(t.em,{children:"(excluding the brackets)"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"<citation number> <month> <day> <year> <clocked speed> <speed limit> <type of road>\n"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Citation Number"})," - a ",(0,n.jsx)(t.code,{children:"string"})," that represents the citation number (yes, it's a ",(0,n.jsx)(t.code,{children:"string"}),"). This is the first value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Month"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the month the ticket was issued. This is the second value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Day"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the day the ticket was issued. This is the third value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Year"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the year the ticket was issued. This is the fourth value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Clocked Speed"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the speed the driver was clocked at. This is the fifth value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Speed Limit"})," - An ",(0,n.jsx)(t.code,{children:"int"})," that represents the speed limit of the road. This is the sixth value in the file."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Type of Road"})," - A ",(0,n.jsx)(t.code,{children:"char"})," that represents the type of road the ticket was issued on. This is the seventh value in the file."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["One caveat here is that the year can be in the format of ",(0,n.jsx)(t.code,{children:"yyyy"})," or ",(0,n.jsx)(t.code,{children:"yy"}),". If it's in the format of ",(0,n.jsx)(t.code,{children:"yy"}),", then it should be interpreted as ",(0,n.jsx)(t.code,{children:"20yy"}),". For example, if the year is ",(0,n.jsx)(t.code,{children:"17"}),", then it should be interpreted as ",(0,n.jsx)(t.code,{children:"2017"}),", since in the final output we print the full year, and for this lab every year is assumed to be within the 21st century."]}),"\n",(0,n.jsx)(t.h4,{id:"input-file-example",children:"input file example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"E059564 8 12 2018 89 55 i\nE515522 7 3 2017 105 50 r\nE712221 6 4 2015 200 25 h\nE219221 12 25 17 2000 10 p\n"})}),"\n",(0,n.jsxs)(t.p,{children:["The above text is what is actually inside the input file. Notice how each line conforms to the ",(0,n.jsx)(t.a,{href:"#input-file-format",children:"format I mentioned"}),". Each line is a ticket, and each ticket is composed of 7 values, separated by spaces, just like I listed above."]}),"\n",(0,n.jsxs)(t.h3,{id:"reading-the-file-and-the-fstream-library",children:["Reading The File and The ",(0,n.jsx)(t.code,{children:"fstream"})," Library"]}),"\n",(0,n.jsxs)(t.p,{children:["As I mentioned ",(0,n.jsx)(t.a,{href:"#Introduction",children:"here"}),", ",(0,n.jsx)(t.code,{children:"fstream"})," is the file equivalent of ",(0,n.jsx)(t.code,{children:"iostream"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"cin"})," is to ",(0,n.jsx)(t.code,{children:"iostream"})," as ",(0,n.jsx)(t.code,{children:"ifstream"})," is to ",(0,n.jsx)(t.code,{children:"fstream"}),". You can think of ",(0,n.jsx)(t.code,{children:"cin"})," as just a ",(0,n.jsx)(t.em,{children:"pre-defined"})," keyword that we can use to easily read from ",(0,n.jsx)(t.code,{children:"stdin"})," (the technical term for the keyboard, basically). ",(0,n.jsx)(t.code,{children:"ifstream"})," is almost the exact same as ",(0,n.jsx)(t.code,{children:"cin"}),", but it's not pre-defined, and it's used to read from a file instead of ",(0,n.jsx)(t.code,{children:"stdin"})," (the keyboard)."]}),"\n",(0,n.jsx)(t.p,{children:"In general, these are the steps to reading a file:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Create an ",(0,n.jsx)(t.code,{children:"ifstream"})," object. This is the object that will be used to read from the file. You can think of it as a file handle. When you make a ",(0,n.jsx)(t.code,{children:"string"})," in C++, you use the ",(0,n.jsx)(t.code,{children:"string"})," keyword. When you make an ",(0,n.jsx)(t.code,{children:"ifstream"})," object, you use the ",(0,n.jsx)(t.code,{children:"ifstream"})," keyword."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Open the file using the ",(0,n.jsx)(t.code,{children:"ifstream"})," object. This is done using the ",(0,n.jsx)(t.code,{children:"open()"})," method. This method takes in a ",(0,n.jsx)(t.code,{children:"string"})," argument that represents the name of the file. ",(0,n.jsx)(t.strong,{children:"This is the same name that the user entered in the prompt"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Read from the file using the ",(0,n.jsx)(t.code,{children:"ifstream"})," object. This is done using the ",(0,n.jsx)(t.code,{children:">>"}),' operator. This operator is "overloaded" to read from a file, and it works the same way as ',(0,n.jsx)(t.code,{children:"cin"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Close the file once we are done reading using the ",(0,n.jsx)(t.code,{children:"ifstream"})," object. This is done using the ",(0,n.jsx)(t.code,{children:"close()"})," method. This method takes no arguments."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.h4,{id:"include-fstream",children:["Include ",(0,n.jsx)(t.code,{children:"fstream"})]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"#include<fstream>\n"})}),"\n",(0,n.jsxs)(t.h4,{id:"1-creating-the-ifstream-object",children:["1. Creating the ",(0,n.jsx)(t.code,{children:"ifstream"})," object"]}),"\n",(0,n.jsxs)(t.p,{children:["By convention, we name the ",(0,n.jsx)(t.code,{children:"ifstream"})," object ",(0,n.jsx)(t.code,{children:"fin"}),". This is because ",(0,n.jsx)(t.code,{children:"fin"}),' is short for "file input", just like ',(0,n.jsx)(t.code,{children:"cin"}),' is short for "console input". You can name it whatever you want, but I recommend you use ',(0,n.jsx)(t.code,{children:"fin"})," for consistency."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:'// can be invoked in a number of ways\n\nifstream fin; // creates a blank ifstream handle\n\n// or\n\nifstream fin("file_to_open"); /* creates an ifstream handle\n that automatically opens the file */\n'})}),"\n",(0,n.jsx)(t.admonition,{type:"note",children:(0,n.jsxs)(t.p,{children:["In the above example, ",(0,n.jsx)(t.code,{children:'"file_to_open"'})," is the name of the file we want to open. In your code, you'll replace that string-",(0,n.jsx)(t.em,{children:"literal"}),' (i.e. an "in-place" ',(0,n.jsx)(t.code,{children:"string"}),") with the ",(0,n.jsx)(t.code,{children:"string"})," ",(0,n.jsx)(t.em,{children:"variable"})," that holds the name of the file you prompted the user for in step 1."]})}),"\n",(0,n.jsx)(t.h4,{id:"2-opening-the-file",children:"2. Opening the file"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"// opens the file.\n// can be skipped if the ifstream object was created with a file name\nfin.open(\"file_to_open\");\n\n// check to make sure the file is open by our program.\n// if it isn't, then we can't read from it\n\nif (!fin.is_open()) {\n // print error and exit\n}\n"})}),"\n",(0,n.jsx)(t.h4,{id:"3-reading-from-the-file",children:"3. Reading from the file"}),"\n",(0,n.jsxs)(t.p,{children:["After the file is opened, reading from the file is ",(0,n.jsx)(t.em,{children:"the same"})," as reading with ",(0,n.jsx)(t.code,{children:"cin"}),". Again, the only difference is that we use the ",(0,n.jsx)(t.code,{children:"ifstream"})," object instead of ",(0,n.jsx)(t.code,{children:"cin"}),", because the contents of a file are being read instead of the keyboard."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"// read from the file.\n// can be done in a number of ways\n\nint v1, v2, v3;\n\n// reads 3 values from the file and stores them in v1, v2, and v3\nfin >> v1 >> v2 >> v3;\n\n// or\n\nint v1, v2, v3;\n\nfin >> v1; // reads 1 value from the file and stores it in v1\n\nfin >> v2; // reads 1 value from the file and stores it in v2\n\nfin >> v3; // reads 1 value from the file and stores it in v3\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Keep in mind that ",(0,n.jsx)(t.code,{children:"fin"})," is a ",(0,n.jsx)(t.em,{children:"stream"}),' object, which means it is reading from the file as a continuous "stream" and "delimiting" the values based on the spaces in the file. Every time a space is encountered, the ',(0,n.jsx)(t.code,{children:"fin"})," object will stop reading and store the value it read so far in the variable you specified."]}),"\n",(0,n.jsx)(t.h4,{id:"4-closing-the-file",children:"4. Closing the file"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:"// closes the file\nfin.close();\n"})}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Always close the file when you're done reading!"})}),"\n",(0,n.jsx)(t.h2,{id:"step-3-calculating-the-ticket-fee",children:"Step 3: Calculating The Ticket Fee"}),"\n",(0,n.jsx)(t.admonition,{title:"Calculating as you read",type:"note",children:(0,n.jsx)(t.p,{children:"Each time you read a single line from the file, you should calculate everything for that line, and then move to the next line and repeat the process."})}),"\n",(0,n.jsx)(t.p,{children:"Now that we have the ticket information, we can calculate the fee for each ticket. The fee is calculated using two variables"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["The initial fee of the ticket is calculated by subtracting the ",(0,n.jsx)(t.strong,{children:"speed limit"})," from the ",(0,n.jsx)(t.strong,{children:"clocked speed"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["A ",(0,n.jsx)(t.strong,{children:"multiplier"})," that is determined based on the ",(0,n.jsx)(t.strong,{children:"type of road"})," the ticket was issued on, and then multiplied by the initial fee."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"multipliers--road-types",children:"Multipliers & Road Types"}),"\n",(0,n.jsxs)(t.p,{children:["Each multiplier should be stored as a ",(0,n.jsx)(t.code,{children:"const double"})," variable. They will never change, and we know them at compile time, which is why we can use ",(0,n.jsx)(t.code,{children:"const"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["Recall that the type of road is the last character in the ticket information. The type of road is represented by a single character, which is why we can use a ",(0,n.jsx)(t.code,{children:"char"})," variable to store it. So once you've read your line, you should determine which multiplier to use based on the type of road. Here's a table that shows the mapping between the type of road and the multiplier:"]}),"\n",(0,n.jsx)(t.h4,{id:"table",children:"table"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"type of road"}),(0,n.jsx)(t.th,{children:"multiplier"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"i(nterstate)"}),(0,n.jsx)(t.td,{children:"5.2243"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"h(ighway)"}),(0,n.jsx)(t.td,{children:"9.4312"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"r(esidential)"}),(0,n.jsx)(t.td,{children:"17.2537"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"p(none of the above)"}),(0,n.jsx)(t.td,{children:"12.916"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Use a switch statement to determine which multiplier to use to calculate the fine."}),"\n",(0,n.jsx)(t.p,{children:"This part is pretty straightforward, so I won't go into too much detail."}),"\n",(0,n.jsx)(t.h2,{id:"step-4-writing-the-ticket-information-to-a-file",children:"Step 4: Writing The Ticket Information To a File"}),"\n",(0,n.jsxs)(t.p,{children:["Now that we have the ticket information, we can write it into a file. Since we're writing to a file, we'll need to use an ",(0,n.jsx)(t.code,{children:"ofstream"})," object. This is the same as the ",(0,n.jsx)(t.code,{children:"ifstream"})," object, except it's used for writing to a file instead of reading from a file. As I mentioned previously, ",(0,n.jsx)(t.code,{children:"ofstream"})," is basically ",(0,n.jsx)(t.code,{children:"cout"})," for files. I went over ",(0,n.jsx)(t.code,{children:"ifstream"})," in great detail, so you can probably figure out how to use ",(0,n.jsx)(t.code,{children:"ofstream"})," on your own. I'll show you how to open a file though since it's the only difference."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-cpp",children:'// ofstream will automatically create the file if it doesn\'t exist\nofstream fout("file_to_open.txt");\n'})}),"\n",(0,n.jsxs)(t.p,{children:["Of course, you'll replace ",(0,n.jsx)(t.code,{children:'"file_to_open"'})," with the name of the output file the user gave us earlier. You can also open the file using the ",(0,n.jsx)(t.code,{children:"open()"})," method, but I prefer to use the constructor."]}),"\n",(0,n.jsx)(t.h3,{id:"output-file-format",children:"Output File Format"}),"\n",(0,n.jsx)(t.p,{children:"Similar to the input file, the output file will be in a particular format."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Day"})," - The day the ticket was issued. This is the third value in the input file."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Month"})," - The month the ticket was issued, represented by a 3-letter abbreviation. This is the second value in the input file."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Year"})," - The year the ticket was issued. This is the fourth value in the input file and is in the format ",(0,n.jsx)(t.code,{children:"yyyy"})," ",(0,n.jsx)(t.em,{children:"OR"})," ",(0,n.jsx)(t.code,{children:"yy"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Citation"})," - The citation number (not a number). This is the first value in the input file."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Fine"})," - The fine you calculated for the ticket based on the speed and road type."]}),"\n"]}),"\n",(0,n.jsx)(t.h4,{id:"template",children:"template"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"<day>-<3-character Month>-<Year> <citation> $<fine>\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Here are the formatting specifications such as width, justification, precision, etc (according to Canvas). ",(0,n.jsx)(t.strong,{children:"Read them carefully"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"1. The day must be exactly two digits. If the day is 1 - 9, it must be 01 - 09.\n2. The 3-character month must be the three-character month: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, or Dec.\n3. The year is simply a 2 or 4 digit year. If the year is only two digits, assume the 21st century. For example, year 10 will be the year 2010.\n4. The citation is exactly the citation given in the input file, but it will be in a left justified field, 10 characters wide.\n5. The $ must follow the citation field.\n6. The fine will be a dollar amount in a right justified field, 9 characters wide.\n7. You will only output those citations that occur between the given report start date and end dates (inclusively).\n"})}),"\n",(0,n.jsx)(t.h4,{id:"output-corresponding-to-the-input-file",children:"output corresponding to the input file"}),"\n",(0,n.jsx)(t.p,{children:"Here's an example of the output for the example file shown earlier:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-txt",children:"03-Jul-2017 E515522 $ 948.95\n25-Dec-2017 E219221 $ 25702.84\n"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Extremely Important"})," - The resulting report only contains tickets that were issued between the start and end date specified in the initial prompt. You must do some math to determine which tickets fall between the start and end dates. This is the most difficult part of the assignment, but it's still pretty straightforward. You'll need to compare the date of each ticket to the start and end date. If the ticket date is between the start and end date (inclusive), then it should be printed. If it isn't, then it should be skipped."]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"comparing-dates",children:"Comparing Dates"}),"\n",(0,n.jsx)(t.p,{children:"There are a bunch of ways to compare dates. Some of them are simpler than others but maybe not as intuitive, whereas others are more verbose but easier to understand. I'm not going to describe the methods here outside of a couple of hints to lead you in the right direction (there's always office hours/Discord/Google if you get stuck)"}),"\n",(0,n.jsx)(t.h4,{id:"hints",children:"hints"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"More verbose but easier to understand: You can compare the date you've read to the date range by checking each component of the date, starting at the widest scope (year) and working your way down to the smallest scope (day)."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Less verbose but more difficult to understand: You can convert the date to a single number, and compare the number to the date range. This might not be as intuitive, but it's less typing than the former."}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Just keep in mind that the date range given is inclusive. So if a ticket date is exactly equal to the start/end date, then it still falls within the range."}),"\n",(0,n.jsx)(t.h2,{id:"requirements",children:"Requirements"}),"\n",(0,n.jsx)(t.p,{children:"As usual, your program needs to adhere to the general requirements like proper indentation, variable naming, header, etc. But other than that, there are a few specific requirements that you need to follow."}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use ",(0,n.jsx)(t.code,{children:"iomanip"})," to restrict the day output to 2 digits, and the year output to 4 digits."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use ",(0,n.jsx)(t.code,{children:"iomanip"})," to restrict the fine output to 2 decimal places."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use a ",(0,n.jsx)(t.code,{children:"const string"})," array (",(0,n.jsx)(t.strong,{children:"NOT"})," a ",(0,n.jsx)(t.code,{children:"vector"}),") to store the 3-letter month abbreviations. (Note the relationship between the month number and the index in the array.)"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use ",(0,n.jsx)(t.code,{children:"const double"}),"s for each fine multiplier and a ",(0,n.jsx)(t.code,{children:"switch"})," statement to determine the multiplier used in the calculation based on the road type."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["You must use ",(0,n.jsx)(t.code,{children:"iomanip"})," for formatting the output (e.g. justification)"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["All fines must be ",(0,n.jsx)(t.code,{children:"\u2265"})," ",(0,n.jsx)(t.code,{children:"$0.00"}),". If the fine is less than ",(0,n.jsx)(t.code,{children:"$0.00"}),", then round to ",(0,n.jsx)(t.code,{children:"$0"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"If you attempt to open a file that does not exist, then you should print an error message and exit the program."}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"make-sure-it-compiles-and-runs",children:"MAKE SURE IT COMPILES AND RUNS"}),"\n",(0,n.jsxs)(t.p,{children:["The program you turn in must compile and run on the lab machines using ",(0,n.jsx)(t.em,{children:"this exact command:"})]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"g++ -Wall -O0 -g -std=c++11 -o speeding speeding.cpp\n"})}),"\n",(0,n.jsxs)(t.p,{children:["If it doesn't compile with that exactly, you ",(0,n.jsx)(t.em,{children:"will"})," ",(0,n.jsx)(t.del,{children:"almost certainly"})," get a ",(0,n.jsx)(t.strong,{children:"0"}),". If you're having trouble getting it to compile, then you should ask for help on Discord or in office hours."]}),"\n",(0,n.jsx)(t.h2,{id:"references",children:"References"}),"\n",(0,n.jsx)(t.p,{children:"I've compiled a list of references if you get stuck on something and want easy access to information that might help you."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://www.tutorialspoint.com/cpp_standard_library/iomanip.htm",children:"Iomanip stuff"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://www.tutorialspoint.com/cplusplus/cpp_files_streams.htm",children:"fstream stuff"})}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1151:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>l});var n=i(7294);const s={},r=n.createContext(s);function l(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b41dfcf6.0e0559e7.js b/assets/js/de2bb28d.681a3aa2.js similarity index 54% rename from assets/js/b41dfcf6.0e0559e7.js rename to assets/js/de2bb28d.681a3aa2.js index 61b8c0bc..dcd8d05b 100644 --- a/assets/js/b41dfcf6.0e0559e7.js +++ b/assets/js/de2bb28d.681a3aa2.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7616],{3050:e=>{e.exports=JSON.parse('{"permalink":"/cs102-writeups/blog/tags/hello","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[9223],{2487:o=>{o.exports=JSON.parse('{"permalink":"/cs102-handbook/blog/tags/hello","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/925b3f96.c54c6dfe.js b/assets/js/e273c56f.7f89f91b.js similarity index 54% rename from assets/js/925b3f96.c54c6dfe.js rename to assets/js/e273c56f.7f89f91b.js index 4dc51677..1cb60b63 100644 --- a/assets/js/925b3f96.c54c6dfe.js +++ b/assets/js/e273c56f.7f89f91b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[9003],{3902:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>n,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>u,toc:()=>l});var s=o(5893),a=o(1151);const i={slug:"first-blog-post",title:"First Blog Post",authors:{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png"},tags:["hola","docusaurus"]},r=void 0,u={permalink:"/cs102-writeups/blog/first-blog-post",source:"@site/blog/2019-05-28-first-blog-post.md",title:"First Blog Post",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet",date:"2019-05-28T00:00:00.000Z",formattedDate:"May 28, 2019",tags:[{label:"hola",permalink:"/cs102-writeups/blog/tags/hola"},{label:"docusaurus",permalink:"/cs102-writeups/blog/tags/docusaurus"}],readingTime:.12,hasTruncateMarker:!1,authors:[{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png",imageURL:"https://github.com/wgao19.png"}],frontMatter:{slug:"first-blog-post",title:"First Blog Post",authors:{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png",imageURL:"https://github.com/wgao19.png"},tags:["hola","docusaurus"]},unlisted:!1,prevItem:{title:"Long Blog Post",permalink:"/cs102-writeups/blog/long-blog-post"}},n={authorsImageUrls:[void 0]},l=[];function c(t){const e={p:"p",...(0,a.a)(),...t.components};return(0,s.jsx)(e.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})}function m(t={}){const{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},1151:(t,e,o)=>{o.d(e,{Z:()=>u,a:()=>r});var s=o(7294);const a={},i=s.createContext(a);function r(t){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function u(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:r(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2362],{9954:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>u,contentTitle:()=>i,default:()=>m,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var s=e(5893),a=e(1151);const n={slug:"first-blog-post",title:"First Blog Post",authors:{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png"},tags:["hola","docusaurus"]},i=void 0,r={permalink:"/cs102-handbook/blog/first-blog-post",source:"@site/blog/2019-05-28-first-blog-post.md",title:"First Blog Post",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet",date:"2019-05-28T00:00:00.000Z",formattedDate:"May 28, 2019",tags:[{label:"hola",permalink:"/cs102-handbook/blog/tags/hola"},{label:"docusaurus",permalink:"/cs102-handbook/blog/tags/docusaurus"}],readingTime:.12,hasTruncateMarker:!1,authors:[{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png",imageURL:"https://github.com/wgao19.png"}],frontMatter:{slug:"first-blog-post",title:"First Blog Post",authors:{name:"Gao Wei",title:"Docusaurus Core Team",url:"https://github.com/wgao19",image_url:"https://github.com/wgao19.png",imageURL:"https://github.com/wgao19.png"},tags:["hola","docusaurus"]},unlisted:!1,prevItem:{title:"Long Blog Post",permalink:"/cs102-handbook/blog/long-blog-post"}},u={authorsImageUrls:[void 0]},l=[];function c(t){const o={p:"p",...(0,a.a)(),...t.components};return(0,s.jsx)(o.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})}function m(t={}){const{wrapper:o}={...(0,a.a)(),...t.components};return o?(0,s.jsx)(o,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},1151:(t,o,e)=>{e.d(o,{Z:()=>r,a:()=>i});var s=e(7294);const a={},n=s.createContext(a);function i(t){const o=s.useContext(n);return s.useMemo((function(){return"function"==typeof t?t(o):{...o,...t}}),[o,t])}function r(t){let o;return o=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:i(t.components),s.createElement(n.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/32c80203.d3ec50eb.js b/assets/js/f1707f6a.2a6562fe.js similarity index 85% rename from assets/js/32c80203.d3ec50eb.js rename to assets/js/f1707f6a.2a6562fe.js index e4cdfad9..33221e9d 100644 --- a/assets/js/32c80203.d3ec50eb.js +++ b/assets/js/f1707f6a.2a6562fe.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[2368],{9100:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"welcome","metadata":{"permalink":"/cs102-writeups/blog/welcome","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","formattedDate":"August 26, 2021","tags":[{"label":"facebook","permalink":"/cs102-writeups/blog/tags/facebook"},{"label":"hello","permalink":"/cs102-writeups/blog/tags/hello"},{"label":"docusaurus","permalink":"/cs102-writeups/blog/tags/docusaurus"}],"readingTime":0.405,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"nextItem":{"title":"MDX Blog Post","permalink":"/cs102-writeups/blog/mdx-blog-post"}},"content":"[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).\\n\\nSimply add Markdown files (or folders) to the `blog` directory.\\n\\nRegular blog authors can be added to `authors.yml`.\\n\\nThe blog post date can be extracted from filenames, such as:\\n\\n- `2019-05-30-welcome.md`\\n- `2019-05-30-welcome/index.md`\\n\\nA blog post folder can be convenient to co-locate blog post images:\\n\\n![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)\\n\\nThe blog supports tags as well!\\n\\n**And if you don\'t want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config."},{"id":"mdx-blog-post","metadata":{"permalink":"/cs102-writeups/blog/mdx-blog-post","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","formattedDate":"August 1, 2021","tags":[{"label":"docusaurus","permalink":"/cs102-writeups/blog/tags/docusaurus"}],"readingTime":0.175,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/cs102-writeups/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/cs102-writeups/blog/long-blog-post"}},"content":"Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).\\n\\n:::tip\\n\\nUse the power of React to create interactive blog posts.\\n\\n```js\\n<button onClick={() => alert(\'button clicked!\')}>Click me!</button>\\n```\\n\\n<button onClick={() => alert(\'button clicked!\')}>Click me!</button>\\n\\n:::"},{"id":"long-blog-post","metadata":{"permalink":"/cs102-writeups/blog/long-blog-post","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","formattedDate":"May 29, 2019","tags":[{"label":"hello","permalink":"/cs102-writeups/blog/tags/hello"},{"label":"docusaurus","permalink":"/cs102-writeups/blog/tags/docusaurus"}],"readingTime":2.05,"hasTruncateMarker":true,"authors":[{"name":"Endilie Yacop Sucipto","title":"Maintainer of Docusaurus","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endi"}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"endi","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/cs102-writeups/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/cs102-writeups/blog/first-blog-post"}},"content":"This is the summary of a very long blog post,\\n\\nUse a `\x3c!--` `truncate` `--\x3e` comment to limit blog post size in the list view.\\n\\n\x3c!--truncate--\x3e\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"},{"id":"first-blog-post","metadata":{"permalink":"/cs102-writeups/blog/first-blog-post","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet","date":"2019-05-28T00:00:00.000Z","formattedDate":"May 28, 2019","tags":[{"label":"hola","permalink":"/cs102-writeups/blog/tags/hola"},{"label":"docusaurus","permalink":"/cs102-writeups/blog/tags/docusaurus"}],"readingTime":0.12,"hasTruncateMarker":false,"authors":[{"name":"Gao Wei","title":"Docusaurus Core Team","url":"https://github.com/wgao19","image_url":"https://github.com/wgao19.png","imageURL":"https://github.com/wgao19.png"}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":{"name":"Gao Wei","title":"Docusaurus Core Team","url":"https://github.com/wgao19","image_url":"https://github.com/wgao19.png","imageURL":"https://github.com/wgao19.png"},"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/cs102-writeups/blog/long-blog-post"}},"content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1224],{4349:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"welcome","metadata":{"permalink":"/cs102-handbook/blog/welcome","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","formattedDate":"August 26, 2021","tags":[{"label":"facebook","permalink":"/cs102-handbook/blog/tags/facebook"},{"label":"hello","permalink":"/cs102-handbook/blog/tags/hello"},{"label":"docusaurus","permalink":"/cs102-handbook/blog/tags/docusaurus"}],"readingTime":0.405,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"nextItem":{"title":"MDX Blog Post","permalink":"/cs102-handbook/blog/mdx-blog-post"}},"content":"[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).\\n\\nSimply add Markdown files (or folders) to the `blog` directory.\\n\\nRegular blog authors can be added to `authors.yml`.\\n\\nThe blog post date can be extracted from filenames, such as:\\n\\n- `2019-05-30-welcome.md`\\n- `2019-05-30-welcome/index.md`\\n\\nA blog post folder can be convenient to co-locate blog post images:\\n\\n![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)\\n\\nThe blog supports tags as well!\\n\\n**And if you don\'t want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config."},{"id":"mdx-blog-post","metadata":{"permalink":"/cs102-handbook/blog/mdx-blog-post","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","formattedDate":"August 1, 2021","tags":[{"label":"docusaurus","permalink":"/cs102-handbook/blog/tags/docusaurus"}],"readingTime":0.175,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/cs102-handbook/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/cs102-handbook/blog/long-blog-post"}},"content":"Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).\\n\\n:::tip\\n\\nUse the power of React to create interactive blog posts.\\n\\n```js\\n<button onClick={() => alert(\'button clicked!\')}>Click me!</button>\\n```\\n\\n<button onClick={() => alert(\'button clicked!\')}>Click me!</button>\\n\\n:::"},{"id":"long-blog-post","metadata":{"permalink":"/cs102-handbook/blog/long-blog-post","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","formattedDate":"May 29, 2019","tags":[{"label":"hello","permalink":"/cs102-handbook/blog/tags/hello"},{"label":"docusaurus","permalink":"/cs102-handbook/blog/tags/docusaurus"}],"readingTime":2.05,"hasTruncateMarker":true,"authors":[{"name":"Endilie Yacop Sucipto","title":"Maintainer of Docusaurus","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endi"}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"endi","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/cs102-handbook/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/cs102-handbook/blog/first-blog-post"}},"content":"This is the summary of a very long blog post,\\n\\nUse a `\x3c!--` `truncate` `--\x3e` comment to limit blog post size in the list view.\\n\\n\x3c!--truncate--\x3e\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"},{"id":"first-blog-post","metadata":{"permalink":"/cs102-handbook/blog/first-blog-post","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet","date":"2019-05-28T00:00:00.000Z","formattedDate":"May 28, 2019","tags":[{"label":"hola","permalink":"/cs102-handbook/blog/tags/hola"},{"label":"docusaurus","permalink":"/cs102-handbook/blog/tags/docusaurus"}],"readingTime":0.12,"hasTruncateMarker":false,"authors":[{"name":"Gao Wei","title":"Docusaurus Core Team","url":"https://github.com/wgao19","image_url":"https://github.com/wgao19.png","imageURL":"https://github.com/wgao19.png"}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":{"name":"Gao Wei","title":"Docusaurus Core Team","url":"https://github.com/wgao19","image_url":"https://github.com/wgao19.png","imageURL":"https://github.com/wgao19.png"},"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/cs102-handbook/blog/long-blog-post"}},"content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}]}')}}]); \ No newline at end of file diff --git a/assets/js/f4f34a3a.dac6819a.js b/assets/js/f4f34a3a.dac6819a.js new file mode 100644 index 00000000..5344794d --- /dev/null +++ b/assets/js/f4f34a3a.dac6819a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[8636],{743:(t,o,e)=>{e.r(o),e.d(o,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>u});var s=e(5893),n=e(1151);const r={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},a=void 0,c={permalink:"/cs102-handbook/blog/mdx-blog-post",source:"@site/blog/2021-08-01-mdx-blog-post.mdx",title:"MDX Blog Post",description:"Blog posts support Docusaurus Markdown features, such as MDX.",date:"2021-08-01T00:00:00.000Z",formattedDate:"August 1, 2021",tags:[{label:"docusaurus",permalink:"/cs102-handbook/blog/tags/docusaurus"}],readingTime:.175,hasTruncateMarker:!1,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},unlisted:!1,prevItem:{title:"Welcome",permalink:"/cs102-handbook/blog/welcome"},nextItem:{title:"Long Blog Post",permalink:"/cs102-handbook/blog/long-blog-post"}},l={authorsImageUrls:[void 0]},u=[];function i(t){const o={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,n.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.p,{children:["Blog posts support ",(0,s.jsx)(o.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,s.jsx)(o.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,s.jsxs)(o.admonition,{type:"tip",children:[(0,s.jsx)(o.p,{children:"Use the power of React to create interactive blog posts."}),(0,s.jsx)(o.pre,{children:(0,s.jsx)(o.code,{className:"language-js",children:"<button onClick={() => alert('button clicked!')}>Click me!</button>\n"})}),(0,s.jsx)("button",{onClick:()=>alert("button clicked!"),children:"Click me!"})]})]})}function d(t={}){const{wrapper:o}={...(0,n.a)(),...t.components};return o?(0,s.jsx)(o,{...t,children:(0,s.jsx)(i,{...t})}):i(t)}},1151:(t,o,e)=>{e.d(o,{Z:()=>c,a:()=>a});var s=e(7294);const n={},r=s.createContext(n);function a(t){const o=s.useContext(r);return s.useMemo((function(){return"function"==typeof t?t(o):{...o,...t}}),[o,t])}function c(t){let o;return o=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),s.createElement(r.Provider,{value:o},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f4f34a3a.fadc0030.js b/assets/js/f4f34a3a.fadc0030.js deleted file mode 100644 index b492071a..00000000 --- a/assets/js/f4f34a3a.fadc0030.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[8636],{743:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var s=o(5893),n=o(1151);const r={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},a=void 0,c={permalink:"/cs102-writeups/blog/mdx-blog-post",source:"@site/blog/2021-08-01-mdx-blog-post.mdx",title:"MDX Blog Post",description:"Blog posts support Docusaurus Markdown features, such as MDX.",date:"2021-08-01T00:00:00.000Z",formattedDate:"August 1, 2021",tags:[{label:"docusaurus",permalink:"/cs102-writeups/blog/tags/docusaurus"}],readingTime:.175,hasTruncateMarker:!1,authors:[{name:"S\xe9bastien Lorber",title:"Docusaurus maintainer",url:"https://sebastienlorber.com",imageURL:"https://github.com/slorber.png",key:"slorber"}],frontMatter:{slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},unlisted:!1,prevItem:{title:"Welcome",permalink:"/cs102-writeups/blog/welcome"},nextItem:{title:"Long Blog Post",permalink:"/cs102-writeups/blog/long-blog-post"}},u={authorsImageUrls:[void 0]},l=[];function i(t){const e={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,n.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:["Blog posts support ",(0,s.jsx)(e.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,s.jsx)(e.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,s.jsxs)(e.admonition,{type:"tip",children:[(0,s.jsx)(e.p,{children:"Use the power of React to create interactive blog posts."}),(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-js",children:"<button onClick={() => alert('button clicked!')}>Click me!</button>\n"})}),(0,s.jsx)("button",{onClick:()=>alert("button clicked!"),children:"Click me!"})]})]})}function p(t={}){const{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(i,{...t})}):i(t)}},1151:(t,e,o)=>{o.d(e,{Z:()=>c,a:()=>a});var s=o(7294);const n={},r=s.createContext(n);function a(t){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),s.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f5f14e19.b7316bd8.js b/assets/js/f5f14e19.88700502.js similarity index 80% rename from assets/js/f5f14e19.b7316bd8.js rename to assets/js/f5f14e19.88700502.js index 50d264e9..c4565eec 100644 --- a/assets/js/f5f14e19.b7316bd8.js +++ b/assets/js/f5f14e19.88700502.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1555],{1782:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var o=t(5893),s=t(1151);const i={sidebar_position:2},r="Windows Environment Setup",a={id:"environment-setup/windows",title:"Windows Environment Setup",description:"Setting up WSL, g++, and VSCode on Windows.",source:"@site/docs/environment-setup/windows.md",sourceDirName:"environment-setup",slug:"/environment-setup/windows",permalink:"/cs102-writeups/docs/environment-setup/windows",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"Sidebar",previous:{title:"Lab Machines Environment Setup",permalink:"/cs102-writeups/docs/environment-setup/lab-machines"},next:{title:"Mac Environment Setup",permalink:"/cs102-writeups/docs/environment-setup/mac"}},u={},c=[];function d(n){const e={a:"a",h1:"h1",p:"p",...(0,s.a)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"windows-environment-setup",children:"Windows Environment Setup"}),"\n",(0,o.jsx)(e.p,{children:"Setting up WSL, g++, and VSCode on Windows."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.a,{href:"https://youtu.be/dplZUDB1gg8?si=yIpNy-wJ7gH_0ePz",children:"Here"})," is a tutorial video by Ryan Peruski that will walk you through setting up WSL and vscode on Windows."]})]})}function p(n={}){const{wrapper:e}={...(0,s.a)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(d,{...n})}):d(n)}},1151:(n,e,t)=>{t.d(e,{Z:()=>a,a:()=>r});var o=t(7294);const s={},i=o.createContext(s);function r(n){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:r(n.components),o.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[1555],{1782:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var o=t(5893),s=t(1151);const i={sidebar_position:2},r="Windows Environment Setup",a={id:"environment-setup/windows",title:"Windows Environment Setup",description:"Setting up WSL, g++, and VSCode on Windows.",source:"@site/docs/environment-setup/windows.md",sourceDirName:"environment-setup",slug:"/environment-setup/windows",permalink:"/cs102-handbook/docs/environment-setup/windows",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"Sidebar",previous:{title:"Lab Machines Environment Setup",permalink:"/cs102-handbook/docs/environment-setup/lab-machines"},next:{title:"Mac Environment Setup",permalink:"/cs102-handbook/docs/environment-setup/mac"}},d={},c=[];function u(n){const e={a:"a",h1:"h1",p:"p",...(0,s.a)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"windows-environment-setup",children:"Windows Environment Setup"}),"\n",(0,o.jsx)(e.p,{children:"Setting up WSL, g++, and VSCode on Windows."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.a,{href:"https://youtu.be/dplZUDB1gg8?si=yIpNy-wJ7gH_0ePz",children:"Here"})," is a tutorial video by Ryan Peruski that will walk you through setting up WSL and vscode on Windows."]})]})}function p(n={}){const{wrapper:e}={...(0,s.a)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(u,{...n})}):u(n)}},1151:(n,e,t)=>{t.d(e,{Z:()=>a,a:()=>r});var o=t(7294);const s={},i=o.createContext(s);function r(n){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:r(n.components),o.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/fd10c177.3506ac3f.js b/assets/js/fd10c177.3506ac3f.js new file mode 100644 index 00000000..cfc4f001 --- /dev/null +++ b/assets/js/fd10c177.3506ac3f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7717],{6178:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var o=n(5893),s=n(1151);const r={},a="SSH and SCP Tutorial",c={id:"tutorials/ssh-and-scp",title:"SSH and SCP Tutorial",description:"How to log into the lab machines and transfer files to and from them.",source:"@site/docs/tutorials/ssh-and-scp.md",sourceDirName:"tutorials",slug:"/tutorials/ssh-and-scp",permalink:"/cs102-handbook/docs/tutorials/ssh-and-scp",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Tutorials",permalink:"/cs102-handbook/docs/category/tutorials"},next:{title:"Reference",permalink:"/cs102-handbook/docs/category/reference"}},i={},d=[];function l(t){const e={a:"a",h1:"h1",p:"p",...(0,s.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"ssh-and-scp-tutorial",children:"SSH and SCP Tutorial"}),"\n",(0,o.jsx)(e.p,{children:"How to log into the lab machines and transfer files to and from them."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.a,{href:"https://youtu.be/Rrodi8SfroA",children:"Tutorial video"})," by Ryan Peruski."]})]})}function u(t={}){const{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(l,{...t})}):l(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>c,a:()=>a});var o=n(7294);const s={},r=o.createContext(s);function a(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:a(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/fd10c177.c03138f9.js b/assets/js/fd10c177.c03138f9.js deleted file mode 100644 index eaa09427..00000000 --- a/assets/js/fd10c177.c03138f9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[7717],{6178:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>u});var s=n(5893),o=n(1151);const r={},a="SSH and SCP Tutorial",i={id:"tutorials/ssh-and-scp",title:"SSH and SCP Tutorial",description:"How to log into the lab machines and transfer files to and from them.",source:"@site/docs/tutorials/ssh-and-scp.md",sourceDirName:"tutorials",slug:"/tutorials/ssh-and-scp",permalink:"/cs102-writeups/docs/tutorials/ssh-and-scp",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"Sidebar",previous:{title:"Tutorials",permalink:"/cs102-writeups/docs/category/tutorials"},next:{title:"Reference",permalink:"/cs102-writeups/docs/category/reference"}},c={},u=[];function d(t){const e={a:"a",h1:"h1",p:"p",...(0,o.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h1,{id:"ssh-and-scp-tutorial",children:"SSH and SCP Tutorial"}),"\n",(0,s.jsx)(e.p,{children:"How to log into the lab machines and transfer files to and from them."}),"\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.a,{href:"https://youtu.be/Rrodi8SfroA",children:"Tutorial video"})," by Ryan Peruski."]})]})}function l(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(d,{...t})}):d(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>i,a:()=>a});var s=n(7294);const o={},r=s.createContext(o);function a(t){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:a(t.components),s.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/fdb0b976.bfd58855.js b/assets/js/fdb0b976.bfd58855.js new file mode 100644 index 00000000..3aa31aca --- /dev/null +++ b/assets/js/fdb0b976.bfd58855.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[4304],{1514:s=>{s.exports=JSON.parse('{"label":"docusaurus","permalink":"/cs102-handbook/blog/tags/docusaurus","allTagsPath":"/cs102-handbook/blog/tags","count":4,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/main.26a7457e.js b/assets/js/main.26a7457e.js deleted file mode 100644 index 88cf636e..00000000 --- a/assets/js/main.26a7457e.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.26a7457e.js.LICENSE.txt */ -(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"01baeee8":[()=>n.e(1518).then(n.t.bind(n,7345,19)),"~blog/default/cs-102-writeups-blog-tags-hola-8de.json",7345],"052f7cc6":[()=>n.e(3670).then(n.bind(n,1899)),"@site/docs/reference/vim-cheatsheet.md",1899],"09f618f3":[()=>n.e(6655).then(n.bind(n,7857)),"@site/docs/environment-setup/mac.md",7857],"0cb04183":[()=>n.e(6459).then(n.t.bind(n,7034,19)),"~docs/default/category-cs-102-writeupsdocs-sidebar-category-lab-walkthroughs-400.json",7034],"0dade157":[()=>n.e(9010).then(n.t.bind(n,6637,19)),"~blog/default/cs-102-writeups-blog-tags-facebook-c51-list.json",6637],"14eb3368":[()=>Promise.all([n.e(532),n.e(9817)]).then(n.bind(n,4228)),"@theme/DocCategoryGeneratedIndexPage",4228],17896441:[()=>Promise.all([n.e(532),n.e(7245),n.e(7918)]).then(n.bind(n,5154)),"@theme/DocItem",5154],"1df93b7f":[()=>n.e(3237).then(n.bind(n,9754)),"@site/src/pages/index.tsx",9754],"32c80203":[()=>n.e(2368).then(n.t.bind(n,9100,19)),"~blog/default/cs-102-writeups-blog-archive-429.json",9100],"3756ee02":[()=>n.e(7577).then(n.bind(n,1876)),"@site/docs/grading/cs102lings.md",1876],"3803d1ca":[()=>n.e(5853).then(n.bind(n,9355)),"@site/docs/lab-walkthroughs/bitset.md",9355],"38cdc210":[()=>n.e(997).then(n.t.bind(n,8308,19)),"~blog/default/cs-102-writeups-blog-tags-hello-f2d.json",8308],"3d9c95a4":[()=>n.e(2125).then(n.bind(n,4136)),"@site/docs/home.md",4136],"3eb90371":[()=>n.e(5439).then(n.t.bind(n,3769,19)),"/Users/abram/utk/ta/102/cs102-handbook/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"4b4c18fa":[()=>n.e(4826).then(n.bind(n,4446)),"@site/docs/in-class-lab-notes/mud-notes.md",4446],"4c37d77b":[()=>n.e(7669).then(n.t.bind(n,6967,19)),"~docs/default/category-cs-102-writeupsdocs-sidebar-category-in-class-lab-notes-253.json",6967],"4f208758":[()=>n.e(7055).then(n.bind(n,4290)),"@site/docs/lab-walkthroughs/calculator.md",4290],"5088ad93":[()=>n.e(6564).then(n.bind(n,4057)),"@site/docs/reference/vscode-tips.md",4057],54863624:[()=>n.e(3669).then(n.bind(n,7501)),"@site/docs/environment-setup/lab-machines.md",7501],"5638bbd0":[()=>n.e(7270).then(n.bind(n,7702)),"@site/docs/reference/discord.md",7702],59362658:[()=>n.e(2267).then(n.bind(n,7797)),"@site/blog/2021-08-01-mdx-blog-post.mdx",7797],"5a42a249":[()=>n.e(2086).then(n.t.bind(n,3068,19)),"~docs/default/category-cs-102-writeupsdocs-sidebar-category-environment-setup-8bb.json",3068],"5b44d179":[()=>n.e(7862).then(n.t.bind(n,6456,19)),"~blog/default/cs-102-writeups-blog-tags-facebook-c51.json",6456],"5e95c892":[()=>n.e(9661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6751470f":[()=>n.e(4111).then(n.t.bind(n,5810,19)),"~blog/default/cs-102-writeups-blog-tags-tags-7bc.json",5810],"6875c492":[()=>Promise.all([n.e(532),n.e(7245),n.e(130),n.e(8610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"6aa336ca":[()=>n.e(2920).then(n.bind(n,9891)),"@site/docs/grading/about-grading.md",9891],"705890f3":[()=>n.e(8016).then(n.t.bind(n,3411,19)),"~blog/default/cs-102-writeups-blog-tags-hola-8de-list.json",3411],"729ea7d2":[()=>n.e(3222).then(n.t.bind(n,925,19)),"~docs/default/category-cs-102-writeupsdocs-sidebar-category-debugging-9fd.json",925],"73664a40":[()=>n.e(3514).then(n.bind(n,1985)),"@site/blog/2019-05-29-long-blog-post.md",1985],"749f4ecd":[()=>n.e(2816).then(n.bind(n,905)),"@site/docs/reference/common-linux-commands.md",905],"7661071f":[()=>n.e(9642).then(n.bind(n,3174)),"@site/blog/2021-08-26-welcome/index.md?truncated=true",3174],"7b5231bb":[()=>n.e(486).then(n.bind(n,2710)),"@site/docs/in-class-lab-notes/bitset-notes.md",2710],"7faec263":[()=>n.e(4608).then(n.t.bind(n,4536,19)),"~docs/default/category-cs-102-writeupsdocs-sidebar-category-tutorials-3a7.json",4536],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"8717b14a":[()=>n.e(948).then(n.bind(n,7106)),"@site/blog/2019-05-29-long-blog-post.md?truncated=true",7106],"8ce383a0":[()=>n.e(3419).then(n.t.bind(n,3181,19)),"~docs/default/category-cs-102-writeupsdocs-sidebar-category-grading-f6c.json",3181],"8febbb3c":[()=>n.e(455).then(n.t.bind(n,5745,19)),"/Users/abram/utk/ta/102/cs102-handbook/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"90c318f4":[()=>n.e(7435).then(n.bind(n,316)),"@site/docs/lab-walkthroughs/bowling.md",316],"925b3f96":[()=>n.e(9003).then(n.bind(n,3902)),"@site/blog/2019-05-28-first-blog-post.md?truncated=true",3902],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9e2dff97":[()=>n.e(1373).then(n.t.bind(n,4469,19)),"/Users/abram/utk/ta/102/cs102-handbook/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"9e4087bc":[()=>n.e(3608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a3604fc6:[()=>n.e(7494).then(n.bind(n,1903)),"@site/docs/in-class-lab-notes/bowling-notes.md",1903],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(7245),n.e(130),n.e(3089)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a91fe783:[()=>n.e(9863).then(n.t.bind(n,8205,19)),"~blog/default/cs-102-writeups-blog-4f2.json",8205],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],af520d2c:[()=>n.e(6896).then(n.bind(n,1360)),"@site/docs/debugging/segmentation-faults.md",1360],b41dfcf6:[()=>n.e(7616).then(n.t.bind(n,3050,19)),"~blog/default/cs-102-writeups-blog-tags-hello-f2d-list.json",3050],b917d90f:[()=>n.e(775).then(n.bind(n,4527)),"@site/docs/lab-walkthroughs/ppm-manipulator.md",4527],c8824059:[()=>n.e(1722).then(n.bind(n,9104)),"@site/docs/in-class-lab-notes/boiling-water-notes.md",9104],ccc49370:[()=>Promise.all([n.e(532),n.e(7245),n.e(130),n.e(6103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],d0397398:[()=>n.e(3587).then(n.bind(n,248)),"@site/docs/reference/swap-files.md",248],d17ddf99:[()=>n.e(7989).then(n.t.bind(n,4377,19)),"~blog/default/cs-102-writeups-blog-tags-docusaurus-8dc.json",4377],d50067d7:[()=>n.e(1911).then(n.t.bind(n,9268,19)),"~blog/default/cs-102-writeups-blog-tags-docusaurus-8dc-list.json",9268],d62f1c6e:[()=>n.e(9697).then(n.bind(n,5550)),"@site/docs/in-class-lab-notes/sorting-algorithms.md",5550],d9f32620:[()=>n.e(1914).then(n.bind(n,8123)),"@site/blog/2021-08-26-welcome/index.md",8123],db0b8da5:[()=>n.e(7283).then(n.t.bind(n,7420,19)),"~docs/default/category-cs-102-writeupsdocs-sidebar-category-reference-f81.json",7420],dbb84cb5:[()=>n.e(3144).then(n.bind(n,9153)),"@site/docs/lab-walkthroughs/speeding-ticket-calculator.md",9153],e273c56f:[()=>n.e(2362).then(n.bind(n,9954)),"@site/blog/2019-05-28-first-blog-post.md",9954],f4f34a3a:[()=>n.e(8636).then(n.bind(n,743)),"@site/blog/2021-08-01-mdx-blog-post.mdx?truncated=true",743],f5f14e19:[()=>n.e(1555).then(n.bind(n,1782)),"@site/docs/environment-setup/windows.md",1782],fd10c177:[()=>n.e(7717).then(n.bind(n,6178)),"@site/docs/tutorials/ssh-and-scp.md",6178]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(9670),u=n(226);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(1772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,l.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],m=(0,c.Z)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(u.z,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const p=[{path:"/cs102-writeups/blog",component:d("/cs102-writeups/blog","f53"),exact:!0},{path:"/cs102-writeups/blog/archive",component:d("/cs102-writeups/blog/archive","eb8"),exact:!0},{path:"/cs102-writeups/blog/first-blog-post",component:d("/cs102-writeups/blog/first-blog-post","d75"),exact:!0},{path:"/cs102-writeups/blog/long-blog-post",component:d("/cs102-writeups/blog/long-blog-post","39c"),exact:!0},{path:"/cs102-writeups/blog/mdx-blog-post",component:d("/cs102-writeups/blog/mdx-blog-post","0ee"),exact:!0},{path:"/cs102-writeups/blog/tags",component:d("/cs102-writeups/blog/tags","0a9"),exact:!0},{path:"/cs102-writeups/blog/tags/docusaurus",component:d("/cs102-writeups/blog/tags/docusaurus","980"),exact:!0},{path:"/cs102-writeups/blog/tags/facebook",component:d("/cs102-writeups/blog/tags/facebook","7c4"),exact:!0},{path:"/cs102-writeups/blog/tags/hello",component:d("/cs102-writeups/blog/tags/hello","be1"),exact:!0},{path:"/cs102-writeups/blog/tags/hola",component:d("/cs102-writeups/blog/tags/hola","b49"),exact:!0},{path:"/cs102-writeups/blog/welcome",component:d("/cs102-writeups/blog/welcome","dd5"),exact:!0},{path:"/cs102-writeups/docs",component:d("/cs102-writeups/docs","191"),routes:[{path:"/cs102-writeups/docs",component:d("/cs102-writeups/docs","cd9"),routes:[{path:"/cs102-writeups/docs",component:d("/cs102-writeups/docs","b17"),routes:[{path:"/cs102-writeups/docs/category/debugging",component:d("/cs102-writeups/docs/category/debugging","e5b"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/category/environment-setup",component:d("/cs102-writeups/docs/category/environment-setup","eca"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/category/grading",component:d("/cs102-writeups/docs/category/grading","2a5"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/category/in-class-lab-notes",component:d("/cs102-writeups/docs/category/in-class-lab-notes","c42"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/category/lab-walkthroughs",component:d("/cs102-writeups/docs/category/lab-walkthroughs","5b0"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/category/reference",component:d("/cs102-writeups/docs/category/reference","215"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/category/tutorials",component:d("/cs102-writeups/docs/category/tutorials","4f2"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/debugging/segmentation-faults",component:d("/cs102-writeups/docs/debugging/segmentation-faults","2a8"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/environment-setup/lab-machines",component:d("/cs102-writeups/docs/environment-setup/lab-machines","5e5"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/environment-setup/mac",component:d("/cs102-writeups/docs/environment-setup/mac","d39"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/environment-setup/windows",component:d("/cs102-writeups/docs/environment-setup/windows","f91"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/grading/about-grading",component:d("/cs102-writeups/docs/grading/about-grading","c68"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/grading/cs102lings",component:d("/cs102-writeups/docs/grading/cs102lings","41f"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/home",component:d("/cs102-writeups/docs/home","7d6"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/in-class-lab-notes/bitset-notes",component:d("/cs102-writeups/docs/in-class-lab-notes/bitset-notes","565"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/in-class-lab-notes/boiling-water-notes",component:d("/cs102-writeups/docs/in-class-lab-notes/boiling-water-notes","e0b"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/in-class-lab-notes/bowling-notes",component:d("/cs102-writeups/docs/in-class-lab-notes/bowling-notes","fbb"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/in-class-lab-notes/mud-notes",component:d("/cs102-writeups/docs/in-class-lab-notes/mud-notes","cab"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/in-class-lab-notes/sorting-algorithms",component:d("/cs102-writeups/docs/in-class-lab-notes/sorting-algorithms","a2e"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/lab-walkthroughs/bitset",component:d("/cs102-writeups/docs/lab-walkthroughs/bitset","7a0"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/lab-walkthroughs/bowling",component:d("/cs102-writeups/docs/lab-walkthroughs/bowling","dad"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/lab-walkthroughs/calculator",component:d("/cs102-writeups/docs/lab-walkthroughs/calculator","638"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/lab-walkthroughs/ppm-manipulator",component:d("/cs102-writeups/docs/lab-walkthroughs/ppm-manipulator","38e"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/lab-walkthroughs/speeding-ticket-calculator",component:d("/cs102-writeups/docs/lab-walkthroughs/speeding-ticket-calculator","c52"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/reference/common-linux-commands",component:d("/cs102-writeups/docs/reference/common-linux-commands","f4d"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/reference/discord",component:d("/cs102-writeups/docs/reference/discord","d38"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/reference/swap-files",component:d("/cs102-writeups/docs/reference/swap-files","120"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/reference/vim-cheatsheet",component:d("/cs102-writeups/docs/reference/vim-cheatsheet","df8"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/reference/vscode-tips",component:d("/cs102-writeups/docs/reference/vscode-tips","e81"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-writeups/docs/tutorials/ssh-and-scp",component:d("/cs102-writeups/docs/tutorials/ssh-and-scp","743"),exact:!0,sidebar:"Sidebar"}]}]}]},{path:"/cs102-writeups/",component:d("/cs102-writeups/","fc7"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(3727),i=n(405),l=n(412);const s=[n(2497),n(3310),n(8320),n(2295)];var c=n(723),u=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5742),g=n(2263),h=n(4996),b=n(6668),y=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.Z)(),r=(0,v.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.Z)(),{pathname:r}=(0,u.TH)();return e+(0,x.applyTrailingSlash)((0,h.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function _(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,b.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(y.d,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(E,{}),(0,p.jsx)(S.Z,{tag:k.HX,locale:e}),(0,p.jsx)(m.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;function j(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var A=n(8934),L=n(8940),N=n(469);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=s.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,N.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(u.AW,{location:t,render:()=>e})})}}const I=D,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${M}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${z}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${z}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function $(){const{siteConfig:{baseUrl:e}}=(0,g.Z)();return(0,p.jsx)(p.Fragment,{children:!l.Z.canUseDOM&&(0,p.jsx)(m.Z,{children:(0,p.jsx)("script",{children:B(e)})})})}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.Z)(),{pathname:n}=(0,u.TH)();return t&&n===e?(0,p.jsx)($,{}):null}function q(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:a}}=(0,g.Z)(),o=(0,h.Z)(e),{htmlLang:i,direction:l}=a[r];return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("html",{lang:i,dir:l}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:o})]})}var H=n(4763),Z=n(2389);function G(){const e=(0,Z.Z)();return(0,p.jsx)(m.Z,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}function V(){const e=(0,d.H)(c.Z),t=(0,u.TH)();return(0,p.jsx)(H.Z,{children:(0,p.jsx)(L.M,{children:(0,p.jsxs)(A.t,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)(q,{}),(0,p.jsx)(_,{}),(0,p.jsx)(U,{}),(0,p.jsx)(I,{location:j(t),children:e})]}),(0,p.jsx)(G,{})]})})})}var W=n(6887);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(9670);const K=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.B6,{children:(0,p.jsx)(o.VK,{children:(0,p.jsx)(V,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};O(window.location.pathname).then(l)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/cs102-writeups/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/cs102-writeups/docs","mainDocId":"home","docs":[{"id":"debugging/segmentation-faults","path":"/cs102-writeups/docs/debugging/segmentation-faults","sidebar":"Sidebar"},{"id":"environment-setup/lab-machines","path":"/cs102-writeups/docs/environment-setup/lab-machines","sidebar":"Sidebar"},{"id":"environment-setup/mac","path":"/cs102-writeups/docs/environment-setup/mac","sidebar":"Sidebar"},{"id":"environment-setup/windows","path":"/cs102-writeups/docs/environment-setup/windows","sidebar":"Sidebar"},{"id":"grading/about-grading","path":"/cs102-writeups/docs/grading/about-grading","sidebar":"Sidebar"},{"id":"grading/cs102lings","path":"/cs102-writeups/docs/grading/cs102lings","sidebar":"Sidebar"},{"id":"home","path":"/cs102-writeups/docs/home","sidebar":"Sidebar"},{"id":"in-class-lab-notes/bitset-notes","path":"/cs102-writeups/docs/in-class-lab-notes/bitset-notes","sidebar":"Sidebar"},{"id":"in-class-lab-notes/boiling-water-notes","path":"/cs102-writeups/docs/in-class-lab-notes/boiling-water-notes","sidebar":"Sidebar"},{"id":"in-class-lab-notes/bowling-notes","path":"/cs102-writeups/docs/in-class-lab-notes/bowling-notes","sidebar":"Sidebar"},{"id":"in-class-lab-notes/mud-notes","path":"/cs102-writeups/docs/in-class-lab-notes/mud-notes","sidebar":"Sidebar"},{"id":"in-class-lab-notes/sorting-algorithms","path":"/cs102-writeups/docs/in-class-lab-notes/sorting-algorithms","sidebar":"Sidebar"},{"id":"lab-walkthroughs/bitset","path":"/cs102-writeups/docs/lab-walkthroughs/bitset","sidebar":"Sidebar"},{"id":"lab-walkthroughs/bowling","path":"/cs102-writeups/docs/lab-walkthroughs/bowling","sidebar":"Sidebar"},{"id":"lab-walkthroughs/calculator","path":"/cs102-writeups/docs/lab-walkthroughs/calculator","sidebar":"Sidebar"},{"id":"lab-walkthroughs/ppm-manipulator","path":"/cs102-writeups/docs/lab-walkthroughs/ppm-manipulator","sidebar":"Sidebar"},{"id":"lab-walkthroughs/speeding-ticket-calculator","path":"/cs102-writeups/docs/lab-walkthroughs/speeding-ticket-calculator","sidebar":"Sidebar"},{"id":"reference/common-linux-commands","path":"/cs102-writeups/docs/reference/common-linux-commands","sidebar":"Sidebar"},{"id":"reference/discord","path":"/cs102-writeups/docs/reference/discord","sidebar":"Sidebar"},{"id":"reference/swap-files","path":"/cs102-writeups/docs/reference/swap-files","sidebar":"Sidebar"},{"id":"reference/vim-cheatsheet","path":"/cs102-writeups/docs/reference/vim-cheatsheet","sidebar":"Sidebar"},{"id":"reference/vscode-tips","path":"/cs102-writeups/docs/reference/vscode-tips","sidebar":"Sidebar"},{"id":"tutorials/ssh-and-scp","path":"/cs102-writeups/docs/tutorials/ssh-and-scp","sidebar":"Sidebar"},{"id":"/category/environment-setup","path":"/cs102-writeups/docs/category/environment-setup","sidebar":"Sidebar"},{"id":"/category/tutorials","path":"/cs102-writeups/docs/category/tutorials","sidebar":"Sidebar"},{"id":"/category/reference","path":"/cs102-writeups/docs/category/reference","sidebar":"Sidebar"},{"id":"/category/grading","path":"/cs102-writeups/docs/category/grading","sidebar":"Sidebar"},{"id":"/category/in-class-lab-notes","path":"/cs102-writeups/docs/category/in-class-lab-notes","sidebar":"Sidebar"},{"id":"/category/lab-walkthroughs","path":"/cs102-writeups/docs/category/lab-walkthroughs","sidebar":"Sidebar"},{"id":"/category/debugging","path":"/cs102-writeups/docs/category/debugging","sidebar":"Sidebar"}],"draftIds":[],"sidebars":{"Sidebar":{"link":{"path":"/cs102-writeups/docs/home","label":"home"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.1.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.0"},"docusaurus-tailwindcss":{"type":"local"},"docusaurus-theme-live-codeblock":{"type":"package","name":"@docusaurus/theme-live-codeblock","version":"3.1.0"},"docusaurus-theme-mermaid":{"type":"package","name":"@docusaurus/theme-mermaid","version":"3.1.0"}}}');var c=n(5893);const u={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),l=n(3322),s=n(5893);function c(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(u,{error:t})]})}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(f,{fallback:()=>(0,s.jsx)(c,{error:t,tryAgain:n}),children:[(0,s.jsx)(o.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(c,{error:t,tryAgain:n})})]})}const p=e=>(0,s.jsx)(d,{...e});class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(405),a=n(5893);function o(e){return(0,a.jsx)(r.ql,{...e})}},3692:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(3727),o=n(8780),i=n(2263),l=n(3919),s=n(412),c=n(8138),u=n(4996),d=n(5893);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,u.C)(),x=(0,c.Z)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=p||f;const C=(0,l.Z)(E),_=E?.replace("pathname://","");let T=void 0!==_?(j=_,b&&(e=>e.startsWith("/"))(j)?k(j):j):void 0;var j;T&&C&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const A=(0,r.useRef)(!1),L=n?a.OL:a.rU,N=s.Z.canUseIntersectionObserver,R=(0,r.useRef)(),P=()=>{A.current||null==T||(window.docusaurus.preload(T),A.current=!0)};(0,r.useEffect)((()=>(!N&&C&&null!=T&&window.docusaurus.prefetch(T),()=>{N&&R.current&&R.current.disconnect()})),[R,T,N,C]);const O=T?.startsWith("#")??!1,D=!T||!C||O;return D||h||x.collectLink(T),D?(0,d.jsx)("a",{ref:S,href:T,...E&&!C&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,d.jsx)(L,{...y,onMouseEnter:P,onTouchStart:P,innerRef:e=>{S.current=e,N&&e&&C&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),R.current.observe(e))},to:T,...n&&{isActive:g,activeClassName:m}})}const f=r.forwardRef(p)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>s});var r=n(7294),a=n(5893);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},8138:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294);n(5893);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>g,gA:()=>p,_r:()=>u,Jo:()=>h,zh:()=>d,yW:()=>m,gB:()=>f});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const c={},u=()=>i("docusaurus-plugin-content-docs")??c,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return s(t,n)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(512),a=n(5999),o=n(6668),i=n(3692),l=n(8138);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(5893);function u(e){let{as:t,id:n,...u}=e;const d=(0,l.Z)(),{navbar:{hideOnScroll:p}}=(0,o.L)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.Z)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(5893);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},3322:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ct});var r=n(7294),a=n(512),o=n(4763),i=n(1944),l=n(6550),s=n(5999),c=n(5936),u=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(5281),b=n(9727);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(g,{className:y.skipToContent})}var w=n(6668),k=n(9689);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:a,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function _(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,a.Z)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function j(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,u.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,u.jsx)("div",{className:T.announcementBarPlaceholder}),(0,u.jsx)(_,{className:T.announcementBarContent}),o&&(0,u.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var A=n(2961),L=n(2466);var N=n(902),R=n(3102);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,A.e)(),t=(0,R.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,N.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,u.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function I(){const e=(0,r.useContext)(P);if(!e)throw new N.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,R.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=I();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(2949),z=n(2389);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,a.Z)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,a.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,a.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,a.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.I)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var V=n(1327);function W(){return(0,u.jsx)(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,A.e)();return(0,u.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(W,{}),(0,u.jsx)(G,{className:"margin-right--md"}),(0,u.jsx)(Q,{})]})}var K=n(3692),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...c}=e;const d=(0,X.Z)(r),p=(0,X.Z)(t),f=(0,X.Z)(a,{forcePrependBaseUrl:!0}),m=o&&a&&!(0,J.Z)(a),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[o,m&&(0,u.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return a?(0,u.jsx)(K.Z,{href:s?f:a,...c,...g}):(0,u.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...c,...g})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,u.jsx)(ne,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,a.Z)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,u.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),le=n(8596),se=n(2263);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const s=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,u.jsxs)("div",{ref:s,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:l.children??l.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ce,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),(0,u.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,a.Z)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,u.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ce,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var me=n(4711);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";const be=()=>null,ye={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,a.Z)(n,ye.navbarSearchContainer),children:t})}var we=n(143),ke=n(2802);var xe=n(373);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,se.Z)(),p=(0,me.l)(),{search:f,hash:m}=(0,l.TH)(),g=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,s.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...o,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(ge,{className:he}),h]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(ve,{className:n,children:(0,u.jsx)(be,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,u.jsx)(i,{className:(0,a.Z)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.vY)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,ke.lO)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,u.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:c,hash:d}=(0,l.TH)(),p=(0,we.Iw)(n),f=(0,we.gB)(n),{savePreferredVersionName:m}=(0,xe.J)(n),g=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...o],h=(0,ke.lO)(n)[0],b=t&&g.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,y=t&&g.length>1?void 0:Se(h).path;return g.length<=1?(0,u.jsx)(oe,{...i,mobile:t,label:b,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:b,to:y,items:g,isActive:r?()=>!1:void 0})}};function Ce(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ee[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(a,{...n})}function _e(){const e=(0,A.e)(),t=(0,w.L)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ce,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Te(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(s.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function je(){const e=0===(0,w.L)().navbar.items.length,t=I();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Te,{onClick:()=>t.hide()}),t.content]})}function Ae(){const e=(0,A.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(F,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(_e,{}),secondaryMenu:(0,u.jsx)(je,{})}):null}const Le={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ne(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function Re(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,A.e)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,L.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<o.current)return void n(!0);if(a.current)return void(a.current=!1);const l=r?.scrollY,s=document.documentElement.scrollHeight-o.current,c=window.innerHeight;l&&i>=l?n(!1):i+c<s&&n(!0)})),(0,c.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Le.navbarHideable,!d&&Le.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Ne,{onClick:i.toggle}),(0,u.jsx)(Ae,{})]})}var Pe=n(9690);const Oe="right";function De(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ie(){const{toggle:e,shown:t}=(0,A.e)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,s.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(De,{})})}const Fe={colorModeToggle:"colorModeToggle_DEke"};function Me(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(Pe.QW,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Ce,{...e})},t)))})}function ze(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Be(){const e=(0,A.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Oe)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,u.jsx)(ze,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(Ie,{}),(0,u.jsx)(W,{}),(0,u.jsx)(Me,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Me,{items:r}),(0,u.jsx)(G,{className:Fe.colorModeToggle}),!a&&(0,u.jsx)(ve,{children:(0,u.jsx)(be,{})})]})})}function $e(){return(0,u.jsx)(Re,{children:(0,u.jsx)(Be,{})})}function Ue(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.Z)(n),s=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(K.Z,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.Z)(r)&&(0,u.jsx)(te.Z,{})]})}function qe(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(Ue,{item:t})},t.href??t.to)}function He(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(qe,{item:e},t)))})]})}function Ze(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(He,{column:e},t)))})}function Ge(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ve(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(Ue,{item:t})}function We(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(Ve,{item:e}),t.length!==n+1&&(0,u.jsx)(Ge,{})]},n)))})})}function Qe(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(Ze,{columns:t}):(0,u.jsx)(We,{links:t})}var Ye=n(9965);const Ke={footerLogoLink:"footerLogoLink_DDai"};function Xe(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(Ye.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Je(e){let{logo:t}=e;return t.href?(0,u.jsx)(K.Z,{href:t.href,className:Ke.footerLogoLink,target:t.target,children:(0,u.jsx)(Xe,{logo:t})}):(0,u.jsx)(Xe,{logo:t})}function et(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function tt(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,u.jsx)("footer",{className:(0,a.Z)("footer bg-[#242526]",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function nt(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,u.jsx)(tt,{style:a,links:n&&n.length>0&&(0,u.jsx)(Qe,{links:n}),logo:r&&(0,u.jsx)(Je,{logo:r}),copyright:t&&(0,u.jsx)(et,{copyright:t})})}const rt=r.memo(nt),at=(0,N.Qc)([M.S,k.pl,L.OC,xe.L5,i.VC,function(e){let{children:t}=e;return(0,u.jsx)(R.n2,{children:(0,u.jsx)(A.M,{children:(0,u.jsx)(O,{children:t})})})}]);function ot(e){let{children:t}=e;return(0,u.jsx)(at,{children:t})}var it=n(2503);function lt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(it.Z,{as:"h1",className:"hero__title",children:(0,u.jsx)(s.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(Pe.Cw,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Pe.aG,{error:t})})]})})})}const st={mainWrapper:"mainWrapper_z2l0"};function ct(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,b.t)(),(0,u.jsxs)(ot,{children:[(0,u.jsx)(i.d,{title:l,description:s}),(0,u.jsx)(v,{}),(0,u.jsx)(j,{}),(0,u.jsx)($e,{}),(0,u.jsx)("div",{id:d,className:(0,a.Z)(h.k.wrapper.main,st.mainWrapper,r),children:(0,u.jsx)(o.Z,{fallback:e=>(0,u.jsx)(lt,{...e}),children:t})}),!n&&(0,u.jsx)(rt,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(3692),a=n(4996),o=n(2263),i=n(6668),l=n(9965),s=n(5893);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Z)(t.src),dark:(0,a.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,o.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,a.Z)(l?.href||"/"),m=n?"":t,g=l?.alt??m;return(0,s.jsxs)(r.Z,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(c,{logo:l,alt:g,imageClassName:u}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(5742),a=n(5893);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.Z,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7294),a=n(512),o=n(2389),i=n(2949);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(5893);function c(e){let{className:t,children:n}=e;const c=(0,o.Z)(),{colorMode:u}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function u(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(c,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>c,z:()=>b});var r=n(7294),a=n(412),o=n(469),i=n(1442),l=n(5893);const s="ease-in-out";function c(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function m(e){if(!a.Z.canUseDOM)return e?u:d}function g(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:s,children:a})}function h(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,c]=(0,r.useState)(t);return(0,o.Z)((()=>{t||i(!0)}),[t]),(0,o.Z)((()=>{a&&c(t)}),[a,t]),a?(0,l.jsx)(g,{...n,collapsed:s}):null}function b(e){let{lazy:t,...n}=e;const r=t?h:g;return(0,l.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>g,pl:()=>m});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668),s=n(5893);const c=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>b,S:()=>h});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668),s=n(5893);const c=r.createContext(void 0),u="theme",d=(0,i.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&g(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,s.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>b});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(2802),s=n(902),c=n(12),u=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function g(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return(0,u.jsx)(m.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return l.cE?(0,u.jsx)(h,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function y(){const e=(0,r.useContext)(m);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=y(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,b:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(l.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(l);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>m});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),l=n(902);function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(6668),u=n(5893);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,c.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const u=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=p();return(0,u.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>c,n2:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!a.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{MN:()=>T,LM:()=>m,_F:()=>y,cE:()=>p,jA:()=>g,xz:()=>f,SN:()=>_,lO:()=>S,vY:()=>C,oz:()=>E,s1:()=>x,f:()=>w});var r=n(7294),a=n(6550),o=n(8790),i=n(143),l=n(373),s=n(4477),c=n(1116);function u(e){return Array.from(new Set(e))}var d=n(8596);const p=!!i._r;function f(e){const t=(0,s.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function g(){const{pathname:e}=(0,a.TH)(),t=(0,c.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=k({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),b=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||b(e.items,t))}function v(e,t){switch(e.type){case"category":return y(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||y(e,t);default:return!0}}function w(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function k(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function x(){const e=(0,c.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function S(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function E(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function C(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,a.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,a.LX)(n.pathname,e)));if(!l)return null;const c=l.sidebar,u=c?r.docsSidebars[c]:void 0;return{docElement:(0,o.H)(i),sidebarName:c,sidebarItems:u}}function T(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},9690:(e,t,n)=>{"use strict";n.d(t,{aG:()=>u,Ac:()=>c,Cw:()=>s,QW:()=>d});var r=n(7294),a=n(5999),o=n(8780);const i={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};var l=n(5893);function s(e){return(0,l.jsx)("button",{type:"button",...e,children:(0,l.jsx)(a.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function c(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{className:i.errorBoundaryFallback,children:[(0,l.jsx)("p",{children:t.message}),(0,l.jsx)(s,{onClick:n})]})}function u(e){let{error:t}=e;const n=(0,o.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{className:i.errorBoundaryError,children:n})}class d extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>m});var r=n(7294),a=n(512),o=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),c=n(2263);var u=n(5893);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=function(e){const{siteConfig:t}=(0,c.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),p=a?d(a,{absolute:!0}):void 0;return(0,u.jsxs)(o.Z,{children:[t&&(0,u.jsx)("title",{children:l}),t&&(0,u.jsx)("meta",{property:"og:title",content:l}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,a.Z)(i,t);return(0,u.jsxs)(p.Provider,{value:l,children:[(0,u.jsx)(o.Z,{children:(0,u.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,a.Z)(r,o),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>u,Ql:()=>c,i6:()=>s,zX:()=>i});var r=n(7294),a=n(469),o=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,a.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>c,RF:()=>p});var r=n(7294),a=n(412),o=n(2389),i=(n(469),n(902)),l=n(5893);const s=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(d()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),a=n(6550),o=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,a.TH)(),c=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),u=l===i?e:e.replace(`/${l}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>_,ob:()=>f,PP:()=>j,Ep:()=>p});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],l=e&&a(e),s=t&&a(t),c=l||s;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,p=i.length;p>=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(e,t){t(window.confirm(e))}var b="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),g||(0,l.Z)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,w=void 0!==c&&c,k=i.getUserConfirmation,x=void 0===k?h:k,S=i.keyLength,E=void 0===S?6:S,C=e.basename?d(s(e.basename)):"";function _(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return C&&(o=u(o,C)),f(o,r,n)}function T(){return Math.random().toString(36).substr(2,E)}var j=m();function A(e){(0,r.Z)($,e),$.length=n.length,j.notifyListeners($.location,$.action)}function L(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||P(_(e.state))}function N(){P(_(v()))}var R=!1;function P(e){if(R)R=!1,A();else{j.confirmTransitionTo(e,"POP",x,(function(t){t?A({action:"POP",location:e}):function(e){var t=$.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(R=!0,F(a))}(e)}))}}var O=_(v()),D=[O.key];function I(e){return C+p(e)}function F(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(b,L),o&&window.addEventListener(y,N)):0===M&&(window.removeEventListener(b,L),o&&window.removeEventListener(y,N))}var B=!1;var $={length:n.length,action:"POP",location:O,createHref:I,push:function(e,t){var r="PUSH",o=f(e,t,T(),$.location);j.confirmTransitionTo(o,r,x,(function(e){if(e){var t=I(o),i=o.key,l=o.state;if(a)if(n.pushState({key:i,state:l},null,t),w)window.location.href=t;else{var s=D.indexOf($.location.key),c=D.slice(0,s+1);c.push(o.key),D=c,A({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,T(),$.location);j.confirmTransitionTo(o,r,x,(function(e){if(e){var t=I(o),i=o.key,l=o.state;if(a)if(n.replaceState({key:i,state:l},null,t),w)window.location.replace(t);else{var s=D.indexOf($.location.key);-1!==s&&(D[s]=o.key),A({action:r,location:o})}else window.location.replace(t)}}))},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=j.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=j.appendListener(e);return z(1),function(){z(-1),t()}}};return $}var k="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function C(e){window.location.replace(S(window.location.href)+"#"+e)}function _(e){void 0===e&&(e={}),g||(0,l.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?h:a,i=n.hashType,c=void 0===i?"slash":i,b=e.basename?d(s(e.basename)):"",y=x[c],v=y.encodePath,w=y.decodePath;function _(){var e=w(E());return b&&(e=u(e,b)),f(e)}var T=m();function j(e){(0,r.Z)(B,e),B.length=t.length,T.notifyListeners(B.location,B.action)}var A=!1,L=null;function N(){var e,t,n=E(),r=v(n);if(n!==r)C(r);else{var a=_(),i=B.location;if(!A&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(L===p(a))return;L=null,function(e){if(A)A=!1,j();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?j({action:t,location:e}):function(e){var t=B.location,n=D.lastIndexOf(p(t));-1===n&&(n=0);var r=D.lastIndexOf(p(e));-1===r&&(r=0);var a=n-r;a&&(A=!0,I(a))}(e)}))}}(a)}}var R=E(),P=v(R);R!==P&&C(P);var O=_(),D=[p(O)];function I(e){t.go(e)}var F=0;function M(e){1===(F+=e)&&1===e?window.addEventListener(k,N):0===F&&window.removeEventListener(k,N)}var z=!1;var B={length:t.length,action:"POP",location:O,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(b+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=v(b+t);if(E()!==a){L=t,function(e){window.location.hash=e}(a);var o=D.lastIndexOf(p(B.location)),i=D.slice(0,o+1);i.push(t),D=i,j({action:n,location:r})}else j()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=v(b+t);E()!==a&&(L=t,C(a));var o=D.indexOf(p(B.location));-1!==o&&(D[o]=t),j({action:n,location:r})}}))},go:I,goBack:function(){I(-1)},goForward:function(){I(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return z||(M(1),z=!0),function(){return z&&(z=!1,M(-1)),t()}},listen:function(e){var t=T.appendListener(e);return M(1),function(){M(-1),t()}}};return B}function T(e,t,n){return Math.min(Math.max(e,t),n)}function j(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,l=void 0===i?0:i,s=t.keyLength,c=void 0===s?6:s,u=m();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,u.notifyListeners(w.location,w.action)}function g(){return Math.random().toString(36).substr(2,c)}var h=T(l,0,o.length-1),b=o.map((function(e){return f(e,void 0,"string"==typeof e?g():e.key||g())})),y=p;function v(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:b.length,action:"POP",location:b[h],index:h,entries:b,createHref:y,push:function(e,t){var r="PUSH",a=f(e,t,g(),w.location);u.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,g(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return w}},8679:(e,t,n)=>{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var l=s(t),g=s(n),h=0;h<i.length;++h){var b=i[h];if(!(o[b]||r&&r[b]||g&&g[b]||l&&l[b])){var y=p(n,b);try{c(t,b,y)}catch(v){}}}}return t}},1143:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,o,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,i(e,u,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),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");u(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),c=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},4779:(e,t,n)=>{var r=n(5826);e.exports=f,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,l="",u=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],p=n[1],f=n.index;if(l+=e.slice(i,f),i=f+d.length,p)l+=p[1];else{var m=e[i],g=n[2],h=n[3],b=n[4],y=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=g&&null!=m&&m!==g,x="+"===v||"*"===v,S="?"===v||"*"===v,E=n[2]||u,C=b||y;r.push({name:h||o++,prefix:g||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:C?c(C):w?".*":"[^"+s(E)+"]+?"})}}return i<e.length&&(l+=e.substr(i)),l&&r.push(l),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",l=t||{},s=(a||{}).pretty?i:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,p=l[u.name];if(null==p){if(u.optional){u.partial&&(o+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(p)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=s(p[f]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===f?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):s(p),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');o+=u.prefix+d}}else o+=u}return o}}function s(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function c(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",l=0;l<e.length;l++){var c=e[l];if("string"==typeof c)i+=s(c);else{var p=s(c.prefix),f="(?:"+c.pattern+")";t.push(c),c.repeat&&(f+="(?:"+p+f+")*"),i+=f=c.optional?c.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var m=s(n.delimiter||"/"),g=i.slice(-m.length)===m;return a||(i=(g?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=o?"$":a&&g?"":"(?="+m+"|$)",u(new RegExp("^"+i,d(n)),t)}function f(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return u(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(f(e[a],t,n).source);return u(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return p(o(e,n),t,n)}(e,t,n)}},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),a=n(9642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s<l.length&&!(a>=o.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),m=p.indexOf(f);if(m>-1){++a;var g=p.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(m+f.length),y=[];g&&y.push.apply(y,i([g])),y.push(h),b&&y.push.apply(y,i([b])),"string"==typeof c?l.splice.apply(l,[s,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(Prism)},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},6500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function r(e){var n={},r=[];function a(r,o){if(!(r in n)){o.push(r);var i=o.indexOf(r);if(i<o.length-1)throw new Error("Circular dependency: "+o.slice(i).join(" -> "));var l={},s=e[r];if(s){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in a(t,o),l[t]=!0,n[t])l[i]=!0}t(s.require,c),t(s.optional,c),t(s.modify,c)}n[r]=l,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);i=i.map(c),l=(l||[]).map(c);var u=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=r(s),m=u;a(m);){for(var g in p={},m){var h=s[g];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var b in d)if(!(b in u))for(var y in f(b))if(y in u){p[b]=!0;break}for(var v in m=p)u[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,l={},s={};function c(e){if(e in l)return l[e];s[e]=!0;var a,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)a=r(e);else{var p=i(u.map((function(e){var t=c(e);return delete s[e],t})));o?a=o(p,(function(){return r(e)})):r(e)}return l[e]=a}for(var u in n)c(u);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,u,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(3840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,l={};function s(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(l[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},m={};function g(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var h={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){h[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];h[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){h[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){h[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){h[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){h[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){h[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){h[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){h[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,n,r){var a=h.hasOwnProperty(t)?h[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(m,e)||!d.call(f,e)&&(p.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,y);h[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,y);h[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,y);h[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),h.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),T=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),L=Symbol.for("react.suspense_list"),N=Symbol.for("react.memo"),R=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var P=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var O=Symbol.iterator;function D(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var I,F=Object.assign;function M(e){if(void 0===I)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);I=t&&t[1]||""}return"\n"+I+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var a=c.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,l=o.length-1;1<=i&&0<=l&&a[i]!==o[l];)l--;for(;1<=i&&0<=l;i--,l--)if(a[i]!==o[l]){if(1!==i||1!==l)do{if(i--,0>--l||a[i]!==o[l]){var s="\n"+a[i].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}}while(1<=i&&0<=l);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function $(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case C:return"Profiler";case E:return"StrictMode";case A:return"Suspense";case L:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case _:return(e._context.displayName||"Context")+".Provider";case j:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case N:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case R:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function q(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function Z(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function G(e){e._valueTracker||(e._valueTracker=function(e){var t=Z(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function V(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Z(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function W(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function K(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){K(e,t);var n=H(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&W(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return F({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function oe(e,t){var n=H(t.value),r=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function le(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function se(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?le(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function ge(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function he(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=ge(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(fe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var be=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function ke(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,Ee=null;function Ce(e){if(e=va(e)){if("function"!=typeof xe)throw Error(o(280));var t=e.stateNode;t&&(t=ka(t),xe(e.stateNode,e.type,t))}}function _e(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function Te(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function je(e,t){return e(t)}function Ae(){}var Le=!1;function Ne(e,t,n){if(Le)return e(t,n);Le=!0;try{return je(e,t,n)}finally{Le=!1,(null!==Se||null!==Ee)&&(Ae(),Te())}}function Re(e,t){var n=e.stateNode;if(null===n)return null;var r=ka(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Pe=!1;if(u)try{var Oe={};Object.defineProperty(Oe,"passive",{get:function(){Pe=!0}}),window.addEventListener("test",Oe,Oe),window.removeEventListener("test",Oe,Oe)}catch(ue){Pe=!1}function De(e,t,n,r,a,o,i,l,s){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Ie=!1,Fe=null,Me=!1,ze=null,Be={onError:function(e){Ie=!0,Fe=e}};function $e(e,t,n,r,a,o,i,l,s){Ie=!1,Fe=null,De.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(Ue(e)!==e)throw Error(o(188))}function Ze(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(r=a.return)){n=r;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return He(a),e;if(i===r)return He(a),t;i=i.sibling}throw Error(o(188))}if(n.return!==r.return)n=a,r=i;else{for(var l=!1,s=a.child;s;){if(s===n){l=!0,n=a,r=i;break}if(s===r){l=!0,r=a,n=i;break}s=s.sibling}if(!l){for(s=i.child;s;){if(s===n){l=!0,n=i,r=a;break}if(s===r){l=!0,r=i,n=a;break}s=s.sibling}if(!l)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?Ge(e):null}function Ge(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ge(e);if(null!==t)return t;e=e.sibling}return null}var Ve=a.unstable_scheduleCallback,We=a.unstable_cancelCallback,Qe=a.unstable_shouldYield,Ye=a.unstable_requestPaint,Ke=a.unstable_now,Xe=a.unstable_getCurrentPriorityLevel,Je=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,ot=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(lt(e)/st|0)|0},lt=Math.log,st=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,o=e.pingedLanes,i=268435455&n;if(0!==i){var l=i&~a;0!==l?r=dt(l):0!==(o&=i)&&(r=dt(o))}else 0!==(i=n&~a)?r=dt(i):0!==o&&(r=dt(o));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&a)&&((a=r&-r)>=(o=t&-t)||16===a&&0!=(4194240&o)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-it(t)),r|=e[n],t&=~a;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=ct;return 0==(4194240&(ct<<=1))&&(ct=64),e}function ht(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var vt=0;function wt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var kt,xt,St,Et,Ct,_t=!1,Tt=[],jt=null,At=null,Lt=null,Nt=new Map,Rt=new Map,Pt=[],Ot="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":jt=null;break;case"dragenter":case"dragleave":At=null;break;case"mouseover":case"mouseout":Lt=null;break;case"pointerover":case"pointerout":Nt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Rt.delete(t.pointerId)}}function It(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[a]},null!==t&&(null!==(t=va(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Ft(e){var t=ya(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=qe(n)))return e.blockedOn=t,void Ct(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=va(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function zt(e,t,n){Mt(e)&&n.delete(t)}function Bt(){_t=!1,null!==jt&&Mt(jt)&&(jt=null),null!==At&&Mt(At)&&(At=null),null!==Lt&&Mt(Lt)&&(Lt=null),Nt.forEach(zt),Rt.forEach(zt)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,_t||(_t=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return $t(t,e)}if(0<Tt.length){$t(Tt[0],e);for(var n=1;n<Tt.length;n++){var r=Tt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==jt&&$t(jt,e),null!==At&&$t(At,e),null!==Lt&&$t(Lt,e),Nt.forEach(t),Rt.forEach(t),n=0;n<Pt.length;n++)(r=Pt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Pt.length&&null===(n=Pt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Pt.shift()}var qt=w.ReactCurrentBatchConfig,Ht=!0;function Zt(e,t,n,r){var a=vt,o=qt.transition;qt.transition=null;try{vt=1,Vt(e,t,n,r)}finally{vt=a,qt.transition=o}}function Gt(e,t,n,r){var a=vt,o=qt.transition;qt.transition=null;try{vt=4,Vt(e,t,n,r)}finally{vt=a,qt.transition=o}}function Vt(e,t,n,r){if(Ht){var a=Qt(e,t,n,r);if(null===a)Hr(e,t,r,Wt,n),Dt(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return jt=It(jt,e,t,n,r,a),!0;case"dragenter":return At=It(At,e,t,n,r,a),!0;case"mouseover":return Lt=It(Lt,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return Nt.set(o,It(Nt.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,Rt.set(o,It(Rt.get(o)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<Ot.indexOf(e)){for(;null!==a;){var o=va(a);if(null!==o&&kt(o),null===(o=Qt(e,t,n,r))&&Hr(e,t,r,Wt,n),o===a)break;a=o}null!==a&&r.stopPropagation()}else Hr(e,t,r,null,n)}}var Wt=null;function Qt(e,t,n,r){if(Wt=null,null!==(e=ya(e=ke(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=qe(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Wt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Kt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,a="value"in Kt?Kt.value:Kt.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return Jt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,ln,sn,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=an(cn),dn=F({},cn,{view:0,detail:0}),pn=an(dn),fn=F({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==sn&&(sn&&"mousemove"===e.type?(on=e.screenX-sn.screenX,ln=e.screenY-sn.screenY):ln=on=0,sn=e),on)},movementY:function(e){return"movementY"in e?e.movementY:ln}}),mn=an(fn),gn=an(F({},fn,{dataTransfer:0})),hn=an(F({},dn,{relatedTarget:0})),bn=an(F({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=F({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=an(yn),wn=an(F({},cn,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function Cn(){return En}var _n=F({},dn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Tn=an(_n),jn=an(F({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),An=an(F({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),Ln=an(F({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Nn=F({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Rn=an(Nn),Pn=[9,13,27,32],On=u&&"CompositionEvent"in window,Dn=null;u&&"documentMode"in document&&(Dn=document.documentMode);var In=u&&"TextEvent"in window&&!Dn,Fn=u&&(!On||Dn&&8<Dn&&11>=Dn),Mn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Pn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var qn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!qn[e.type]:"textarea"===t}function Zn(e,t,n,r){_e(r),0<(t=Gr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Gn=null,Vn=null;function Wn(e){Mr(e,0)}function Qn(e){if(V(wa(e)))return e}function Yn(e,t){if("change"===e)return t}var Kn=!1;if(u){var Xn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Kn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Gn&&(Gn.detachEvent("onpropertychange",nr),Vn=Gn=null)}function nr(e){if("value"===e.propertyName&&Qn(Vn)){var t=[];Zn(t,Vn,e,ke(e)),Ne(Wn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Vn=n,(Gn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Vn)}function or(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var lr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function sr(e,t){if(lr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!lr(e[a],t[a]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=W();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=W((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,o=Math.min(r.start,a);r=void 0===r.end?o:Math.min(r.end,a),!e.extend&&o>r&&(a=r,r=o,o=a),a=ur(n,o);var i=ur(n,r);a&&i&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gr=u&&"documentMode"in document&&11>=document.documentMode,hr=null,br=null,yr=null,vr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==hr||hr!==W(r)||("selectionStart"in(r=hr)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&sr(yr,r)||(yr=r,0<(r=Gr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=hr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Sr={},Er={};function Cr(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return Sr[e]=n[t];return e}u&&(Er=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var _r=Cr("animationend"),Tr=Cr("animationiteration"),jr=Cr("animationstart"),Ar=Cr("transitionend"),Lr=new Map,Nr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Rr(e,t){Lr.set(e,t),s(t,[e])}for(var Pr=0;Pr<Nr.length;Pr++){var Or=Nr[Pr];Rr(Or.toLowerCase(),"on"+(Or[0].toUpperCase()+Or.slice(1)))}Rr(_r,"onAnimationEnd"),Rr(Tr,"onAnimationIteration"),Rr(jr,"onAnimationStart"),Rr("dblclick","onDoubleClick"),Rr("focusin","onFocus"),Rr("focusout","onBlur"),Rr(Ar,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ir=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function Fr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,i,l,s,c){if($e.apply(this,arguments),Ie){if(!Ie)throw Error(o(198));var u=Fe;Ie=!1,Fe=null,Me||(Me=!0,ze=u)}}(r,t,void 0,e),e.currentTarget=null}function Mr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==o&&a.isPropagationStopped())break e;Fr(a,l,c),o=s}else for(i=0;i<r.length;i++){if(s=(l=r[i]).instance,c=l.currentTarget,l=l.listener,s!==o&&a.isPropagationStopped())break e;Fr(a,l,c),o=s}}}if(Me)throw e=ze,Me=!1,ze=null,e}function zr(e,t){var n=t[ga];void 0===n&&(n=t[ga]=new Set);var r=e+"__bubble";n.has(r)||(qr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),qr(n,e,r,t)}var $r="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[$r]){e[$r]=!0,i.forEach((function(t){"selectionchange"!==t&&(Ir.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[$r]||(t[$r]=!0,Br("selectionchange",!1,t))}}function qr(e,t,n,r){switch(Yt(t)){case 1:var a=Zt;break;case 4:a=Gt;break;default:a=Vt}n=a.bind(null,t,n,e),a=void 0,!Pe||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Hr(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var l=r.stateNode.containerInfo;if(l===a||8===l.nodeType&&l.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var s=i.tag;if((3===s||4===s)&&((s=i.stateNode.containerInfo)===a||8===s.nodeType&&s.parentNode===a))return;i=i.return}for(;null!==l;){if(null===(i=ya(l)))return;if(5===(s=i.tag)||6===s){r=o=i;continue e}l=l.parentNode}}r=r.return}Ne((function(){var r=o,a=ke(n),i=[];e:{var l=Lr.get(e);if(void 0!==l){var s=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":s=Tn;break;case"focusin":c="focus",s=hn;break;case"focusout":c="blur",s=hn;break;case"beforeblur":case"afterblur":s=hn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=An;break;case _r:case Tr:case jr:s=bn;break;case Ar:s=Ln;break;case"scroll":s=pn;break;case"wheel":s=Rn;break;case"copy":case"cut":case"paste":s=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=jn}var u=0!=(4&t),d=!u&&"scroll"===e,p=u?null!==l?l+"Capture":null:l;u=[];for(var f,m=r;null!==m;){var g=(f=m).stateNode;if(5===f.tag&&null!==g&&(f=g,null!==p&&(null!=(g=Re(m,p))&&u.push(Zr(m,g,f)))),d)break;m=m.return}0<u.length&&(l=new s(l,c,null,n,a),i.push({event:l,listeners:u}))}}if(0==(7&t)){if(s="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||n===we||!(c=n.relatedTarget||n.fromElement)||!ya(c)&&!c[ma])&&(s||l)&&(l=a.window===a?a:(l=a.ownerDocument)?l.defaultView||l.parentWindow:window,s?(s=r,null!==(c=(c=n.relatedTarget||n.toElement)?ya(c):null)&&(c!==(d=Ue(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(s=null,c=r),s!==c)){if(u=mn,g="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=jn,g="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==s?l:wa(s),f=null==c?l:wa(c),(l=new u(g,m+"leave",s,n,a)).target=d,l.relatedTarget=f,g=null,ya(a)===r&&((u=new u(p,m+"enter",c,n,a)).target=f,u.relatedTarget=d,g=u),d=g,s&&c)e:{for(p=c,m=0,f=u=s;f;f=Vr(f))m++;for(f=0,g=p;g;g=Vr(g))f++;for(;0<m-f;)u=Vr(u),m--;for(;0<f-m;)p=Vr(p),f--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=Vr(u),p=Vr(p)}u=null}else u=null;null!==s&&Wr(i,l,s,u,!1),null!==c&&null!==d&&Wr(i,d,c,u,!0)}if("select"===(s=(l=r?wa(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var h=Yn;else if(Hn(l))if(Kn)h=ir;else{h=ar;var b=rr}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(h=or);switch(h&&(h=h(e,r))?Zn(i,h,n,a):(b&&b(e,l,r),"focusout"===e&&(b=l._wrapperState)&&b.controlled&&"number"===l.type&&ee(l,"number",l.value)),b=r?wa(r):window,e){case"focusin":(Hn(b)||"true"===b.contentEditable)&&(hr=b,br=r,yr=null);break;case"focusout":yr=br=hr=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,wr(i,n,a);break;case"selectionchange":if(gr)break;case"keydown":case"keyup":wr(i,n,a)}var y;if(On)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Un?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Fn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==v?"onCompositionEnd"===v&&Un&&(y=en()):(Xt="value"in(Kt=a)?Kt.value:Kt.textContent,Un=!0)),0<(b=Gr(r,v)).length&&(v=new wn(v,e,null,n,a),i.push({event:v,listeners:b}),y?v.data=y:null!==(y=$n(n))&&(v.data=y))),(y=In?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(zn=!0,Mn);case"textInput":return(e=t.data)===Mn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!On&&Bn(e,t)?(e=en(),Jt=Xt=Kt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Gr(r,"onBeforeInput")).length&&(a=new wn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=y))}Mr(i,t)}))}function Zr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Gr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Re(e,n))&&r.unshift(Zr(e,o,a)),null!=(o=Re(e,t))&&r.push(Zr(e,o,a))),e=e.return}return r}function Vr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Wr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(null!==s&&s===r)break;5===l.tag&&null!==c&&(l=c,a?null!=(s=Re(n,o))&&i.unshift(Zr(n,s,l)):a||null!=(s=Re(n,o))&&i.push(Zr(n,s,l))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Qr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Kr(e){return("string"==typeof e?e:""+e).replace(Qr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Kr(t),Kr(e)!==t&&n)throw Error(o(425))}function Jr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"==typeof setTimeout?setTimeout:void 0,aa="function"==typeof clearTimeout?clearTimeout:void 0,oa="function"==typeof Promise?Promise:void 0,ia="function"==typeof queueMicrotask?queueMicrotask:void 0!==oa?function(e){return oa.resolve(null).then(e).catch(la)}:ra;function la(e){setTimeout((function(){throw e}))}function sa(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);Ut(t)}function ca(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ua(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),pa="__reactFiber$"+da,fa="__reactProps$"+da,ma="__reactContainer$"+da,ga="__reactEvents$"+da,ha="__reactListeners$"+da,ba="__reactHandles$"+da;function ya(e){var t=e[pa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ma]||n[pa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ua(e);null!==e;){if(n=e[pa])return n;e=ua(e)}return t}n=(e=n).parentNode}return null}function va(e){return!(e=e[pa]||e[ma])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function ka(e){return e[fa]||null}var xa=[],Sa=-1;function Ea(e){return{current:e}}function Ca(e){0>Sa||(e.current=xa[Sa],xa[Sa]=null,Sa--)}function _a(e,t){Sa++,xa[Sa]=e.current,e.current=t}var Ta={},ja=Ea(Ta),Aa=Ea(!1),La=Ta;function Na(e,t){var n=e.type.contextTypes;if(!n)return Ta;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ra(e){return null!=(e=e.childContextTypes)}function Pa(){Ca(Aa),Ca(ja)}function Oa(e,t,n){if(ja.current!==Ta)throw Error(o(168));_a(ja,t),_a(Aa,n)}function Da(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(o(108,q(e)||"Unknown",a));return F({},n,r)}function Ia(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ta,La=ja.current,_a(ja,e),_a(Aa,Aa.current),!0}function Fa(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=Da(e,t,La),r.__reactInternalMemoizedMergedChildContext=e,Ca(Aa),Ca(ja),_a(ja,e)):Ca(Aa),_a(Aa,n)}var Ma=null,za=!1,Ba=!1;function $a(e){null===Ma?Ma=[e]:Ma.push(e)}function Ua(){if(!Ba&&null!==Ma){Ba=!0;var e=0,t=vt;try{var n=Ma;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Ma=null,za=!1}catch(a){throw null!==Ma&&(Ma=Ma.slice(e+1)),Ve(Je,Ua),a}finally{vt=t,Ba=!1}}return null}var qa=[],Ha=0,Za=null,Ga=0,Va=[],Wa=0,Qa=null,Ya=1,Ka="";function Xa(e,t){qa[Ha++]=Ga,qa[Ha++]=Za,Za=e,Ga=t}function Ja(e,t,n){Va[Wa++]=Ya,Va[Wa++]=Ka,Va[Wa++]=Qa,Qa=e;var r=Ya;e=Ka;var a=32-it(r)-1;r&=~(1<<a),n+=1;var o=32-it(t)+a;if(30<o){var i=a-a%5;o=(r&(1<<i)-1).toString(32),r>>=i,a-=i,Ya=1<<32-it(t)+a|n<<a|r,Ka=o+e}else Ya=1<<o|n<<a|r,Ka=e}function eo(e){null!==e.return&&(Xa(e,1),Ja(e,1,0))}function to(e){for(;e===Za;)Za=qa[--Ha],qa[Ha]=null,Ga=qa[--Ha],qa[Ha]=null;for(;e===Qa;)Qa=Va[--Wa],Va[Wa]=null,Ka=Va[--Wa],Va[Wa]=null,Ya=Va[--Wa],Va[Wa]=null}var no=null,ro=null,ao=!1,oo=null;function io(e,t){var n=Rc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function lo(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ro=ca(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ro=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qa?{id:Ya,overflow:Ka}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Rc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ro=null,!0);default:return!1}}function so(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function co(e){if(ao){var t=ro;if(t){var n=t;if(!lo(e,t)){if(so(e))throw Error(o(418));t=ca(n.nextSibling);var r=no;t&&lo(e,t)?io(r,n):(e.flags=-4097&e.flags|2,ao=!1,no=e)}}else{if(so(e))throw Error(o(418));e.flags=-4097&e.flags|2,ao=!1,no=e}}}function uo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function po(e){if(e!==no)return!1;if(!ao)return uo(e),ao=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ro)){if(so(e))throw fo(),Error(o(418));for(;t;)io(e,t),t=ca(t.nextSibling)}if(uo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ro=ca(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ro=null}}else ro=no?ca(e.stateNode.nextSibling):null;return!0}function fo(){for(var e=ro;e;)e=ca(e.nextSibling)}function mo(){ro=no=null,ao=!1}function go(e){null===oo?oo=[e]:oo.push(e)}var ho=w.ReactCurrentBatchConfig;function bo(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var yo=Ea(null),vo=null,wo=null,ko=null;function xo(){ko=wo=vo=null}function So(e){var t=yo.current;Ca(yo),e._currentValue=t}function Eo(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Co(e,t){vo=e,ko=wo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(wl=!0),e.firstContext=null)}function _o(e){var t=e._currentValue;if(ko!==e)if(e={context:e,memoizedValue:t,next:null},null===wo){if(null===vo)throw Error(o(308));wo=e,vo.dependencies={lanes:0,firstContext:e}}else wo=wo.next=e;return t}var To=null;function jo(e){null===To?To=[e]:To.push(e)}function Ao(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,jo(t)):(n.next=a.next,a.next=n),t.interleaved=n,Lo(e,r)}function Lo(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var No=!1;function Ro(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Po(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Oo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Do(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&As)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Lo(e,n)}return null===(a=r.interleaved)?(t.next=t,jo(r)):(t.next=a.next,a.next=t),r.interleaved=t,Lo(e,n)}function Io(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Fo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Mo(e,t,n,r){var a=e.updateQueue;No=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var s=l,c=s.next;s.next=null,null===i?o=c:i.next=c,i=s;var u=e.alternate;null!==u&&((l=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===l?u.firstBaseUpdate=c:l.next=c,u.lastBaseUpdate=s))}if(null!==o){var d=a.baseState;for(i=0,u=c=s=null,l=o;;){var p=l.lane,f=l.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var m=e,g=l;switch(p=t,f=n,g.tag){case 1:if("function"==typeof(m=g.payload)){d=m.call(f,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(p="function"==typeof(m=g.payload)?m.call(f,d,p):m))break e;d=F({},d,p);break e;case 2:No=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(p=a.effects)?a.effects=[l]:p.push(l))}else f={eventTime:f,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===u?(c=u=f,s=d):u=u.next=f,i|=p;if(null===(l=l.next)){if(null===(l=a.shared.pending))break;l=(p=l).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}if(null===u&&(s=d),a.baseState=s,a.firstBaseUpdate=c,a.lastBaseUpdate=u,null!==(t=a.shared.interleaved)){a=t;do{i|=a.lane,a=a.next}while(a!==t)}else null===o&&(a.shared.lanes=0);Fs|=i,e.lanes=i,e.memoizedState=d}}function zo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(o(191,a));a.call(r)}}}var Bo=(new r.Component).refs;function $o(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Uo={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=tc(),a=nc(e),o=Oo(r,a);o.payload=t,null!=n&&(o.callback=n),null!==(t=Do(e,o,a))&&(rc(t,e,a,r),Io(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=tc(),a=nc(e),o=Oo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Do(e,o,a))&&(rc(t,e,a,r),Io(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tc(),r=nc(e),a=Oo(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=Do(e,a,r))&&(rc(t,e,r,n),Io(t,e,r))}};function qo(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(a,o))}function Ho(e,t,n){var r=!1,a=Ta,o=t.contextType;return"object"==typeof o&&null!==o?o=_o(o):(a=Ra(t)?La:ja.current,o=(r=null!=(r=t.contextTypes))?Na(e,a):Ta),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Uo,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function Zo(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Uo.enqueueReplaceState(t,t.state,null)}function Go(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=Bo,Ro(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=_o(o):(o=Ra(t)?La:ja.current,a.context=Na(e,o)),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&($o(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&Uo.enqueueReplaceState(a,a.state,null),Mo(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function Vo(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var a=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=a.refs;t===Bo&&(t=a.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function Wo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Qo(e){return(0,e._init)(e._payload)}function Yo(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Oc(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=2),t}function s(e,t,n,r){return null===t||6!==t.tag?((t=Mc(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function c(e,t,n,r){var o=n.type;return o===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===R&&Qo(o)===t.type)?((r=a(t,n.props)).ref=Vo(e,t,n),r.return=e,r):((r=Dc(n.type,n.key,n.props,null,e.mode,r)).ref=Vo(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=zc(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Ic(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Mc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Dc(t.type,t.key,t.props,null,e.mode,n)).ref=Vo(e,null,t),n.return=e,n;case x:return(t=zc(t,e.mode,n)).return=e,t;case R:return p(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Ic(t,e.mode,n,null)).return=e,t;Wo(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:s(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===a?c(e,t,n,r):null;case x:return n.key===a?u(e,t,n,r):null;case R:return f(e,t,(a=n._init)(n._payload),r)}if(te(n)||D(n))return null!==a?null:d(e,t,n,r,null);Wo(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return s(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case x:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case R:return m(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||D(r))return d(t,e=e.get(n)||null,r,a,null);Wo(t,r)}return null}function g(a,o,l,s){for(var c=null,u=null,d=o,g=o=0,h=null;null!==d&&g<l.length;g++){d.index>g?(h=d,d=null):h=d.sibling;var b=f(a,d,l[g],s);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(a,d),o=i(b,o,g),null===u?c=b:u.sibling=b,u=b,d=h}if(g===l.length)return n(a,d),ao&&Xa(a,g),c;if(null===d){for(;g<l.length;g++)null!==(d=p(a,l[g],s))&&(o=i(d,o,g),null===u?c=d:u.sibling=d,u=d);return ao&&Xa(a,g),c}for(d=r(a,d);g<l.length;g++)null!==(h=m(d,a,g,l[g],s))&&(e&&null!==h.alternate&&d.delete(null===h.key?g:h.key),o=i(h,o,g),null===u?c=h:u.sibling=h,u=h);return e&&d.forEach((function(e){return t(a,e)})),ao&&Xa(a,g),c}function h(a,l,s,c){var u=D(s);if("function"!=typeof u)throw Error(o(150));if(null==(s=u.call(s)))throw Error(o(151));for(var d=u=null,g=l,h=l=0,b=null,y=s.next();null!==g&&!y.done;h++,y=s.next()){g.index>h?(b=g,g=null):b=g.sibling;var v=f(a,g,y.value,c);if(null===v){null===g&&(g=b);break}e&&g&&null===v.alternate&&t(a,g),l=i(v,l,h),null===d?u=v:d.sibling=v,d=v,g=b}if(y.done)return n(a,g),ao&&Xa(a,h),u;if(null===g){for(;!y.done;h++,y=s.next())null!==(y=p(a,y.value,c))&&(l=i(y,l,h),null===d?u=y:d.sibling=y,d=y);return ao&&Xa(a,h),u}for(g=r(a,g);!y.done;h++,y=s.next())null!==(y=m(g,a,h,y.value,c))&&(e&&null!==y.alternate&&g.delete(null===y.key?h:y.key),l=i(y,l,h),null===d?u=y:d.sibling=y,d=y);return e&&g.forEach((function(e){return t(a,e)})),ao&&Xa(a,h),u}return function e(r,o,i,s){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case k:e:{for(var c=i.key,u=o;null!==u;){if(u.key===c){if((c=i.type)===S){if(7===u.tag){n(r,u.sibling),(o=a(u,i.props.children)).return=r,r=o;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===R&&Qo(c)===u.type){n(r,u.sibling),(o=a(u,i.props)).ref=Vo(r,u,i),o.return=r,r=o;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===S?((o=Ic(i.props.children,r.mode,s,i.key)).return=r,r=o):((s=Dc(i.type,i.key,i.props,null,r.mode,s)).ref=Vo(r,o,i),s.return=r,r=s)}return l(r);case x:e:{for(u=i.key;null!==o;){if(o.key===u){if(4===o.tag&&o.stateNode.containerInfo===i.containerInfo&&o.stateNode.implementation===i.implementation){n(r,o.sibling),(o=a(o,i.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=zc(i,r.mode,s)).return=r,r=o}return l(r);case R:return e(r,o,(u=i._init)(i._payload),s)}if(te(i))return g(r,o,i,s);if(D(i))return h(r,o,i,s);Wo(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==o&&6===o.tag?(n(r,o.sibling),(o=a(o,i)).return=r,r=o):(n(r,o),(o=Mc(i,r.mode,s)).return=r,r=o),l(r)):n(r,o)}}var Ko=Yo(!0),Xo=Yo(!1),Jo={},ei=Ea(Jo),ti=Ea(Jo),ni=Ea(Jo);function ri(e){if(e===Jo)throw Error(o(174));return e}function ai(e,t){switch(_a(ni,t),_a(ti,e),_a(ei,Jo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:se(null,"");break;default:t=se(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Ca(ei),_a(ei,t)}function oi(){Ca(ei),Ca(ti),Ca(ni)}function ii(e){ri(ni.current);var t=ri(ei.current),n=se(t,e.type);t!==n&&(_a(ti,e),_a(ei,n))}function li(e){ti.current===e&&(Ca(ei),Ca(ti))}var si=Ea(0);function ci(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ui=[];function di(){for(var e=0;e<ui.length;e++)ui[e]._workInProgressVersionPrimary=null;ui.length=0}var pi=w.ReactCurrentDispatcher,fi=w.ReactCurrentBatchConfig,mi=0,gi=null,hi=null,bi=null,yi=!1,vi=!1,wi=0,ki=0;function xi(){throw Error(o(321))}function Si(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!lr(e[n],t[n]))return!1;return!0}function Ei(e,t,n,r,a,i){if(mi=i,gi=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,pi.current=null===e||null===e.memoizedState?ll:sl,e=n(r,a),vi){i=0;do{if(vi=!1,wi=0,25<=i)throw Error(o(301));i+=1,bi=hi=null,t.updateQueue=null,pi.current=cl,e=n(r,a)}while(vi)}if(pi.current=il,t=null!==hi&&null!==hi.next,mi=0,bi=hi=gi=null,yi=!1,t)throw Error(o(300));return e}function Ci(){var e=0!==wi;return wi=0,e}function _i(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===bi?gi.memoizedState=bi=e:bi=bi.next=e,bi}function Ti(){if(null===hi){var e=gi.alternate;e=null!==e?e.memoizedState:null}else e=hi.next;var t=null===bi?gi.memoizedState:bi.next;if(null!==t)bi=t,hi=e;else{if(null===e)throw Error(o(310));e={memoizedState:(hi=e).memoizedState,baseState:hi.baseState,baseQueue:hi.baseQueue,queue:hi.queue,next:null},null===bi?gi.memoizedState=bi=e:bi=bi.next=e}return bi}function ji(e,t){return"function"==typeof t?t(e):t}function Ai(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=hi,a=r.baseQueue,i=n.pending;if(null!==i){if(null!==a){var l=a.next;a.next=i.next,i.next=l}r.baseQueue=a=i,n.pending=null}if(null!==a){i=a.next,r=r.baseState;var s=l=null,c=null,u=i;do{var d=u.lane;if((mi&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(s=c=p,l=r):c=c.next=p,gi.lanes|=d,Fs|=d}u=u.next}while(null!==u&&u!==i);null===c?l=r:c.next=s,lr(r,t.memoizedState)||(wl=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{i=a.lane,gi.lanes|=i,Fs|=i,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Li(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,i=t.memoizedState;if(null!==a){n.pending=null;var l=a=a.next;do{i=e(i,l.action),l=l.next}while(l!==a);lr(i,t.memoizedState)||(wl=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Ni(){}function Ri(e,t){var n=gi,r=Ti(),a=t(),i=!lr(r.memoizedState,a);if(i&&(r.memoizedState=a,wl=!0),r=r.queue,Hi(Di.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==bi&&1&bi.memoizedState.tag){if(n.flags|=2048,zi(9,Oi.bind(null,n,r,a,t),void 0,null),null===Ls)throw Error(o(349));0!=(30&mi)||Pi(n,t,a)}return a}function Pi(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=gi.updateQueue)?(t={lastEffect:null,stores:null},gi.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Oi(e,t,n,r){t.value=n,t.getSnapshot=r,Ii(t)&&Fi(e)}function Di(e,t,n){return n((function(){Ii(t)&&Fi(e)}))}function Ii(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!lr(e,n)}catch(r){return!0}}function Fi(e){var t=Lo(e,1);null!==t&&rc(t,e,1,-1)}function Mi(e){var t=_i();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ji,lastRenderedState:e},t.queue=e,e=e.dispatch=nl.bind(null,gi,e),[t.memoizedState,e]}function zi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=gi.updateQueue)?(t={lastEffect:null,stores:null},gi.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Bi(){return Ti().memoizedState}function $i(e,t,n,r){var a=_i();gi.flags|=e,a.memoizedState=zi(1|t,n,void 0,void 0===r?null:r)}function Ui(e,t,n,r){var a=Ti();r=void 0===r?null:r;var o=void 0;if(null!==hi){var i=hi.memoizedState;if(o=i.destroy,null!==r&&Si(r,i.deps))return void(a.memoizedState=zi(t,n,o,r))}gi.flags|=e,a.memoizedState=zi(1|t,n,o,r)}function qi(e,t){return $i(8390656,8,e,t)}function Hi(e,t){return Ui(2048,8,e,t)}function Zi(e,t){return Ui(4,2,e,t)}function Gi(e,t){return Ui(4,4,e,t)}function Vi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Wi(e,t,n){return n=null!=n?n.concat([e]):null,Ui(4,4,Vi.bind(null,t,e),n)}function Qi(){}function Yi(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ki(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Xi(e,t,n){return 0==(21&mi)?(e.baseState&&(e.baseState=!1,wl=!0),e.memoizedState=n):(lr(n,t)||(n=gt(),gi.lanes|=n,Fs|=n,e.baseState=!0),t)}function Ji(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=fi.transition;fi.transition={};try{e(!1),t()}finally{vt=n,fi.transition=r}}function el(){return Ti().memoizedState}function tl(e,t,n){var r=nc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rl(e))al(t,n);else if(null!==(n=Ao(e,t,n,r))){rc(n,e,r,tc()),ol(n,t,r)}}function nl(e,t,n){var r=nc(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rl(e))al(t,a);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var i=t.lastRenderedState,l=o(i,n);if(a.hasEagerState=!0,a.eagerState=l,lr(l,i)){var s=t.interleaved;return null===s?(a.next=a,jo(t)):(a.next=s.next,s.next=a),void(t.interleaved=a)}}catch(c){}null!==(n=Ao(e,t,a,r))&&(rc(n,e,r,a=tc()),ol(n,t,r))}}function rl(e){var t=e.alternate;return e===gi||null!==t&&t===gi}function al(e,t){vi=yi=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ol(e,t,n){if(0!=(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}var il={readContext:_o,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},ll={readContext:_o,useCallback:function(e,t){return _i().memoizedState=[e,void 0===t?null:t],e},useContext:_o,useEffect:qi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,$i(4194308,4,Vi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return $i(4194308,4,e,t)},useInsertionEffect:function(e,t){return $i(4,2,e,t)},useMemo:function(e,t){var n=_i();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=_i();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=tl.bind(null,gi,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},_i().memoizedState=e},useState:Mi,useDebugValue:Qi,useDeferredValue:function(e){return _i().memoizedState=e},useTransition:function(){var e=Mi(!1),t=e[0];return e=Ji.bind(null,e[1]),_i().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=gi,a=_i();if(ao){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===Ls)throw Error(o(349));0!=(30&mi)||Pi(r,t,n)}a.memoizedState=n;var i={value:n,getSnapshot:t};return a.queue=i,qi(Di.bind(null,r,i,e),[e]),r.flags|=2048,zi(9,Oi.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=_i(),t=Ls.identifierPrefix;if(ao){var n=Ka;t=":"+t+"R"+(n=(Ya&~(1<<32-it(Ya)-1)).toString(32)+n),0<(n=wi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=ki++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},sl={readContext:_o,useCallback:Yi,useContext:_o,useEffect:Hi,useImperativeHandle:Wi,useInsertionEffect:Zi,useLayoutEffect:Gi,useMemo:Ki,useReducer:Ai,useRef:Bi,useState:function(){return Ai(ji)},useDebugValue:Qi,useDeferredValue:function(e){return Xi(Ti(),hi.memoizedState,e)},useTransition:function(){return[Ai(ji)[0],Ti().memoizedState]},useMutableSource:Ni,useSyncExternalStore:Ri,useId:el,unstable_isNewReconciler:!1},cl={readContext:_o,useCallback:Yi,useContext:_o,useEffect:Hi,useImperativeHandle:Wi,useInsertionEffect:Zi,useLayoutEffect:Gi,useMemo:Ki,useReducer:Li,useRef:Bi,useState:function(){return Li(ji)},useDebugValue:Qi,useDeferredValue:function(e){var t=Ti();return null===hi?t.memoizedState=e:Xi(t,hi.memoizedState,e)},useTransition:function(){return[Li(ji)[0],Ti().memoizedState]},useMutableSource:Ni,useSyncExternalStore:Ri,useId:el,unstable_isNewReconciler:!1};function ul(e,t){try{var n="",r=t;do{n+=$(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a,digest:null}}function dl(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function pl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fl="function"==typeof WeakMap?WeakMap:Map;function ml(e,t,n){(n=Oo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Zs||(Zs=!0,Gs=r),pl(0,t)},n}function gl(e,t,n){(n=Oo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){pl(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){pl(0,t),"function"!=typeof r&&(null===Vs?Vs=new Set([this]):Vs.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hl(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fl;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=_c.bind(null,e,t,n),t.then(e,e))}function bl(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function yl(e,t,n,r,a){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Oo(-1,1)).tag=2,Do(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=a,e)}var vl=w.ReactCurrentOwner,wl=!1;function kl(e,t,n,r){t.child=null===e?Xo(t,null,n,r):Ko(t,e.child,n,r)}function xl(e,t,n,r,a){n=n.render;var o=t.ref;return Co(t,a),r=Ei(e,t,n,r,o,a),n=Ci(),null===e||wl?(ao&&n&&eo(t),t.flags|=1,kl(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Zl(e,t,a))}function Sl(e,t,n,r,a){if(null===e){var o=n.type;return"function"!=typeof o||Pc(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Dc(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,El(e,t,o,r,a))}if(o=e.child,0==(e.lanes&a)){var i=o.memoizedProps;if((n=null!==(n=n.compare)?n:sr)(i,r)&&e.ref===t.ref)return Zl(e,t,a)}return t.flags|=1,(e=Oc(o,r)).ref=t.ref,e.return=t,t.child=e}function El(e,t,n,r,a){if(null!==e){var o=e.memoizedProps;if(sr(o,r)&&e.ref===t.ref){if(wl=!1,t.pendingProps=r=o,0==(e.lanes&a))return t.lanes=e.lanes,Zl(e,t,a);0!=(131072&e.flags)&&(wl=!0)}}return Tl(e,t,n,r,a)}function Cl(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},_a(Os,Ps),Ps|=n;else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,_a(Os,Ps),Ps|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==o?o.baseLanes:n,_a(Os,Ps),Ps|=r}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,_a(Os,Ps),Ps|=r;return kl(e,t,a,n),t.child}function _l(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Tl(e,t,n,r,a){var o=Ra(n)?La:ja.current;return o=Na(t,o),Co(t,a),n=Ei(e,t,n,r,o,a),r=Ci(),null===e||wl?(ao&&r&&eo(t),t.flags|=1,kl(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Zl(e,t,a))}function jl(e,t,n,r,a){if(Ra(n)){var o=!0;Ia(t)}else o=!1;if(Co(t,a),null===t.stateNode)Hl(e,t),Ho(t,n,r),Go(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var s=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=_o(c):c=Na(t,c=Ra(n)?La:ja.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==r||s!==c)&&Zo(t,i,r,c),No=!1;var p=t.memoizedState;i.state=p,Mo(t,r,i,a),s=t.memoizedState,l!==r||p!==s||Aa.current||No?("function"==typeof u&&($o(t,n,u,r),s=t.memoizedState),(l=No||qo(t,n,l,r,p,s,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=c,r=l):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Po(e,t),l=t.memoizedProps,c=t.type===t.elementType?l:bo(t.type,l),i.props=c,d=t.pendingProps,p=i.context,"object"==typeof(s=n.contextType)&&null!==s?s=_o(s):s=Na(t,s=Ra(n)?La:ja.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==d||p!==s)&&Zo(t,i,r,s),No=!1,p=t.memoizedState,i.state=p,Mo(t,r,i,a);var m=t.memoizedState;l!==d||p!==m||Aa.current||No?("function"==typeof f&&($o(t,n,f,r),m=t.memoizedState),(c=No||qo(t,n,c,r,p,m,s)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,s),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,s)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=s,r=c):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Al(e,t,n,r,o,a)}function Al(e,t,n,r,a,o){_l(e,t);var i=0!=(128&t.flags);if(!r&&!i)return a&&Fa(t,n,!1),Zl(e,t,o);r=t.stateNode,vl.current=t;var l=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Ko(t,e.child,null,o),t.child=Ko(t,null,l,o)):kl(e,t,l,o),t.memoizedState=r.state,a&&Fa(t,n,!0),t.child}function Ll(e){var t=e.stateNode;t.pendingContext?Oa(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Oa(0,t.context,!1),ai(e,t.containerInfo)}function Nl(e,t,n,r,a){return mo(),go(a),t.flags|=256,kl(e,t,n,r),t.child}var Rl,Pl,Ol,Dl,Il={dehydrated:null,treeContext:null,retryLane:0};function Fl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ml(e,t,n){var r,a=t.pendingProps,i=si.current,l=!1,s=0!=(128&t.flags);if((r=s)||(r=(null===e||null!==e.memoizedState)&&0!=(2&i)),r?(l=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),_a(si,1&i),null===e)return co(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(s=a.children,e=a.fallback,l?(a=t.mode,l=t.child,s={mode:"hidden",children:s},0==(1&a)&&null!==l?(l.childLanes=0,l.pendingProps=s):l=Fc(s,a,0,null),e=Ic(e,a,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Fl(n),t.memoizedState=Il,e):zl(t,s));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,a,i,l){if(n)return 256&t.flags?(t.flags&=-257,Bl(e,t,l,r=dl(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,a=t.mode,r=Fc({mode:"visible",children:r.children},a,0,null),(i=Ic(i,a,l,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,0!=(1&t.mode)&&Ko(t,e.child,null,l),t.child.memoizedState=Fl(l),t.memoizedState=Il,i);if(0==(1&t.mode))return Bl(e,t,l,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var s=r.dgst;return r=s,Bl(e,t,l,r=dl(i=Error(o(419)),r,void 0))}if(s=0!=(l&e.childLanes),wl||s){if(null!==(r=Ls)){switch(l&-l){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!=(a&(r.suspendedLanes|l))?0:a)&&a!==i.retryLane&&(i.retryLane=a,Lo(e,a),rc(r,e,a,-1))}return hc(),Bl(e,t,l,r=dl(Error(o(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=jc.bind(null,e),a._reactRetry=t,null):(e=i.treeContext,ro=ca(a.nextSibling),no=t,ao=!0,oo=null,null!==e&&(Va[Wa++]=Ya,Va[Wa++]=Ka,Va[Wa++]=Qa,Ya=e.id,Ka=e.overflow,Qa=t),t=zl(t,r.children),t.flags|=4096,t)}(e,t,s,a,r,i,n);if(l){l=a.fallback,s=t.mode,r=(i=e.child).sibling;var c={mode:"hidden",children:a.children};return 0==(1&s)&&t.child!==i?((a=t.child).childLanes=0,a.pendingProps=c,t.deletions=null):(a=Oc(i,c)).subtreeFlags=14680064&i.subtreeFlags,null!==r?l=Oc(r,l):(l=Ic(l,s,n,null)).flags|=2,l.return=t,a.return=t,a.sibling=l,t.child=a,a=l,l=t.child,s=null===(s=e.child.memoizedState)?Fl(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},l.memoizedState=s,l.childLanes=e.childLanes&~n,t.memoizedState=Il,a}return e=(l=e.child).sibling,a=Oc(l,{mode:"visible",children:a.children}),0==(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function zl(e,t){return(t=Fc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bl(e,t,n,r){return null!==r&&go(r),Ko(t,e.child,null,n),(e=zl(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function $l(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Eo(e.return,t,n)}function Ul(e,t,n,r,a){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=a)}function ql(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(kl(e,t,r.children,n),0!=(2&(r=si.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&$l(e,n,t);else if(19===e.tag)$l(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(_a(si,r),0==(1&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===ci(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Ul(t,!1,a,n,o);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===ci(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Ul(t,!0,n,null,o);break;case"together":Ul(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Hl(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Zl(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Fs|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Oc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Oc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Gl(e,t){if(!ao)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Vl(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Wl(e,t,n){var r=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Vl(t),null;case 1:case 17:return Ra(t.type)&&Pa(),Vl(t),null;case 3:return r=t.stateNode,oi(),Ca(Aa),Ca(ja),di(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(po(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==oo&&(lc(oo),oo=null))),Pl(e,t),Vl(t),null;case 5:li(t);var a=ri(ni.current);if(n=t.type,null!==e&&null!=t.stateNode)Ol(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(o(166));return Vl(t),null}if(e=ri(ei.current),po(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[pa]=t,r[fa]=i,e=0!=(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(a=0;a<Dr.length;a++)zr(Dr[a],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":Y(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":ae(r,i),zr("invalid",r)}for(var s in ye(n,i),a=null,i)if(i.hasOwnProperty(s)){var c=i[s];"children"===s?"string"==typeof c?r.textContent!==c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),a=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),a=["children",""+c]):l.hasOwnProperty(s)&&null!=c&&"onScroll"===s&&zr("scroll",r)}switch(n){case"input":G(r),J(r,i,!0);break;case"textarea":G(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{s=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=le(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[pa]=t,e[fa]=r,Rl(e,t,!1,!1),t.stateNode=e;e:{switch(s=ve(n,r),n){case"dialog":zr("cancel",e),zr("close",e),a=r;break;case"iframe":case"object":case"embed":zr("load",e),a=r;break;case"video":case"audio":for(a=0;a<Dr.length;a++)zr(Dr[a],e);a=r;break;case"source":zr("error",e),a=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),a=r;break;case"details":zr("toggle",e),a=r;break;case"input":Y(e,r),a=Q(e,r),zr("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=F({},r,{value:void 0}),zr("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),zr("invalid",e)}for(i in ye(n,a),c=a)if(c.hasOwnProperty(i)){var u=c[i];"style"===i?he(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(l.hasOwnProperty(i)?null!=u&&"onScroll"===i&&zr("scroll",e):null!=u&&v(e,i,u,s))}switch(n){case"input":G(e),J(e,r,!1);break;case"textarea":G(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+H(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Vl(t),null;case 6:if(e&&null!=t.stateNode)Dl(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(o(166));if(n=ri(ni.current),ri(ei.current),po(t)){if(r=t.stateNode,n=t.memoizedProps,r[pa]=t,(i=r.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Xr(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,0!=(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[pa]=t,t.stateNode=r}return Vl(t),null;case 13:if(Ca(si),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ao&&null!==ro&&0!=(1&t.mode)&&0==(128&t.flags))fo(),mo(),t.flags|=98560,i=!1;else if(i=po(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(o(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(o(317));i[pa]=t}else mo(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Vl(t),i=!1}else null!==oo&&(lc(oo),oo=null),i=!0;if(!i)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&si.current)?0===Ds&&(Ds=3):hc())),null!==t.updateQueue&&(t.flags|=4),Vl(t),null);case 4:return oi(),Pl(e,t),null===e&&Ur(t.stateNode.containerInfo),Vl(t),null;case 10:return So(t.type._context),Vl(t),null;case 19:if(Ca(si),null===(i=t.memoizedState))return Vl(t),null;if(r=0!=(128&t.flags),null===(s=i.rendering))if(r)Gl(i,!1);else{if(0!==Ds||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(s=ci(e))){for(t.flags|=128,Gl(i,!1),null!==(r=s.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(s=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=s.childLanes,i.lanes=s.lanes,i.child=s.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=s.memoizedProps,i.memoizedState=s.memoizedState,i.updateQueue=s.updateQueue,i.type=s.type,e=s.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return _a(si,1&si.current|2),t.child}e=e.sibling}null!==i.tail&&Ke()>qs&&(t.flags|=128,r=!0,Gl(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ci(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Gl(i,!0),null===i.tail&&"hidden"===i.tailMode&&!s.alternate&&!ao)return Vl(t),null}else 2*Ke()-i.renderingStartTime>qs&&1073741824!==n&&(t.flags|=128,r=!0,Gl(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=i.last)?n.sibling=s:t.child=s,i.last=s)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ke(),t.sibling=null,n=si.current,_a(si,r?1&n|2:1&n),t):(Vl(t),null);case 22:case 23:return pc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(1073741824&Ps)&&(Vl(t),6&t.subtreeFlags&&(t.flags|=8192)):Vl(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Ql(e,t){switch(to(t),t.tag){case 1:return Ra(t.type)&&Pa(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return oi(),Ca(Aa),Ca(ja),di(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return li(t),null;case 13:if(Ca(si),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));mo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Ca(si),null;case 4:return oi(),null;case 10:return So(t.type._context),null;case 22:case 23:return pc(),null;default:return null}}Rl=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Pl=function(){},Ol=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,ri(ei.current);var o,i=null;switch(n){case"input":a=Q(e,a),r=Q(e,r),i=[];break;case"select":a=F({},a,{value:void 0}),r=F({},r,{value:void 0}),i=[];break;case"textarea":a=re(e,a),r=re(e,r),i=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(u in ye(n,r),n=null,a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&null!=a[u])if("style"===u){var s=a[u];for(o in s)s.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(l.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(s=null!=a?a[u]:void 0,r.hasOwnProperty(u)&&c!==s&&(null!=c||null!=s))if("style"===u)if(s){for(o in s)!s.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in c)c.hasOwnProperty(o)&&s[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(i||(i=[]),i.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(i=i||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(i=i||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(l.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&zr("scroll",e),i||s===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Dl=function(e,t,n,r){n!==r&&(t.flags|=4)};var Yl=!1,Kl=!1,Xl="function"==typeof WeakSet?WeakSet:Set,Jl=null;function es(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){Cc(e,t,r)}else n.current=null}function ts(e,t,n){try{n()}catch(r){Cc(e,t,r)}}var ns=!1;function rs(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var o=a.destroy;a.destroy=void 0,void 0!==o&&ts(t,n,o)}a=a.next}while(a!==r)}}function as(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function os(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function is(e){var t=e.alternate;null!==t&&(e.alternate=null,is(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[pa],delete t[fa],delete t[ga],delete t[ha],delete t[ba])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ls(e){return 5===e.tag||3===e.tag||4===e.tag}function ss(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ls(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cs(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(cs(e,t,n),e=e.sibling;null!==e;)cs(e,t,n),e=e.sibling}function us(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(us(e,t,n),e=e.sibling;null!==e;)us(e,t,n),e=e.sibling}var ds=null,ps=!1;function fs(e,t,n){for(n=n.child;null!==n;)ms(e,t,n),n=n.sibling}function ms(e,t,n){if(ot&&"function"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(at,n)}catch(l){}switch(n.tag){case 5:Kl||es(n,t);case 6:var r=ds,a=ps;ds=null,fs(e,t,n),ps=a,null!==(ds=r)&&(ps?(e=ds,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ds.removeChild(n.stateNode));break;case 18:null!==ds&&(ps?(e=ds,n=n.stateNode,8===e.nodeType?sa(e.parentNode,n):1===e.nodeType&&sa(e,n),Ut(e)):sa(ds,n.stateNode));break;case 4:r=ds,a=ps,ds=n.stateNode.containerInfo,ps=!0,fs(e,t,n),ds=r,ps=a;break;case 0:case 11:case 14:case 15:if(!Kl&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var o=a,i=o.destroy;o=o.tag,void 0!==i&&(0!=(2&o)||0!=(4&o))&&ts(n,t,i),a=a.next}while(a!==r)}fs(e,t,n);break;case 1:if(!Kl&&(es(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Cc(n,t,l)}fs(e,t,n);break;case 21:fs(e,t,n);break;case 22:1&n.mode?(Kl=(r=Kl)||null!==n.memoizedState,fs(e,t,n),Kl=r):fs(e,t,n);break;default:fs(e,t,n)}}function gs(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xl),t.forEach((function(t){var r=Ac.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function hs(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var i=e,l=t,s=l;e:for(;null!==s;){switch(s.tag){case 5:ds=s.stateNode,ps=!1;break e;case 3:case 4:ds=s.stateNode.containerInfo,ps=!0;break e}s=s.return}if(null===ds)throw Error(o(160));ms(i,l,a),ds=null,ps=!1;var c=a.alternate;null!==c&&(c.return=null),a.return=null}catch(u){Cc(a,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)bs(t,e),t=t.sibling}function bs(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hs(t,e),ys(e),4&r){try{rs(3,e,e.return),as(3,e)}catch(h){Cc(e,e.return,h)}try{rs(5,e,e.return)}catch(h){Cc(e,e.return,h)}}break;case 1:hs(t,e),ys(e),512&r&&null!==n&&es(n,n.return);break;case 5:if(hs(t,e),ys(e),512&r&&null!==n&&es(n,n.return),32&e.flags){var a=e.stateNode;try{pe(a,"")}catch(h){Cc(e,e.return,h)}}if(4&r&&null!=(a=e.stateNode)){var i=e.memoizedProps,l=null!==n?n.memoizedProps:i,s=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===s&&"radio"===i.type&&null!=i.name&&K(a,i),ve(s,l);var u=ve(s,i);for(l=0;l<c.length;l+=2){var d=c[l],p=c[l+1];"style"===d?he(a,p):"dangerouslySetInnerHTML"===d?de(a,p):"children"===d?pe(a,p):v(a,d,p,u)}switch(s){case"input":X(a,i);break;case"textarea":oe(a,i);break;case"select":var f=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(a,!!i.multiple,m,!1):f!==!!i.multiple&&(null!=i.defaultValue?ne(a,!!i.multiple,i.defaultValue,!0):ne(a,!!i.multiple,i.multiple?[]:"",!1))}a[fa]=i}catch(h){Cc(e,e.return,h)}}break;case 6:if(hs(t,e),ys(e),4&r){if(null===e.stateNode)throw Error(o(162));a=e.stateNode,i=e.memoizedProps;try{a.nodeValue=i}catch(h){Cc(e,e.return,h)}}break;case 3:if(hs(t,e),ys(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(h){Cc(e,e.return,h)}break;case 4:default:hs(t,e),ys(e);break;case 13:hs(t,e),ys(e),8192&(a=e.child).flags&&(i=null!==a.memoizedState,a.stateNode.isHidden=i,!i||null!==a.alternate&&null!==a.alternate.memoizedState||(Us=Ke())),4&r&&gs(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Kl=(u=Kl)||d,hs(t,e),Kl=u):hs(t,e),ys(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&0!=(1&e.mode))for(Jl=e,d=e.child;null!==d;){for(p=Jl=d;null!==Jl;){switch(m=(f=Jl).child,f.tag){case 0:case 11:case 14:case 15:rs(4,f,f.return);break;case 1:es(f,f.return);var g=f.stateNode;if("function"==typeof g.componentWillUnmount){r=f,n=f.return;try{t=r,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(h){Cc(r,n,h)}}break;case 5:es(f,f.return);break;case 22:if(null!==f.memoizedState){xs(p);continue}}null!==m?(m.return=f,Jl=m):xs(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{a=p.stateNode,u?"function"==typeof(i=a.style).setProperty?i.setProperty("display","none","important"):i.display="none":(s=p.stateNode,l=null!=(c=p.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,s.style.display=ge("display",l))}catch(h){Cc(e,e.return,h)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(h){Cc(e,e.return,h)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:hs(t,e),ys(e),4&r&&gs(e);case 21:}}function ys(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ls(n)){var r=n;break e}n=n.return}throw Error(o(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(pe(a,""),r.flags&=-33),us(e,ss(e),a);break;case 3:case 4:var i=r.stateNode.containerInfo;cs(e,ss(e),i);break;default:throw Error(o(161))}}catch(l){Cc(e,e.return,l)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vs(e,t,n){Jl=e,ws(e,t,n)}function ws(e,t,n){for(var r=0!=(1&e.mode);null!==Jl;){var a=Jl,o=a.child;if(22===a.tag&&r){var i=null!==a.memoizedState||Yl;if(!i){var l=a.alternate,s=null!==l&&null!==l.memoizedState||Kl;l=Yl;var c=Kl;if(Yl=i,(Kl=s)&&!c)for(Jl=a;null!==Jl;)s=(i=Jl).child,22===i.tag&&null!==i.memoizedState?Ss(a):null!==s?(s.return=i,Jl=s):Ss(a);for(;null!==o;)Jl=o,ws(o,t,n),o=o.sibling;Jl=a,Yl=l,Kl=c}ks(e)}else 0!=(8772&a.subtreeFlags)&&null!==o?(o.return=a,Jl=o):ks(e)}}function ks(e){for(;null!==Jl;){var t=Jl;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Kl||as(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Kl)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:bo(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&zo(t,i,r);break;case 3:var l=t.updateQueue;if(null!==l){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}zo(t,l,n)}break;case 5:var s=t.stateNode;if(null===n&&4&t.flags){n=s;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Ut(p)}}}break;default:throw Error(o(163))}Kl||512&t.flags&&os(t)}catch(f){Cc(t,t.return,f)}}if(t===e){Jl=null;break}if(null!==(n=t.sibling)){n.return=t.return,Jl=n;break}Jl=t.return}}function xs(e){for(;null!==Jl;){var t=Jl;if(t===e){Jl=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Jl=n;break}Jl=t.return}}function Ss(e){for(;null!==Jl;){var t=Jl;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{as(4,t)}catch(s){Cc(t,n,s)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(s){Cc(t,a,s)}}var o=t.return;try{os(t)}catch(s){Cc(t,o,s)}break;case 5:var i=t.return;try{os(t)}catch(s){Cc(t,i,s)}}}catch(s){Cc(t,t.return,s)}if(t===e){Jl=null;break}var l=t.sibling;if(null!==l){l.return=t.return,Jl=l;break}Jl=t.return}}var Es,Cs=Math.ceil,_s=w.ReactCurrentDispatcher,Ts=w.ReactCurrentOwner,js=w.ReactCurrentBatchConfig,As=0,Ls=null,Ns=null,Rs=0,Ps=0,Os=Ea(0),Ds=0,Is=null,Fs=0,Ms=0,zs=0,Bs=null,$s=null,Us=0,qs=1/0,Hs=null,Zs=!1,Gs=null,Vs=null,Ws=!1,Qs=null,Ys=0,Ks=0,Xs=null,Js=-1,ec=0;function tc(){return 0!=(6&As)?Ke():-1!==Js?Js:Js=Ke()}function nc(e){return 0==(1&e.mode)?1:0!=(2&As)&&0!==Rs?Rs&-Rs:null!==ho.transition?(0===ec&&(ec=gt()),ec):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Yt(e.type)}function rc(e,t,n,r){if(50<Ks)throw Ks=0,Xs=null,Error(o(185));bt(e,n,r),0!=(2&As)&&e===Ls||(e===Ls&&(0==(2&As)&&(Ms|=n),4===Ds&&sc(e,Rs)),ac(e,r),1===n&&0===As&&0==(1&t.mode)&&(qs=Ke()+500,za&&Ua()))}function ac(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes;0<o;){var i=31-it(o),l=1<<i,s=a[i];-1===s?0!=(l&n)&&0==(l&r)||(a[i]=ft(l,t)):s<=t&&(e.expiredLanes|=l),o&=~l}}(e,t);var r=pt(e,e===Ls?Rs:0);if(0===r)null!==n&&We(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&We(n),1===t)0===e.tag?function(e){za=!0,$a(e)}(cc.bind(null,e)):$a(cc.bind(null,e)),ia((function(){0==(6&As)&&Ua()})),n=null;else{switch(wt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Lc(n,oc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function oc(e,t){if(Js=-1,ec=0,0!=(6&As))throw Error(o(327));var n=e.callbackNode;if(Sc()&&e.callbackNode!==n)return null;var r=pt(e,e===Ls?Rs:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=bc(e,r);else{t=r;var a=As;As|=2;var i=gc();for(Ls===e&&Rs===t||(Hs=null,qs=Ke()+500,fc(e,t));;)try{vc();break}catch(s){mc(e,s)}xo(),_s.current=i,As=a,null!==Ns?t=0:(Ls=null,Rs=0,t=Ds)}if(0!==t){if(2===t&&(0!==(a=mt(e))&&(r=a,t=ic(e,a))),1===t)throw n=Is,fc(e,0),sc(e,r),ac(e,Ke()),n;if(6===t)sc(e,r);else{if(a=e.current.alternate,0==(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],o=a.getSnapshot;a=a.value;try{if(!lr(o(),a))return!1}catch(l){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)&&(2===(t=bc(e,r))&&(0!==(i=mt(e))&&(r=i,t=ic(e,i))),1===t))throw n=Is,fc(e,0),sc(e,r),ac(e,Ke()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(o(345));case 2:case 5:xc(e,$s,Hs);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=Us+500-Ke())){if(0!==pt(e,0))break;if(((a=e.suspendedLanes)&r)!==r){tc(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(xc.bind(null,e,$s,Hs),t);break}xc(e,$s,Hs);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var l=31-it(r);i=1<<l,(l=t[l])>a&&(a=l),r&=~i}if(r=a,10<(r=(120>(r=Ke()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Cs(r/1960))-r)){e.timeoutHandle=ra(xc.bind(null,e,$s,Hs),r);break}xc(e,$s,Hs);break;default:throw Error(o(329))}}}return ac(e,Ke()),e.callbackNode===n?oc.bind(null,e):null}function ic(e,t){var n=Bs;return e.current.memoizedState.isDehydrated&&(fc(e,t).flags|=256),2!==(e=bc(e,t))&&(t=$s,$s=n,null!==t&&lc(t)),e}function lc(e){null===$s?$s=e:$s.push.apply($s,e)}function sc(e,t){for(t&=~zs,t&=~Ms,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function cc(e){if(0!=(6&As))throw Error(o(327));Sc();var t=pt(e,0);if(0==(1&t))return ac(e,Ke()),null;var n=bc(e,t);if(0!==e.tag&&2===n){var r=mt(e);0!==r&&(t=r,n=ic(e,r))}if(1===n)throw n=Is,fc(e,0),sc(e,t),ac(e,Ke()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,xc(e,$s,Hs),ac(e,Ke()),null}function uc(e,t){var n=As;As|=1;try{return e(t)}finally{0===(As=n)&&(qs=Ke()+500,za&&Ua())}}function dc(e){null!==Qs&&0===Qs.tag&&0==(6&As)&&Sc();var t=As;As|=1;var n=js.transition,r=vt;try{if(js.transition=null,vt=1,e)return e()}finally{vt=r,js.transition=n,0==(6&(As=t))&&Ua()}}function pc(){Ps=Os.current,Ca(Os)}function fc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==Ns)for(n=Ns.return;null!==n;){var r=n;switch(to(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Pa();break;case 3:oi(),Ca(Aa),Ca(ja),di();break;case 5:li(r);break;case 4:oi();break;case 13:case 19:Ca(si);break;case 10:So(r.type._context);break;case 22:case 23:pc()}n=n.return}if(Ls=e,Ns=e=Oc(e.current,null),Rs=Ps=t,Ds=0,Is=null,zs=Ms=Fs=0,$s=Bs=null,null!==To){for(t=0;t<To.length;t++)if(null!==(r=(n=To[t]).interleaved)){n.interleaved=null;var a=r.next,o=n.pending;if(null!==o){var i=o.next;o.next=a,r.next=i}n.pending=r}To=null}return e}function mc(e,t){for(;;){var n=Ns;try{if(xo(),pi.current=il,yi){for(var r=gi.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}yi=!1}if(mi=0,bi=hi=gi=null,vi=!1,wi=0,Ts.current=null,null===n||null===n.return){Ds=1,Is=t,Ns=null;break}e:{var i=e,l=n.return,s=n,c=t;if(t=Rs,s.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=s,p=d.tag;if(0==(1&d.mode)&&(0===p||11===p||15===p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=bl(l);if(null!==m){m.flags&=-257,yl(m,l,s,0,t),1&m.mode&&hl(i,u,t),c=u;var g=(t=m).updateQueue;if(null===g){var h=new Set;h.add(c),t.updateQueue=h}else g.add(c);break e}if(0==(1&t)){hl(i,u,t),hc();break e}c=Error(o(426))}else if(ao&&1&s.mode){var b=bl(l);if(null!==b){0==(65536&b.flags)&&(b.flags|=256),yl(b,l,s,0,t),go(ul(c,s));break e}}i=c=ul(c,s),4!==Ds&&(Ds=2),null===Bs?Bs=[i]:Bs.push(i),i=l;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,ml(0,c,t));break e;case 1:s=c;var y=i.type,v=i.stateNode;if(0==(128&i.flags)&&("function"==typeof y.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===Vs||!Vs.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,gl(i,s,t));break e}}i=i.return}while(null!==i)}kc(n)}catch(w){t=w,Ns===n&&null!==n&&(Ns=n=n.return);continue}break}}function gc(){var e=_s.current;return _s.current=il,null===e?il:e}function hc(){0!==Ds&&3!==Ds&&2!==Ds||(Ds=4),null===Ls||0==(268435455&Fs)&&0==(268435455&Ms)||sc(Ls,Rs)}function bc(e,t){var n=As;As|=2;var r=gc();for(Ls===e&&Rs===t||(Hs=null,fc(e,t));;)try{yc();break}catch(a){mc(e,a)}if(xo(),As=n,_s.current=r,null!==Ns)throw Error(o(261));return Ls=null,Rs=0,Ds}function yc(){for(;null!==Ns;)wc(Ns)}function vc(){for(;null!==Ns&&!Qe();)wc(Ns)}function wc(e){var t=Es(e.alternate,e,Ps);e.memoizedProps=e.pendingProps,null===t?kc(e):Ns=t,Ts.current=null}function kc(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=Wl(n,t,Ps)))return void(Ns=n)}else{if(null!==(n=Ql(n,t)))return n.flags&=32767,void(Ns=n);if(null===e)return Ds=6,void(Ns=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Ns=t);Ns=t=e}while(null!==t);0===Ds&&(Ds=5)}function xc(e,t,n){var r=vt,a=js.transition;try{js.transition=null,vt=1,function(e,t,n,r){do{Sc()}while(null!==Qs);if(0!=(6&As))throw Error(o(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-it(n),o=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~o}}(e,i),e===Ls&&(Ns=Ls=null,Rs=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Ws||(Ws=!0,Lc(tt,(function(){return Sc(),null}))),i=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||i){i=js.transition,js.transition=null;var l=vt;vt=1;var s=As;As|=4,Ts.current=null,function(e,t){if(ea=Ht,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(k){n=null;break e}var l=0,s=-1,c=-1,u=0,d=0,p=e,f=null;t:for(;;){for(var m;p!==n||0!==a&&3!==p.nodeType||(s=l+a),p!==i||0!==r&&3!==p.nodeType||(c=l+r),3===p.nodeType&&(l+=p.nodeValue.length),null!==(m=p.firstChild);)f=p,p=m;for(;;){if(p===e)break t;if(f===n&&++u===a&&(s=l),f===i&&++d===r&&(c=l),null!==(m=p.nextSibling))break;f=(p=f).parentNode}p=m}n=-1===s||-1===c?null:{start:s,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},Ht=!1,Jl=t;null!==Jl;)if(e=(t=Jl).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Jl=e;else for(;null!==Jl;){t=Jl;try{var g=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var h=g.memoizedProps,b=g.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?h:bo(t.type,h),b);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(o(163))}}catch(k){Cc(t,t.return,k)}if(null!==(e=t.sibling)){e.return=t.return,Jl=e;break}Jl=t.return}g=ns,ns=!1}(e,n),bs(n,e),mr(ta),Ht=!!ea,ta=ea=null,e.current=n,vs(n,e,a),Ye(),As=s,vt=l,js.transition=i}else e.current=n;if(Ws&&(Ws=!1,Qs=e,Ys=a),i=e.pendingLanes,0===i&&(Vs=null),function(e){if(ot&&"function"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(at,e,void 0,128==(128&e.current.flags))}catch(t){}}(n.stateNode),ac(e,Ke()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(Zs)throw Zs=!1,e=Gs,Gs=null,e;0!=(1&Ys)&&0!==e.tag&&Sc(),i=e.pendingLanes,0!=(1&i)?e===Xs?Ks++:(Ks=0,Xs=e):Ks=0,Ua()}(e,t,n,r)}finally{js.transition=a,vt=r}return null}function Sc(){if(null!==Qs){var e=wt(Ys),t=js.transition,n=vt;try{if(js.transition=null,vt=16>e?16:e,null===Qs)var r=!1;else{if(e=Qs,Qs=null,Ys=0,0!=(6&As))throw Error(o(331));var a=As;for(As|=4,Jl=e.current;null!==Jl;){var i=Jl,l=i.child;if(0!=(16&Jl.flags)){var s=i.deletions;if(null!==s){for(var c=0;c<s.length;c++){var u=s[c];for(Jl=u;null!==Jl;){var d=Jl;switch(d.tag){case 0:case 11:case 15:rs(8,d,i)}var p=d.child;if(null!==p)p.return=d,Jl=p;else for(;null!==Jl;){var f=(d=Jl).sibling,m=d.return;if(is(d),d===u){Jl=null;break}if(null!==f){f.return=m,Jl=f;break}Jl=m}}}var g=i.alternate;if(null!==g){var h=g.child;if(null!==h){g.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(null!==h)}}Jl=i}}if(0!=(2064&i.subtreeFlags)&&null!==l)l.return=i,Jl=l;else e:for(;null!==Jl;){if(0!=(2048&(i=Jl).flags))switch(i.tag){case 0:case 11:case 15:rs(9,i,i.return)}var y=i.sibling;if(null!==y){y.return=i.return,Jl=y;break e}Jl=i.return}}var v=e.current;for(Jl=v;null!==Jl;){var w=(l=Jl).child;if(0!=(2064&l.subtreeFlags)&&null!==w)w.return=l,Jl=w;else e:for(l=v;null!==Jl;){if(0!=(2048&(s=Jl).flags))try{switch(s.tag){case 0:case 11:case 15:as(9,s)}}catch(x){Cc(s,s.return,x)}if(s===l){Jl=null;break e}var k=s.sibling;if(null!==k){k.return=s.return,Jl=k;break e}Jl=s.return}}if(As=a,Ua(),ot&&"function"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(at,e)}catch(x){}r=!0}return r}finally{vt=n,js.transition=t}}return!1}function Ec(e,t,n){e=Do(e,t=ml(0,t=ul(n,t),1),1),t=tc(),null!==e&&(bt(e,1,t),ac(e,t))}function Cc(e,t,n){if(3===e.tag)Ec(e,e,n);else for(;null!==t;){if(3===t.tag){Ec(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Vs||!Vs.has(r))){t=Do(t,e=gl(t,e=ul(n,e),1),1),e=tc(),null!==t&&(bt(t,1,e),ac(t,e));break}}t=t.return}}function _c(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=tc(),e.pingedLanes|=e.suspendedLanes&n,Ls===e&&(Rs&n)===n&&(4===Ds||3===Ds&&(130023424&Rs)===Rs&&500>Ke()-Us?fc(e,0):zs|=n),ac(e,t)}function Tc(e,t){0===t&&(0==(1&e.mode)?t=1:(t=ut,0==(130023424&(ut<<=1))&&(ut=4194304)));var n=tc();null!==(e=Lo(e,t))&&(bt(e,t,n),ac(e,n))}function jc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Tc(e,n)}function Ac(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(o(314))}null!==r&&r.delete(t),Tc(e,n)}function Lc(e,t){return Ve(e,t)}function Nc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rc(e,t,n,r){return new Nc(e,t,n,r)}function Pc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Oc(e,t){var n=e.alternate;return null===n?((n=Rc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Dc(e,t,n,r,a,i){var l=2;if(r=e,"function"==typeof e)Pc(e)&&(l=1);else if("string"==typeof e)l=5;else e:switch(e){case S:return Ic(n.children,a,i,t);case E:l=8,a|=8;break;case C:return(e=Rc(12,n,t,2|a)).elementType=C,e.lanes=i,e;case A:return(e=Rc(13,n,t,a)).elementType=A,e.lanes=i,e;case L:return(e=Rc(19,n,t,a)).elementType=L,e.lanes=i,e;case P:return Fc(n,a,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case _:l=10;break e;case T:l=9;break e;case j:l=11;break e;case N:l=14;break e;case R:l=16,r=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Rc(l,n,t,a)).elementType=e,t.type=r,t.lanes=i,t}function Ic(e,t,n,r){return(e=Rc(7,e,r,t)).lanes=n,e}function Fc(e,t,n,r){return(e=Rc(22,e,r,t)).elementType=P,e.lanes=n,e.stateNode={isHidden:!1},e}function Mc(e,t,n){return(e=Rc(6,e,null,t)).lanes=n,e}function zc(e,t,n){return(t=Rc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bc(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ht(0),this.expirationTimes=ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function $c(e,t,n,r,a,o,i,l,s){return e=new Bc(e,t,n,l,s),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Rc(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ro(o),e}function Uc(e){if(!e)return Ta;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ra(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Ra(n))return Da(e,n,t)}return t}function qc(e,t,n,r,a,o,i,l,s){return(e=$c(n,r,!0,e,0,o,0,l,s)).context=Uc(null),n=e.current,(o=Oo(r=tc(),a=nc(n))).callback=null!=t?t:null,Do(n,o,a),e.current.lanes=a,bt(e,a,r),ac(e,r),e}function Hc(e,t,n,r){var a=t.current,o=tc(),i=nc(a);return n=Uc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Oo(o,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Do(a,t,i))&&(rc(e,a,i,o),Io(e,a,i)),i}function Zc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Gc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Vc(e,t){Gc(e,t),(e=e.alternate)&&Gc(e,t)}Es=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Aa.current)wl=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return wl=!1,function(e,t,n){switch(t.tag){case 3:Ll(t),mo();break;case 5:ii(t);break;case 1:Ra(t.type)&&Ia(t);break;case 4:ai(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;_a(yo,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(_a(si,1&si.current),t.flags|=128,null):0!=(n&t.child.childLanes)?Ml(e,t,n):(_a(si,1&si.current),null!==(e=Zl(e,t,n))?e.sibling:null);_a(si,1&si.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return ql(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),_a(si,si.current),r)break;return null;case 22:case 23:return t.lanes=0,Cl(e,t,n)}return Zl(e,t,n)}(e,t,n);wl=0!=(131072&e.flags)}else wl=!1,ao&&0!=(1048576&t.flags)&&Ja(t,Ga,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Hl(e,t),e=t.pendingProps;var a=Na(t,ja.current);Co(t,n),a=Ei(null,t,r,e,a,n);var i=Ci();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ra(r)?(i=!0,Ia(t)):i=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,Ro(t),a.updater=Uo,t.stateNode=a,a._reactInternals=t,Go(t,r,e,n),t=Al(null,t,r,!0,i,n)):(t.tag=0,ao&&i&&eo(t),kl(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Hl(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return Pc(e)?1:0;if(null!=e){if((e=e.$$typeof)===j)return 11;if(e===N)return 14}return 2}(r),e=bo(r,e),a){case 0:t=Tl(null,t,r,e,n);break e;case 1:t=jl(null,t,r,e,n);break e;case 11:t=xl(null,t,r,e,n);break e;case 14:t=Sl(null,t,r,bo(r.type,e),n);break e}throw Error(o(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,Tl(e,t,r,a=t.elementType===r?a:bo(r,a),n);case 1:return r=t.type,a=t.pendingProps,jl(e,t,r,a=t.elementType===r?a:bo(r,a),n);case 3:e:{if(Ll(t),null===e)throw Error(o(387));r=t.pendingProps,a=(i=t.memoizedState).element,Po(e,t),Mo(t,r,null,n);var l=t.memoizedState;if(r=l.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Nl(e,t,r,n,a=ul(Error(o(423)),t));break e}if(r!==a){t=Nl(e,t,r,n,a=ul(Error(o(424)),t));break e}for(ro=ca(t.stateNode.containerInfo.firstChild),no=t,ao=!0,oo=null,n=Xo(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mo(),r===a){t=Zl(e,t,n);break e}kl(e,t,r,n)}t=t.child}return t;case 5:return ii(t),null===e&&co(t),r=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,l=a.children,na(r,a)?l=null:null!==i&&na(r,i)&&(t.flags|=32),_l(e,t),kl(e,t,l,n),t.child;case 6:return null===e&&co(t),null;case 13:return Ml(e,t,n);case 4:return ai(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Ko(t,null,r,n):kl(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,xl(e,t,r,a=t.elementType===r?a:bo(r,a),n);case 7:return kl(e,t,t.pendingProps,n),t.child;case 8:case 12:return kl(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,i=t.memoizedProps,l=a.value,_a(yo,r._currentValue),r._currentValue=l,null!==i)if(lr(i.value,l)){if(i.children===a.children&&!Aa.current){t=Zl(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var s=i.dependencies;if(null!==s){l=i.child;for(var c=s.firstContext;null!==c;){if(c.context===r){if(1===i.tag){(c=Oo(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),Eo(i.return,n,t),s.lanes|=n;break}c=c.next}}else if(10===i.tag)l=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(l=i.return))throw Error(o(341));l.lanes|=n,null!==(s=l.alternate)&&(s.lanes|=n),Eo(l,n,t),l=i.sibling}else l=i.child;if(null!==l)l.return=i;else for(l=i;null!==l;){if(l===t){l=null;break}if(null!==(i=l.sibling)){i.return=l.return,l=i;break}l=l.return}i=l}kl(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,Co(t,n),r=r(a=_o(a)),t.flags|=1,kl(e,t,r,n),t.child;case 14:return a=bo(r=t.type,t.pendingProps),Sl(e,t,r,a=bo(r.type,a),n);case 15:return El(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:bo(r,a),Hl(e,t),t.tag=1,Ra(r)?(e=!0,Ia(t)):e=!1,Co(t,n),Ho(t,r,a),Go(t,r,a,n),Al(null,t,r,!0,e,n);case 19:return ql(e,t,n);case 22:return Cl(e,t,n)}throw Error(o(156,t.tag))};var Wc="function"==typeof reportError?reportError:function(e){console.error(e)};function Qc(e){this._internalRoot=e}function Yc(e){this._internalRoot=e}function Kc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function eu(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o;if("function"==typeof a){var l=a;a=function(){var e=Zc(i);l.call(e)}}Hc(t,i,e,a)}else i=function(e,t,n,r,a){if(a){if("function"==typeof r){var o=r;r=function(){var e=Zc(i);o.call(e)}}var i=qc(t,r,e,0,null,!1,0,"",Jc);return e._reactRootContainer=i,e[ma]=i.current,Ur(8===e.nodeType?e.parentNode:e),dc(),i}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var l=r;r=function(){var e=Zc(s);l.call(e)}}var s=$c(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=s,e[ma]=s.current,Ur(8===e.nodeType?e.parentNode:e),dc((function(){Hc(t,s,n,r)})),s}(n,t,e,a,r);return Zc(i)}Yc.prototype.render=Qc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));Hc(e,t,null,null)},Yc.prototype.unmount=Qc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;dc((function(){Hc(null,e,null,null)})),t[ma]=null}},Yc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Pt.length&&0!==t&&t<Pt[n].priority;n++);Pt.splice(n,0,e),0===n&&Ft(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),ac(t,Ke()),0==(6&As)&&(qs=Ke()+500,Ua()))}break;case 13:dc((function(){var t=Lo(e,1);if(null!==t){var n=tc();rc(t,e,1,n)}})),Vc(e,1)}},xt=function(e){if(13===e.tag){var t=Lo(e,134217728);if(null!==t)rc(t,e,134217728,tc());Vc(e,134217728)}},St=function(e){if(13===e.tag){var t=nc(e),n=Lo(e,t);if(null!==n)rc(n,e,t,tc());Vc(e,t)}},Et=function(){return vt},Ct=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=ka(r);if(!a)throw Error(o(90));V(r),X(r,a)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},je=uc,Ae=dc;var tu={usingClientEntryPoint:!1,Events:[va,wa,ka,_e,Te,uc]},nu={findFiberByHostInstance:ya,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},ru={bundleType:nu.bundleType,version:nu.version,rendererPackageName:nu.rendererPackageName,rendererConfig:nu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ze(e))?null:e.stateNode},findFiberByHostInstance:nu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{at=au.inject(ru),ot=au}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Kc(t))throw Error(o(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Kc(e))throw Error(o(299));var n=!1,r="",a=Wc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=$c(e,1,!1,null,0,n,0,r,a),e[ma]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Qc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return e=null===(e=Ze(t))?null:e.stateNode},t.flushSync=function(e){return dc(e)},t.hydrate=function(e,t,n){if(!Xc(t))throw Error(o(200));return eu(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Kc(e))throw Error(o(405));var r=null!=n&&n.hydratedSources||null,a=!1,i="",l=Wc;if(null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(l=n.onRecoverableError)),t=qc(t,null,e,1,null!=n?n:null,a,0,i,l),e[ma]=t.current,Ur(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Yc(t)},t.render=function(e,t,n){if(!Xc(t))throw Error(o(200));return eu(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xc(e))throw Error(o(40));return!!e._reactRootContainer&&(dc((function(){eu(null,null,e,!1,(function(){e._reactRootContainer=null,e[ma]=null}))})),!0)},t.unstable_batchedUpdates=uc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Xc(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return eu(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},745:(e,t,n)=>{"use strict";var r=n(3935);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},3935:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4448)},9590:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var l,s,c,u;if(Array.isArray(e)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(!o(e[s],i[s]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(s=u.next()).done;)if(!i.has(s.value[0]))return!1;for(u=e.entries();!(s=u.next()).done;)if(!o(s.value[1],i.get(s.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(s=u.next()).done;)if(!i.has(s.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(e[s]!==i[s])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((l=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(s=l;0!=s--;)if(!Object.prototype.hasOwnProperty.call(i,c[s]))return!1;if(t&&e instanceof Element)return!1;for(s=l;0!=s--;)if(("_owner"!==c[s]&&"__v"!==c[s]&&"__o"!==c[s]||!e.$$typeof)&&!o(e[c[s]],i[c[s]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},405:(e,t,n)=>{"use strict";n.d(t,{B6:()=>Z,ql:()=>J});var r=n(7294),a=n(5697),o=n.n(a),i=n(9590),l=n.n(i),s=n(1143),c=n.n(s),u=n(6774),d=n.n(u);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function g(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map((function(e){return h[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=S(e,h.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},C=function(e){return S(e,"onChangeClientState")||function(){}},_=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[h.BASE]})).map((function(e){return e[h.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},j=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var l=o[i],s=l.toLowerCase();-1===t.indexOf(s)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(n=s),-1===t.indexOf(l)||"innerHTML"!==l&&"cssText"!==l&&"itemprop"!==l||(n=l)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][c]&&(a[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(a),i=0;i<o.length;i+=1){var l=o[i],s=p({},r[l],a[l]);r[l]=s}return e}),[]).reverse()},A=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},L=function(e){return Array.isArray(e)?e.join(""):e},N=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},R=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},P=[h.NOSCRIPT,h.SCRIPT,h.STYLE],O=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},D=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},I=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},F=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},M=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=I(n,a),[r.createElement(h.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=D(n),o=L(t);return a?"<"+e+' data-rh="true" '+a+">"+O(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+O(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return I(t)},toString:function(){return D(t)}};default:return{toComponent:function(){return F(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+O(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===P.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,l=e.title,s=void 0===l?"":l,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=N(e.metaTags,v),o=N(t,b),i=N(n,y);return{priorityMethods:{toComponent:function(){return[].concat(F(h.META,a.priority),F(h.LINK,o.priority),F(h.SCRIPT,i.priority))},toString:function(){return M(h.META,a.priority,r)+" "+M(h.LINK,o.priority,r)+" "+M(h.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);f=m.priorityMethods,u=m.linkTags,d=m.metaTags,p=m.scriptTags}return{priority:f,base:M(h.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",a,r),link:M(h.LINK,u,r),meta:M(h.META,d,r),noscript:M(h.NOSCRIPT,o,r),script:M(h.SCRIPT,p,r),style:M(h.STYLE,i,r),title:M(h.TITLE,{title:s,titleAttributes:c},r)}},B=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),q=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),H="undefined"!=typeof document,Z=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);Z.canUseDOM=H,Z.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},Z.defaultProps={context:{}},Z.displayName="HelmetProvider";var G=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},V=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),l=0;l<i.length;l+=1){var s=i[l],c=t[s]||"";n.getAttribute(s)!==c&&n.setAttribute(s,c),-1===a.indexOf(s)&&a.push(s);var u=o.indexOf(s);-1!==u&&o.splice(u,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},W=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,l=e.onChangeClientState,s=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;V(h.BODY,e.bodyAttributes),V(h.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=L(e)),V(h.TITLE,t)}(u,d);var p={baseTag:G(h.BASE,n),linkTags:G(h.LINK,a),metaTags:G(h.META,o),noscriptTags:G(h.NOSCRIPT,i),scriptTags:G(h.SCRIPT,s),styleTags:G(h.STYLE,c)},f={},m={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(m[e]=p[e].oldTags)})),t&&t(),l(e,f,m)},Q=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:_("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:_("htmlAttributes",e),linkTags:j(h.LINK,["rel","href"],e),metaTags:j(h.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:j(h.NOSCRIPT,["innerHTML"],e),onChangeClientState:C(e),scriptTags:j(h.SCRIPT,["src","innerHTML"],e),styleTags:j(h.STYLE,["cssText"],e),title:E(e),titleAttributes:_("titleAttributes",e),prioritizeSeoTags:A(e,"prioritizeSeoTags")});Z.canUseDOM?(t=o,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){W(t,(function(){Q=null}))})):(W(t),Q=null)):z&&(a=z(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:q.isRequired},Y.displayName="HelmetDispatcher";var K=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!l()(R(this.props,"helmetData"),R(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case h.TITLE:return p({},a,((t={})[r.type]=i,t.titleAttributes=p({},o),t));case h.BODY:return p({},a,{bodyAttributes:p({},o)});case h.HTML:return p({},a,{htmlAttributes:p({},o)});default:return p({},a,((n={})[r.type]=p({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=g(r,K),l=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,o),s){case h.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:l,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=g(e,X),a=p({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof $||(o=new $(o.context,o.instances)),o?r.createElement(Y,p({},a,{context:o.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,p({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},9921:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case o:case l:case i:case f:return e;default:switch(e=e&&e.$$typeof){case c:case p:case h:case g:case s:return e;default:return t}}case a:return t}}}function x(e){return k(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=s,t.Element=r,t.ForwardRef=p,t.Fragment=o,t.Lazy=h,t.Memo=g,t.Portal=a,t.Profiler=l,t.StrictMode=i,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||k(e)===u},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===c},t.isContextProvider=function(e){return k(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===p},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===h},t.isMemo=function(e){return k(e)===g},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===l},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===l||e===i||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===g||e.$$typeof===s||e.$$typeof===c||e.$$typeof===p||e.$$typeof===y||e.$$typeof===v||e.$$typeof===w||e.$$typeof===b)},t.typeOf=k},9864:(e,t,n)=>{"use strict";e.exports=n(9921)},8356:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var l=n(7294),s=n(5697),c=[],u=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return l.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=i({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),g=null;function h(){return g||(g=e(m.loader)),g.promise}return c.push(h),"function"==typeof m.webpack&&u.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return h()})),p=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),g=e(m.loader),r._loadModule()})),h(),r.state={error:g.error,pastDelay:!1,timedOut:!1,loading:g.loading,loaded:g.loaded},r}r(n,t),n.preload=function(){return h()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.loadable.report(t)})),g.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:g.error,loaded:g.loaded,loading:g.loading}),e._clearTimeouts()};g.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?l.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(l.Component),o(d,"contextTypes",{loadable:s.shape({report:s.func.isRequired})}),p}function g(e){return m(d,e)}g.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(p,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return l.Children.only(this.props.children)},t}(l.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}o(h,"propTypes",{report:s.func.isRequired}),o(h,"childContextTypes",{loadable:s.shape({report:s.func.isRequired}).isRequired}),g.Capture=h,g.preloadAll=function(){return new Promise((function(e,t){b(c).then(e,t)}))},g.preloadReady=function(){return new Promise((function(e,t){b(u).then(e,e)}))},e.exports=g},8790:(e,t,n)=>{"use strict";n.d(t,{H:()=>l,f:()=>i});var r=n(6550),a=n(7462),o=n(7294);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function l(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.rs,n,e.map((function(e,n){return o.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.Z)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.Z)({},n,t,{route:e}))}})}))):null}},3727:(e,t,n)=>{"use strict";n.d(t,{OL:()=>v,VK:()=>u,rU:()=>h});var r=n(6550),a=n(5068),o=n(7294),i=n(9318),l=n(7462),s=n(3366),c=n(8776),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,a.Z)(t,e),t.prototype.render=function(){return o.createElement(r.F0,{history:this.history,children:this.props.children})},t}(o.Component);o.Component;var d=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},f=function(e){return e},m=o.forwardRef;void 0===m&&(m=f);var g=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,s.Z)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,l.Z)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=f!==m&&t||n,o.createElement("a",u)}));var h=m((function(e,t){var n=e.component,a=void 0===n?g:n,u=e.replace,h=e.to,b=e.innerRef,y=(0,s.Z)(e,["component","replace","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=e.history,r=p(d(h,e.location),e.location),s=r?n.createHref(r):"",g=(0,l.Z)({},y,{href:s,navigate:function(){var t=d(h,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(p(t));(u||r?n.replace:n.push)(t)}});return f!==m?g.ref=t||b:g.innerRef=b,o.createElement(a,g)}))})),b=function(e){return e},y=o.forwardRef;void 0===y&&(y=b);var v=y((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,f=e.activeStyle,m=e.className,g=e.exact,v=e.isActive,w=e.location,k=e.sensitive,x=e.strict,S=e.style,E=e.to,C=e.innerRef,_=(0,s.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=w||e.location,i=p(d(E,n),n),s=i.pathname,T=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),j=T?(0,r.LX)(n.pathname,{path:T,exact:g,sensitive:k,strict:x}):null,A=!!(v?v(j,n):j),L="function"==typeof m?m(A):m,N="function"==typeof S?S(A):S;A&&(L=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(L,u),N=(0,l.Z)({},N,f));var R=(0,l.Z)({"aria-current":A&&a||null,className:L,style:N,to:i},_);return b!==y?R.ref=t||C:R.innerRef=C,o.createElement(h,R)}))}))},6550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>E,F0:()=>v,LX:()=>S,TH:()=>P,k6:()=>R,rs:()=>L,s6:()=>y});var r=n(5068),a=n(7294),o=n(5697),i=n.n(o),l=n(9318),s=n(8776),c=n(7462),u=n(4779),d=n.n(u),p=(n(9864),n(3366)),f=(n(8679),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var g=a.createContext||function(e,t){var n,o,l="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",s=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return(t=e.call.apply(e,[this].concat(o))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[l]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},a.render=function(){return this.props.children},n}(a.Component);s.childContextTypes=((n={})[l]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},a.componentDidMount=function(){this.context[l]&&this.context[l].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},a.componentWillUnmount=function(){this.context[l]&&this.context[l].off(this.onUpdate)},a.getValue=function(){return this.context[l]?this.context[l].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return c.contextTypes=((o={})[l]=i().object,o),{Provider:s,Consumer:c}},h=function(e){var t=g();return t.displayName=e,t},b=h("Router-History"),y=h("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(y.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var w={},k=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,l=void 0!==i&&i,s=n.sensitive,c=void 0!==s&&s;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var a=[],o={regexp:d()(e,a,t),keys:a};return x<k&&(r[e]=o,x++),o}(n,{end:o,strict:l,sensitive:c}),a=r.regexp,i=r.keys,s=a.exec(e);if(!s)return null;var u=s[0],p=s.slice(1),f=e===u;return o&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(y.Consumer,null,(function(t){t||(0,s.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,o=(0,c.Z)({},t,{location:n,match:r}),i=e.props,l=i.children,u=i.component,d=i.render;return Array.isArray(l)&&function(e){return 0===a.Children.count(e)}(l)&&(l=null),a.createElement(y.Provider,{value:o},o.match?l?"function"==typeof l?l(o):l:u?a.createElement(u,o):d?d(o):null:"function"==typeof l?l(o):null)}))},t}(a.Component);function C(e){return"/"===e.charAt(0)?e:"/"+e}function _(e,t){if(!e)return t;var n=C(e);return 0!==t.pathname.indexOf(n)?t:(0,c.Z)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,l.Ep)(e)}function j(e){return function(){(0,s.Z)(!1)}}function A(){}a.Component;var L=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(y.Consumer,null,(function(t){t||(0,s.Z)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(o.pathname,(0,c.Z)({},e.props,{path:i})):t.match}})),r?a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(a.Component);var N=a.useContext;function R(){return N(b)}function P(){return N(y).location}},5251:(e,t,n)=>{"use strict";var r=n(7294),a=Symbol.for("react.element"),o=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,o={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:u,props:o,_owner:l.current}}t.Fragment=o,t.jsx=c,t.jsxs=c},2408:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,h={};function b(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=b.prototype;var w=v.prototype=new y;w.constructor=v,g(w,b.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,r){var a,o={},i=null,l=null;if(null!=t)for(a in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,a)&&!E.hasOwnProperty(a)&&(o[a]=t[a]);var s=arguments.length-2;if(1===s)o.children=r;else if(1<s){for(var c=Array(s),u=0;u<s;u++)c[u]=arguments[u+2];o.children=c}if(e&&e.defaultProps)for(a in s=e.defaultProps)void 0===o[a]&&(o[a]=s[a]);return{$$typeof:n,type:e,key:i,ref:l,props:o,_owner:S.current}}function _(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var T=/\/+/g;function j(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function A(e,t,a,o,i){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var s=!1;if(null===e)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case n:case r:s=!0}}if(s)return i=i(s=e),e=""===o?"."+j(s,0):o,k(i)?(a="",null!=e&&(a=e.replace(T,"$&/")+"/"),A(i,t,a,"",(function(e){return e}))):null!=i&&(_(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,a+(!i.key||s&&s.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+e)),t.push(i)),1;if(s=0,o=""===o?".":o+":",k(e))for(var c=0;c<e.length;c++){var u=o+j(l=e[c],c);s+=A(l,t,a,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(l=e.next()).done;)s+=A(l=l.value,t,a,u=o+j(l,c++),i);else if("object"===l)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function L(e,t,n){if(null==e)return e;var r=[],a=0;return A(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function N(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var R={current:null},P={transition:null},O={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:P,ReactCurrentOwner:S};t.Children={map:L,forEach:function(e,t,n){L(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return L(e,(function(){t++})),t},toArray:function(e){return L(e,(function(e){return e}))||[]},only:function(e){if(!_(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=a,t.Profiler=i,t.PureComponent=v,t.StrictMode=o,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=g({},e.props),o=e.key,i=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,l=S.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)x.call(t,c)&&!E.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=r;else if(1<c){s=Array(c);for(var u=0;u<c;u++)s[u]=arguments[u+2];a.children=s}return{$$typeof:n,type:e.type,key:o,ref:i,props:a,_owner:l}},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=_,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:N}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return R.current.useCallback(e,t)},t.useContext=function(e){return R.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return R.current.useDeferredValue(e)},t.useEffect=function(e,t){return R.current.useEffect(e,t)},t.useId=function(){return R.current.useId()},t.useImperativeHandle=function(e,t,n){return R.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return R.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return R.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return R.current.useMemo(e,t)},t.useReducer=function(e,t,n){return R.current.useReducer(e,t,n)},t.useRef=function(e){return R.current.useRef(e)},t.useState=function(e){return R.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return R.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return R.current.useTransition()},t.version="18.2.0"},7294:(e,t,n)=>{"use strict";e.exports=n(2408)},5893:(e,t,n)=>{"use strict";e.exports=n(5251)},53:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<o(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,i=a>>>1;r<i;){var l=2*(r+1)-1,s=e[l],c=l+1,u=e[c];if(0>o(s,n))c<a&&0>o(u,s)?(e[r]=u,e[c]=n,r=c):(e[r]=s,e[l]=n,r=l);else{if(!(c<a&&0>o(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var c=[],u=[],d=1,p=null,f=3,m=!1,g=!1,h=!1,b="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(u);null!==t;){if(null===t.callback)a(u);else{if(!(t.startTime<=e))break;a(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function k(e){if(h=!1,w(e),!g)if(null!==r(c))g=!0,P(x);else{var t=r(u);null!==t&&O(k,t.startTime-e)}}function x(e,n){g=!1,h&&(h=!1,y(_),_=-1),m=!0;var o=f;try{for(w(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!A());){var i=p.callback;if("function"==typeof i){p.callback=null,f=p.priorityLevel;var l=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?p.callback=l:p===r(c)&&a(c),w(n)}else a(c);p=r(c)}if(null!==p)var s=!0;else{var d=r(u);null!==d&&O(k,d.startTime-n),s=!1}return s}finally{p=null,f=o,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,C=null,_=-1,T=5,j=-1;function A(){return!(t.unstable_now()-j<T)}function L(){if(null!==C){var e=t.unstable_now();j=e;var n=!0;try{n=C(!0,e)}finally{n?S():(E=!1,C=null)}}else E=!1}if("function"==typeof v)S=function(){v(L)};else if("undefined"!=typeof MessageChannel){var N=new MessageChannel,R=N.port2;N.port1.onmessage=L,S=function(){R.postMessage(null)}}else S=function(){b(L,0)};function P(e){C=e,E||(E=!0,S())}function O(e,n){_=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||m||(g=!0,P(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,a,o){var i=t.unstable_now();switch("object"==typeof o&&null!==o?o="number"==typeof(o=o.delay)&&0<o?i+o:i:o=i,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:o,expirationTime:l=o+l,sortIndex:-1},o>i?(e.sortIndex=o,n(u,e),null===r(c)&&e===r(u)&&(h?(y(_),_=-1):h=!0,O(k,o-i))):(e.sortIndex=l,n(c,e),g||m||(g=!0,P(x))),e},t.unstable_shouldYield=A,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},3840:(e,t,n)=>{"use strict";e.exports=n(53)},6774:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s<o.length;s++){var c=o[s];if(!l(c))return!1;var u=e[c],d=t[c];if(!1===(a=n?n.call(r,u,d,c):void 0)||void 0===a&&u!==d)return!1}return!0}},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={staticDirectories:["public","static"],title:"CS102 Handbook",tagline:"A collection of various helpful documentation for CS102 at UTK",favicon:"img/favicon.ico",url:"https://ethan0429.github.io",baseUrl:"/cs102-writeups/",organizationName:"Ethan0429",projectName:"cs102-writeups",deploymentBranch:"gh-pages",trailingSlash:!1,onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["classic",{docs:{sidebarPath:"/Users/abram/utk/ta/102/cs102-handbook/sidebars.js"},blog:{showReadingTime:!0},theme:{customCss:"/Users/abram/utk/ta/102/cs102-handbook/src/css/custom.css"}}]],themeConfig:{colorMode:{defaultMode:"dark",disableSwitch:!0,respectPrefersColorScheme:!1},liveCodeBlock:{playgroundPosition:"bottom"},image:"img/cs102.png",navbar:{items:[{type:"doc",docId:"home",position:"left",label:"CS102 Handbook"},{href:"https://github.com/Ethan0429/cs102-writeups",label:"GitHub",position:"right"}],hideOnScroll:!1},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},magicComments:[{className:"code-block-error-line",line:"This will error"},{className:"theme-code-block-highlighted-line",line:"Highlight",block:{start:"highlight-start",end:"highlight-end"}}],additionalLanguages:[]},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3},mermaid:{theme:{dark:"dark",light:"default"},options:{}}},plugins:[null],themes:["@docusaurus/theme-live-codeblock","@docusaurus/theme-mermaid"],markdown:{mermaid:!0,format:"mdx",mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0}},baseUrlIssueBanner:!0,onBrokenAnchors:"warn",onDuplicateRoutes:"warn",customFields:{},scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1}},7462:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},5068:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>a})},3366:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,{Z:()=>r})},512:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}n.d(t,{Z:()=>a});const a=function(){for(var e,t,n=0,a="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}},2573:(e,t,n)=>{"use strict";n.d(t,{np:()=>j,p1:()=>T,y$:()=>te});var r,a,o,i,l,s,c,u=n(7294),d=n(512),p=Object.create,f=Object.defineProperty,m=Object.defineProperties,g=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertyNames,y=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(y)for(var n of y(t))k.call(t,n)&&x(e,n,t[n]);return e},E=(e,t)=>m(e,h(t)),C=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&y)for(var r of y(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},_=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(o=r.util.objId(t),n[o])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":return o=r.util.objId(t),n[o]?n[o]:(a=[],n[o]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var l in o)if(o.hasOwnProperty(l)){if(l==t)for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s]);n.hasOwnProperty(l)||(i[l]=o[l])}var c=a[e];return a[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var l in t)if(t.hasOwnProperty(l)){n.call(t,l,t[l],a||l);var s=t[l],c=r.util.type(s);"Object"!==c||o[i(s)]?"Array"!==c||o[i(s)]||(o[i(s)]=!0,e(s,n,l,o)):(o[i(s)]=!0,e(s,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",o),!o.grammar)throw new Error('The language "'+o.language+'" has no grammar.');return o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new l;return s(a,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(e,t,n,l,u,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var m=0;m<f.length;++m){if(d&&d.cause==p+","+m)return;var g=f[m],h=g.inside,b=!!g.lookbehind,y=!!g.greedy,v=g.alias;if(y&&!g.pattern.global){var w=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,w+"g")}for(var k=g.pattern||g,x=l.next,S=u;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var E=x.value;if(t.length>e.length)return;if(!(E instanceof a)){var C,_=1;if(y){if(!(C=o(k,S,e,b))||C.index>=e.length)break;var T=C.index,j=C.index+C[0].length,A=S;for(A+=x.value.length;T>=A;)A+=(x=x.next).value.length;if(S=A-=x.value.length,x.value instanceof a)continue;for(var L=x;L!==t.tail&&(A<j||"string"==typeof L.value);L=L.next)_++,A+=L.value.length;_--,E=e.slice(S,A),C.index-=S}else if(!(C=o(k,0,E,b)))continue;T=C.index;var N=C[0],R=E.slice(0,T),P=E.slice(T+N.length),O=S+E.length;d&&O>d.reach&&(d.reach=O);var D=x.prev;if(R&&(D=s(t,D,R),S+=R.length),c(t,D,_),x=s(t,D,new a(p,h?r.tokenize(N,h):N,v,N)),P&&s(t,x,P),_>1){var I={cause:p+","+m,reach:O};i(e,t,n,x.prev,S,I),d&&I.reach>d.reach&&(d.reach=I.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function c(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var l="";for(var s in o.attributes)l+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+l+">"+o.content+"</"+o.tag+">"},r}();t.exports=n,n.default=n}},function(){return a||(0,r[b(r)[0]])((a={exports:{}}).exports,a),a.exports}),T=((e,t,n)=>(n=null!=e?p(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of b(t))w.call(e,a)||a===n||f(e,a,{get:()=>t[a],enumerable:!(r=g(t,a))||r.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(_());T.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},T.languages.markup.tag.inside["attr-value"].inside.entity=T.languages.markup.entity,T.languages.markup.doctype.inside["internal-subset"].inside=T.languages.markup,T.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(T.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:T.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:T.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},T.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(T.languages.markup.tag,"addAttribute",{value:function(e,t){T.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:T.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),T.languages.html=T.languages.markup,T.languages.mathml=T.languages.markup,T.languages.svg=T.languages.markup,T.languages.xml=T.languages.extend("markup",{}),T.languages.ssml=T.languages.xml,T.languages.atom=T.languages.xml,T.languages.rss=T.languages.xml,o=T,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},s="(?:[^\\\\-]|"+(l=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",s=RegExp(s+"-"+s),c={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},o.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:s,inside:{escape:l,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:l}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":c}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:l,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":c}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},T.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},T.languages.javascript=T.languages.extend("clike",{"class-name":[T.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),T.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,T.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:T.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:T.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:T.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:T.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:T.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),T.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:T.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),T.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),T.languages.markup&&(T.languages.markup.tag.addInlined("script","javascript"),T.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),T.languages.js=T.languages.javascript,T.languages.actionscript=T.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),T.languages.actionscript["class-name"].alias="function",delete T.languages.actionscript.parameter,delete T.languages.actionscript["literal-property"],T.languages.markup&&T.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:T.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(T),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},a="doc-comment";if(o=e.languages[t]){var o,i=o[a];if((i=i||(o=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[a])instanceof RegExp&&(i=o[a]={pattern:i}),Array.isArray(i))for(var l=0,s=i.length;l<s;l++)i[l]instanceof RegExp&&(i[l]={pattern:i[l]}),r(i[l]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(T),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(T),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(T),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(T),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a,o=t[n];"code"!==o.type?e(o.content):(a=o.content[1],o=o.content[3],a&&o&&"code-language"===a.type&&"code-block"===o.type&&"string"==typeof a.content&&(a=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),a="language-"+(a=(/[a-z][\w-]*/i.exec(a)||[""])[0].toLowerCase()),o.alias?"string"==typeof o.alias?o.alias=[o.alias,a]:o.alias.push(a):o.alias=[a]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var o=t.classes[r];if(o=/language-(.+)/.exec(o)){n=o[1];break}}var c,u=e.languages[n];u?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),s(n)):l[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),l={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(T),T.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:T.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},T.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var o=p(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=u(0);"variable"===i.type&&(f(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,f(u(0),"property-mutation"),0<a.length)){var l=p(/^\{$/,/^\}$/);if(-1!==l)for(var s=n;s<l;s++){var c=t[s];"variable"===c.type&&0<=a.indexOf(c.content)&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function p(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],l=i.content;if("punctuation"===i.type&&"string"==typeof l)if(e.test(l))a++;else if(r.test(l)&&0==--a)return o}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),T.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function s(t,n,i){var s=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),c=0,u={},d=(s=l(s.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n})).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var o=0;o<n.length;o++){if(c>=d.length)return;var i,s,p,f,m,g,h,b=n[o];"string"==typeof b||"string"==typeof b.content?(i=d[c],-1!==(h=(g="string"==typeof b?b:b.content).indexOf(i))&&(++c,s=g.substring(0,h),m=u[i],p=void 0,(f={})["interpolation-punctuation"]=a,3===(f=e.tokenize(m,f)).length&&((p=[1,1]).push.apply(p,l(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,r.alias,m),f=g.substring(h+i.length),m=[],s&&m.push(s),m.push(p),f&&(t(g=[f]),m.push.apply(m,g)),"string"==typeof b?(n.splice.apply(n,[o,1].concat(m)),o+=m.length-1):b.content=m)):(h=b.content,Array.isArray(h)?t(h):t([h]))}}(s),new e.Token(i,s,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(n){for(var r=0,a=n.length;r<a;r++){var o,i,l,c=n[r];"string"!=typeof c&&(o=c.content,Array.isArray(o)?"template-string"===c.type?(c=o[1],3===o.length&&"string"!=typeof c&&"embedded-code"===c.type&&(i=u(c),c=c.alias,c=Array.isArray(c)?c[0]:c,l=e.languages[c])&&(o[1]=s(i,l,c))):t(o):"string"!=typeof o&&t([o]))}}(t.tokens)}))}(T),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(T),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(T),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(T),T.languages.n4js=T.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),T.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),T.languages.n4jsd=T.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a];a=(o="RegExp"===e.util.type(o)?e.languages.javascript[a]={pattern:o}:o).inside||{};(o.inside=a)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(T),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;"string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===l(a.content[0].content[1])&&n.pop():"/>"!==a.content[a.content.length-1].content&&n.push({tagName:l(a.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&0<n.length&&0===n[n.length-1].openedBraces&&(o=l(a),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(o+=l(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(o=l(t[r-1])+o,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",o,null,o)),a.content&&"string"!=typeof a.content&&i(a.content)}}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(l).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(T),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(T),T.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},T.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=T.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(T),T.languages.c=T.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),T.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),T.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},T.languages.c.string],char:T.languages.c.char,comment:T.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:T.languages.c}}}}),T.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete T.languages.c.boolean,T.languages.objectivec=T.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete T.languages.objectivec["class-name"],T.languages.objc=T.languages.objectivec,T.languages.reason=T.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),T.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete T.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(T),T.languages.go=T.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),T.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete T.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(T),T.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},T.languages.python["string-interpolation"].inside.interpolation.inside.rest=T.languages.python,T.languages.py=T.languages.python;var j={};((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})(j,{dracula:()=>A,duotoneDark:()=>L,duotoneLight:()=>N,github:()=>R,jettwaveDark:()=>Z,jettwaveLight:()=>G,nightOwl:()=>P,nightOwlLight:()=>O,oceanicNext:()=>F,okaidia:()=>M,oneDark:()=>V,oneLight:()=>W,palenight:()=>z,shadesOfPurple:()=>B,synthwave84:()=>$,ultramin:()=>U,vsDark:()=>q,vsLight:()=>H});var A={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},L={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},N={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},R={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},P={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},O={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},D="#c5a5c5",I="#8dc891",F={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:D}},{types:["attr-value"],style:{color:I}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:I}},{types:["punctuation"],style:{color:I}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:D}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},M={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},z={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},B={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},$={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},U={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},q={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},H={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},Z={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},G={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},V={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},W={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},Q=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),a);e[t]=n})),e}),{});return r.root=n,r.plain=E(S({},n),{backgroundColor:void 0}),r},Y=/\r\n|\r|\n/,K=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},X=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},J=e=>{const t=[[]],n=[e],r=[0],a=[e.length];let o=0,i=0,l=[];const s=[l];for(;i>-1;){for(;(o=r[i]++)<a[i];){let e,c=t[i];const u=n[i][o];if("string"==typeof u?(c=i>0?c:["plain"],e=u):(c=X(c,u.type),u.alias&&(c=X(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),a.push(e.length);continue}const d=e.split(Y),p=d.length;l.push({types:c,content:d[0]});for(let t=1;t<p;t++)K(l),s.push(l=[]),l.push({types:c,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),a.pop()}return K(l),s},ee=({children:e,language:t,code:n,theme:r,prism:a})=>{const o=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,u.useState)(Q(t,e)),a=(0,u.useRef)(),o=(0,u.useRef)();return(0,u.useEffect)((()=>{t===a.current&&e===o.current||(a.current=t,o.current=e,r(Q(t,e)))}),[e,t]),n})(o,r),l=(e=>(0,u.useCallback)((t=>{var n=t,{className:r,style:a,line:o}=n,i=C(n,["className","style","line"]);const l=E(S({},i),{className:(0,d.Z)("token-line",r)});return"object"==typeof e&&"plain"in e&&(l.style=e.plain),"object"==typeof a&&(l.style=S(S({},l.style||{}),a)),l}),[e]))(i),s=(e=>{const t=(0,u.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,u.useCallback)((e=>{var n=e,{token:r,className:a,style:o}=n,i=C(n,["token","className","style"]);const l=E(S({},i),{className:(0,d.Z)("token",...r.types,a),children:r.content,style:t(r)});return null!=o&&(l.style=S(S({},l.style||{}),o)),l}),[t])})(i),c=(({prism:e,code:t,grammar:n,language:r})=>{const a=(0,u.useRef)(e);return(0,u.useMemo)((()=>{if(null==n)return J([t]);const e={code:t,grammar:n,language:r,tokens:[]};return a.current.hooks.run("before-tokenize",e),e.tokens=a.current.tokenize(t,n),a.current.hooks.run("after-tokenize",e),J(e.tokens)}),[t,n,r])})({prism:a,language:o,code:n,grammar:a.languages[o]});return e({tokens:c,className:`prism-code language-${o}`,style:null!=i?i.root:{},getLineProps:l,getTokenProps:s})},te=e=>(0,u.createElement)(ee,E(S({},e),{prism:e.prism||T,theme:e.theme||q,code:e.code,language:e.language}))},8776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},7529:e=>{"use strict";e.exports={}},6887:e=>{"use strict";e.exports=JSON.parse('{"/cs102-writeups/blog-f53":{"__comp":"a6aa9e1f","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"7661071f"},{"content":"f4f34a3a"},{"content":"8717b14a"},{"content":"925b3f96"}],"metadata":"a91fe783"},"/cs102-writeups/blog/archive-eb8":{"__comp":"9e4087bc","__context":{"plugin":"9e2dff97"},"archive":"32c80203"},"/cs102-writeups/blog/first-blog-post-d75":{"__comp":"ccc49370","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","content":"e273c56f"},"/cs102-writeups/blog/long-blog-post-39c":{"__comp":"ccc49370","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","content":"73664a40"},"/cs102-writeups/blog/mdx-blog-post-0ee":{"__comp":"ccc49370","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","content":"59362658"},"/cs102-writeups/blog/tags-0a9":{"__comp":"01a85c17","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","tags":"6751470f"},"/cs102-writeups/blog/tags/docusaurus-980":{"__comp":"6875c492","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"7661071f"},{"content":"f4f34a3a"},{"content":"8717b14a"},{"content":"925b3f96"}],"tag":"d17ddf99","listMetadata":"d50067d7"},"/cs102-writeups/blog/tags/facebook-7c4":{"__comp":"6875c492","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"7661071f"}],"tag":"5b44d179","listMetadata":"0dade157"},"/cs102-writeups/blog/tags/hello-be1":{"__comp":"6875c492","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"7661071f"},{"content":"8717b14a"}],"tag":"38cdc210","listMetadata":"b41dfcf6"},"/cs102-writeups/blog/tags/hola-b49":{"__comp":"6875c492","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"925b3f96"}],"tag":"01baeee8","listMetadata":"705890f3"},"/cs102-writeups/blog/welcome-dd5":{"__comp":"ccc49370","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","content":"d9f32620"},"/cs102-writeups/docs-191":{"__comp":"5e95c892","__context":{"plugin":"3eb90371"}},"/cs102-writeups/docs-cd9":{"__comp":"a7bd4aaa","version":"935f2afb"},"/cs102-writeups/docs-b17":{"__comp":"a94703ab"},"/cs102-writeups/docs/category/debugging-e5b":{"__comp":"14eb3368","categoryGeneratedIndex":"729ea7d2"},"/cs102-writeups/docs/category/environment-setup-eca":{"__comp":"14eb3368","categoryGeneratedIndex":"5a42a249"},"/cs102-writeups/docs/category/grading-2a5":{"__comp":"14eb3368","categoryGeneratedIndex":"8ce383a0"},"/cs102-writeups/docs/category/in-class-lab-notes-c42":{"__comp":"14eb3368","categoryGeneratedIndex":"4c37d77b"},"/cs102-writeups/docs/category/lab-walkthroughs-5b0":{"__comp":"14eb3368","categoryGeneratedIndex":"0cb04183"},"/cs102-writeups/docs/category/reference-215":{"__comp":"14eb3368","categoryGeneratedIndex":"db0b8da5"},"/cs102-writeups/docs/category/tutorials-4f2":{"__comp":"14eb3368","categoryGeneratedIndex":"7faec263"},"/cs102-writeups/docs/debugging/segmentation-faults-2a8":{"__comp":"17896441","content":"af520d2c"},"/cs102-writeups/docs/environment-setup/lab-machines-5e5":{"__comp":"17896441","content":"54863624"},"/cs102-writeups/docs/environment-setup/mac-d39":{"__comp":"17896441","content":"09f618f3"},"/cs102-writeups/docs/environment-setup/windows-f91":{"__comp":"17896441","content":"f5f14e19"},"/cs102-writeups/docs/grading/about-grading-c68":{"__comp":"17896441","content":"6aa336ca"},"/cs102-writeups/docs/grading/cs102lings-41f":{"__comp":"17896441","content":"3756ee02"},"/cs102-writeups/docs/home-7d6":{"__comp":"17896441","content":"3d9c95a4"},"/cs102-writeups/docs/in-class-lab-notes/bitset-notes-565":{"__comp":"17896441","content":"7b5231bb"},"/cs102-writeups/docs/in-class-lab-notes/boiling-water-notes-e0b":{"__comp":"17896441","content":"c8824059"},"/cs102-writeups/docs/in-class-lab-notes/bowling-notes-fbb":{"__comp":"17896441","content":"a3604fc6"},"/cs102-writeups/docs/in-class-lab-notes/mud-notes-cab":{"__comp":"17896441","content":"4b4c18fa"},"/cs102-writeups/docs/in-class-lab-notes/sorting-algorithms-a2e":{"__comp":"17896441","content":"d62f1c6e"},"/cs102-writeups/docs/lab-walkthroughs/bitset-7a0":{"__comp":"17896441","content":"3803d1ca"},"/cs102-writeups/docs/lab-walkthroughs/bowling-dad":{"__comp":"17896441","content":"90c318f4"},"/cs102-writeups/docs/lab-walkthroughs/calculator-638":{"__comp":"17896441","content":"4f208758"},"/cs102-writeups/docs/lab-walkthroughs/ppm-manipulator-38e":{"__comp":"17896441","content":"b917d90f"},"/cs102-writeups/docs/lab-walkthroughs/speeding-ticket-calculator-c52":{"__comp":"17896441","content":"dbb84cb5"},"/cs102-writeups/docs/reference/common-linux-commands-f4d":{"__comp":"17896441","content":"749f4ecd"},"/cs102-writeups/docs/reference/discord-d38":{"__comp":"17896441","content":"5638bbd0"},"/cs102-writeups/docs/reference/swap-files-120":{"__comp":"17896441","content":"d0397398"},"/cs102-writeups/docs/reference/vim-cheatsheet-df8":{"__comp":"17896441","content":"052f7cc6"},"/cs102-writeups/docs/reference/vscode-tips-e81":{"__comp":"17896441","content":"5088ad93"},"/cs102-writeups/docs/tutorials/ssh-and-scp-743":{"__comp":"17896441","content":"fd10c177"},"/cs102-writeups/-fc7":{"__comp":"1df93b7f","__context":{"plugin":"8febbb3c"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=7221,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.7a45346d.js b/assets/js/main.7a45346d.js new file mode 100644 index 00000000..7ff76455 --- /dev/null +++ b/assets/js/main.7a45346d.js @@ -0,0 +1,2 @@ +/*! For license information please see main.7a45346d.js.LICENSE.txt */ +(self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),o=n.n(r),a=n(6887);const i={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"052f7cc6":[()=>n.e(3670).then(n.bind(n,1899)),"@site/docs/reference/vim-cheatsheet.md",1899],"09f618f3":[()=>n.e(6655).then(n.bind(n,7857)),"@site/docs/environment-setup/mac.md",7857],"10d13a83":[()=>n.e(497).then(n.t.bind(n,5186,19)),"~docs/default/category-cs-102-handbookdocs-sidebar-category-in-class-lab-notes-e44.json",5186],"14eb3368":[()=>Promise.all([n.e(532),n.e(9817)]).then(n.bind(n,4228)),"@theme/DocCategoryGeneratedIndexPage",4228],17896441:[()=>Promise.all([n.e(532),n.e(7245),n.e(7918)]).then(n.bind(n,5154)),"@theme/DocItem",5154],"1aab6364":[()=>n.e(6618).then(n.t.bind(n,1296,19)),"~blog/default/cs-102-handbook-blog-tags-facebook-bca.json",1296],"1df93b7f":[()=>n.e(3237).then(n.bind(n,9754)),"@site/src/pages/index.tsx",9754],"251a347c":[()=>n.e(478).then(n.t.bind(n,4166,19)),"~docs/default/category-cs-102-handbookdocs-sidebar-category-reference-e89.json",4166],"25860ba2":[()=>n.e(2284).then(n.t.bind(n,7236,19)),"~docs/default/category-cs-102-handbookdocs-sidebar-category-debugging-a65.json",7236],"3756ee02":[()=>n.e(7577).then(n.bind(n,1876)),"@site/docs/grading/cs102lings.md",1876],"3803d1ca":[()=>n.e(5853).then(n.bind(n,9355)),"@site/docs/lab-walkthroughs/bitset.md",9355],"3d9c95a4":[()=>n.e(2125).then(n.bind(n,4136)),"@site/docs/home.md",4136],"3eb90371":[()=>n.e(5439).then(n.t.bind(n,3769,19)),"/Users/abram/utk/ta/102/cs102-handbook/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"4b4c18fa":[()=>n.e(4826).then(n.bind(n,4446)),"@site/docs/in-class-lab-notes/mud-notes.md",4446],"4c14710c":[()=>n.e(1087).then(n.t.bind(n,1374,19)),"~docs/default/category-cs-102-handbookdocs-sidebar-category-grading-302.json",1374],"4f208758":[()=>n.e(7055).then(n.bind(n,4290)),"@site/docs/lab-walkthroughs/calculator.md",4290],"5088ad93":[()=>n.e(6564).then(n.bind(n,4057)),"@site/docs/reference/vscode-tips.md",4057],54863624:[()=>n.e(3669).then(n.bind(n,7501)),"@site/docs/environment-setup/lab-machines.md",7501],"5638bbd0":[()=>n.e(7270).then(n.bind(n,7702)),"@site/docs/reference/discord.md",7702],59362658:[()=>n.e(2267).then(n.bind(n,7797)),"@site/blog/2021-08-01-mdx-blog-post.mdx",7797],"5e95c892":[()=>n.e(9661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"5ed63ff7":[()=>n.e(518).then(n.t.bind(n,8176,19)),"~docs/default/category-cs-102-handbookdocs-sidebar-category-tutorials-499.json",8176],"6106ade6":[()=>n.e(155).then(n.t.bind(n,1439,19)),"~blog/default/cs-102-handbook-blog-tags-facebook-bca-list.json",1439],"6875c492":[()=>Promise.all([n.e(532),n.e(7245),n.e(130),n.e(8610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"6aa336ca":[()=>n.e(2920).then(n.bind(n,9891)),"@site/docs/grading/about-grading.md",9891],"6ba64b7f":[()=>n.e(4074).then(n.t.bind(n,5389,19)),"~blog/default/cs-102-handbook-blog-tags-hola-e6a-list.json",5389],"73664a40":[()=>n.e(3514).then(n.bind(n,1985)),"@site/blog/2019-05-29-long-blog-post.md",1985],"749f4ecd":[()=>n.e(2816).then(n.bind(n,905)),"@site/docs/reference/common-linux-commands.md",905],"7661071f":[()=>n.e(9642).then(n.bind(n,3174)),"@site/blog/2021-08-26-welcome/index.md?truncated=true",3174],"7b5231bb":[()=>n.e(486).then(n.bind(n,2710)),"@site/docs/in-class-lab-notes/bitset-notes.md",2710],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"8717b14a":[()=>n.e(948).then(n.bind(n,7106)),"@site/blog/2019-05-29-long-blog-post.md?truncated=true",7106],"8febbb3c":[()=>n.e(455).then(n.t.bind(n,5745,19)),"/Users/abram/utk/ta/102/cs102-handbook/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"90c318f4":[()=>n.e(7435).then(n.bind(n,316)),"@site/docs/lab-walkthroughs/bowling.md",316],"925b3f96":[()=>n.e(9003).then(n.bind(n,3902)),"@site/blog/2019-05-28-first-blog-post.md?truncated=true",3902],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9aaa03f3":[()=>n.e(1873).then(n.t.bind(n,5748,19)),"~blog/default/cs-102-handbook-blog-tags-hola-e6a.json",5748],"9e2dff97":[()=>n.e(1373).then(n.t.bind(n,4469,19)),"/Users/abram/utk/ta/102/cs102-handbook/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"9e4087bc":[()=>n.e(3608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a2a2c8d3:[()=>n.e(1419).then(n.t.bind(n,3268,19)),"~docs/default/category-cs-102-handbookdocs-sidebar-category-lab-walkthroughs-cda.json",3268],a3604fc6:[()=>n.e(7494).then(n.bind(n,1903)),"@site/docs/in-class-lab-notes/bowling-notes.md",1903],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(7245),n.e(130),n.e(3089)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a7ccc271:[()=>n.e(8850).then(n.t.bind(n,8350,19)),"~blog/default/cs-102-handbook-blog-tags-tags-1cd.json",8350],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],af520d2c:[()=>n.e(6896).then(n.bind(n,1360)),"@site/docs/debugging/segmentation-faults.md",1360],af57d80f:[()=>n.e(3736).then(n.t.bind(n,2996,19)),"~docs/default/category-cs-102-handbookdocs-sidebar-category-environment-setup-633.json",2996],b2a86a22:[()=>n.e(2195).then(n.t.bind(n,1318,19)),"~blog/default/cs-102-handbook-blog-abf.json",1318],b917d90f:[()=>n.e(775).then(n.bind(n,4527)),"@site/docs/lab-walkthroughs/ppm-manipulator.md",4527],c8824059:[()=>n.e(1722).then(n.bind(n,9104)),"@site/docs/in-class-lab-notes/boiling-water-notes.md",9104],c9526e68:[()=>n.e(2670).then(n.t.bind(n,8952,19)),"~blog/default/cs-102-handbook-blog-tags-hello-eba.json",8952],cb068ac6:[()=>n.e(2079).then(n.t.bind(n,6102,19)),"~blog/default/cs-102-handbook-blog-tags-docusaurus-12a-list.json",6102],ccc49370:[()=>Promise.all([n.e(532),n.e(7245),n.e(130),n.e(6103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],d0397398:[()=>n.e(3587).then(n.bind(n,248)),"@site/docs/reference/swap-files.md",248],d62f1c6e:[()=>n.e(9697).then(n.bind(n,5550)),"@site/docs/in-class-lab-notes/sorting-algorithms.md",5550],d9f32620:[()=>n.e(1914).then(n.bind(n,8123)),"@site/blog/2021-08-26-welcome/index.md",8123],dbb84cb5:[()=>n.e(3144).then(n.bind(n,9153)),"@site/docs/lab-walkthroughs/speeding-ticket-calculator.md",9153],de2bb28d:[()=>n.e(9223).then(n.t.bind(n,2487,19)),"~blog/default/cs-102-handbook-blog-tags-hello-eba-list.json",2487],e273c56f:[()=>n.e(2362).then(n.bind(n,9954)),"@site/blog/2019-05-28-first-blog-post.md",9954],f1707f6a:[()=>n.e(1224).then(n.t.bind(n,4349,19)),"~blog/default/cs-102-handbook-blog-archive-e9e.json",4349],f4f34a3a:[()=>n.e(8636).then(n.bind(n,743)),"@site/blog/2021-08-01-mdx-blog-post.mdx?truncated=true",743],f5f14e19:[()=>n.e(1555).then(n.bind(n,1782)),"@site/docs/environment-setup/windows.md",1782],fd10c177:[()=>n.e(7717).then(n.bind(n,6178)),"@site/docs/tutorials/ssh-and-scp.md",6178],fdb0b976:[()=>n.e(4304).then(n.t.bind(n,1514,19)),"~blog/default/cs-102-handbook-blog-tags-docusaurus-12a.json",1514]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(9670),u=n(226);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(1772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,l.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],h=(0,c.Z)(r);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;return delete o.__context,(0,l.jsx)(u.z,{value:i,children:(0,l.jsx)(a,{...o,...n})})}})}const p=[{path:"/cs102-handbook/blog",component:d("/cs102-handbook/blog","5f1"),exact:!0},{path:"/cs102-handbook/blog/archive",component:d("/cs102-handbook/blog/archive","d68"),exact:!0},{path:"/cs102-handbook/blog/first-blog-post",component:d("/cs102-handbook/blog/first-blog-post","e44"),exact:!0},{path:"/cs102-handbook/blog/long-blog-post",component:d("/cs102-handbook/blog/long-blog-post","859"),exact:!0},{path:"/cs102-handbook/blog/mdx-blog-post",component:d("/cs102-handbook/blog/mdx-blog-post","05b"),exact:!0},{path:"/cs102-handbook/blog/tags",component:d("/cs102-handbook/blog/tags","50a"),exact:!0},{path:"/cs102-handbook/blog/tags/docusaurus",component:d("/cs102-handbook/blog/tags/docusaurus","2f1"),exact:!0},{path:"/cs102-handbook/blog/tags/facebook",component:d("/cs102-handbook/blog/tags/facebook","67c"),exact:!0},{path:"/cs102-handbook/blog/tags/hello",component:d("/cs102-handbook/blog/tags/hello","458"),exact:!0},{path:"/cs102-handbook/blog/tags/hola",component:d("/cs102-handbook/blog/tags/hola","cb4"),exact:!0},{path:"/cs102-handbook/blog/welcome",component:d("/cs102-handbook/blog/welcome","af4"),exact:!0},{path:"/cs102-handbook/docs",component:d("/cs102-handbook/docs","e5c"),routes:[{path:"/cs102-handbook/docs",component:d("/cs102-handbook/docs","0d0"),routes:[{path:"/cs102-handbook/docs",component:d("/cs102-handbook/docs","935"),routes:[{path:"/cs102-handbook/docs/category/debugging",component:d("/cs102-handbook/docs/category/debugging","bf2"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/category/environment-setup",component:d("/cs102-handbook/docs/category/environment-setup","88b"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/category/grading",component:d("/cs102-handbook/docs/category/grading","7ed"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/category/in-class-lab-notes",component:d("/cs102-handbook/docs/category/in-class-lab-notes","186"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/category/lab-walkthroughs",component:d("/cs102-handbook/docs/category/lab-walkthroughs","79f"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/category/reference",component:d("/cs102-handbook/docs/category/reference","835"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/category/tutorials",component:d("/cs102-handbook/docs/category/tutorials","443"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/debugging/segmentation-faults",component:d("/cs102-handbook/docs/debugging/segmentation-faults","740"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/environment-setup/lab-machines",component:d("/cs102-handbook/docs/environment-setup/lab-machines","c29"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/environment-setup/mac",component:d("/cs102-handbook/docs/environment-setup/mac","e46"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/environment-setup/windows",component:d("/cs102-handbook/docs/environment-setup/windows","44a"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/grading/about-grading",component:d("/cs102-handbook/docs/grading/about-grading","ff0"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/grading/cs102lings",component:d("/cs102-handbook/docs/grading/cs102lings","11f"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/home",component:d("/cs102-handbook/docs/home","e08"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/in-class-lab-notes/bitset-notes",component:d("/cs102-handbook/docs/in-class-lab-notes/bitset-notes","5cd"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/in-class-lab-notes/boiling-water-notes",component:d("/cs102-handbook/docs/in-class-lab-notes/boiling-water-notes","2ce"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/in-class-lab-notes/bowling-notes",component:d("/cs102-handbook/docs/in-class-lab-notes/bowling-notes","d49"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/in-class-lab-notes/mud-notes",component:d("/cs102-handbook/docs/in-class-lab-notes/mud-notes","98a"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/in-class-lab-notes/sorting-algorithms",component:d("/cs102-handbook/docs/in-class-lab-notes/sorting-algorithms","a0f"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/lab-walkthroughs/bitset",component:d("/cs102-handbook/docs/lab-walkthroughs/bitset","df8"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/lab-walkthroughs/bowling",component:d("/cs102-handbook/docs/lab-walkthroughs/bowling","98c"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/lab-walkthroughs/calculator",component:d("/cs102-handbook/docs/lab-walkthroughs/calculator","ea9"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/lab-walkthroughs/ppm-manipulator",component:d("/cs102-handbook/docs/lab-walkthroughs/ppm-manipulator","cb9"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/lab-walkthroughs/speeding-ticket-calculator",component:d("/cs102-handbook/docs/lab-walkthroughs/speeding-ticket-calculator","bec"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/reference/common-linux-commands",component:d("/cs102-handbook/docs/reference/common-linux-commands","533"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/reference/discord",component:d("/cs102-handbook/docs/reference/discord","6be"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/reference/swap-files",component:d("/cs102-handbook/docs/reference/swap-files","9b1"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/reference/vim-cheatsheet",component:d("/cs102-handbook/docs/reference/vim-cheatsheet","2a8"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/reference/vscode-tips",component:d("/cs102-handbook/docs/reference/vscode-tips","105"),exact:!0,sidebar:"Sidebar"},{path:"/cs102-handbook/docs/tutorials/ssh-and-scp",component:d("/cs102-handbook/docs/tutorials/ssh-and-scp","55a"),exact:!0,sidebar:"Sidebar"}]}]}]},{path:"/cs102-handbook/",component:d("/cs102-handbook/","dfa"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>i});var r=n(7294),o=n(5893);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),o=n(745),a=n(3727),i=n(405),l=n(412);const s=[n(2497),n(3310),n(8320),n(2295)];var c=n(723),u=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var h=n(5742),m=n(2263),g=n(4996),b=n(6668),y=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,m.Z)(),r=(0,v.l)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(h.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,m.Z)(),{pathname:r}=(0,u.TH)();return e+(0,x.applyTrailingSlash)((0,g.Z)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,p.jsxs)(h.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function _(){const{i18n:{currentLocale:e}}=(0,m.Z)(),{metadata:t,image:n}=(0,b.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(h.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(y.d,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(E,{}),(0,p.jsx)(S.Z,{tag:k.HX,locale:e}),(0,p.jsx)(h.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;function j(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var A=n(8934),L=n(8940),N=n(469);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const o=s.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,N.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(u.AW,{location:t,render:()=>e})})}}const I=D,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${M}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${z}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${z}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function $(){const{siteConfig:{baseUrl:e}}=(0,m.Z)();return(0,p.jsx)(p.Fragment,{children:!l.Z.canUseDOM&&(0,p.jsx)(h.Z,{children:(0,p.jsx)("script",{children:B(e)})})})}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,m.Z)(),{pathname:n}=(0,u.TH)();return t&&n===e?(0,p.jsx)($,{}):null}function q(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:o}}=(0,m.Z)(),a=(0,g.Z)(e),{htmlLang:i,direction:l}=o[r];return(0,p.jsxs)(h.Z,{children:[(0,p.jsx)("html",{lang:i,dir:l}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:a})]})}var H=n(4763),Z=n(2389);function G(){const e=(0,Z.Z)();return(0,p.jsx)(h.Z,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}function V(){const e=(0,d.H)(c.Z),t=(0,u.TH)();return(0,p.jsx)(H.Z,{children:(0,p.jsx)(L.M,{children:(0,p.jsxs)(A.t,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)(q,{}),(0,p.jsx)(_,{}),(0,p.jsx)(U,{}),(0,p.jsx)(I,{location:j(t),children:e})]}),(0,p.jsx)(G,{})]})})})}var W=n(6887);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(9670);const K=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.B6,{children:(0,p.jsx)(a.VK,{children:(0,p.jsx)(V,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{o.hydrateRoot(e,t,{onRecoverableError:n})}));else{const a=o.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{a.render(t)}))}};O(window.location.pathname).then(l)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(7294),o=n(6809);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/cs102-handbook/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/cs102-handbook/docs","mainDocId":"home","docs":[{"id":"debugging/segmentation-faults","path":"/cs102-handbook/docs/debugging/segmentation-faults","sidebar":"Sidebar"},{"id":"environment-setup/lab-machines","path":"/cs102-handbook/docs/environment-setup/lab-machines","sidebar":"Sidebar"},{"id":"environment-setup/mac","path":"/cs102-handbook/docs/environment-setup/mac","sidebar":"Sidebar"},{"id":"environment-setup/windows","path":"/cs102-handbook/docs/environment-setup/windows","sidebar":"Sidebar"},{"id":"grading/about-grading","path":"/cs102-handbook/docs/grading/about-grading","sidebar":"Sidebar"},{"id":"grading/cs102lings","path":"/cs102-handbook/docs/grading/cs102lings","sidebar":"Sidebar"},{"id":"home","path":"/cs102-handbook/docs/home","sidebar":"Sidebar"},{"id":"in-class-lab-notes/bitset-notes","path":"/cs102-handbook/docs/in-class-lab-notes/bitset-notes","sidebar":"Sidebar"},{"id":"in-class-lab-notes/boiling-water-notes","path":"/cs102-handbook/docs/in-class-lab-notes/boiling-water-notes","sidebar":"Sidebar"},{"id":"in-class-lab-notes/bowling-notes","path":"/cs102-handbook/docs/in-class-lab-notes/bowling-notes","sidebar":"Sidebar"},{"id":"in-class-lab-notes/mud-notes","path":"/cs102-handbook/docs/in-class-lab-notes/mud-notes","sidebar":"Sidebar"},{"id":"in-class-lab-notes/sorting-algorithms","path":"/cs102-handbook/docs/in-class-lab-notes/sorting-algorithms","sidebar":"Sidebar"},{"id":"lab-walkthroughs/bitset","path":"/cs102-handbook/docs/lab-walkthroughs/bitset","sidebar":"Sidebar"},{"id":"lab-walkthroughs/bowling","path":"/cs102-handbook/docs/lab-walkthroughs/bowling","sidebar":"Sidebar"},{"id":"lab-walkthroughs/calculator","path":"/cs102-handbook/docs/lab-walkthroughs/calculator","sidebar":"Sidebar"},{"id":"lab-walkthroughs/ppm-manipulator","path":"/cs102-handbook/docs/lab-walkthroughs/ppm-manipulator","sidebar":"Sidebar"},{"id":"lab-walkthroughs/speeding-ticket-calculator","path":"/cs102-handbook/docs/lab-walkthroughs/speeding-ticket-calculator","sidebar":"Sidebar"},{"id":"reference/common-linux-commands","path":"/cs102-handbook/docs/reference/common-linux-commands","sidebar":"Sidebar"},{"id":"reference/discord","path":"/cs102-handbook/docs/reference/discord","sidebar":"Sidebar"},{"id":"reference/swap-files","path":"/cs102-handbook/docs/reference/swap-files","sidebar":"Sidebar"},{"id":"reference/vim-cheatsheet","path":"/cs102-handbook/docs/reference/vim-cheatsheet","sidebar":"Sidebar"},{"id":"reference/vscode-tips","path":"/cs102-handbook/docs/reference/vscode-tips","sidebar":"Sidebar"},{"id":"tutorials/ssh-and-scp","path":"/cs102-handbook/docs/tutorials/ssh-and-scp","sidebar":"Sidebar"},{"id":"/category/environment-setup","path":"/cs102-handbook/docs/category/environment-setup","sidebar":"Sidebar"},{"id":"/category/tutorials","path":"/cs102-handbook/docs/category/tutorials","sidebar":"Sidebar"},{"id":"/category/reference","path":"/cs102-handbook/docs/category/reference","sidebar":"Sidebar"},{"id":"/category/grading","path":"/cs102-handbook/docs/category/grading","sidebar":"Sidebar"},{"id":"/category/in-class-lab-notes","path":"/cs102-handbook/docs/category/in-class-lab-notes","sidebar":"Sidebar"},{"id":"/category/lab-walkthroughs","path":"/cs102-handbook/docs/category/lab-walkthroughs","sidebar":"Sidebar"},{"id":"/category/debugging","path":"/cs102-handbook/docs/category/debugging","sidebar":"Sidebar"}],"draftIds":[],"sidebars":{"Sidebar":{"link":{"path":"/cs102-handbook/docs/home","label":"home"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.1.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.0"},"docusaurus-tailwindcss":{"type":"local"},"docusaurus-theme-live-codeblock":{"type":"package","name":"@docusaurus/theme-live-codeblock","version":"3.1.0"},"docusaurus-theme-mermaid":{"type":"package","name":"@docusaurus/theme-mermaid","version":"3.1.0"}}}');var c=n(5893);const u={siteConfig:o.default,siteMetadata:s,globalData:a,i18n:i,codeTranslations:l},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),o=n(412),a=n(5742),i=n(8780),l=n(3322),s=n(5893);function c(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(u,{error:t})]})}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(f,{fallback:()=>(0,s.jsx)(c,{error:t,tryAgain:n}),children:[(0,s.jsx)(a.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(c,{error:t,tryAgain:n})})]})}const p=e=>(0,s.jsx)(d,{...e});class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var r=n(405),o=n(5893);function a(e){return(0,o.jsx)(r.ql,{...e})}},3692:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),o=n(3727),a=n(8780),i=n(2263),l=n(3919),s=n(412),c=n(8138),u=n(4996),d=n(5893);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:h,isActive:m,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,u.C)(),x=(0,c.Z)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=p||f;const C=(0,l.Z)(E),_=E?.replace("pathname://","");let T=void 0!==_?(j=_,b&&(e=>e.startsWith("/"))(j)?k(j):j):void 0;var j;T&&C&&(T=(0,a.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const A=(0,r.useRef)(!1),L=n?o.OL:o.rU,N=s.Z.canUseIntersectionObserver,R=(0,r.useRef)(),P=()=>{A.current||null==T||(window.docusaurus.preload(T),A.current=!0)};(0,r.useEffect)((()=>(!N&&C&&null!=T&&window.docusaurus.prefetch(T),()=>{N&&R.current&&R.current.disconnect()})),[R,T,N,C]);const O=T?.startsWith("#")??!1,D=!T||!C||O;return D||g||x.collectLink(T),D?(0,d.jsx)("a",{ref:S,href:T,...E&&!C&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,d.jsx)(L,{...y,onMouseEnter:P,onTouchStart:P,innerRef:e=>{S.current=e,N&&e&&C&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),R.current.observe(e))},to:T,...n&&{isActive:m,activeClassName:h}})}const f=r.forwardRef(p)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>s});var r=n(7294),o=n(5893);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=l({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>o,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),o=n(2263),a=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,a.b)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},8138:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294);n(5893);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294),o=n(8940);function a(){return(0,r.useContext)(o._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294),o=n(8934);function a(){return(0,r.useContext)(o._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const o=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>i});var r=n(7294),o=n(5893);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:l,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>m,gA:()=>p,_r:()=>u,Jo:()=>g,zh:()=>d,yW:()=>h,gB:()=>f});var r=n(6550),o=n(2263),a=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const c={},u=()=>i("docusaurus-plugin-content-docs")??c,d=e=>function(e,t,n){void 0===t&&(t=a.m),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function f(e){return d(e).versions}function h(e){const t=d(e);return l(t)}function m(e){const t=d(e),{pathname:n}=(0,r.TH)();return s(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(4865),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),o=n(6809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(512),o=n(5999),a=n(6668),i=n(3692),l=n(8138);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(5893);function u(e){let{as:t,id:n,...u}=e;const d=(0,l.Z)(),{navbar:{hideOnScroll:p}}=(0,a.L)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,o.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.Z)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(5893);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},3322:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ct});var r=n(7294),o=n(512),a=n(4763),i=n(1944),l=n(6550),s=n(5999),c=n(5936),u=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const h=(0,s.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??h,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":h,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(5281),b=n(9727);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(m,{className:y.skipToContent})}var w=n(6668),k=n(9689);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.Z)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function _(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.Z)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function j(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,u.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,u.jsx)("div",{className:T.announcementBarPlaceholder}),(0,u.jsx)(_,{className:T.announcementBarContent}),a&&(0,u.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var A=n(2961),L=n(2466);var N=n(902),R=n(3102);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,A.e)(),t=(0,R.HY)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,N.D9)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function I(){const e=(0,r.useContext)(P);if(!e)throw new N.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,R.HY)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:D(a)})),[o,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=I();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(2949),z=n(2389);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.Z)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,o.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,o.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.I)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var V=n(1327);function W(){return(0,u.jsx)(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,A.e)();return(0,u.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(W,{}),(0,u.jsx)(G,{className:"margin-right--md"}),(0,u.jsx)(Q,{})]})}var K=n(3692),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...c}=e;const d=(0,X.Z)(r),p=(0,X.Z)(t),f=(0,X.Z)(o,{forcePrependBaseUrl:!0}),h=a&&o&&!(0,J.Z)(o),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,h&&(0,u.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return o?(0,u.jsx)(K.Z,{href:s?f:o,...c,...m}):(0,u.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...c,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,u.jsx)(ne,{className:(0,o.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,o.Z)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,u.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),le=n(8596),se=n(2263);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...l}=e;const s=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,u.jsxs)("div",{ref:s,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,o.Z)("navbar__link",a),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:l.children??l.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ce,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:h}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&h(!d)}),[c,d,h]),(0,u.jsxs)("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,o.Z)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,u.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ce,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var he=n(4711);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_nlXk";const be=()=>null,ye={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.Z)(n,ye.navbarSearchContainer),children:t})}var we=n(143),ke=n(2802);var xe=n(373);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,se.Z)(),p=(0,he.l)(),{search:f,hash:h}=(0,l.TH)(),m=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${h}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,s.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(me,{className:ge}),g]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(ve,{className:n,children:(0,u.jsx)(be,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,o.Z)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,we.Iw)(r),i=(0,ke.vY)(t,r),l=a?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>l||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,we.Iw)(r),i=(0,ke.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,ke.lO)(r)[0],i=t??a.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ae,{...o,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:c,hash:d}=(0,l.TH)(),p=(0,we.Iw)(n),f=(0,we.gB)(n),{savePreferredVersionName:h}=(0,xe.J)(n),m=[...o,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...a],g=(0,ke.lO)(n)[0],b=t&&m.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,y=t&&m.length>1?void 0:Se(g).path;return m.length<=1?(0,u.jsx)(ae,{...i,mobile:t,label:b,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:b,to:y,items:m,isActive:r?()=>!1:void 0})}};function Ce(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ee[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function _e(){const e=(0,A.e)(),t=(0,w.L)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ce,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Te(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(s.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function je(){const e=0===(0,w.L)().navbar.items.length,t=I();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Te,{onClick:()=>t.hide()}),t.content]})}function Ae(){const e=(0,A.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(F,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(_e,{}),secondaryMenu:(0,u.jsx)(je,{})}):null}const Le={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ne(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.Z)("navbar-sidebar__backdrop",e.className)})}function Re(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.L)(),i=(0,A.e)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,L.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<a.current)return void n(!0);if(o.current)return void(o.current=!1);const l=r?.scrollY,s=document.documentElement.scrollHeight-a.current,c=window.innerHeight;l&&i>=l?n(!1):i+c<s&&n(!0)})),(0,c.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("navbar","navbar--fixed-top",n&&[Le.navbarHideable,!d&&Le.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Ne,{onClick:i.toggle}),(0,u.jsx)(Ae,{})]})}var Pe=n(9690);const Oe="right";function De(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ie(){const{toggle:e,shown:t}=(0,A.e)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,s.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(De,{})})}const Fe={colorModeToggle:"colorModeToggle_DEke"};function Me(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(Pe.QW,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Ce,{...e})},t)))})}function ze(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Be(){const e=(0,A.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Oe)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(ze,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(Ie,{}),(0,u.jsx)(W,{}),(0,u.jsx)(Me,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Me,{items:r}),(0,u.jsx)(G,{className:Fe.colorModeToggle}),!o&&(0,u.jsx)(ve,{children:(0,u.jsx)(be,{})})]})})}function $e(){return(0,u.jsx)(Re,{children:(0,u.jsx)(Be,{})})}function Ue(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,l=(0,X.Z)(n),s=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(K.Z,{className:"footer__link-item",...r?{href:a?s:r}:{to:l},...i,children:[o,r&&!(0,J.Z)(r)&&(0,u.jsx)(te.Z,{})]})}function qe(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(Ue,{item:t})},t.href??t.to)}function He(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(qe,{item:e},t)))})]})}function Ze(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(He,{column:e},t)))})}function Ge(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ve(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(Ue,{item:t})}function We(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(Ve,{item:e}),t.length!==n+1&&(0,u.jsx)(Ge,{})]},n)))})})}function Qe(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(Ze,{columns:t}):(0,u.jsx)(We,{links:t})}var Ye=n(9965);const Ke={footerLogoLink:"footerLogoLink_DDai"};function Xe(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(Ye.Z,{className:(0,o.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Je(e){let{logo:t}=e;return t.href?(0,u.jsx)(K.Z,{href:t.href,className:Ke.footerLogoLink,target:t.target,children:(0,u.jsx)(Xe,{logo:t})}):(0,u.jsx)(Xe,{logo:t})}function et(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function tt(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,o.Z)("footer bg-[#242526]",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function nt(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,u.jsx)(tt,{style:o,links:n&&n.length>0&&(0,u.jsx)(Qe,{links:n}),logo:r&&(0,u.jsx)(Je,{logo:r}),copyright:t&&(0,u.jsx)(et,{copyright:t})})}const rt=r.memo(nt),ot=(0,N.Qc)([M.S,k.pl,L.OC,xe.L5,i.VC,function(e){let{children:t}=e;return(0,u.jsx)(R.n2,{children:(0,u.jsx)(A.M,{children:(0,u.jsx)(O,{children:t})})})}]);function at(e){let{children:t}=e;return(0,u.jsx)(ot,{children:t})}var it=n(2503);function lt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(it.Z,{as:"h1",className:"hero__title",children:(0,u.jsx)(s.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(Pe.Cw,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Pe.aG,{error:t})})]})})})}const st={mainWrapper:"mainWrapper_z2l0"};function ct(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,b.t)(),(0,u.jsxs)(at,{children:[(0,u.jsx)(i.d,{title:l,description:s}),(0,u.jsx)(v,{}),(0,u.jsx)(j,{}),(0,u.jsx)($e,{}),(0,u.jsx)("div",{id:d,className:(0,o.Z)(g.k.wrapper.main,st.mainWrapper,r),children:(0,u.jsx)(a.Z,{fallback:e=>(0,u.jsx)(lt,{...e}),children:t})}),!n&&(0,u.jsx)(rt,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(3692),o=n(4996),a=n(2263),i=n(6668),l=n(9965),s=n(5893);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Z)(t.src),dark:(0,o.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,o.Z)(l?.href||"/"),h=n?"":t,m=l?.alt??h;return(0,s.jsxs)(r.Z,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(c,{logo:l,alt:m,imageClassName:u}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var r=n(5742),o=n(5893);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.Z,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7294),o=n(512),a=n(2389),i=n(2949);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(5893);function c(e){let{className:t,children:n}=e;const c=(0,a.Z)(),{colorMode:u}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,s.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>c,z:()=>b});var r=n(7294),o=n(412),a=n(469),i=n(1442),l=n(5893);const s="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function h(e){if(!o.Z.canUseDOM)return e?u:d}function m(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:a}),(0,l.jsx)(t,{ref:u,style:c?void 0:h(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:s,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,c]=(0,r.useState)(t);return(0,a.Z)((()=>{t||i(!0)}),[t]),(0,a.Z)((()=>{o&&c(t)}),[o,t]),o?(0,l.jsx)(m,{...n,collapsed:s}):null}function b(e){let{lazy:t,...n}=e;const r=t?g:m;return(0,l.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>h});var r=n(7294),o=n(2389),a=n(12),i=n(902),l=n(6668),s=n(5893);const c=(0,a.WA)("docusaurus.announcement.dismiss"),u=(0,a.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function h(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,o.Z)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>b,S:()=>g});var r=n(7294),o=n(412),a=n(902),i=n(12),l=n(6668),s=n(5893);const c=r.createContext(void 0),u="theme",d=(0,i.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,h=e=>o.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[o,a]=(0,r.useState)(h(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&m(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,s.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new a.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>b});var r=n(7294),o=n(143),a=n(9935),i=n(6668),l=n(2802),s=n(902),c=n(12),u=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const h=r.createContext(null);function m(){const e=(0,o._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=m();return(0,u.jsx)(h.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return l.cE?(0,u.jsx)(g,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function y(){const e=(0,r.useContext)(h);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=a.m);const t=(0,o.zh)(e),[n,i]=y(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,b:()=>s});var r=n(7294),o=n(902),a=n(5893);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(l);if(e===i)throw new o.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(7294),o=n(902),a=n(5893);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>h});var r=n(7294),o=n(3102),a=n(7524),i=n(6550),l=n(902);function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(6668),u=n(5893);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,c.L)().navbar;return 0===t.length&&!e.component}(),t=(0,a.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const u=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=p();return(0,u.jsx)(d.Provider,{value:n,children:t})}function h(){const e=r.useContext(d);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>c,n2:()=>l});var r=n(7294),o=n(902),a=n(5893);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,l]=a,s=(0,o.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>a});var r=n(7294);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(7294),o=n(412);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!o.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{MN:()=>T,LM:()=>h,_F:()=>y,cE:()=>p,jA:()=>m,xz:()=>f,SN:()=>_,lO:()=>S,vY:()=>C,oz:()=>E,s1:()=>x,f:()=>w});var r=n(7294),o=n(6550),a=n(8790),i=n(143),l=n(373),s=n(4477),c=n(1116);function u(e){return Array.from(new Set(e))}var d=n(8596);const p=!!i._r;function f(e){const t=(0,s.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function h(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=h(t);if(e)return e}}(e):void 0:e.href}function m(){const{pathname:e}=(0,o.TH)(),t=(0,c.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=k({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),b=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||b(e.items,t))}function v(e,t){switch(e.type){case"category":return y(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||y(e,t);default:return!0}}function w(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function k(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,d.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,d.Mg)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function x(){const e=(0,c.V)(),{pathname:t}=(0,o.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function S(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),o=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,o].filter(Boolean))),[t,n,o])}function E(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function C(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,o.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,o.LX)(n.pathname,e)));if(!l)return null;const c=l.sidebar,u=c?r.docsSidebars[c]:void 0;return{docElement:(0,a.H)(i),sidebarName:c,sidebarItems:u}}function T(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!h(e)))}},9690:(e,t,n)=>{"use strict";n.d(t,{aG:()=>u,Ac:()=>c,Cw:()=>s,QW:()=>d});var r=n(7294),o=n(5999),a=n(8780);const i={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};var l=n(5893);function s(e){return(0,l.jsx)("button",{type:"button",...e,children:(0,l.jsx)(o.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function c(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{className:i.errorBoundaryFallback,children:[(0,l.jsx)("p",{children:t.message}),(0,l.jsx)(s,{onClick:n})]})}function u(e){let{error:t}=e;const n=(0,a.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{className:i.errorBoundaryError,children:n})}class d extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>h});var r=n(7294),o=n(512),a=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),c=n(2263);var u=n(5893);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const l=function(e){const{siteConfig:t}=(0,c.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),p=o?d(o,{absolute:!0}):void 0;return(0,u.jsxs)(a.Z,{children:[t&&(0,u.jsx)("title",{children:l}),t&&(0,u.jsx)("meta",{property:"og:title",content:l}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,o.Z)(i,t);return(0,u.jsxs)(p.Provider,{value:l,children:[(0,u.jsx)(a.Z,{children:(0,u.jsx)("html",{className:l})}),n]})}function h(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,o.Z)(r,a),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>u,Ql:()=>c,i6:()=>s,zX:()=>i});var r=n(7294),o=n(469),a=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,o.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,o.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),o=n(723),a=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,a.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>c,RF:()=>p});var r=n(7294),o=n(412),a=n(2389),i=(n(469),n(902)),l=n(5893);const s=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,r.useRef)(d()),a=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&o<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(o-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>o});n(2263);const r="default";function o(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294);const r="localStorage";function o(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function a(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=a(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),o=n(6550),a=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,o.TH)(),c=(0,a.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),u=l===i?e:e.replace(`/${l}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),o=n(6550),a=n(902);function i(e){const t=(0,o.TH)(),n=(0,a.D9)(t),i=(0,a.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var r=n(2263);function o(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),a="/"===o||o===r?o:(i=o,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(o,a)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}});var a=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>_,ob:()=>f,PP:()=>j,Ep:()=>p});var r=n(7462);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],l=e&&o(e),s=t&&o(t),c=l||s;if(e&&o(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,p=i.length;p>=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var m=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var b="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),m||(0,l.Z)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,a=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,w=void 0!==c&&c,k=i.getUserConfirmation,x=void 0===k?g:k,S=i.keyLength,E=void 0===S?6:S,C=e.basename?d(s(e.basename)):"";function _(e){var t=e||{},n=t.key,r=t.state,o=window.location,a=o.pathname+o.search+o.hash;return C&&(a=u(a,C)),f(a,r,n)}function T(){return Math.random().toString(36).substr(2,E)}var j=h();function A(e){(0,r.Z)($,e),$.length=n.length,j.notifyListeners($.location,$.action)}function L(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||P(_(e.state))}function N(){P(_(v()))}var R=!1;function P(e){if(R)R=!1,A();else{j.confirmTransitionTo(e,"POP",x,(function(t){t?A({action:"POP",location:e}):function(e){var t=$.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(R=!0,F(o))}(e)}))}}var O=_(v()),D=[O.key];function I(e){return C+p(e)}function F(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(b,L),a&&window.addEventListener(y,N)):0===M&&(window.removeEventListener(b,L),a&&window.removeEventListener(y,N))}var B=!1;var $={length:n.length,action:"POP",location:O,createHref:I,push:function(e,t){var r="PUSH",a=f(e,t,T(),$.location);j.confirmTransitionTo(a,r,x,(function(e){if(e){var t=I(a),i=a.key,l=a.state;if(o)if(n.pushState({key:i,state:l},null,t),w)window.location.href=t;else{var s=D.indexOf($.location.key),c=D.slice(0,s+1);c.push(a.key),D=c,A({action:r,location:a})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,T(),$.location);j.confirmTransitionTo(a,r,x,(function(e){if(e){var t=I(a),i=a.key,l=a.state;if(o)if(n.replaceState({key:i,state:l},null,t),w)window.location.replace(t);else{var s=D.indexOf($.location.key);-1!==s&&(D[s]=a.key),A({action:r,location:a})}else window.location.replace(t)}}))},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=j.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=j.appendListener(e);return z(1),function(){z(-1),t()}}};return $}var k="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function C(e){window.location.replace(S(window.location.href)+"#"+e)}function _(e){void 0===e&&(e={}),m||(0,l.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,a=void 0===o?g:o,i=n.hashType,c=void 0===i?"slash":i,b=e.basename?d(s(e.basename)):"",y=x[c],v=y.encodePath,w=y.decodePath;function _(){var e=w(E());return b&&(e=u(e,b)),f(e)}var T=h();function j(e){(0,r.Z)(B,e),B.length=t.length,T.notifyListeners(B.location,B.action)}var A=!1,L=null;function N(){var e,t,n=E(),r=v(n);if(n!==r)C(r);else{var o=_(),i=B.location;if(!A&&(t=o,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(L===p(o))return;L=null,function(e){if(A)A=!1,j();else{var t="POP";T.confirmTransitionTo(e,t,a,(function(n){n?j({action:t,location:e}):function(e){var t=B.location,n=D.lastIndexOf(p(t));-1===n&&(n=0);var r=D.lastIndexOf(p(e));-1===r&&(r=0);var o=n-r;o&&(A=!0,I(o))}(e)}))}}(o)}}var R=E(),P=v(R);R!==P&&C(P);var O=_(),D=[p(O)];function I(e){t.go(e)}var F=0;function M(e){1===(F+=e)&&1===e?window.addEventListener(k,N):0===F&&window.removeEventListener(k,N)}var z=!1;var B={length:t.length,action:"POP",location:O,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(b+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,a,(function(e){if(e){var t=p(r),o=v(b+t);if(E()!==o){L=t,function(e){window.location.hash=e}(o);var a=D.lastIndexOf(p(B.location)),i=D.slice(0,a+1);i.push(t),D=i,j({action:n,location:r})}else j()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,a,(function(e){if(e){var t=p(r),o=v(b+t);E()!==o&&(L=t,C(o));var a=D.indexOf(p(B.location));-1!==a&&(D[a]=t),j({action:n,location:r})}}))},go:I,goBack:function(){I(-1)},goForward:function(){I(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return z||(M(1),z=!0),function(){return z&&(z=!1,M(-1)),t()}},listen:function(e){var t=T.appendListener(e);return M(1),function(){M(-1),t()}}};return B}function T(e,t,n){return Math.min(Math.max(e,t),n)}function j(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,a=void 0===o?["/"]:o,i=t.initialIndex,l=void 0===i?0:i,s=t.keyLength,c=void 0===s?6:s,u=h();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,u.notifyListeners(w.location,w.action)}function m(){return Math.random().toString(36).substr(2,c)}var g=T(l,0,a.length-1),b=a.map((function(e){return f(e,void 0,"string"==typeof e?m():e.key||m())})),y=p;function v(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:b.length,action:"POP",location:b[g],index:g,entries:b,createHref:y,push:function(e,t){var r="PUSH",o=f(e,t,m(),w.location);u.confirmTransitionTo(o,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,m(),w.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return w}},8679:(e,t,n)=>{"use strict";var r=n(9864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var o=f(n);o&&o!==h&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var l=s(t),m=s(n),g=0;g<i.length;++g){var b=i[g];if(!(a[b]||r&&r[b]||m&&m[b]||l&&l[b])){var y=p(n,b);try{c(t,b,y)}catch(v){}}}}return t}},1143:e=>{"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}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=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,i(e,u,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),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)*o(Math.random()*t,.1,.95)),t=o(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");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},4779:(e,t,n)=>{var r=n(5826);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return l(a(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,l="",u=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(l+=e.slice(i,f),i=f+d.length,p)l+=p[1];else{var h=e[i],m=n[2],g=n[3],b=n[4],y=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=m&&null!=h&&h!==m,x="+"===v||"*"===v,S="?"===v||"*"===v,E=n[2]||u,C=b||y;r.push({name:g||a++,prefix:m||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:C?c(C):w?".*":"[^"+s(E)+"]+?"})}}return i<e.length&&(l+=e.substr(i)),l&&r.push(l),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(n[o]=new RegExp("^(?:"+e[o].pattern+")$",d(t)));return function(t,o){for(var a="",l=t||{},s=(o||{}).pretty?i:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,p=l[u.name];if(null==p){if(u.optional){u.partial&&(a+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(p)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=s(p[f]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");a+=(0===f?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):s(p),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');a+=u.prefix+d}}else a+=u}return a}}function s(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function c(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var o=(n=n||{}).strict,a=!1!==n.end,i="",l=0;l<e.length;l++){var c=e[l];if("string"==typeof c)i+=s(c);else{var p=s(c.prefix),f="(?:"+c.pattern+")";t.push(c),c.repeat&&(f+="(?:"+p+f+")*"),i+=f=c.optional?c.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var h=s(n.delimiter||"/"),m=i.slice(-h.length)===h;return o||(i=(m?i.slice(0,-h.length):i)+"(?:"+h+"(?=$))?"),i+=a?"$":o&&m?"":"(?="+h+"|$)",u(new RegExp("^"+i,d(n)),t)}function f(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return u(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],o=0;o<e.length;o++)r.push(f(e[o],t,n).source);return u(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return p(a(e,n),t,n)}(e,t,n)}},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),o=n(9642),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),a.add(e)}))}i.silent=!1,e.exports=i},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s<l.length&&!(o>=a.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),h=p.indexOf(f);if(h>-1){++o;var m=p.substring(0,h),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(h+f.length),y=[];m&&y.push.apply(y,i([m])),y.push(g),b&&y.push.apply(y,i([b])),"string"==typeof c?l.splice.apply(l,[s,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(Prism)},6726:(e,t,n)=>{var r={"./":2885};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6726},6500:(e,t,n)=>{var r={"./":2885};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function r(e){var n={},r=[];function o(r,a){if(!(r in n)){a.push(r);var i=a.indexOf(r);if(i<a.length-1)throw new Error("Circular dependency: "+a.slice(i).join(" -> "));var l={},s=e[r];if(s){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in o(t,a),l[t]=!0,n[t])l[i]=!0}t(s.require,c),t(s.optional,c),t(s.modify,c)}n[r]=l,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(s);i=i.map(c),l=(l||[]).map(c);var u=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=r(s),h=u;o(h);){for(var m in p={},h){var g=s[m];t(g&&g.modify,(function(e){e in d&&(p[e]=!0)}))}for(var b in d)if(!(b in u))for(var y in f(b))if(y in u){p[b]=!0;break}for(var v in h=p)u[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,l={},s={};function c(e){if(e in l)return l[e];s[e]=!0;var o,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)o=r(e);else{var p=i(u.map((function(e){var t=c(e);return delete s[e],t})));a?o=a(p,(function(){return r(e)})):r(e)}return l[e]=o}for(var u in n)c(u);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,u,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,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:a,resetWarningCache:o};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),o=n(3840);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,l={};function s(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(l[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},h={};function m(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new m(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new m(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new m(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new m(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new m(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new m(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,n,r){var o=g.hasOwnProperty(t)?g[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!d.call(h,e)||!d.call(f,e)&&(p.test(e)?h[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,y);g[t]=new m(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,y);g[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,y);g[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),T=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),L=Symbol.for("react.suspense_list"),N=Symbol.for("react.memo"),R=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var P=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var O=Symbol.iterator;function D(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var I,F=Object.assign;function M(e){if(void 0===I)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);I=t&&t[1]||""}return"\n"+I+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var o=c.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,l=a.length-1;1<=i&&0<=l&&o[i]!==a[l];)l--;for(;1<=i&&0<=l;i--,l--)if(o[i]!==a[l]){if(1!==i||1!==l)do{if(i--,0>--l||o[i]!==a[l]){var s="\n"+o[i].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}}while(1<=i&&0<=l);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function $(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case C:return"Profiler";case E:return"StrictMode";case A:return"Suspense";case L:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case _:return(e._context.displayName||"Context")+".Provider";case j:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case N:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case R:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function q(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function Z(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function G(e){e._valueTracker||(e._valueTracker=function(e){var t=Z(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function V(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Z(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function W(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function K(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){K(e,t);var n=H(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&W(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return F({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function ae(e,t){var n=H(t.value),r=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function le(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function se(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?le(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},he=["Webkit","ms","Moz","O"];function me(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=me(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(fe).forEach((function(e){he.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var be=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function ke(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,Ee=null;function Ce(e){if(e=wo(e)){if("function"!=typeof xe)throw Error(a(280));var t=e.stateNode;t&&(t=xo(t),xe(e.stateNode,e.type,t))}}function _e(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function Te(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function je(e,t){return e(t)}function Ae(){}var Le=!1;function Ne(e,t,n){if(Le)return e(t,n);Le=!0;try{return je(e,t,n)}finally{Le=!1,(null!==Se||null!==Ee)&&(Ae(),Te())}}function Re(e,t){var n=e.stateNode;if(null===n)return null;var r=xo(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Pe=!1;if(u)try{var Oe={};Object.defineProperty(Oe,"passive",{get:function(){Pe=!0}}),window.addEventListener("test",Oe,Oe),window.removeEventListener("test",Oe,Oe)}catch(ue){Pe=!1}function De(e,t,n,r,o,a,i,l,s){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Ie=!1,Fe=null,Me=!1,ze=null,Be={onError:function(e){Ie=!0,Fe=e}};function $e(e,t,n,r,o,a,i,l,s){Ie=!1,Fe=null,De.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(Ue(e)!==e)throw Error(a(188))}function Ze(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var i=o.alternate;if(null===i){if(null!==(r=o.return)){n=r;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return He(o),e;if(i===r)return He(o),t;i=i.sibling}throw Error(a(188))}if(n.return!==r.return)n=o,r=i;else{for(var l=!1,s=o.child;s;){if(s===n){l=!0,n=o,r=i;break}if(s===r){l=!0,r=o,n=i;break}s=s.sibling}if(!l){for(s=i.child;s;){if(s===n){l=!0,n=i,r=o;break}if(s===r){l=!0,r=i,n=o;break}s=s.sibling}if(!l)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?Ge(e):null}function Ge(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ge(e);if(null!==t)return t;e=e.sibling}return null}var Ve=o.unstable_scheduleCallback,We=o.unstable_cancelCallback,Qe=o.unstable_shouldYield,Ye=o.unstable_requestPaint,Ke=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Je=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,rt=o.unstable_IdlePriority,ot=null,at=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(lt(e)/st|0)|0},lt=Math.log,st=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=268435455&n;if(0!==i){var l=i&~o;0!==l?r=dt(l):0!==(a&=i)&&(r=dt(a))}else 0!==(i=n&~o)?r=dt(i):0!==a&&(r=dt(a));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&0!=(4194240&a)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-it(t)),r|=e[n],t&=~o;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ht(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function mt(){var e=ct;return 0==(4194240&(ct<<=1))&&(ct=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var vt=0;function wt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var kt,xt,St,Et,Ct,_t=!1,Tt=[],jt=null,At=null,Lt=null,Nt=new Map,Rt=new Map,Pt=[],Ot="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":jt=null;break;case"dragenter":case"dragleave":At=null;break;case"mouseover":case"mouseout":Lt=null;break;case"pointerover":case"pointerout":Nt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Rt.delete(t.pointerId)}}function It(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&(null!==(t=wo(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Ft(e){var t=vo(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=qe(n)))return e.blockedOn=t,void Ct(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=wo(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function zt(e,t,n){Mt(e)&&n.delete(t)}function Bt(){_t=!1,null!==jt&&Mt(jt)&&(jt=null),null!==At&&Mt(At)&&(At=null),null!==Lt&&Mt(Lt)&&(Lt=null),Nt.forEach(zt),Rt.forEach(zt)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,_t||(_t=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return $t(t,e)}if(0<Tt.length){$t(Tt[0],e);for(var n=1;n<Tt.length;n++){var r=Tt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==jt&&$t(jt,e),null!==At&&$t(At,e),null!==Lt&&$t(Lt,e),Nt.forEach(t),Rt.forEach(t),n=0;n<Pt.length;n++)(r=Pt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Pt.length&&null===(n=Pt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Pt.shift()}var qt=w.ReactCurrentBatchConfig,Ht=!0;function Zt(e,t,n,r){var o=vt,a=qt.transition;qt.transition=null;try{vt=1,Vt(e,t,n,r)}finally{vt=o,qt.transition=a}}function Gt(e,t,n,r){var o=vt,a=qt.transition;qt.transition=null;try{vt=4,Vt(e,t,n,r)}finally{vt=o,qt.transition=a}}function Vt(e,t,n,r){if(Ht){var o=Qt(e,t,n,r);if(null===o)Hr(e,t,r,Wt,n),Dt(e,r);else if(function(e,t,n,r,o){switch(t){case"focusin":return jt=It(jt,e,t,n,r,o),!0;case"dragenter":return At=It(At,e,t,n,r,o),!0;case"mouseover":return Lt=It(Lt,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return Nt.set(a,It(Nt.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Rt.set(a,It(Rt.get(a)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<Ot.indexOf(e)){for(;null!==o;){var a=wo(o);if(null!==a&&kt(a),null===(a=Qt(e,t,n,r))&&Hr(e,t,r,Wt,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else Hr(e,t,r,null,n)}}var Wt=null;function Qt(e,t,n,r){if(Wt=null,null!==(e=vo(e=ke(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=qe(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Wt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Kt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,o="value"in Kt?Kt.value:Kt.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);return Jt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,ln,sn,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(cn),dn=F({},cn,{view:0,detail:0}),pn=on(dn),fn=F({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==sn&&(sn&&"mousemove"===e.type?(an=e.screenX-sn.screenX,ln=e.screenY-sn.screenY):ln=an=0,sn=e),an)},movementY:function(e){return"movementY"in e?e.movementY:ln}}),hn=on(fn),mn=on(F({},fn,{dataTransfer:0})),gn=on(F({},dn,{relatedTarget:0})),bn=on(F({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=F({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=on(yn),wn=on(F({},cn,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function Cn(){return En}var _n=F({},dn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Tn=on(_n),jn=on(F({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),An=on(F({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),Ln=on(F({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Nn=F({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Rn=on(Nn),Pn=[9,13,27,32],On=u&&"CompositionEvent"in window,Dn=null;u&&"documentMode"in document&&(Dn=document.documentMode);var In=u&&"TextEvent"in window&&!Dn,Fn=u&&(!On||Dn&&8<Dn&&11>=Dn),Mn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Pn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var qn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!qn[e.type]:"textarea"===t}function Zn(e,t,n,r){_e(r),0<(t=Gr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Gn=null,Vn=null;function Wn(e){Mr(e,0)}function Qn(e){if(V(ko(e)))return e}function Yn(e,t){if("change"===e)return t}var Kn=!1;if(u){var Xn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Kn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Gn&&(Gn.detachEvent("onpropertychange",nr),Vn=Gn=null)}function nr(e){if("value"===e.propertyName&&Qn(Vn)){var t=[];Zn(t,Vn,e,ke(e)),Ne(Wn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Vn=n,(Gn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Vn)}function ar(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var lr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function sr(e,t){if(lr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!d.call(t,o)||!lr(e[o],t[o]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=W();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=W((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function hr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=ur(n,a);var i=ur(n,r);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var mr=u&&"documentMode"in document&&11>=document.documentMode,gr=null,br=null,yr=null,vr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==gr||gr!==W(r)||("selectionStart"in(r=gr)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&sr(yr,r)||(yr=r,0<(r=Gr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Sr={},Er={};function Cr(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return Sr[e]=n[t];return e}u&&(Er=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var _r=Cr("animationend"),Tr=Cr("animationiteration"),jr=Cr("animationstart"),Ar=Cr("transitionend"),Lr=new Map,Nr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Rr(e,t){Lr.set(e,t),s(t,[e])}for(var Pr=0;Pr<Nr.length;Pr++){var Or=Nr[Pr];Rr(Or.toLowerCase(),"on"+(Or[0].toUpperCase()+Or.slice(1)))}Rr(_r,"onAnimationEnd"),Rr(Tr,"onAnimationIteration"),Rr(jr,"onAnimationStart"),Rr("dblclick","onDoubleClick"),Rr("focusin","onFocus"),Rr("focusout","onBlur"),Rr(Ar,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ir=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function Fr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,o,i,l,s,c){if($e.apply(this,arguments),Ie){if(!Ie)throw Error(a(198));var u=Fe;Ie=!1,Fe=null,Me||(Me=!0,ze=u)}}(r,t,void 0,e),e.currentTarget=null}function Mr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==a&&o.isPropagationStopped())break e;Fr(o,l,c),a=s}else for(i=0;i<r.length;i++){if(s=(l=r[i]).instance,c=l.currentTarget,l=l.listener,s!==a&&o.isPropagationStopped())break e;Fr(o,l,c),a=s}}}if(Me)throw e=ze,Me=!1,ze=null,e}function zr(e,t){var n=t[go];void 0===n&&(n=t[go]=new Set);var r=e+"__bubble";n.has(r)||(qr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),qr(n,e,r,t)}var $r="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[$r]){e[$r]=!0,i.forEach((function(t){"selectionchange"!==t&&(Ir.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[$r]||(t[$r]=!0,Br("selectionchange",!1,t))}}function qr(e,t,n,r){switch(Yt(t)){case 1:var o=Zt;break;case 4:o=Gt;break;default:o=Vt}n=o.bind(null,t,n,e),o=void 0,!Pe||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Hr(e,t,n,r,o){var a=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var l=r.stateNode.containerInfo;if(l===o||8===l.nodeType&&l.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var s=i.tag;if((3===s||4===s)&&((s=i.stateNode.containerInfo)===o||8===s.nodeType&&s.parentNode===o))return;i=i.return}for(;null!==l;){if(null===(i=vo(l)))return;if(5===(s=i.tag)||6===s){r=a=i;continue e}l=l.parentNode}}r=r.return}Ne((function(){var r=a,o=ke(n),i=[];e:{var l=Lr.get(e);if(void 0!==l){var s=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":s=Tn;break;case"focusin":c="focus",s=gn;break;case"focusout":c="blur",s=gn;break;case"beforeblur":case"afterblur":s=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=hn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=mn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=An;break;case _r:case Tr:case jr:s=bn;break;case Ar:s=Ln;break;case"scroll":s=pn;break;case"wheel":s=Rn;break;case"copy":case"cut":case"paste":s=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=jn}var u=0!=(4&t),d=!u&&"scroll"===e,p=u?null!==l?l+"Capture":null:l;u=[];for(var f,h=r;null!==h;){var m=(f=h).stateNode;if(5===f.tag&&null!==m&&(f=m,null!==p&&(null!=(m=Re(h,p))&&u.push(Zr(h,m,f)))),d)break;h=h.return}0<u.length&&(l=new s(l,c,null,n,o),i.push({event:l,listeners:u}))}}if(0==(7&t)){if(s="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||n===we||!(c=n.relatedTarget||n.fromElement)||!vo(c)&&!c[mo])&&(s||l)&&(l=o.window===o?o:(l=o.ownerDocument)?l.defaultView||l.parentWindow:window,s?(s=r,null!==(c=(c=n.relatedTarget||n.toElement)?vo(c):null)&&(c!==(d=Ue(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(s=null,c=r),s!==c)){if(u=hn,m="onMouseLeave",p="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(u=jn,m="onPointerLeave",p="onPointerEnter",h="pointer"),d=null==s?l:ko(s),f=null==c?l:ko(c),(l=new u(m,h+"leave",s,n,o)).target=d,l.relatedTarget=f,m=null,vo(o)===r&&((u=new u(p,h+"enter",c,n,o)).target=f,u.relatedTarget=d,m=u),d=m,s&&c)e:{for(p=c,h=0,f=u=s;f;f=Vr(f))h++;for(f=0,m=p;m;m=Vr(m))f++;for(;0<h-f;)u=Vr(u),h--;for(;0<f-h;)p=Vr(p),f--;for(;h--;){if(u===p||null!==p&&u===p.alternate)break e;u=Vr(u),p=Vr(p)}u=null}else u=null;null!==s&&Wr(i,l,s,u,!1),null!==c&&null!==d&&Wr(i,d,c,u,!0)}if("select"===(s=(l=r?ko(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var g=Yn;else if(Hn(l))if(Kn)g=ir;else{g=or;var b=rr}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(g=ar);switch(g&&(g=g(e,r))?Zn(i,g,n,o):(b&&b(e,l,r),"focusout"===e&&(b=l._wrapperState)&&b.controlled&&"number"===l.type&&ee(l,"number",l.value)),b=r?ko(r):window,e){case"focusin":(Hn(b)||"true"===b.contentEditable)&&(gr=b,br=r,yr=null);break;case"focusout":yr=br=gr=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,wr(i,n,o);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":wr(i,n,o)}var y;if(On)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Un?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Fn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==v?"onCompositionEnd"===v&&Un&&(y=en()):(Xt="value"in(Kt=o)?Kt.value:Kt.textContent,Un=!0)),0<(b=Gr(r,v)).length&&(v=new wn(v,e,null,n,o),i.push({event:v,listeners:b}),y?v.data=y:null!==(y=$n(n))&&(v.data=y))),(y=In?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(zn=!0,Mn);case"textInput":return(e=t.data)===Mn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!On&&Bn(e,t)?(e=en(),Jt=Xt=Kt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Gr(r,"onBeforeInput")).length&&(o=new wn("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:r}),o.data=y))}Mr(i,t)}))}function Zr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Gr(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Re(e,n))&&r.unshift(Zr(e,a,o)),null!=(a=Re(e,t))&&r.push(Zr(e,a,o))),e=e.return}return r}function Vr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Wr(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(null!==s&&s===r)break;5===l.tag&&null!==c&&(l=c,o?null!=(s=Re(n,a))&&i.unshift(Zr(n,s,l)):o||null!=(s=Re(n,a))&&i.push(Zr(n,s,l))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Qr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Kr(e){return("string"==typeof e?e:""+e).replace(Qr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Kr(t),Kr(e)!==t&&n)throw Error(a(425))}function Jr(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ro="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ao="function"==typeof Promise?Promise:void 0,io="function"==typeof queueMicrotask?queueMicrotask:void 0!==ao?function(e){return ao.resolve(null).then(e).catch(lo)}:ro;function lo(e){setTimeout((function(){throw e}))}function so(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===r)return e.removeChild(o),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=o}while(n);Ut(t)}function co(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var po=Math.random().toString(36).slice(2),fo="__reactFiber$"+po,ho="__reactProps$"+po,mo="__reactContainer$"+po,go="__reactEvents$"+po,bo="__reactListeners$"+po,yo="__reactHandles$"+po;function vo(e){var t=e[fo];if(t)return t;for(var n=e.parentNode;n;){if(t=n[mo]||n[fo]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[fo])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function wo(e){return!(e=e[fo]||e[mo])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ko(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function xo(e){return e[ho]||null}var So=[],Eo=-1;function Co(e){return{current:e}}function _o(e){0>Eo||(e.current=So[Eo],So[Eo]=null,Eo--)}function To(e,t){Eo++,So[Eo]=e.current,e.current=t}var jo={},Ao=Co(jo),Lo=Co(!1),No=jo;function Ro(e,t){var n=e.type.contextTypes;if(!n)return jo;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Po(e){return null!=(e=e.childContextTypes)}function Oo(){_o(Lo),_o(Ao)}function Do(e,t,n){if(Ao.current!==jo)throw Error(a(168));To(Ao,t),To(Lo,n)}function Io(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(a(108,q(e)||"Unknown",o));return F({},n,r)}function Fo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||jo,No=Ao.current,To(Ao,e),To(Lo,Lo.current),!0}function Mo(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=Io(e,t,No),r.__reactInternalMemoizedMergedChildContext=e,_o(Lo),_o(Ao),To(Ao,e)):_o(Lo),To(Lo,n)}var zo=null,Bo=!1,$o=!1;function Uo(e){null===zo?zo=[e]:zo.push(e)}function qo(){if(!$o&&null!==zo){$o=!0;var e=0,t=vt;try{var n=zo;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}zo=null,Bo=!1}catch(o){throw null!==zo&&(zo=zo.slice(e+1)),Ve(Je,qo),o}finally{vt=t,$o=!1}}return null}var Ho=[],Zo=0,Go=null,Vo=0,Wo=[],Qo=0,Yo=null,Ko=1,Xo="";function Jo(e,t){Ho[Zo++]=Vo,Ho[Zo++]=Go,Go=e,Vo=t}function ea(e,t,n){Wo[Qo++]=Ko,Wo[Qo++]=Xo,Wo[Qo++]=Yo,Yo=e;var r=Ko;e=Xo;var o=32-it(r)-1;r&=~(1<<o),n+=1;var a=32-it(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Ko=1<<32-it(t)+o|n<<o|r,Xo=a+e}else Ko=1<<a|n<<o|r,Xo=e}function ta(e){null!==e.return&&(Jo(e,1),ea(e,1,0))}function na(e){for(;e===Go;)Go=Ho[--Zo],Ho[Zo]=null,Vo=Ho[--Zo],Ho[Zo]=null;for(;e===Yo;)Yo=Wo[--Qo],Wo[Qo]=null,Xo=Wo[--Qo],Wo[Qo]=null,Ko=Wo[--Qo],Wo[Qo]=null}var ra=null,oa=null,aa=!1,ia=null;function la(e,t){var n=Rc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function sa(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ra=e,oa=co(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ra=e,oa=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Yo?{id:Ko,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Rc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ra=e,oa=null,!0);default:return!1}}function ca(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function ua(e){if(aa){var t=oa;if(t){var n=t;if(!sa(e,t)){if(ca(e))throw Error(a(418));t=co(n.nextSibling);var r=ra;t&&sa(e,t)?la(r,n):(e.flags=-4097&e.flags|2,aa=!1,ra=e)}}else{if(ca(e))throw Error(a(418));e.flags=-4097&e.flags|2,aa=!1,ra=e}}}function da(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ra=e}function pa(e){if(e!==ra)return!1;if(!aa)return da(e),aa=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oa)){if(ca(e))throw fa(),Error(a(418));for(;t;)la(e,t),t=co(t.nextSibling)}if(da(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oa=co(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oa=null}}else oa=ra?co(e.stateNode.nextSibling):null;return!0}function fa(){for(var e=oa;e;)e=co(e.nextSibling)}function ha(){oa=ra=null,aa=!1}function ma(e){null===ia?ia=[e]:ia.push(e)}var ga=w.ReactCurrentBatchConfig;function ba(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var ya=Co(null),va=null,wa=null,ka=null;function xa(){ka=wa=va=null}function Sa(e){var t=ya.current;_o(ya),e._currentValue=t}function Ea(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ca(e,t){va=e,ka=wa=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(wl=!0),e.firstContext=null)}function _a(e){var t=e._currentValue;if(ka!==e)if(e={context:e,memoizedValue:t,next:null},null===wa){if(null===va)throw Error(a(308));wa=e,va.dependencies={lanes:0,firstContext:e}}else wa=wa.next=e;return t}var Ta=null;function ja(e){null===Ta?Ta=[e]:Ta.push(e)}function Aa(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,ja(t)):(n.next=o.next,o.next=n),t.interleaved=n,La(e,r)}function La(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Na=!1;function Ra(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Pa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Oa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Da(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&As)){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,La(e,n)}return null===(o=r.interleaved)?(t.next=t,ja(r)):(t.next=o.next,o.next=t),r.interleaved=t,La(e,n)}function Ia(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Fa(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ma(e,t,n,r){var o=e.updateQueue;Na=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var s=l,c=s.next;s.next=null,null===i?a=c:i.next=c,i=s;var u=e.alternate;null!==u&&((l=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===l?u.firstBaseUpdate=c:l.next=c,u.lastBaseUpdate=s))}if(null!==a){var d=o.baseState;for(i=0,u=c=s=null,l=a;;){var p=l.lane,f=l.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var h=e,m=l;switch(p=t,f=n,m.tag){case 1:if("function"==typeof(h=m.payload)){d=h.call(f,d,p);break e}d=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null==(p="function"==typeof(h=m.payload)?h.call(f,d,p):h))break e;d=F({},d,p);break e;case 2:Na=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(p=o.effects)?o.effects=[l]:p.push(l))}else f={eventTime:f,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===u?(c=u=f,s=d):u=u.next=f,i|=p;if(null===(l=l.next)){if(null===(l=o.shared.pending))break;l=(p=l).next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}if(null===u&&(s=d),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=u,null!==(t=o.shared.interleaved)){o=t;do{i|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);Fs|=i,e.lanes=i,e.memoizedState=d}}function za(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!=typeof o)throw Error(a(191,o));o.call(r)}}}var Ba=(new r.Component).refs;function $a(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Ua={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=tc(),o=nc(e),a=Oa(r,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Da(e,a,o))&&(rc(t,e,o,r),Ia(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=tc(),o=nc(e),a=Oa(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Da(e,a,o))&&(rc(t,e,o,r),Ia(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tc(),r=nc(e),o=Oa(n,r);o.tag=2,null!=t&&(o.callback=t),null!==(t=Da(e,o,r))&&(rc(t,e,r,n),Ia(t,e,r))}};function qa(e,t,n,r,o,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(o,a))}function Ha(e,t,n){var r=!1,o=jo,a=t.contextType;return"object"==typeof a&&null!==a?a=_a(a):(o=Po(t)?No:Ao.current,a=(r=null!=(r=t.contextTypes))?Ro(e,o):jo),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Ua,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function Za(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ua.enqueueReplaceState(t,t.state,null)}function Ga(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs=Ba,Ra(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=_a(a):(a=Po(t)?No:Ao.current,o.context=Ro(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&($a(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&Ua.enqueueReplaceState(o,o.state,null),Ma(e,n,o,r),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function Va(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var o=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=o.refs;t===Ba&&(t=o.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function Wa(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Qa(e){return(0,e._init)(e._payload)}function Ya(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Oc(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=2),t}function s(e,t,n,r){return null===t||6!==t.tag?((t=Mc(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function c(e,t,n,r){var a=n.type;return a===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===R&&Qa(a)===t.type)?((r=o(t,n.props)).ref=Va(e,t,n),r.return=e,r):((r=Dc(n.type,n.key,n.props,null,e.mode,r)).ref=Va(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=zc(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function d(e,t,n,r,a){return null===t||7!==t.tag?((t=Ic(n,e.mode,r,a)).return=e,t):((t=o(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Mc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Dc(t.type,t.key,t.props,null,e.mode,n)).ref=Va(e,null,t),n.return=e,n;case x:return(t=zc(t,e.mode,n)).return=e,t;case R:return p(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Ic(t,e.mode,n,null)).return=e,t;Wa(e,t)}return null}function f(e,t,n,r){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:s(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===o?c(e,t,n,r):null;case x:return n.key===o?u(e,t,n,r):null;case R:return f(e,t,(o=n._init)(n._payload),r)}if(te(n)||D(n))return null!==o?null:d(e,t,n,r,null);Wa(e,n)}return null}function h(e,t,n,r,o){if("string"==typeof r&&""!==r||"number"==typeof r)return s(t,e=e.get(n)||null,""+r,o);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return c(t,e=e.get(null===r.key?n:r.key)||null,r,o);case x:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case R:return h(e,t,n,(0,r._init)(r._payload),o)}if(te(r)||D(r))return d(t,e=e.get(n)||null,r,o,null);Wa(t,r)}return null}function m(o,a,l,s){for(var c=null,u=null,d=a,m=a=0,g=null;null!==d&&m<l.length;m++){d.index>m?(g=d,d=null):g=d.sibling;var b=f(o,d,l[m],s);if(null===b){null===d&&(d=g);break}e&&d&&null===b.alternate&&t(o,d),a=i(b,a,m),null===u?c=b:u.sibling=b,u=b,d=g}if(m===l.length)return n(o,d),aa&&Jo(o,m),c;if(null===d){for(;m<l.length;m++)null!==(d=p(o,l[m],s))&&(a=i(d,a,m),null===u?c=d:u.sibling=d,u=d);return aa&&Jo(o,m),c}for(d=r(o,d);m<l.length;m++)null!==(g=h(d,o,m,l[m],s))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),a=i(g,a,m),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach((function(e){return t(o,e)})),aa&&Jo(o,m),c}function g(o,l,s,c){var u=D(s);if("function"!=typeof u)throw Error(a(150));if(null==(s=u.call(s)))throw Error(a(151));for(var d=u=null,m=l,g=l=0,b=null,y=s.next();null!==m&&!y.done;g++,y=s.next()){m.index>g?(b=m,m=null):b=m.sibling;var v=f(o,m,y.value,c);if(null===v){null===m&&(m=b);break}e&&m&&null===v.alternate&&t(o,m),l=i(v,l,g),null===d?u=v:d.sibling=v,d=v,m=b}if(y.done)return n(o,m),aa&&Jo(o,g),u;if(null===m){for(;!y.done;g++,y=s.next())null!==(y=p(o,y.value,c))&&(l=i(y,l,g),null===d?u=y:d.sibling=y,d=y);return aa&&Jo(o,g),u}for(m=r(o,m);!y.done;g++,y=s.next())null!==(y=h(m,o,g,y.value,c))&&(e&&null!==y.alternate&&m.delete(null===y.key?g:y.key),l=i(y,l,g),null===d?u=y:d.sibling=y,d=y);return e&&m.forEach((function(e){return t(o,e)})),aa&&Jo(o,g),u}return function e(r,a,i,s){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case k:e:{for(var c=i.key,u=a;null!==u;){if(u.key===c){if((c=i.type)===S){if(7===u.tag){n(r,u.sibling),(a=o(u,i.props.children)).return=r,r=a;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===R&&Qa(c)===u.type){n(r,u.sibling),(a=o(u,i.props)).ref=Va(r,u,i),a.return=r,r=a;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===S?((a=Ic(i.props.children,r.mode,s,i.key)).return=r,r=a):((s=Dc(i.type,i.key,i.props,null,r.mode,s)).ref=Va(r,a,i),s.return=r,r=s)}return l(r);case x:e:{for(u=i.key;null!==a;){if(a.key===u){if(4===a.tag&&a.stateNode.containerInfo===i.containerInfo&&a.stateNode.implementation===i.implementation){n(r,a.sibling),(a=o(a,i.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=zc(i,r.mode,s)).return=r,r=a}return l(r);case R:return e(r,a,(u=i._init)(i._payload),s)}if(te(i))return m(r,a,i,s);if(D(i))return g(r,a,i,s);Wa(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==a&&6===a.tag?(n(r,a.sibling),(a=o(a,i)).return=r,r=a):(n(r,a),(a=Mc(i,r.mode,s)).return=r,r=a),l(r)):n(r,a)}}var Ka=Ya(!0),Xa=Ya(!1),Ja={},ei=Co(Ja),ti=Co(Ja),ni=Co(Ja);function ri(e){if(e===Ja)throw Error(a(174));return e}function oi(e,t){switch(To(ni,t),To(ti,e),To(ei,Ja),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:se(null,"");break;default:t=se(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}_o(ei),To(ei,t)}function ai(){_o(ei),_o(ti),_o(ni)}function ii(e){ri(ni.current);var t=ri(ei.current),n=se(t,e.type);t!==n&&(To(ti,e),To(ei,n))}function li(e){ti.current===e&&(_o(ei),_o(ti))}var si=Co(0);function ci(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ui=[];function di(){for(var e=0;e<ui.length;e++)ui[e]._workInProgressVersionPrimary=null;ui.length=0}var pi=w.ReactCurrentDispatcher,fi=w.ReactCurrentBatchConfig,hi=0,mi=null,gi=null,bi=null,yi=!1,vi=!1,wi=0,ki=0;function xi(){throw Error(a(321))}function Si(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!lr(e[n],t[n]))return!1;return!0}function Ei(e,t,n,r,o,i){if(hi=i,mi=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,pi.current=null===e||null===e.memoizedState?ll:sl,e=n(r,o),vi){i=0;do{if(vi=!1,wi=0,25<=i)throw Error(a(301));i+=1,bi=gi=null,t.updateQueue=null,pi.current=cl,e=n(r,o)}while(vi)}if(pi.current=il,t=null!==gi&&null!==gi.next,hi=0,bi=gi=mi=null,yi=!1,t)throw Error(a(300));return e}function Ci(){var e=0!==wi;return wi=0,e}function _i(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===bi?mi.memoizedState=bi=e:bi=bi.next=e,bi}function Ti(){if(null===gi){var e=mi.alternate;e=null!==e?e.memoizedState:null}else e=gi.next;var t=null===bi?mi.memoizedState:bi.next;if(null!==t)bi=t,gi=e;else{if(null===e)throw Error(a(310));e={memoizedState:(gi=e).memoizedState,baseState:gi.baseState,baseQueue:gi.baseQueue,queue:gi.queue,next:null},null===bi?mi.memoizedState=bi=e:bi=bi.next=e}return bi}function ji(e,t){return"function"==typeof t?t(e):t}function Ai(e){var t=Ti(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=gi,o=r.baseQueue,i=n.pending;if(null!==i){if(null!==o){var l=o.next;o.next=i.next,i.next=l}r.baseQueue=o=i,n.pending=null}if(null!==o){i=o.next,r=r.baseState;var s=l=null,c=null,u=i;do{var d=u.lane;if((hi&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(s=c=p,l=r):c=c.next=p,mi.lanes|=d,Fs|=d}u=u.next}while(null!==u&&u!==i);null===c?l=r:c.next=s,lr(r,t.memoizedState)||(wl=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do{i=o.lane,mi.lanes|=i,Fs|=i,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Li(e){var t=Ti(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,i=t.memoizedState;if(null!==o){n.pending=null;var l=o=o.next;do{i=e(i,l.action),l=l.next}while(l!==o);lr(i,t.memoizedState)||(wl=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Ni(){}function Ri(e,t){var n=mi,r=Ti(),o=t(),i=!lr(r.memoizedState,o);if(i&&(r.memoizedState=o,wl=!0),r=r.queue,Hi(Di.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==bi&&1&bi.memoizedState.tag){if(n.flags|=2048,zi(9,Oi.bind(null,n,r,o,t),void 0,null),null===Ls)throw Error(a(349));0!=(30&hi)||Pi(n,t,o)}return o}function Pi(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=mi.updateQueue)?(t={lastEffect:null,stores:null},mi.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Oi(e,t,n,r){t.value=n,t.getSnapshot=r,Ii(t)&&Fi(e)}function Di(e,t,n){return n((function(){Ii(t)&&Fi(e)}))}function Ii(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!lr(e,n)}catch(r){return!0}}function Fi(e){var t=La(e,1);null!==t&&rc(t,e,1,-1)}function Mi(e){var t=_i();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ji,lastRenderedState:e},t.queue=e,e=e.dispatch=nl.bind(null,mi,e),[t.memoizedState,e]}function zi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=mi.updateQueue)?(t={lastEffect:null,stores:null},mi.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Bi(){return Ti().memoizedState}function $i(e,t,n,r){var o=_i();mi.flags|=e,o.memoizedState=zi(1|t,n,void 0,void 0===r?null:r)}function Ui(e,t,n,r){var o=Ti();r=void 0===r?null:r;var a=void 0;if(null!==gi){var i=gi.memoizedState;if(a=i.destroy,null!==r&&Si(r,i.deps))return void(o.memoizedState=zi(t,n,a,r))}mi.flags|=e,o.memoizedState=zi(1|t,n,a,r)}function qi(e,t){return $i(8390656,8,e,t)}function Hi(e,t){return Ui(2048,8,e,t)}function Zi(e,t){return Ui(4,2,e,t)}function Gi(e,t){return Ui(4,4,e,t)}function Vi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Wi(e,t,n){return n=null!=n?n.concat([e]):null,Ui(4,4,Vi.bind(null,t,e),n)}function Qi(){}function Yi(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ki(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Xi(e,t,n){return 0==(21&hi)?(e.baseState&&(e.baseState=!1,wl=!0),e.memoizedState=n):(lr(n,t)||(n=mt(),mi.lanes|=n,Fs|=n,e.baseState=!0),t)}function Ji(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=fi.transition;fi.transition={};try{e(!1),t()}finally{vt=n,fi.transition=r}}function el(){return Ti().memoizedState}function tl(e,t,n){var r=nc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rl(e))ol(t,n);else if(null!==(n=Aa(e,t,n,r))){rc(n,e,r,tc()),al(n,t,r)}}function nl(e,t,n){var r=nc(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rl(e))ol(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,lr(l,i)){var s=t.interleaved;return null===s?(o.next=o,ja(t)):(o.next=s.next,s.next=o),void(t.interleaved=o)}}catch(c){}null!==(n=Aa(e,t,o,r))&&(rc(n,e,r,o=tc()),al(n,t,r))}}function rl(e){var t=e.alternate;return e===mi||null!==t&&t===mi}function ol(e,t){vi=yi=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function al(e,t,n){if(0!=(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}var il={readContext:_a,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},ll={readContext:_a,useCallback:function(e,t){return _i().memoizedState=[e,void 0===t?null:t],e},useContext:_a,useEffect:qi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,$i(4194308,4,Vi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return $i(4194308,4,e,t)},useInsertionEffect:function(e,t){return $i(4,2,e,t)},useMemo:function(e,t){var n=_i();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=_i();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=tl.bind(null,mi,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},_i().memoizedState=e},useState:Mi,useDebugValue:Qi,useDeferredValue:function(e){return _i().memoizedState=e},useTransition:function(){var e=Mi(!1),t=e[0];return e=Ji.bind(null,e[1]),_i().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=mi,o=_i();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Ls)throw Error(a(349));0!=(30&hi)||Pi(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,qi(Di.bind(null,r,i,e),[e]),r.flags|=2048,zi(9,Oi.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=_i(),t=Ls.identifierPrefix;if(aa){var n=Xo;t=":"+t+"R"+(n=(Ko&~(1<<32-it(Ko)-1)).toString(32)+n),0<(n=wi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=ki++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},sl={readContext:_a,useCallback:Yi,useContext:_a,useEffect:Hi,useImperativeHandle:Wi,useInsertionEffect:Zi,useLayoutEffect:Gi,useMemo:Ki,useReducer:Ai,useRef:Bi,useState:function(){return Ai(ji)},useDebugValue:Qi,useDeferredValue:function(e){return Xi(Ti(),gi.memoizedState,e)},useTransition:function(){return[Ai(ji)[0],Ti().memoizedState]},useMutableSource:Ni,useSyncExternalStore:Ri,useId:el,unstable_isNewReconciler:!1},cl={readContext:_a,useCallback:Yi,useContext:_a,useEffect:Hi,useImperativeHandle:Wi,useInsertionEffect:Zi,useLayoutEffect:Gi,useMemo:Ki,useReducer:Li,useRef:Bi,useState:function(){return Li(ji)},useDebugValue:Qi,useDeferredValue:function(e){var t=Ti();return null===gi?t.memoizedState=e:Xi(t,gi.memoizedState,e)},useTransition:function(){return[Li(ji)[0],Ti().memoizedState]},useMutableSource:Ni,useSyncExternalStore:Ri,useId:el,unstable_isNewReconciler:!1};function ul(e,t){try{var n="",r=t;do{n+=$(r),r=r.return}while(r);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function dl(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function pl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fl="function"==typeof WeakMap?WeakMap:Map;function hl(e,t,n){(n=Oa(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Zs||(Zs=!0,Gs=r),pl(0,t)},n}function ml(e,t,n){(n=Oa(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){pl(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){pl(0,t),"function"!=typeof r&&(null===Vs?Vs=new Set([this]):Vs.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function gl(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fl;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=_c.bind(null,e,t,n),t.then(e,e))}function bl(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function yl(e,t,n,r,o){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Oa(-1,1)).tag=2,Da(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var vl=w.ReactCurrentOwner,wl=!1;function kl(e,t,n,r){t.child=null===e?Xa(t,null,n,r):Ka(t,e.child,n,r)}function xl(e,t,n,r,o){n=n.render;var a=t.ref;return Ca(t,o),r=Ei(e,t,n,r,a,o),n=Ci(),null===e||wl?(aa&&n&&ta(t),t.flags|=1,kl(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Zl(e,t,o))}function Sl(e,t,n,r,o){if(null===e){var a=n.type;return"function"!=typeof a||Pc(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Dc(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,El(e,t,a,r,o))}if(a=e.child,0==(e.lanes&o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:sr)(i,r)&&e.ref===t.ref)return Zl(e,t,o)}return t.flags|=1,(e=Oc(a,r)).ref=t.ref,e.return=t,t.child=e}function El(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(sr(a,r)&&e.ref===t.ref){if(wl=!1,t.pendingProps=r=a,0==(e.lanes&o))return t.lanes=e.lanes,Zl(e,t,o);0!=(131072&e.flags)&&(wl=!0)}}return Tl(e,t,n,r,o)}function Cl(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},To(Os,Ps),Ps|=n;else{if(0==(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,To(Os,Ps),Ps|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,To(Os,Ps),Ps|=r}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,To(Os,Ps),Ps|=r;return kl(e,t,o,n),t.child}function _l(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Tl(e,t,n,r,o){var a=Po(n)?No:Ao.current;return a=Ro(t,a),Ca(t,o),n=Ei(e,t,n,r,a,o),r=Ci(),null===e||wl?(aa&&r&&ta(t),t.flags|=1,kl(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Zl(e,t,o))}function jl(e,t,n,r,o){if(Po(n)){var a=!0;Fo(t)}else a=!1;if(Ca(t,o),null===t.stateNode)Hl(e,t),Ha(t,n,r),Ga(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var s=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=_a(c):c=Ro(t,c=Po(n)?No:Ao.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==r||s!==c)&&Za(t,i,r,c),Na=!1;var p=t.memoizedState;i.state=p,Ma(t,r,i,o),s=t.memoizedState,l!==r||p!==s||Lo.current||Na?("function"==typeof u&&($a(t,n,u,r),s=t.memoizedState),(l=Na||qa(t,n,l,r,p,s,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=c,r=l):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Pa(e,t),l=t.memoizedProps,c=t.type===t.elementType?l:ba(t.type,l),i.props=c,d=t.pendingProps,p=i.context,"object"==typeof(s=n.contextType)&&null!==s?s=_a(s):s=Ro(t,s=Po(n)?No:Ao.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==d||p!==s)&&Za(t,i,r,s),Na=!1,p=t.memoizedState,i.state=p,Ma(t,r,i,o);var h=t.memoizedState;l!==d||p!==h||Lo.current||Na?("function"==typeof f&&($a(t,n,f,r),h=t.memoizedState),(c=Na||qa(t,n,c,r,p,h,s)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,h,s),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,h,s)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),i.props=r,i.state=h,i.context=s,r=c):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Al(e,t,n,r,a,o)}function Al(e,t,n,r,o,a){_l(e,t);var i=0!=(128&t.flags);if(!r&&!i)return o&&Mo(t,n,!1),Zl(e,t,a);r=t.stateNode,vl.current=t;var l=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Ka(t,e.child,null,a),t.child=Ka(t,null,l,a)):kl(e,t,l,a),t.memoizedState=r.state,o&&Mo(t,n,!0),t.child}function Ll(e){var t=e.stateNode;t.pendingContext?Do(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Do(0,t.context,!1),oi(e,t.containerInfo)}function Nl(e,t,n,r,o){return ha(),ma(o),t.flags|=256,kl(e,t,n,r),t.child}var Rl,Pl,Ol,Dl,Il={dehydrated:null,treeContext:null,retryLane:0};function Fl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ml(e,t,n){var r,o=t.pendingProps,i=si.current,l=!1,s=0!=(128&t.flags);if((r=s)||(r=(null===e||null!==e.memoizedState)&&0!=(2&i)),r?(l=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),To(si,1&i),null===e)return ua(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(s=o.children,e=o.fallback,l?(o=t.mode,l=t.child,s={mode:"hidden",children:s},0==(1&o)&&null!==l?(l.childLanes=0,l.pendingProps=s):l=Fc(s,o,0,null),e=Ic(e,o,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Fl(n),t.memoizedState=Il,e):zl(t,s));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,o,i,l){if(n)return 256&t.flags?(t.flags&=-257,Bl(e,t,l,r=dl(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=Fc({mode:"visible",children:r.children},o,0,null),(i=Ic(i,o,l,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,0!=(1&t.mode)&&Ka(t,e.child,null,l),t.child.memoizedState=Fl(l),t.memoizedState=Il,i);if(0==(1&t.mode))return Bl(e,t,l,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var s=r.dgst;return r=s,Bl(e,t,l,r=dl(i=Error(a(419)),r,void 0))}if(s=0!=(l&e.childLanes),wl||s){if(null!==(r=Ls)){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!=(o&(r.suspendedLanes|l))?0:o)&&o!==i.retryLane&&(i.retryLane=o,La(e,o),rc(r,e,o,-1))}return gc(),Bl(e,t,l,r=dl(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=jc.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,oa=co(o.nextSibling),ra=t,aa=!0,ia=null,null!==e&&(Wo[Qo++]=Ko,Wo[Qo++]=Xo,Wo[Qo++]=Yo,Ko=e.id,Xo=e.overflow,Yo=t),t=zl(t,r.children),t.flags|=4096,t)}(e,t,s,o,r,i,n);if(l){l=o.fallback,s=t.mode,r=(i=e.child).sibling;var c={mode:"hidden",children:o.children};return 0==(1&s)&&t.child!==i?((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null):(o=Oc(i,c)).subtreeFlags=14680064&i.subtreeFlags,null!==r?l=Oc(r,l):(l=Ic(l,s,n,null)).flags|=2,l.return=t,o.return=t,o.sibling=l,t.child=o,o=l,l=t.child,s=null===(s=e.child.memoizedState)?Fl(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},l.memoizedState=s,l.childLanes=e.childLanes&~n,t.memoizedState=Il,o}return e=(l=e.child).sibling,o=Oc(l,{mode:"visible",children:o.children}),0==(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function zl(e,t){return(t=Fc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bl(e,t,n,r){return null!==r&&ma(r),Ka(t,e.child,null,n),(e=zl(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function $l(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Ea(e.return,t,n)}function Ul(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function ql(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(kl(e,t,r.children,n),0!=(2&(r=si.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&$l(e,n,t);else if(19===e.tag)$l(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(To(si,r),0==(1&t.mode))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ci(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Ul(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ci(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Ul(t,!0,n,null,a);break;case"together":Ul(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Hl(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Zl(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Fs|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Oc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Oc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Gl(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Vl(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Wl(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Vl(t),null;case 1:case 17:return Po(t.type)&&Oo(),Vl(t),null;case 3:return r=t.stateNode,ai(),_o(Lo),_o(Ao),di(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(pa(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==ia&&(lc(ia),ia=null))),Pl(e,t),Vl(t),null;case 5:li(t);var o=ri(ni.current);if(n=t.type,null!==e&&null!=t.stateNode)Ol(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return Vl(t),null}if(e=ri(ei.current),pa(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[fo]=t,r[ho]=i,e=0!=(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(o=0;o<Dr.length;o++)zr(Dr[o],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":Y(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":oe(r,i),zr("invalid",r)}for(var s in ye(n,i),o=null,i)if(i.hasOwnProperty(s)){var c=i[s];"children"===s?"string"==typeof c?r.textContent!==c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",""+c]):l.hasOwnProperty(s)&&null!=c&&"onScroll"===s&&zr("scroll",r)}switch(n){case"input":G(r),J(r,i,!0);break;case"textarea":G(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=o,t.updateQueue=r,null!==r&&(t.flags|=4)}else{s=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=le(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[fo]=t,e[ho]=r,Rl(e,t,!1,!1),t.stateNode=e;e:{switch(s=ve(n,r),n){case"dialog":zr("cancel",e),zr("close",e),o=r;break;case"iframe":case"object":case"embed":zr("load",e),o=r;break;case"video":case"audio":for(o=0;o<Dr.length;o++)zr(Dr[o],e);o=r;break;case"source":zr("error",e),o=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),o=r;break;case"details":zr("toggle",e),o=r;break;case"input":Y(e,r),o=Q(e,r),zr("invalid",e);break;case"option":default:o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=F({},r,{value:void 0}),zr("invalid",e);break;case"textarea":oe(e,r),o=re(e,r),zr("invalid",e)}for(i in ye(n,o),c=o)if(c.hasOwnProperty(i)){var u=c[i];"style"===i?ge(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(l.hasOwnProperty(i)?null!=u&&"onScroll"===i&&zr("scroll",e):null!=u&&v(e,i,u,s))}switch(n){case"input":G(e),J(e,r,!1);break;case"textarea":G(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+H(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Vl(t),null;case 6:if(e&&null!=t.stateNode)Dl(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(a(166));if(n=ri(ni.current),ri(ei.current),pa(t)){if(r=t.stateNode,n=t.memoizedProps,r[fo]=t,(i=r.nodeValue!==n)&&null!==(e=ra))switch(e.tag){case 3:Xr(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,0!=(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[fo]=t,t.stateNode=r}return Vl(t),null;case 13:if(_o(si),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(aa&&null!==oa&&0!=(1&t.mode)&&0==(128&t.flags))fa(),ha(),t.flags|=98560,i=!1;else if(i=pa(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(a(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(a(317));i[fo]=t}else ha(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Vl(t),i=!1}else null!==ia&&(lc(ia),ia=null),i=!0;if(!i)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&si.current)?0===Ds&&(Ds=3):gc())),null!==t.updateQueue&&(t.flags|=4),Vl(t),null);case 4:return ai(),Pl(e,t),null===e&&Ur(t.stateNode.containerInfo),Vl(t),null;case 10:return Sa(t.type._context),Vl(t),null;case 19:if(_o(si),null===(i=t.memoizedState))return Vl(t),null;if(r=0!=(128&t.flags),null===(s=i.rendering))if(r)Gl(i,!1);else{if(0!==Ds||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(s=ci(e))){for(t.flags|=128,Gl(i,!1),null!==(r=s.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(s=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=s.childLanes,i.lanes=s.lanes,i.child=s.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=s.memoizedProps,i.memoizedState=s.memoizedState,i.updateQueue=s.updateQueue,i.type=s.type,e=s.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return To(si,1&si.current|2),t.child}e=e.sibling}null!==i.tail&&Ke()>qs&&(t.flags|=128,r=!0,Gl(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ci(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Gl(i,!0),null===i.tail&&"hidden"===i.tailMode&&!s.alternate&&!aa)return Vl(t),null}else 2*Ke()-i.renderingStartTime>qs&&1073741824!==n&&(t.flags|=128,r=!0,Gl(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=i.last)?n.sibling=s:t.child=s,i.last=s)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ke(),t.sibling=null,n=si.current,To(si,r?1&n|2:1&n),t):(Vl(t),null);case 22:case 23:return pc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(1073741824&Ps)&&(Vl(t),6&t.subtreeFlags&&(t.flags|=8192)):Vl(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Ql(e,t){switch(na(t),t.tag){case 1:return Po(t.type)&&Oo(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ai(),_o(Lo),_o(Ao),di(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return li(t),null;case 13:if(_o(si),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));ha()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return _o(si),null;case 4:return ai(),null;case 10:return Sa(t.type._context),null;case 22:case 23:return pc(),null;default:return null}}Rl=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Pl=function(){},Ol=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,ri(ei.current);var a,i=null;switch(n){case"input":o=Q(e,o),r=Q(e,r),i=[];break;case"select":o=F({},o,{value:void 0}),r=F({},r,{value:void 0}),i=[];break;case"textarea":o=re(e,o),r=re(e,r),i=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(u in ye(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var s=o[u];for(a in s)s.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(l.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(s=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&c!==s&&(null!=c||null!=s))if("style"===u)if(s){for(a in s)!s.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&s[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(i||(i=[]),i.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(i=i||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(i=i||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(l.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&zr("scroll",e),i||s===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Dl=function(e,t,n,r){n!==r&&(t.flags|=4)};var Yl=!1,Kl=!1,Xl="function"==typeof WeakSet?WeakSet:Set,Jl=null;function es(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){Cc(e,t,r)}else n.current=null}function ts(e,t,n){try{n()}catch(r){Cc(e,t,r)}}var ns=!1;function rs(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&ts(t,n,a)}o=o.next}while(o!==r)}}function os(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function as(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function is(e){var t=e.alternate;null!==t&&(e.alternate=null,is(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[fo],delete t[ho],delete t[go],delete t[bo],delete t[yo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ls(e){return 5===e.tag||3===e.tag||4===e.tag}function ss(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ls(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cs(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(cs(e,t,n),e=e.sibling;null!==e;)cs(e,t,n),e=e.sibling}function us(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(us(e,t,n),e=e.sibling;null!==e;)us(e,t,n),e=e.sibling}var ds=null,ps=!1;function fs(e,t,n){for(n=n.child;null!==n;)hs(e,t,n),n=n.sibling}function hs(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(l){}switch(n.tag){case 5:Kl||es(n,t);case 6:var r=ds,o=ps;ds=null,fs(e,t,n),ps=o,null!==(ds=r)&&(ps?(e=ds,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ds.removeChild(n.stateNode));break;case 18:null!==ds&&(ps?(e=ds,n=n.stateNode,8===e.nodeType?so(e.parentNode,n):1===e.nodeType&&so(e,n),Ut(e)):so(ds,n.stateNode));break;case 4:r=ds,o=ps,ds=n.stateNode.containerInfo,ps=!0,fs(e,t,n),ds=r,ps=o;break;case 0:case 11:case 14:case 15:if(!Kl&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,void 0!==i&&(0!=(2&a)||0!=(4&a))&&ts(n,t,i),o=o.next}while(o!==r)}fs(e,t,n);break;case 1:if(!Kl&&(es(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Cc(n,t,l)}fs(e,t,n);break;case 21:fs(e,t,n);break;case 22:1&n.mode?(Kl=(r=Kl)||null!==n.memoizedState,fs(e,t,n),Kl=r):fs(e,t,n);break;default:fs(e,t,n)}}function ms(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xl),t.forEach((function(t){var r=Ac.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function gs(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var i=e,l=t,s=l;e:for(;null!==s;){switch(s.tag){case 5:ds=s.stateNode,ps=!1;break e;case 3:case 4:ds=s.stateNode.containerInfo,ps=!0;break e}s=s.return}if(null===ds)throw Error(a(160));hs(i,l,o),ds=null,ps=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(u){Cc(o,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)bs(t,e),t=t.sibling}function bs(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(gs(t,e),ys(e),4&r){try{rs(3,e,e.return),os(3,e)}catch(g){Cc(e,e.return,g)}try{rs(5,e,e.return)}catch(g){Cc(e,e.return,g)}}break;case 1:gs(t,e),ys(e),512&r&&null!==n&&es(n,n.return);break;case 5:if(gs(t,e),ys(e),512&r&&null!==n&&es(n,n.return),32&e.flags){var o=e.stateNode;try{pe(o,"")}catch(g){Cc(e,e.return,g)}}if(4&r&&null!=(o=e.stateNode)){var i=e.memoizedProps,l=null!==n?n.memoizedProps:i,s=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===s&&"radio"===i.type&&null!=i.name&&K(o,i),ve(s,l);var u=ve(s,i);for(l=0;l<c.length;l+=2){var d=c[l],p=c[l+1];"style"===d?ge(o,p):"dangerouslySetInnerHTML"===d?de(o,p):"children"===d?pe(o,p):v(o,d,p,u)}switch(s){case"input":X(o,i);break;case"textarea":ae(o,i);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var h=i.value;null!=h?ne(o,!!i.multiple,h,!1):f!==!!i.multiple&&(null!=i.defaultValue?ne(o,!!i.multiple,i.defaultValue,!0):ne(o,!!i.multiple,i.multiple?[]:"",!1))}o[ho]=i}catch(g){Cc(e,e.return,g)}}break;case 6:if(gs(t,e),ys(e),4&r){if(null===e.stateNode)throw Error(a(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(g){Cc(e,e.return,g)}}break;case 3:if(gs(t,e),ys(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(g){Cc(e,e.return,g)}break;case 4:default:gs(t,e),ys(e);break;case 13:gs(t,e),ys(e),8192&(o=e.child).flags&&(i=null!==o.memoizedState,o.stateNode.isHidden=i,!i||null!==o.alternate&&null!==o.alternate.memoizedState||(Us=Ke())),4&r&&ms(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Kl=(u=Kl)||d,gs(t,e),Kl=u):gs(t,e),ys(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&0!=(1&e.mode))for(Jl=e,d=e.child;null!==d;){for(p=Jl=d;null!==Jl;){switch(h=(f=Jl).child,f.tag){case 0:case 11:case 14:case 15:rs(4,f,f.return);break;case 1:es(f,f.return);var m=f.stateNode;if("function"==typeof m.componentWillUnmount){r=f,n=f.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(g){Cc(r,n,g)}}break;case 5:es(f,f.return);break;case 22:if(null!==f.memoizedState){xs(p);continue}}null!==h?(h.return=f,Jl=h):xs(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{o=p.stateNode,u?"function"==typeof(i=o.style).setProperty?i.setProperty("display","none","important"):i.display="none":(s=p.stateNode,l=null!=(c=p.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,s.style.display=me("display",l))}catch(g){Cc(e,e.return,g)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(g){Cc(e,e.return,g)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:gs(t,e),ys(e),4&r&&ms(e);case 21:}}function ys(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ls(n)){var r=n;break e}n=n.return}throw Error(a(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(pe(o,""),r.flags&=-33),us(e,ss(e),o);break;case 3:case 4:var i=r.stateNode.containerInfo;cs(e,ss(e),i);break;default:throw Error(a(161))}}catch(l){Cc(e,e.return,l)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vs(e,t,n){Jl=e,ws(e,t,n)}function ws(e,t,n){for(var r=0!=(1&e.mode);null!==Jl;){var o=Jl,a=o.child;if(22===o.tag&&r){var i=null!==o.memoizedState||Yl;if(!i){var l=o.alternate,s=null!==l&&null!==l.memoizedState||Kl;l=Yl;var c=Kl;if(Yl=i,(Kl=s)&&!c)for(Jl=o;null!==Jl;)s=(i=Jl).child,22===i.tag&&null!==i.memoizedState?Ss(o):null!==s?(s.return=i,Jl=s):Ss(o);for(;null!==a;)Jl=a,ws(a,t,n),a=a.sibling;Jl=o,Yl=l,Kl=c}ks(e)}else 0!=(8772&o.subtreeFlags)&&null!==a?(a.return=o,Jl=a):ks(e)}}function ks(e){for(;null!==Jl;){var t=Jl;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Kl||os(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Kl)if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ba(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&za(t,i,r);break;case 3:var l=t.updateQueue;if(null!==l){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}za(t,l,n)}break;case 5:var s=t.stateNode;if(null===n&&4&t.flags){n=s;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Ut(p)}}}break;default:throw Error(a(163))}Kl||512&t.flags&&as(t)}catch(f){Cc(t,t.return,f)}}if(t===e){Jl=null;break}if(null!==(n=t.sibling)){n.return=t.return,Jl=n;break}Jl=t.return}}function xs(e){for(;null!==Jl;){var t=Jl;if(t===e){Jl=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Jl=n;break}Jl=t.return}}function Ss(e){for(;null!==Jl;){var t=Jl;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{os(4,t)}catch(s){Cc(t,n,s)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(s){Cc(t,o,s)}}var a=t.return;try{as(t)}catch(s){Cc(t,a,s)}break;case 5:var i=t.return;try{as(t)}catch(s){Cc(t,i,s)}}}catch(s){Cc(t,t.return,s)}if(t===e){Jl=null;break}var l=t.sibling;if(null!==l){l.return=t.return,Jl=l;break}Jl=t.return}}var Es,Cs=Math.ceil,_s=w.ReactCurrentDispatcher,Ts=w.ReactCurrentOwner,js=w.ReactCurrentBatchConfig,As=0,Ls=null,Ns=null,Rs=0,Ps=0,Os=Co(0),Ds=0,Is=null,Fs=0,Ms=0,zs=0,Bs=null,$s=null,Us=0,qs=1/0,Hs=null,Zs=!1,Gs=null,Vs=null,Ws=!1,Qs=null,Ys=0,Ks=0,Xs=null,Js=-1,ec=0;function tc(){return 0!=(6&As)?Ke():-1!==Js?Js:Js=Ke()}function nc(e){return 0==(1&e.mode)?1:0!=(2&As)&&0!==Rs?Rs&-Rs:null!==ga.transition?(0===ec&&(ec=mt()),ec):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Yt(e.type)}function rc(e,t,n,r){if(50<Ks)throw Ks=0,Xs=null,Error(a(185));bt(e,n,r),0!=(2&As)&&e===Ls||(e===Ls&&(0==(2&As)&&(Ms|=n),4===Ds&&sc(e,Rs)),oc(e,r),1===n&&0===As&&0==(1&t.mode)&&(qs=Ke()+500,Bo&&qo()))}function oc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-it(a),l=1<<i,s=o[i];-1===s?0!=(l&n)&&0==(l&r)||(o[i]=ft(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}}(e,t);var r=pt(e,e===Ls?Rs:0);if(0===r)null!==n&&We(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&We(n),1===t)0===e.tag?function(e){Bo=!0,Uo(e)}(cc.bind(null,e)):Uo(cc.bind(null,e)),io((function(){0==(6&As)&&qo()})),n=null;else{switch(wt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Lc(n,ac.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ac(e,t){if(Js=-1,ec=0,0!=(6&As))throw Error(a(327));var n=e.callbackNode;if(Sc()&&e.callbackNode!==n)return null;var r=pt(e,e===Ls?Rs:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=bc(e,r);else{t=r;var o=As;As|=2;var i=mc();for(Ls===e&&Rs===t||(Hs=null,qs=Ke()+500,fc(e,t));;)try{vc();break}catch(s){hc(e,s)}xa(),_s.current=i,As=o,null!==Ns?t=0:(Ls=null,Rs=0,t=Ds)}if(0!==t){if(2===t&&(0!==(o=ht(e))&&(r=o,t=ic(e,o))),1===t)throw n=Is,fc(e,0),sc(e,r),oc(e,Ke()),n;if(6===t)sc(e,r);else{if(o=e.current.alternate,0==(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!lr(a(),o))return!1}catch(l){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)&&(2===(t=bc(e,r))&&(0!==(i=ht(e))&&(r=i,t=ic(e,i))),1===t))throw n=Is,fc(e,0),sc(e,r),oc(e,Ke()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(a(345));case 2:case 5:xc(e,$s,Hs);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=Us+500-Ke())){if(0!==pt(e,0))break;if(((o=e.suspendedLanes)&r)!==r){tc(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ro(xc.bind(null,e,$s,Hs),t);break}xc(e,$s,Hs);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var l=31-it(r);i=1<<l,(l=t[l])>o&&(o=l),r&=~i}if(r=o,10<(r=(120>(r=Ke()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Cs(r/1960))-r)){e.timeoutHandle=ro(xc.bind(null,e,$s,Hs),r);break}xc(e,$s,Hs);break;default:throw Error(a(329))}}}return oc(e,Ke()),e.callbackNode===n?ac.bind(null,e):null}function ic(e,t){var n=Bs;return e.current.memoizedState.isDehydrated&&(fc(e,t).flags|=256),2!==(e=bc(e,t))&&(t=$s,$s=n,null!==t&&lc(t)),e}function lc(e){null===$s?$s=e:$s.push.apply($s,e)}function sc(e,t){for(t&=~zs,t&=~Ms,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function cc(e){if(0!=(6&As))throw Error(a(327));Sc();var t=pt(e,0);if(0==(1&t))return oc(e,Ke()),null;var n=bc(e,t);if(0!==e.tag&&2===n){var r=ht(e);0!==r&&(t=r,n=ic(e,r))}if(1===n)throw n=Is,fc(e,0),sc(e,t),oc(e,Ke()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,xc(e,$s,Hs),oc(e,Ke()),null}function uc(e,t){var n=As;As|=1;try{return e(t)}finally{0===(As=n)&&(qs=Ke()+500,Bo&&qo())}}function dc(e){null!==Qs&&0===Qs.tag&&0==(6&As)&&Sc();var t=As;As|=1;var n=js.transition,r=vt;try{if(js.transition=null,vt=1,e)return e()}finally{vt=r,js.transition=n,0==(6&(As=t))&&qo()}}function pc(){Ps=Os.current,_o(Os)}function fc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Ns)for(n=Ns.return;null!==n;){var r=n;switch(na(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Oo();break;case 3:ai(),_o(Lo),_o(Ao),di();break;case 5:li(r);break;case 4:ai();break;case 13:case 19:_o(si);break;case 10:Sa(r.type._context);break;case 22:case 23:pc()}n=n.return}if(Ls=e,Ns=e=Oc(e.current,null),Rs=Ps=t,Ds=0,Is=null,zs=Ms=Fs=0,$s=Bs=null,null!==Ta){for(t=0;t<Ta.length;t++)if(null!==(r=(n=Ta[t]).interleaved)){n.interleaved=null;var o=r.next,a=n.pending;if(null!==a){var i=a.next;a.next=o,r.next=i}n.pending=r}Ta=null}return e}function hc(e,t){for(;;){var n=Ns;try{if(xa(),pi.current=il,yi){for(var r=mi.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}yi=!1}if(hi=0,bi=gi=mi=null,vi=!1,wi=0,Ts.current=null,null===n||null===n.return){Ds=1,Is=t,Ns=null;break}e:{var i=e,l=n.return,s=n,c=t;if(t=Rs,s.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=s,p=d.tag;if(0==(1&d.mode)&&(0===p||11===p||15===p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var h=bl(l);if(null!==h){h.flags&=-257,yl(h,l,s,0,t),1&h.mode&&gl(i,u,t),c=u;var m=(t=h).updateQueue;if(null===m){var g=new Set;g.add(c),t.updateQueue=g}else m.add(c);break e}if(0==(1&t)){gl(i,u,t),gc();break e}c=Error(a(426))}else if(aa&&1&s.mode){var b=bl(l);if(null!==b){0==(65536&b.flags)&&(b.flags|=256),yl(b,l,s,0,t),ma(ul(c,s));break e}}i=c=ul(c,s),4!==Ds&&(Ds=2),null===Bs?Bs=[i]:Bs.push(i),i=l;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Fa(i,hl(0,c,t));break e;case 1:s=c;var y=i.type,v=i.stateNode;if(0==(128&i.flags)&&("function"==typeof y.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===Vs||!Vs.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Fa(i,ml(i,s,t));break e}}i=i.return}while(null!==i)}kc(n)}catch(w){t=w,Ns===n&&null!==n&&(Ns=n=n.return);continue}break}}function mc(){var e=_s.current;return _s.current=il,null===e?il:e}function gc(){0!==Ds&&3!==Ds&&2!==Ds||(Ds=4),null===Ls||0==(268435455&Fs)&&0==(268435455&Ms)||sc(Ls,Rs)}function bc(e,t){var n=As;As|=2;var r=mc();for(Ls===e&&Rs===t||(Hs=null,fc(e,t));;)try{yc();break}catch(o){hc(e,o)}if(xa(),As=n,_s.current=r,null!==Ns)throw Error(a(261));return Ls=null,Rs=0,Ds}function yc(){for(;null!==Ns;)wc(Ns)}function vc(){for(;null!==Ns&&!Qe();)wc(Ns)}function wc(e){var t=Es(e.alternate,e,Ps);e.memoizedProps=e.pendingProps,null===t?kc(e):Ns=t,Ts.current=null}function kc(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=Wl(n,t,Ps)))return void(Ns=n)}else{if(null!==(n=Ql(n,t)))return n.flags&=32767,void(Ns=n);if(null===e)return Ds=6,void(Ns=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Ns=t);Ns=t=e}while(null!==t);0===Ds&&(Ds=5)}function xc(e,t,n){var r=vt,o=js.transition;try{js.transition=null,vt=1,function(e,t,n,r){do{Sc()}while(null!==Qs);if(0!=(6&As))throw Error(a(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-it(n),a=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~a}}(e,i),e===Ls&&(Ns=Ls=null,Rs=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Ws||(Ws=!0,Lc(tt,(function(){return Sc(),null}))),i=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||i){i=js.transition,js.transition=null;var l=vt;vt=1;var s=As;As|=4,Ts.current=null,function(e,t){if(eo=Ht,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(k){n=null;break e}var l=0,s=-1,c=-1,u=0,d=0,p=e,f=null;t:for(;;){for(var h;p!==n||0!==o&&3!==p.nodeType||(s=l+o),p!==i||0!==r&&3!==p.nodeType||(c=l+r),3===p.nodeType&&(l+=p.nodeValue.length),null!==(h=p.firstChild);)f=p,p=h;for(;;){if(p===e)break t;if(f===n&&++u===o&&(s=l),f===i&&++d===r&&(c=l),null!==(h=p.nextSibling))break;f=(p=f).parentNode}p=h}n=-1===s||-1===c?null:{start:s,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Ht=!1,Jl=t;null!==Jl;)if(e=(t=Jl).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Jl=e;else for(;null!==Jl;){t=Jl;try{var m=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var g=m.memoizedProps,b=m.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?g:ba(t.type,g),b);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(a(163))}}catch(k){Cc(t,t.return,k)}if(null!==(e=t.sibling)){e.return=t.return,Jl=e;break}Jl=t.return}m=ns,ns=!1}(e,n),bs(n,e),hr(to),Ht=!!eo,to=eo=null,e.current=n,vs(n,e,o),Ye(),As=s,vt=l,js.transition=i}else e.current=n;if(Ws&&(Ws=!1,Qs=e,Ys=o),i=e.pendingLanes,0===i&&(Vs=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,128==(128&e.current.flags))}catch(t){}}(n.stateNode),oc(e,Ke()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],r(o.value,{componentStack:o.stack,digest:o.digest});if(Zs)throw Zs=!1,e=Gs,Gs=null,e;0!=(1&Ys)&&0!==e.tag&&Sc(),i=e.pendingLanes,0!=(1&i)?e===Xs?Ks++:(Ks=0,Xs=e):Ks=0,qo()}(e,t,n,r)}finally{js.transition=o,vt=r}return null}function Sc(){if(null!==Qs){var e=wt(Ys),t=js.transition,n=vt;try{if(js.transition=null,vt=16>e?16:e,null===Qs)var r=!1;else{if(e=Qs,Qs=null,Ys=0,0!=(6&As))throw Error(a(331));var o=As;for(As|=4,Jl=e.current;null!==Jl;){var i=Jl,l=i.child;if(0!=(16&Jl.flags)){var s=i.deletions;if(null!==s){for(var c=0;c<s.length;c++){var u=s[c];for(Jl=u;null!==Jl;){var d=Jl;switch(d.tag){case 0:case 11:case 15:rs(8,d,i)}var p=d.child;if(null!==p)p.return=d,Jl=p;else for(;null!==Jl;){var f=(d=Jl).sibling,h=d.return;if(is(d),d===u){Jl=null;break}if(null!==f){f.return=h,Jl=f;break}Jl=h}}}var m=i.alternate;if(null!==m){var g=m.child;if(null!==g){m.child=null;do{var b=g.sibling;g.sibling=null,g=b}while(null!==g)}}Jl=i}}if(0!=(2064&i.subtreeFlags)&&null!==l)l.return=i,Jl=l;else e:for(;null!==Jl;){if(0!=(2048&(i=Jl).flags))switch(i.tag){case 0:case 11:case 15:rs(9,i,i.return)}var y=i.sibling;if(null!==y){y.return=i.return,Jl=y;break e}Jl=i.return}}var v=e.current;for(Jl=v;null!==Jl;){var w=(l=Jl).child;if(0!=(2064&l.subtreeFlags)&&null!==w)w.return=l,Jl=w;else e:for(l=v;null!==Jl;){if(0!=(2048&(s=Jl).flags))try{switch(s.tag){case 0:case 11:case 15:os(9,s)}}catch(x){Cc(s,s.return,x)}if(s===l){Jl=null;break e}var k=s.sibling;if(null!==k){k.return=s.return,Jl=k;break e}Jl=s.return}}if(As=o,qo(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(ot,e)}catch(x){}r=!0}return r}finally{vt=n,js.transition=t}}return!1}function Ec(e,t,n){e=Da(e,t=hl(0,t=ul(n,t),1),1),t=tc(),null!==e&&(bt(e,1,t),oc(e,t))}function Cc(e,t,n){if(3===e.tag)Ec(e,e,n);else for(;null!==t;){if(3===t.tag){Ec(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Vs||!Vs.has(r))){t=Da(t,e=ml(t,e=ul(n,e),1),1),e=tc(),null!==t&&(bt(t,1,e),oc(t,e));break}}t=t.return}}function _c(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=tc(),e.pingedLanes|=e.suspendedLanes&n,Ls===e&&(Rs&n)===n&&(4===Ds||3===Ds&&(130023424&Rs)===Rs&&500>Ke()-Us?fc(e,0):zs|=n),oc(e,t)}function Tc(e,t){0===t&&(0==(1&e.mode)?t=1:(t=ut,0==(130023424&(ut<<=1))&&(ut=4194304)));var n=tc();null!==(e=La(e,t))&&(bt(e,t,n),oc(e,n))}function jc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Tc(e,n)}function Ac(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Tc(e,n)}function Lc(e,t){return Ve(e,t)}function Nc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rc(e,t,n,r){return new Nc(e,t,n,r)}function Pc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Oc(e,t){var n=e.alternate;return null===n?((n=Rc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Dc(e,t,n,r,o,i){var l=2;if(r=e,"function"==typeof e)Pc(e)&&(l=1);else if("string"==typeof e)l=5;else e:switch(e){case S:return Ic(n.children,o,i,t);case E:l=8,o|=8;break;case C:return(e=Rc(12,n,t,2|o)).elementType=C,e.lanes=i,e;case A:return(e=Rc(13,n,t,o)).elementType=A,e.lanes=i,e;case L:return(e=Rc(19,n,t,o)).elementType=L,e.lanes=i,e;case P:return Fc(n,o,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case _:l=10;break e;case T:l=9;break e;case j:l=11;break e;case N:l=14;break e;case R:l=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Rc(l,n,t,o)).elementType=e,t.type=r,t.lanes=i,t}function Ic(e,t,n,r){return(e=Rc(7,e,r,t)).lanes=n,e}function Fc(e,t,n,r){return(e=Rc(22,e,r,t)).elementType=P,e.lanes=n,e.stateNode={isHidden:!1},e}function Mc(e,t,n){return(e=Rc(6,e,null,t)).lanes=n,e}function zc(e,t,n){return(t=Rc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bc(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function $c(e,t,n,r,o,a,i,l,s){return e=new Bc(e,t,n,l,s),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Rc(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ra(a),e}function Uc(e){if(!e)return jo;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Po(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(Po(n))return Io(e,n,t)}return t}function qc(e,t,n,r,o,a,i,l,s){return(e=$c(n,r,!0,e,0,a,0,l,s)).context=Uc(null),n=e.current,(a=Oa(r=tc(),o=nc(n))).callback=null!=t?t:null,Da(n,a,o),e.current.lanes=o,bt(e,o,r),oc(e,r),e}function Hc(e,t,n,r){var o=t.current,a=tc(),i=nc(o);return n=Uc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Oa(a,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Da(o,t,i))&&(rc(e,o,i,a),Ia(e,o,i)),i}function Zc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Gc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Vc(e,t){Gc(e,t),(e=e.alternate)&&Gc(e,t)}Es=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Lo.current)wl=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return wl=!1,function(e,t,n){switch(t.tag){case 3:Ll(t),ha();break;case 5:ii(t);break;case 1:Po(t.type)&&Fo(t);break;case 4:oi(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;To(ya,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(To(si,1&si.current),t.flags|=128,null):0!=(n&t.child.childLanes)?Ml(e,t,n):(To(si,1&si.current),null!==(e=Zl(e,t,n))?e.sibling:null);To(si,1&si.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return ql(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),To(si,si.current),r)break;return null;case 22:case 23:return t.lanes=0,Cl(e,t,n)}return Zl(e,t,n)}(e,t,n);wl=0!=(131072&e.flags)}else wl=!1,aa&&0!=(1048576&t.flags)&&ea(t,Vo,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Hl(e,t),e=t.pendingProps;var o=Ro(t,Ao.current);Ca(t,n),o=Ei(null,t,r,e,o,n);var i=Ci();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Po(r)?(i=!0,Fo(t)):i=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Ra(t),o.updater=Ua,t.stateNode=o,o._reactInternals=t,Ga(t,r,e,n),t=Al(null,t,r,!0,i,n)):(t.tag=0,aa&&i&&ta(t),kl(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Hl(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Pc(e)?1:0;if(null!=e){if((e=e.$$typeof)===j)return 11;if(e===N)return 14}return 2}(r),e=ba(r,e),o){case 0:t=Tl(null,t,r,e,n);break e;case 1:t=jl(null,t,r,e,n);break e;case 11:t=xl(null,t,r,e,n);break e;case 14:t=Sl(null,t,r,ba(r.type,e),n);break e}throw Error(a(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,Tl(e,t,r,o=t.elementType===r?o:ba(r,o),n);case 1:return r=t.type,o=t.pendingProps,jl(e,t,r,o=t.elementType===r?o:ba(r,o),n);case 3:e:{if(Ll(t),null===e)throw Error(a(387));r=t.pendingProps,o=(i=t.memoizedState).element,Pa(e,t),Ma(t,r,null,n);var l=t.memoizedState;if(r=l.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Nl(e,t,r,n,o=ul(Error(a(423)),t));break e}if(r!==o){t=Nl(e,t,r,n,o=ul(Error(a(424)),t));break e}for(oa=co(t.stateNode.containerInfo.firstChild),ra=t,aa=!0,ia=null,n=Xa(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ha(),r===o){t=Zl(e,t,n);break e}kl(e,t,r,n)}t=t.child}return t;case 5:return ii(t),null===e&&ua(t),r=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,l=o.children,no(r,o)?l=null:null!==i&&no(r,i)&&(t.flags|=32),_l(e,t),kl(e,t,l,n),t.child;case 6:return null===e&&ua(t),null;case 13:return Ml(e,t,n);case 4:return oi(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Ka(t,null,r,n):kl(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,xl(e,t,r,o=t.elementType===r?o:ba(r,o),n);case 7:return kl(e,t,t.pendingProps,n),t.child;case 8:case 12:return kl(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,l=o.value,To(ya,r._currentValue),r._currentValue=l,null!==i)if(lr(i.value,l)){if(i.children===o.children&&!Lo.current){t=Zl(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var s=i.dependencies;if(null!==s){l=i.child;for(var c=s.firstContext;null!==c;){if(c.context===r){if(1===i.tag){(c=Oa(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),Ea(i.return,n,t),s.lanes|=n;break}c=c.next}}else if(10===i.tag)l=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(l=i.return))throw Error(a(341));l.lanes|=n,null!==(s=l.alternate)&&(s.lanes|=n),Ea(l,n,t),l=i.sibling}else l=i.child;if(null!==l)l.return=i;else for(l=i;null!==l;){if(l===t){l=null;break}if(null!==(i=l.sibling)){i.return=l.return,l=i;break}l=l.return}i=l}kl(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Ca(t,n),r=r(o=_a(o)),t.flags|=1,kl(e,t,r,n),t.child;case 14:return o=ba(r=t.type,t.pendingProps),Sl(e,t,r,o=ba(r.type,o),n);case 15:return El(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ba(r,o),Hl(e,t),t.tag=1,Po(r)?(e=!0,Fo(t)):e=!1,Ca(t,n),Ha(t,r,o),Ga(t,r,o,n),Al(null,t,r,!0,e,n);case 19:return ql(e,t,n);case 22:return Cl(e,t,n)}throw Error(a(156,t.tag))};var Wc="function"==typeof reportError?reportError:function(e){console.error(e)};function Qc(e){this._internalRoot=e}function Yc(e){this._internalRoot=e}function Kc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function eu(e,t,n,r,o){var a=n._reactRootContainer;if(a){var i=a;if("function"==typeof o){var l=o;o=function(){var e=Zc(i);l.call(e)}}Hc(t,i,e,o)}else i=function(e,t,n,r,o){if(o){if("function"==typeof r){var a=r;r=function(){var e=Zc(i);a.call(e)}}var i=qc(t,r,e,0,null,!1,0,"",Jc);return e._reactRootContainer=i,e[mo]=i.current,Ur(8===e.nodeType?e.parentNode:e),dc(),i}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof r){var l=r;r=function(){var e=Zc(s);l.call(e)}}var s=$c(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=s,e[mo]=s.current,Ur(8===e.nodeType?e.parentNode:e),dc((function(){Hc(t,s,n,r)})),s}(n,t,e,o,r);return Zc(i)}Yc.prototype.render=Qc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));Hc(e,t,null,null)},Yc.prototype.unmount=Qc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;dc((function(){Hc(null,e,null,null)})),t[mo]=null}},Yc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Pt.length&&0!==t&&t<Pt[n].priority;n++);Pt.splice(n,0,e),0===n&&Ft(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),oc(t,Ke()),0==(6&As)&&(qs=Ke()+500,qo()))}break;case 13:dc((function(){var t=La(e,1);if(null!==t){var n=tc();rc(t,e,1,n)}})),Vc(e,1)}},xt=function(e){if(13===e.tag){var t=La(e,134217728);if(null!==t)rc(t,e,134217728,tc());Vc(e,134217728)}},St=function(e){if(13===e.tag){var t=nc(e),n=La(e,t);if(null!==n)rc(n,e,t,tc());Vc(e,t)}},Et=function(){return vt},Ct=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=xo(r);if(!o)throw Error(a(90));V(r),X(r,o)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},je=uc,Ae=dc;var tu={usingClientEntryPoint:!1,Events:[wo,ko,xo,_e,Te,uc]},nu={findFiberByHostInstance:vo,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},ru={bundleType:nu.bundleType,version:nu.version,rendererPackageName:nu.rendererPackageName,rendererConfig:nu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ze(e))?null:e.stateNode},findFiberByHostInstance:nu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ou=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ou.isDisabled&&ou.supportsFiber)try{ot=ou.inject(ru),at=ou}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Kc(t))throw Error(a(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Kc(e))throw Error(a(299));var n=!1,r="",o=Wc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=$c(e,1,!1,null,0,n,0,r,o),e[mo]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Qc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Ze(t))?null:e.stateNode},t.flushSync=function(e){return dc(e)},t.hydrate=function(e,t,n){if(!Xc(t))throw Error(a(200));return eu(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Kc(e))throw Error(a(405));var r=null!=n&&n.hydratedSources||null,o=!1,i="",l=Wc;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(l=n.onRecoverableError)),t=qc(t,null,e,1,null!=n?n:null,o,0,i,l),e[mo]=t.current,Ur(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Yc(t)},t.render=function(e,t,n){if(!Xc(t))throw Error(a(200));return eu(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xc(e))throw Error(a(40));return!!e._reactRootContainer&&(dc((function(){eu(null,null,e,!1,(function(){e._reactRootContainer=null,e[mo]=null}))})),!0)},t.unstable_batchedUpdates=uc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Xc(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return eu(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},745:(e,t,n)=>{"use strict";var r=n(3935);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},3935:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4448)},9590:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var l,s,c,u;if(Array.isArray(e)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(!a(e[s],i[s]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(s=u.next()).done;)if(!i.has(s.value[0]))return!1;for(u=e.entries();!(s=u.next()).done;)if(!a(s.value[1],i.get(s.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(s=u.next()).done;)if(!i.has(s.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(e[s]!==i[s])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((l=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(s=l;0!=s--;)if(!Object.prototype.hasOwnProperty.call(i,c[s]))return!1;if(t&&e instanceof Element)return!1;for(s=l;0!=s--;)if(("_owner"!==c[s]&&"__v"!==c[s]&&"__o"!==c[s]||!e.$$typeof)&&!a(e[c[s]],i[c[s]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return a(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},405:(e,t,n)=>{"use strict";n.d(t,{B6:()=>Z,ql:()=>J});var r=n(7294),o=n(5697),a=n.n(o),i=n(9590),l=n.n(i),s=n(1143),c=n.n(s),u=n(6774),d=n.n(u);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,h(e,t)}function h(e,t){return h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},h(e,t)}function m(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(g).map((function(e){return g[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=S(e,g.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},C=function(e){return S(e,"onChangeClientState")||function(){}},_=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[g.BASE]})).map((function(e){return e[g.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o+=1){var a=r[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},j=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n,a=Object.keys(e),i=0;i<a.length;i+=1){var l=a[i],s=l.toLowerCase();-1===t.indexOf(s)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(n=s),-1===t.indexOf(l)||"innerHTML"!==l&&"cssText"!==l&&"itemprop"!==l||(n=l)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][c]&&(o[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(o),i=0;i<a.length;i+=1){var l=a[i],s=p({},r[l],o[l]);r[l]=s}return e}),[]).reverse()},A=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},L=function(e){return Array.isArray(e)?e.join(""):e},N=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},R=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},P=[g.NOSCRIPT,g.SCRIPT,g.STYLE],O=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},D=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},I=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},F=function(e,t){return t.map((function(t,n){var o,a=((o={key:n})["data-rh"]=!0,o);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]})),r.createElement(e,a)}))},M=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return n=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,a=I(n,o),[r.createElement(g.TITLE,a,e)];var e,n,o,a},toString:function(){return function(e,t,n,r){var o=D(n),a=L(t);return o?"<"+e+' data-rh="true" '+o+">"+O(a,r)+"</"+e+">":"<"+e+' data-rh="true">'+O(a,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return I(t)},toString:function(){return D(t)}};default:return{toComponent:function(){return F(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+O(r[t],n)+'"';return e?e+" "+o:o}),""),a=r.innerHTML||r.cssText||"",i=-1===P.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(i?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,a=e.noscriptTags,i=e.styleTags,l=e.title,s=void 0===l?"":l,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var h=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,o=N(e.metaTags,v),a=N(t,b),i=N(n,y);return{priorityMethods:{toComponent:function(){return[].concat(F(g.META,o.priority),F(g.LINK,a.priority),F(g.SCRIPT,i.priority))},toString:function(){return M(g.META,o.priority,r)+" "+M(g.LINK,a.priority,r)+" "+M(g.SCRIPT,i.priority,r)}},metaTags:o.default,linkTags:a.default,scriptTags:i.default}}(e);f=h.priorityMethods,u=h.linkTags,d=h.metaTags,p=h.scriptTags}return{priority:f,base:M(g.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",o,r),link:M(g.LINK,u,r),meta:M(g.META,d,r),noscript:M(g.NOSCRIPT,a,r),script:M(g.SCRIPT,p,r),style:M(g.STYLE,i,r),title:M(g.TITLE,{title:s,titleAttributes:c},r)}},B=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),q=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),H="undefined"!=typeof document,Z=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);Z.canUseDOM=H,Z.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},Z.defaultProps={context:{}},Z.displayName="HelmetProvider";var G=function(e,t){var n,r=document.head||document.querySelector(g.HEAD),o=r.querySelectorAll(e+"[data-rh]"),a=[].slice.call(o),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?r.innerHTML=t.innerHTML:"cssText"===o?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(o,void 0===t[o]?"":t[o]));r.setAttribute("data-rh","true"),a.some((function(e,t){return n=t,r.isEqualNode(e)}))?a.splice(n,1):i.push(r)})),a.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:a,newTags:i}},V=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),o=r?r.split(","):[],a=[].concat(o),i=Object.keys(t),l=0;l<i.length;l+=1){var s=i[l],c=t[s]||"";n.getAttribute(s)!==c&&n.setAttribute(s,c),-1===o.indexOf(s)&&o.push(s);var u=a.indexOf(s);-1!==u&&a.splice(u,1)}for(var d=a.length-1;d>=0;d-=1)n.removeAttribute(a[d]);o.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},W=function(e,t){var n=e.baseTag,r=e.htmlAttributes,o=e.linkTags,a=e.metaTags,i=e.noscriptTags,l=e.onChangeClientState,s=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;V(g.BODY,e.bodyAttributes),V(g.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=L(e)),V(g.TITLE,t)}(u,d);var p={baseTag:G(g.BASE,n),linkTags:G(g.LINK,o),metaTags:G(g.META,a),noscriptTags:G(g.NOSCRIPT,i),scriptTags:G(g.SCRIPT,s),styleTags:G(g.STYLE,c)},f={},h={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(h[e]=p[e].oldTags)})),t&&t(),l(e,f,h)},Q=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,o=null,a=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:_("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:_("htmlAttributes",e),linkTags:j(g.LINK,["rel","href"],e),metaTags:j(g.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:j(g.NOSCRIPT,["innerHTML"],e),onChangeClientState:C(e),scriptTags:j(g.SCRIPT,["src","innerHTML"],e),styleTags:j(g.STYLE,["cssText"],e),title:E(e),titleAttributes:_("titleAttributes",e),prioritizeSeoTags:A(e,"prioritizeSeoTags")});Z.canUseDOM?(t=a,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){W(t,(function(){Q=null}))})):(W(t),Q=null)):z&&(o=z(a)),r(o)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:q.isRequired},Y.displayName="HelmetDispatcher";var K=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!l()(R(this.props,"helmetData"),R(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case g.SCRIPT:case g.NOSCRIPT:return{innerHTML:t};case g.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,a=e.newChildProps,i=e.nestedChildren;switch(r.type){case g.TITLE:return p({},o,((t={})[r.type]=i,t.titleAttributes=p({},a),t));case g.BODY:return p({},o,{bodyAttributes:p({},a)});case g.HTML:return p({},o,{htmlAttributes:p({},a)});default:return p({},o,((n={})[r.type]=p({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,o={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,a=r.children,i=m(r,K),l=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,a),s){case g.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:o=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:l,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:a})}}})),this.mapArrayTypeChildrenToProps(o,t)},n.render=function(){var e=this.props,t=e.children,n=m(e,X),o=p({},n),a=n.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!a||a instanceof $||(a=new $(a.context,a.instances)),a?r.createElement(Y,p({},o,{context:a.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,p({},o,{context:e}))}))},t}(r.Component);J.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},9921:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case a:case l:case i:case f:return e;default:switch(e=e&&e.$$typeof){case c:case p:case g:case m:case s:return e;default:return t}}case o:return t}}}function x(e){return k(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=s,t.Element=r,t.ForwardRef=p,t.Fragment=a,t.Lazy=g,t.Memo=m,t.Portal=o,t.Profiler=l,t.StrictMode=i,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||k(e)===u},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===c},t.isContextProvider=function(e){return k(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===p},t.isFragment=function(e){return k(e)===a},t.isLazy=function(e){return k(e)===g},t.isMemo=function(e){return k(e)===m},t.isPortal=function(e){return k(e)===o},t.isProfiler=function(e){return k(e)===l},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===l||e===i||e===f||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===m||e.$$typeof===s||e.$$typeof===c||e.$$typeof===p||e.$$typeof===y||e.$$typeof===v||e.$$typeof===w||e.$$typeof===b)},t.typeOf=k},9864:(e,t,n)=>{"use strict";e.exports=n(9921)},8356:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}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 i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var l=n(7294),s=n(5697),c=[],u=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var o=d(e[r]);o.loading?t.loading=!0:(t.loaded[r]=o.loaded,t.error=o.error),n.push(o.promise),o.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return l.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function h(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var h=i({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),m=null;function g(){return m||(m=e(h.loader)),m.promise}return c.push(g),"function"==typeof h.webpack&&u.push((function(){if((0,h.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return g()})),p=d=function(t){function n(n){var r;return a(o(o(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),m=e(h.loader),r._loadModule()})),g(),r.state={error:m.error,pastDelay:!1,timedOut:!1,loading:m.loading,loaded:m.loaded},r}r(n,t),n.preload=function(){return g()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(h.modules)&&h.modules.forEach((function(t){e.context.loadable.report(t)})),m.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof h.delay&&(0===h.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),h.delay)),"number"==typeof h.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),h.timeout));var n=function(){t({error:m.error,loaded:m.loaded,loading:m.loading}),e._clearTimeouts()};m.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?l.createElement(h.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?h.render(this.state.loaded,this.props):null},n}(l.Component),a(d,"contextTypes",{loadable:s.shape({report:s.func.isRequired})}),p}function m(e){return h(d,e)}m.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return h(p,e)};var g=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return l.Children.only(this.props.children)},t}(l.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}a(g,"propTypes",{report:s.func.isRequired}),a(g,"childContextTypes",{loadable:s.shape({report:s.func.isRequired}).isRequired}),m.Capture=g,m.preloadAll=function(){return new Promise((function(e,t){b(c).then(e,t)}))},m.preloadReady=function(){return new Promise((function(e,t){b(u).then(e,e)}))},e.exports=m},8790:(e,t,n)=>{"use strict";n.d(t,{H:()=>l,f:()=>i});var r=n(6550),o=n(7462),a=n(7294);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return o&&(n.push({route:e,match:o}),e.routes&&i(e.routes,t,n)),o})),n}function l(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?a.createElement(r.rs,n,e.map((function(e,n){return a.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.Z)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.Z)({},n,t,{route:e}))}})}))):null}},3727:(e,t,n)=>{"use strict";n.d(t,{OL:()=>v,VK:()=>u,rU:()=>g});var r=n(6550),o=n(5068),a=n(7294),i=n(9318),l=n(7462),s=n(3366),c=n(8776),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,o.Z)(t,e),t.prototype.render=function(){return a.createElement(r.F0,{history:this.history,children:this.props.children})},t}(a.Component);a.Component;var d=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},f=function(e){return e},h=a.forwardRef;void 0===h&&(h=f);var m=h((function(e,t){var n=e.innerRef,r=e.navigate,o=e.onClick,i=(0,s.Z)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,l.Z)({},i,{onClick:function(e){try{o&&o(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=f!==h&&t||n,a.createElement("a",u)}));var g=h((function(e,t){var n=e.component,o=void 0===n?m:n,u=e.replace,g=e.to,b=e.innerRef,y=(0,s.Z)(e,["component","replace","to","innerRef"]);return a.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=e.history,r=p(d(g,e.location),e.location),s=r?n.createHref(r):"",m=(0,l.Z)({},y,{href:s,navigate:function(){var t=d(g,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(p(t));(u||r?n.replace:n.push)(t)}});return f!==h?m.ref=t||b:m.innerRef=b,a.createElement(o,m)}))})),b=function(e){return e},y=a.forwardRef;void 0===y&&(y=b);var v=y((function(e,t){var n=e["aria-current"],o=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,f=e.activeStyle,h=e.className,m=e.exact,v=e.isActive,w=e.location,k=e.sensitive,x=e.strict,S=e.style,E=e.to,C=e.innerRef,_=(0,s.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=w||e.location,i=p(d(E,n),n),s=i.pathname,T=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),j=T?(0,r.LX)(n.pathname,{path:T,exact:m,sensitive:k,strict:x}):null,A=!!(v?v(j,n):j),L="function"==typeof h?h(A):h,N="function"==typeof S?S(A):S;A&&(L=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(L,u),N=(0,l.Z)({},N,f));var R=(0,l.Z)({"aria-current":A&&o||null,className:L,style:N,to:i},_);return b!==y?R.ref=t||C:R.innerRef=C,a.createElement(g,R)}))}))},6550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>E,F0:()=>v,LX:()=>S,TH:()=>P,k6:()=>R,rs:()=>L,s6:()=>y});var r=n(5068),o=n(7294),a=n(5697),i=n.n(a),l=n(9318),s=n(8776),c=n(7462),u=n(4779),d=n.n(u),p=(n(9864),n(3366)),f=(n(8679),1073741823),h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var m=o.createContext||function(e,t){var n,a,l="__create-react-context-"+function(){var e="__global_unique_id__";return h[e]=(h[e]||0)+1}()+"__",s=function(e){function n(){for(var t,n,r,o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return(t=e.call.apply(e,[this].concat(a))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var o=n.prototype;return o.getChildContext=function(){var e;return(e={})[l]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((a=r)===(i=o)?0!==a||1/a==1/i:a!=a&&i!=i)?n=0:(n="function"==typeof t?t(r,o):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var a,i},o.render=function(){return this.props.children},n}(o.Component);s.childContextTypes=((n={})[l]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var o=n.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},o.componentDidMount=function(){this.context[l]&&this.context[l].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},o.componentWillUnmount=function(){this.context[l]&&this.context[l].off(this.onUpdate)},o.getValue=function(){return this.context[l]?this.context[l].get():e},o.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return c.contextTypes=((a={})[l]=i().object,a),{Provider:s,Consumer:c}},g=function(e){var t=m();return t.displayName=e,t},b=g("Router-History"),y=g("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(y.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var w={},k=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,l=void 0!==i&&i,s=n.sensitive,c=void 0!==s&&s;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var o=[],a={regexp:d()(e,o,t),keys:o};return x<k&&(r[e]=a,x++),a}(n,{end:a,strict:l,sensitive:c}),o=r.regexp,i=r.keys,s=o.exec(e);if(!s)return null;var u=s[0],p=s.slice(1),f=e===u;return a&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,s.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,a=(0,c.Z)({},t,{location:n,match:r}),i=e.props,l=i.children,u=i.component,d=i.render;return Array.isArray(l)&&function(e){return 0===o.Children.count(e)}(l)&&(l=null),o.createElement(y.Provider,{value:a},a.match?l?"function"==typeof l?l(a):l:u?o.createElement(u,a):d?d(a):null:"function"==typeof l?l(a):null)}))},t}(o.Component);function C(e){return"/"===e.charAt(0)?e:"/"+e}function _(e,t){if(!e)return t;var n=C(e);return 0!==t.pathname.indexOf(n)?t:(0,c.Z)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,l.Ep)(e)}function j(e){return function(){(0,s.Z)(!1)}}function A(){}o.Component;var L=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,s.Z)(!1);var n,r,a=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==r&&o.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(a.pathname,(0,c.Z)({},e.props,{path:i})):t.match}})),r?o.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(o.Component);var N=o.useContext;function R(){return N(b)}function P(){return N(y).location}},5251:(e,t,n)=>{"use strict";var r=n(7294),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:a,_owner:l.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},2408:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,g={};function b(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||h}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||h}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=b.prototype;var w=v.prototype=new y;w.constructor=v,m(w,b.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,r){var o,a={},i=null,l=null;if(null!=t)for(o in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,o)&&!E.hasOwnProperty(o)&&(a[o]=t[o]);var s=arguments.length-2;if(1===s)a.children=r;else if(1<s){for(var c=Array(s),u=0;u<s;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(o in s=e.defaultProps)void 0===a[o]&&(a[o]=s[o]);return{$$typeof:n,type:e,key:i,ref:l,props:a,_owner:S.current}}function _(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var T=/\/+/g;function j(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function A(e,t,o,a,i){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var s=!1;if(null===e)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case n:case r:s=!0}}if(s)return i=i(s=e),e=""===a?"."+j(s,0):a,k(i)?(o="",null!=e&&(o=e.replace(T,"$&/")+"/"),A(i,t,o,"",(function(e){return e}))):null!=i&&(_(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,o+(!i.key||s&&s.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+e)),t.push(i)),1;if(s=0,a=""===a?".":a+":",k(e))for(var c=0;c<e.length;c++){var u=a+j(l=e[c],c);s+=A(l,t,o,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(l=e.next()).done;)s+=A(l=l.value,t,o,u=a+j(l,c++),i);else if("object"===l)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function L(e,t,n){if(null==e)return e;var r=[],o=0;return A(e,r,"","",(function(e){return t.call(n,e,o++)})),r}function N(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var R={current:null},P={transition:null},O={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:P,ReactCurrentOwner:S};t.Children={map:L,forEach:function(e,t,n){L(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return L(e,(function(){t++})),t},toArray:function(e){return L(e,(function(e){return e}))||[]},only:function(e){if(!_(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=o,t.Profiler=i,t.PureComponent=v,t.StrictMode=a,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=m({},e.props),a=e.key,i=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,l=S.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)x.call(t,c)&&!E.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=r;else if(1<c){s=Array(c);for(var u=0;u<c;u++)s[u]=arguments[u+2];o.children=s}return{$$typeof:n,type:e.type,key:a,ref:i,props:o,_owner:l}},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=_,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:N}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return R.current.useCallback(e,t)},t.useContext=function(e){return R.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return R.current.useDeferredValue(e)},t.useEffect=function(e,t){return R.current.useEffect(e,t)},t.useId=function(){return R.current.useId()},t.useImperativeHandle=function(e,t,n){return R.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return R.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return R.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return R.current.useMemo(e,t)},t.useReducer=function(e,t,n){return R.current.useReducer(e,t,n)},t.useRef=function(e){return R.current.useRef(e)},t.useState=function(e){return R.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return R.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return R.current.useTransition()},t.version="18.2.0"},7294:(e,t,n)=>{"use strict";e.exports=n(2408)},5893:(e,t,n)=>{"use strict";e.exports=n(5251)},53:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(!(0<a(o,t)))break e;e[r]=t,e[n]=o,n=r}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,i=o>>>1;r<i;){var l=2*(r+1)-1,s=e[l],c=l+1,u=e[c];if(0>a(s,n))c<o&&0>a(u,s)?(e[r]=u,e[c]=n,r=c):(e[r]=s,e[l]=n,r=l);else{if(!(c<o&&0>a(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var c=[],u=[],d=1,p=null,f=3,h=!1,m=!1,g=!1,b="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(u);null!==t;){if(null===t.callback)o(u);else{if(!(t.startTime<=e))break;o(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function k(e){if(g=!1,w(e),!m)if(null!==r(c))m=!0,P(x);else{var t=r(u);null!==t&&O(k,t.startTime-e)}}function x(e,n){m=!1,g&&(g=!1,y(_),_=-1),h=!0;var a=f;try{for(w(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!A());){var i=p.callback;if("function"==typeof i){p.callback=null,f=p.priorityLevel;var l=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?p.callback=l:p===r(c)&&o(c),w(n)}else o(c);p=r(c)}if(null!==p)var s=!0;else{var d=r(u);null!==d&&O(k,d.startTime-n),s=!1}return s}finally{p=null,f=a,h=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,C=null,_=-1,T=5,j=-1;function A(){return!(t.unstable_now()-j<T)}function L(){if(null!==C){var e=t.unstable_now();j=e;var n=!0;try{n=C(!0,e)}finally{n?S():(E=!1,C=null)}}else E=!1}if("function"==typeof v)S=function(){v(L)};else if("undefined"!=typeof MessageChannel){var N=new MessageChannel,R=N.port2;N.port1.onmessage=L,S=function(){R.postMessage(null)}}else S=function(){b(L,0)};function P(e){C=e,E||(E=!0,S())}function O(e,n){_=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||h||(m=!0,P(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,o,a){var i=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0<a?i+a:i:a=i,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:a,expirationTime:l=a+l,sortIndex:-1},a>i?(e.sortIndex=a,n(u,e),null===r(c)&&e===r(u)&&(g?(y(_),_=-1):g=!0,O(k,a-i))):(e.sortIndex=l,n(c,e),m||h||(m=!0,P(x))),e},t.unstable_shouldYield=A,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},3840:(e,t,n)=>{"use strict";e.exports=n(53)},6774:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s<a.length;s++){var c=a[s];if(!l(c))return!1;var u=e[c],d=t[c];if(!1===(o=n?n.call(r,u,d,c):void 0)||void 0===o&&u!==d)return!1}return!0}},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={staticDirectories:["public","static"],title:"CS102 Handbook",tagline:"A collection of various helpful documentation for CS102 at UTK",favicon:"img/favicon.ico",url:"https://utk-eecs-crumpton-tas.github.io",baseUrl:"/cs102-handbook/",organizationName:"utk-eecs-crumpton-tas",projectName:"cs102-handbook",deploymentBranch:"gh-pages",trailingSlash:!1,onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["classic",{docs:{sidebarPath:"/Users/abram/utk/ta/102/cs102-handbook/sidebars.js"},blog:{showReadingTime:!0},theme:{customCss:"/Users/abram/utk/ta/102/cs102-handbook/src/css/custom.css"}}]],themeConfig:{colorMode:{defaultMode:"dark",disableSwitch:!0,respectPrefersColorScheme:!1},liveCodeBlock:{playgroundPosition:"bottom"},image:"img/cs102.png",navbar:{items:[{type:"doc",docId:"home",position:"left",label:"CS102 Handbook"},{href:"https://github.com/utk-eecs-crumpton-tas/cs102-handbook",label:"GitHub",position:"right"}],hideOnScroll:!1},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},magicComments:[{className:"code-block-error-line",line:"This will error"},{className:"theme-code-block-highlighted-line",line:"Highlight",block:{start:"highlight-start",end:"highlight-end"}}],additionalLanguages:[]},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3},mermaid:{theme:{dark:"dark",light:"default"},options:{}}},plugins:[null],themes:["@docusaurus/theme-live-codeblock","@docusaurus/theme-mermaid"],markdown:{mermaid:!0,format:"mdx",mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0}},baseUrlIssueBanner:!0,onBrokenAnchors:"warn",onDuplicateRoutes:"warn",customFields:{},scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1}},7462:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},5068:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>o})},3366:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}n.d(t,{Z:()=>r})},512:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=r(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}n.d(t,{Z:()=>o});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=r(e))&&(o&&(o+=" "),o+=t);return o}},2573:(e,t,n)=>{"use strict";n.d(t,{np:()=>j,p1:()=>T,y$:()=>te});var r,o,a,i,l,s,c,u=n(7294),d=n(512),p=Object.create,f=Object.defineProperty,h=Object.defineProperties,m=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertyNames,y=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(y)for(var n of y(t))k.call(t,n)&&x(e,n,t[n]);return e},E=(e,t)=>h(e,g(t)),C=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&y)for(var r of y(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},_=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var o,a;switch(n=n||{},r.util.type(t)){case"Object":if(a=r.util.objId(t),n[a])return n[a];for(var i in o={},n[a]=o,t)t.hasOwnProperty(i)&&(o[i]=e(t[i],n));return o;case"Array":return a=r.util.objId(t),n[a]?n[a]:(o=[],n[a]=o,t.forEach((function(t,r){o[r]=e(t,n)})),o);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var o in t)n[o]=t[o];return n},insertBefore:function(e,t,n,o){var a=(o=o||r.languages)[e],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==t)for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s]);n.hasOwnProperty(l)||(i[l]=a[l])}var c=o[e];return o[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,o,a){a=a||{};var i=r.util.objId;for(var l in t)if(t.hasOwnProperty(l)){n.call(t,l,t[l],o||l);var s=t[l],c=r.util.type(s);"Object"!==c||a[i(s)]?"Array"!==c||a[i(s)]||(a[i(s)]=!0,e(s,n,l,a)):(a[i(s)]=!0,e(s,n,null,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",a),!a.grammar)throw new Error('The language "'+a.language+'" has no grammar.');return a.tokens=r.tokenize(a.code,a.grammar),r.hooks.run("after-tokenize",a),o.stringify(r.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var o=new l;return s(o,o.head,e),i(e,o,t,o.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(o)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function a(e,t,n,r){e.lastIndex=t;var o=e.exec(n);if(o&&r&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function i(e,t,n,l,u,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var h=0;h<f.length;++h){if(d&&d.cause==p+","+h)return;var m=f[h],g=m.inside,b=!!m.lookbehind,y=!!m.greedy,v=m.alias;if(y&&!m.pattern.global){var w=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,w+"g")}for(var k=m.pattern||m,x=l.next,S=u;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var E=x.value;if(t.length>e.length)return;if(!(E instanceof o)){var C,_=1;if(y){if(!(C=a(k,S,e,b))||C.index>=e.length)break;var T=C.index,j=C.index+C[0].length,A=S;for(A+=x.value.length;T>=A;)A+=(x=x.next).value.length;if(S=A-=x.value.length,x.value instanceof o)continue;for(var L=x;L!==t.tail&&(A<j||"string"==typeof L.value);L=L.next)_++,A+=L.value.length;_--,E=e.slice(S,A),C.index-=S}else if(!(C=a(k,0,E,b)))continue;T=C.index;var N=C[0],R=E.slice(0,T),P=E.slice(T+N.length),O=S+E.length;d&&O>d.reach&&(d.reach=O);var D=x.prev;if(R&&(D=s(t,D,R),S+=R.length),c(t,D,_),x=s(t,D,new o(p,g?r.tokenize(N,g):N,v,N)),P&&s(t,x,P),_>1){var I={cause:p+","+h,reach:O};i(e,t,n,x.prev,S,I),d&&I.reach>d.reach&&(d.reach=I.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function c(e,t,n){for(var r=t.next,o=0;o<n&&r!==e.tail;o++)r=r.next;t.next=r,r.prev=t,e.length-=o}return o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,n)})),o}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),r.hooks.run("wrap",a);var l="";for(var s in a.attributes)l+=" "+s+'="'+(a.attributes[s]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+l+">"+a.content+"</"+a.tag+">"},r}();t.exports=n,n.default=n}},function(){return o||(0,r[b(r)[0]])((o={exports:{}}).exports,o),o.exports}),T=((e,t,n)=>(n=null!=e?p(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of b(t))w.call(e,o)||o===n||f(e,o,{get:()=>t[o],enumerable:!(r=m(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(_());T.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},T.languages.markup.tag.inside["attr-value"].inside.entity=T.languages.markup.entity,T.languages.markup.doctype.inside["internal-subset"].inside=T.languages.markup,T.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(T.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:T.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:T.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},T.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(T.languages.markup.tag,"addAttribute",{value:function(e,t){T.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:T.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),T.languages.html=T.languages.markup,T.languages.mathml=T.languages.markup,T.languages.svg=T.languages.markup,T.languages.xml=T.languages.extend("markup",{}),T.languages.ssml=T.languages.xml,T.languages.atom=T.languages.xml,T.languages.rss=T.languages.xml,a=T,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},s="(?:[^\\\\-]|"+(l=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",s=RegExp(s+"-"+s),c={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},a.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:s,inside:{escape:l,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:l}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":c}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:l,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":c}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},T.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},T.languages.javascript=T.languages.extend("clike",{"class-name":[T.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),T.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,T.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:T.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:T.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:T.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:T.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:T.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),T.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:T.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),T.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),T.languages.markup&&(T.languages.markup.tag.addInlined("script","javascript"),T.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),T.languages.js=T.languages.javascript,T.languages.actionscript=T.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),T.languages.actionscript["class-name"].alias="function",delete T.languages.actionscript.parameter,delete T.languages.actionscript["literal-property"],T.languages.markup&&T.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:T.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(T),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},o="doc-comment";if(a=e.languages[t]){var a,i=a[o];if((i=i||(a=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[o])instanceof RegExp&&(i=a[o]={pattern:i}),Array.isArray(i))for(var l=0,s=i.length;l<s;l++)i[l]instanceof RegExp&&(i[l]={pattern:i[l]}),r(i[l]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(T),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(T),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(T),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+a+")"}))),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(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(T),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var o,a=t[n];"code"!==a.type?e(a.content):(o=a.content[1],a=a.content[3],o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),a.alias?"string"==typeof a.alias?a.alias=[a.alias,o]:a.alias.push(o):a.alias=[o]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,o=t.classes.length;r<o;r++){var a=t.classes[r];if(a=/language-(.+)/.exec(a)){n=a[1];break}}var c,u=e.languages[n];u?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),s(n)):l[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),l={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(T),T.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:T.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},T.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var o=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var a=p(/^\($/,/^\)$/);if(-1===a)continue;for(;n<a;n++){var i=u(0);"variable"===i.type&&(f(i,"variable-input"),o.push(i.content))}n=a+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,f(u(0),"property-mutation"),0<o.length)){var l=p(/^\{$/,/^\}$/);if(-1!==l)for(var s=n;s<l;s++){var c=t[s];"variable"===c.type&&0<=o.indexOf(c.content)&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function p(e,r){for(var o=1,a=n;a<t.length;a++){var i=t[a],l=i.content;if("punctuation"===i.type&&"string"==typeof l)if(e.test(l))o++;else if(r.test(l)&&0==--o)return a}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),T.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,o=r.inside["interpolation-punctuation"],a=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function s(t,n,i){var s=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),c=0,u={},d=(s=l(s.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n})).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var a=0;a<n.length;a++){if(c>=d.length)return;var i,s,p,f,h,m,g,b=n[a];"string"==typeof b||"string"==typeof b.content?(i=d[c],-1!==(g=(m="string"==typeof b?b:b.content).indexOf(i))&&(++c,s=m.substring(0,g),h=u[i],p=void 0,(f={})["interpolation-punctuation"]=o,3===(f=e.tokenize(h,f)).length&&((p=[1,1]).push.apply(p,l(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,r.alias,h),f=m.substring(g+i.length),h=[],s&&h.push(s),h.push(p),f&&(t(m=[f]),h.push.apply(h,m)),"string"==typeof b?(n.splice.apply(n,[a,1].concat(h)),a+=h.length-1):b.content=h)):(g=b.content,Array.isArray(g)?t(g):t([g]))}}(s),new e.Token(i,s,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(n){for(var r=0,o=n.length;r<o;r++){var a,i,l,c=n[r];"string"!=typeof c&&(a=c.content,Array.isArray(a)?"template-string"===c.type?(c=a[1],3===a.length&&"string"!=typeof c&&"embedded-code"===c.type&&(i=u(c),c=c.alias,c=Array.isArray(c)?c[0]:c,l=e.languages[c])&&(a[1]=s(i,l,c))):t(a):"string"!=typeof a&&t([a]))}}(t.tokens)}))}(T),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(T),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(T),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(T),T.languages.n4js=T.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),T.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),T.languages.n4jsd=T.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var o=n[r],a=e.languages.javascript[o];o=(a="RegExp"===e.util.type(a)?e.languages.javascript[o]={pattern:a}:a).inside||{};(a.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(T),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function a(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return o})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var o=t[r],a=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===l(o.content[0].content[1])&&n.pop():"/>"!==o.content[o.content.length-1].content&&n.push({tagName:l(o.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&0<n.length&&0===n[n.length-1].openedBraces&&(a=l(o),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(a+=l(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(a=l(t[r-1])+a,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",a,null,a)),o.content&&"string"!=typeof o.content&&i(o.content)}}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(l).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(T),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(T),T.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},T.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=T.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(T),T.languages.c=T.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),T.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),T.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},T.languages.c.string],char:T.languages.c.char,comment:T.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:T.languages.c}}}}),T.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete T.languages.c.boolean,T.languages.objectivec=T.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete T.languages.objectivec["class-name"],T.languages.objc=T.languages.objectivec,T.languages.reason=T.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),T.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete T.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(T),T.languages.go=T.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),T.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete T.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(T),T.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},T.languages.python["string-interpolation"].inside.interpolation.inside.rest=T.languages.python,T.languages.py=T.languages.python;var j={};((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})(j,{dracula:()=>A,duotoneDark:()=>L,duotoneLight:()=>N,github:()=>R,jettwaveDark:()=>Z,jettwaveLight:()=>G,nightOwl:()=>P,nightOwlLight:()=>O,oceanicNext:()=>F,okaidia:()=>M,oneDark:()=>V,oneLight:()=>W,palenight:()=>z,shadesOfPurple:()=>B,synthwave84:()=>$,ultramin:()=>U,vsDark:()=>q,vsLight:()=>H});var A={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},L={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},N={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},R={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},P={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},O={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},D="#c5a5c5",I="#8dc891",F={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:D}},{types:["attr-value"],style:{color:I}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:I}},{types:["punctuation"],style:{color:I}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:D}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},M={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},z={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},B={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},$={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},U={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},q={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},H={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},Z={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},G={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},V={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},W={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},Q=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:o}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),o);e[t]=n})),e}),{});return r.root=n,r.plain=E(S({},n),{backgroundColor:void 0}),r},Y=/\r\n|\r|\n/,K=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},X=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},J=e=>{const t=[[]],n=[e],r=[0],o=[e.length];let a=0,i=0,l=[];const s=[l];for(;i>-1;){for(;(a=r[i]++)<o[i];){let e,c=t[i];const u=n[i][a];if("string"==typeof u?(c=i>0?c:["plain"],e=u):(c=X(c,u.type),u.alias&&(c=X(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),o.push(e.length);continue}const d=e.split(Y),p=d.length;l.push({types:c,content:d[0]});for(let t=1;t<p;t++)K(l),s.push(l=[]),l.push({types:c,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),o.pop()}return K(l),s},ee=({children:e,language:t,code:n,theme:r,prism:o})=>{const a=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,u.useState)(Q(t,e)),o=(0,u.useRef)(),a=(0,u.useRef)();return(0,u.useEffect)((()=>{t===o.current&&e===a.current||(o.current=t,a.current=e,r(Q(t,e)))}),[e,t]),n})(a,r),l=(e=>(0,u.useCallback)((t=>{var n=t,{className:r,style:o,line:a}=n,i=C(n,["className","style","line"]);const l=E(S({},i),{className:(0,d.Z)("token-line",r)});return"object"==typeof e&&"plain"in e&&(l.style=e.plain),"object"==typeof o&&(l.style=S(S({},l.style||{}),o)),l}),[e]))(i),s=(e=>{const t=(0,u.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,u.useCallback)((e=>{var n=e,{token:r,className:o,style:a}=n,i=C(n,["token","className","style"]);const l=E(S({},i),{className:(0,d.Z)("token",...r.types,o),children:r.content,style:t(r)});return null!=a&&(l.style=S(S({},l.style||{}),a)),l}),[t])})(i),c=(({prism:e,code:t,grammar:n,language:r})=>{const o=(0,u.useRef)(e);return(0,u.useMemo)((()=>{if(null==n)return J([t]);const e={code:t,grammar:n,language:r,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,n),o.current.hooks.run("after-tokenize",e),J(e.tokens)}),[t,n,r])})({prism:o,language:a,code:n,grammar:o.languages[a]});return e({tokens:c,className:`prism-code language-${a}`,style:null!=i?i.root:{},getLineProps:l,getTokenProps:s})},te=e=>(0,u.createElement)(ee,E(S({},e),{prism:e.prism||T,theme:e.theme||q,code:e.code,language:e.language}))},8776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=!0,o="Invariant failed";function a(e,t){if(!e){if(r)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},7529:e=>{"use strict";e.exports={}},6887:e=>{"use strict";e.exports=JSON.parse('{"/cs102-handbook/blog-5f1":{"__comp":"a6aa9e1f","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"7661071f"},{"content":"f4f34a3a"},{"content":"8717b14a"},{"content":"925b3f96"}],"metadata":"b2a86a22"},"/cs102-handbook/blog/archive-d68":{"__comp":"9e4087bc","__context":{"plugin":"9e2dff97"},"archive":"f1707f6a"},"/cs102-handbook/blog/first-blog-post-e44":{"__comp":"ccc49370","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","content":"e273c56f"},"/cs102-handbook/blog/long-blog-post-859":{"__comp":"ccc49370","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","content":"73664a40"},"/cs102-handbook/blog/mdx-blog-post-05b":{"__comp":"ccc49370","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","content":"59362658"},"/cs102-handbook/blog/tags-50a":{"__comp":"01a85c17","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","tags":"a7ccc271"},"/cs102-handbook/blog/tags/docusaurus-2f1":{"__comp":"6875c492","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"7661071f"},{"content":"f4f34a3a"},{"content":"8717b14a"},{"content":"925b3f96"}],"tag":"fdb0b976","listMetadata":"cb068ac6"},"/cs102-handbook/blog/tags/facebook-67c":{"__comp":"6875c492","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"7661071f"}],"tag":"1aab6364","listMetadata":"6106ade6"},"/cs102-handbook/blog/tags/hello-458":{"__comp":"6875c492","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"7661071f"},{"content":"8717b14a"}],"tag":"c9526e68","listMetadata":"de2bb28d"},"/cs102-handbook/blog/tags/hola-cb4":{"__comp":"6875c492","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","items":[{"content":"925b3f96"}],"tag":"9aaa03f3","listMetadata":"6ba64b7f"},"/cs102-handbook/blog/welcome-af4":{"__comp":"ccc49370","__context":{"plugin":"9e2dff97"},"sidebar":"814f3328","content":"d9f32620"},"/cs102-handbook/docs-e5c":{"__comp":"5e95c892","__context":{"plugin":"3eb90371"}},"/cs102-handbook/docs-0d0":{"__comp":"a7bd4aaa","version":"935f2afb"},"/cs102-handbook/docs-935":{"__comp":"a94703ab"},"/cs102-handbook/docs/category/debugging-bf2":{"__comp":"14eb3368","categoryGeneratedIndex":"25860ba2"},"/cs102-handbook/docs/category/environment-setup-88b":{"__comp":"14eb3368","categoryGeneratedIndex":"af57d80f"},"/cs102-handbook/docs/category/grading-7ed":{"__comp":"14eb3368","categoryGeneratedIndex":"4c14710c"},"/cs102-handbook/docs/category/in-class-lab-notes-186":{"__comp":"14eb3368","categoryGeneratedIndex":"10d13a83"},"/cs102-handbook/docs/category/lab-walkthroughs-79f":{"__comp":"14eb3368","categoryGeneratedIndex":"a2a2c8d3"},"/cs102-handbook/docs/category/reference-835":{"__comp":"14eb3368","categoryGeneratedIndex":"251a347c"},"/cs102-handbook/docs/category/tutorials-443":{"__comp":"14eb3368","categoryGeneratedIndex":"5ed63ff7"},"/cs102-handbook/docs/debugging/segmentation-faults-740":{"__comp":"17896441","content":"af520d2c"},"/cs102-handbook/docs/environment-setup/lab-machines-c29":{"__comp":"17896441","content":"54863624"},"/cs102-handbook/docs/environment-setup/mac-e46":{"__comp":"17896441","content":"09f618f3"},"/cs102-handbook/docs/environment-setup/windows-44a":{"__comp":"17896441","content":"f5f14e19"},"/cs102-handbook/docs/grading/about-grading-ff0":{"__comp":"17896441","content":"6aa336ca"},"/cs102-handbook/docs/grading/cs102lings-11f":{"__comp":"17896441","content":"3756ee02"},"/cs102-handbook/docs/home-e08":{"__comp":"17896441","content":"3d9c95a4"},"/cs102-handbook/docs/in-class-lab-notes/bitset-notes-5cd":{"__comp":"17896441","content":"7b5231bb"},"/cs102-handbook/docs/in-class-lab-notes/boiling-water-notes-2ce":{"__comp":"17896441","content":"c8824059"},"/cs102-handbook/docs/in-class-lab-notes/bowling-notes-d49":{"__comp":"17896441","content":"a3604fc6"},"/cs102-handbook/docs/in-class-lab-notes/mud-notes-98a":{"__comp":"17896441","content":"4b4c18fa"},"/cs102-handbook/docs/in-class-lab-notes/sorting-algorithms-a0f":{"__comp":"17896441","content":"d62f1c6e"},"/cs102-handbook/docs/lab-walkthroughs/bitset-df8":{"__comp":"17896441","content":"3803d1ca"},"/cs102-handbook/docs/lab-walkthroughs/bowling-98c":{"__comp":"17896441","content":"90c318f4"},"/cs102-handbook/docs/lab-walkthroughs/calculator-ea9":{"__comp":"17896441","content":"4f208758"},"/cs102-handbook/docs/lab-walkthroughs/ppm-manipulator-cb9":{"__comp":"17896441","content":"b917d90f"},"/cs102-handbook/docs/lab-walkthroughs/speeding-ticket-calculator-bec":{"__comp":"17896441","content":"dbb84cb5"},"/cs102-handbook/docs/reference/common-linux-commands-533":{"__comp":"17896441","content":"749f4ecd"},"/cs102-handbook/docs/reference/discord-6be":{"__comp":"17896441","content":"5638bbd0"},"/cs102-handbook/docs/reference/swap-files-9b1":{"__comp":"17896441","content":"d0397398"},"/cs102-handbook/docs/reference/vim-cheatsheet-2a8":{"__comp":"17896441","content":"052f7cc6"},"/cs102-handbook/docs/reference/vscode-tips-105":{"__comp":"17896441","content":"5088ad93"},"/cs102-handbook/docs/tutorials/ssh-and-scp-55a":{"__comp":"17896441","content":"fd10c177"},"/cs102-handbook/-dfa":{"__comp":"1df93b7f","__context":{"plugin":"8febbb3c"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=7221,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.26a7457e.js.LICENSE.txt b/assets/js/main.7a45346d.js.LICENSE.txt similarity index 100% rename from assets/js/main.26a7457e.js.LICENSE.txt rename to assets/js/main.7a45346d.js.LICENSE.txt diff --git a/assets/js/runtime~main.eb2ed845.js b/assets/js/runtime~main.eb2ed845.js new file mode 100644 index 00000000..d37b0d3d --- /dev/null +++ b/assets/js/runtime~main.eb2ed845.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,b,f,c,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var b=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(b.exports,b,b.exports,r),b.loaded=!0,b.exports}r.m=d,r.c=t,e=[],r.O=(a,b,f,c)=>{if(!b){var d=1/0;for(i=0;i<e.length;i++){b=e[i][0],f=e[i][1],c=e[i][2];for(var t=!0,o=0;o<b.length;o++)(!1&c||d>=c)&&Object.keys(r.O).every((e=>r.O[e](b[o])))?b.splice(o--,1):(t=!1,c<d&&(d=c));if(t){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}c=c||0;for(var i=e.length;i>0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[b,f,c]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var d={};a=a||[null,b({}),b([]),b(b)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=b(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(c,d),c},r.d=(e,a)=>{for(var b in a)r.o(a,b)&&!r.o(e,b)&&Object.defineProperty(e,b,{enumerable:!0,get:a[b]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,b)=>(r.f[b](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",155:"6106ade6",455:"8febbb3c",478:"251a347c",486:"7b5231bb",497:"10d13a83",518:"5ed63ff7",775:"b917d90f",948:"8717b14a",1087:"4c14710c",1224:"f1707f6a",1373:"9e2dff97",1419:"a2a2c8d3",1555:"f5f14e19",1722:"c8824059",1873:"9aaa03f3",1914:"d9f32620",2079:"cb068ac6",2125:"3d9c95a4",2195:"b2a86a22",2267:"59362658",2284:"25860ba2",2362:"e273c56f",2535:"814f3328",2670:"c9526e68",2816:"749f4ecd",2920:"6aa336ca",3089:"a6aa9e1f",3144:"dbb84cb5",3237:"1df93b7f",3514:"73664a40",3587:"d0397398",3608:"9e4087bc",3669:"54863624",3670:"052f7cc6",3736:"af57d80f",4013:"01a85c17",4074:"6ba64b7f",4304:"fdb0b976",4368:"a94703ab",4826:"4b4c18fa",5439:"3eb90371",5853:"3803d1ca",6103:"ccc49370",6564:"5088ad93",6618:"1aab6364",6655:"09f618f3",6896:"af520d2c",7055:"4f208758",7270:"5638bbd0",7435:"90c318f4",7494:"a3604fc6",7577:"3756ee02",7717:"fd10c177",7918:"17896441",8518:"a7bd4aaa",8610:"6875c492",8636:"f4f34a3a",8850:"a7ccc271",9003:"925b3f96",9223:"de2bb28d",9642:"7661071f",9661:"5e95c892",9697:"d62f1c6e",9817:"14eb3368"}[e]||e)+"."+{53:"ef879f7f",109:"d2b9598c",130:"ea7290fb",132:"54539c3c",155:"8f76f058",240:"eddb8419",455:"7efd04be",478:"db15c152",486:"32e478d7",497:"c9fe82ba",518:"8e187822",775:"781540e9",948:"ef6a530a",1087:"43762fec",1224:"2a6562fe",1373:"8df7c102",1419:"bface174",1504:"5bbcaa42",1555:"88700502",1644:"e60d6fb2",1722:"d2c623f9",1763:"2484358b",1772:"b155e91e",1873:"33fc8d93",1914:"5a78a25c",2079:"3eb5bc94",2125:"76544181",2183:"5cc4a702",2195:"b3464a32",2267:"dd8de156",2284:"8601199f",2362:"7f89f91b",2535:"ceaec13a",2661:"4376feaa",2670:"286cbb7c",2693:"8ec37081",2696:"27611a90",2700:"b51ae081",2816:"33c0195b",2920:"d6b87955",3089:"7b0246cf",3144:"41f72d92",3237:"801648b9",3343:"6eeb79a7",3514:"108bc111",3587:"60022f2d",3608:"04031cfa",3619:"fd63749b",3669:"8ce633a8",3670:"e72c2ef9",3736:"b62e56e1",4013:"f7555ca7",4074:"9b5a9a95",4238:"7feb10ac",4304:"bfd58855",4368:"3e9d2fec",4706:"dac12695",4826:"0f424508",5269:"da731573",5326:"387309aa",5439:"16a70d1a",5790:"0fce9b30",5853:"3cc8b6b8",5943:"6a81ec5f",6103:"a98771e9",6255:"2f5fd895",6564:"6e804ec8",6618:"cb9b8ea6",6648:"6965c094",6655:"0197825f",6896:"f9c77b3c",6985:"c20fcb94",7055:"dbc285c2",7245:"f6fdf635",7270:"703b8364",7435:"f03b95ee",7494:"e6dba4c3",7577:"7066cf43",7717:"3506ac3f",7918:"aef322ea",7936:"a9a53687",8016:"d253f4c1",8518:"74da429b",8610:"a5c8bd97",8636:"dac6819a",8850:"dc285692",8955:"6918e308",9003:"5d39a849",9138:"57b55802",9223:"681a3aa2",9642:"e05070ca",9661:"67a3c88f",9697:"32117dd4",9817:"a9acef0e",9840:"6ac84ed4",9893:"96afb524"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},c="cs102-handbook:",r.l=(e,a,b,d)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==b)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==c+b){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",c+b),t.src=e),f[e]=[a];var l=(a,b)=>{t.onerror=t.onload=null,clearTimeout(s);var c=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(b))),a)return a(b)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/cs102-handbook/",r.gca=function(e){return e={17896441:"7918",54863624:"3669",59362658:"2267","935f2afb":"53","6106ade6":"155","8febbb3c":"455","251a347c":"478","7b5231bb":"486","10d13a83":"497","5ed63ff7":"518",b917d90f:"775","8717b14a":"948","4c14710c":"1087",f1707f6a:"1224","9e2dff97":"1373",a2a2c8d3:"1419",f5f14e19:"1555",c8824059:"1722","9aaa03f3":"1873",d9f32620:"1914",cb068ac6:"2079","3d9c95a4":"2125",b2a86a22:"2195","25860ba2":"2284",e273c56f:"2362","814f3328":"2535",c9526e68:"2670","749f4ecd":"2816","6aa336ca":"2920",a6aa9e1f:"3089",dbb84cb5:"3144","1df93b7f":"3237","73664a40":"3514",d0397398:"3587","9e4087bc":"3608","052f7cc6":"3670",af57d80f:"3736","01a85c17":"4013","6ba64b7f":"4074",fdb0b976:"4304",a94703ab:"4368","4b4c18fa":"4826","3eb90371":"5439","3803d1ca":"5853",ccc49370:"6103","5088ad93":"6564","1aab6364":"6618","09f618f3":"6655",af520d2c:"6896","4f208758":"7055","5638bbd0":"7270","90c318f4":"7435",a3604fc6:"7494","3756ee02":"7577",fd10c177:"7717",a7bd4aaa:"8518","6875c492":"8610",f4f34a3a:"8636",a7ccc271:"8850","925b3f96":"9003",de2bb28d:"9223","7661071f":"9642","5e95c892":"9661",d62f1c6e:"9697","14eb3368":"9817"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,b)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)b.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var c=new Promise(((b,c)=>f=e[a]=[b,c]));b.push(f[2]=c);var d=r.p+r.u(a),t=new Error;r.l(d,(b=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var c=b&&("load"===b.type?"missing":b.type),d=b&&b.target&&b.target.src;t.message="Loading chunk "+a+" failed.\n("+c+": "+d+")",t.name="ChunkLoadError",t.type=c,t.request=d,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,b)=>{var f,c,d=b[0],t=b[1],o=b[2],n=0;if(d.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(b);n<d.length;n++)c=d[n],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return r.O(i)},b=self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[];b.forEach(a.bind(null,0)),b.push=a.bind(null,b.push.bind(b))})()})(); \ No newline at end of file diff --git a/assets/js/runtime~main.ef989444.js b/assets/js/runtime~main.ef989444.js deleted file mode 100644 index c5e210ff..00000000 --- a/assets/js/runtime~main.ef989444.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],d=e[i][1],f=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&f||b>=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f<b&&(b=f));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}f=f||0;for(var i=e.length;i>0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",455:"8febbb3c",486:"7b5231bb",775:"b917d90f",948:"8717b14a",997:"38cdc210",1373:"9e2dff97",1518:"01baeee8",1555:"f5f14e19",1722:"c8824059",1911:"d50067d7",1914:"d9f32620",2086:"5a42a249",2125:"3d9c95a4",2267:"59362658",2362:"e273c56f",2368:"32c80203",2535:"814f3328",2816:"749f4ecd",2920:"6aa336ca",3089:"a6aa9e1f",3144:"dbb84cb5",3222:"729ea7d2",3237:"1df93b7f",3419:"8ce383a0",3514:"73664a40",3587:"d0397398",3608:"9e4087bc",3669:"54863624",3670:"052f7cc6",4013:"01a85c17",4111:"6751470f",4368:"a94703ab",4608:"7faec263",4826:"4b4c18fa",5439:"3eb90371",5853:"3803d1ca",6103:"ccc49370",6459:"0cb04183",6564:"5088ad93",6655:"09f618f3",6896:"af520d2c",7055:"4f208758",7270:"5638bbd0",7283:"db0b8da5",7435:"90c318f4",7494:"a3604fc6",7577:"3756ee02",7616:"b41dfcf6",7669:"4c37d77b",7717:"fd10c177",7862:"5b44d179",7918:"17896441",7989:"d17ddf99",8016:"705890f3",8518:"a7bd4aaa",8610:"6875c492",8636:"f4f34a3a",9003:"925b3f96",9010:"0dade157",9642:"7661071f",9661:"5e95c892",9697:"d62f1c6e",9817:"14eb3368",9863:"a91fe783"}[e]||e)+"."+{53:"492308b1",109:"d2b9598c",130:"ea7290fb",132:"54539c3c",240:"eddb8419",455:"7efd04be",486:"58abb436",775:"342ac1ca",948:"684473af",997:"b3721b78",1373:"8df7c102",1504:"5bbcaa42",1518:"dab26596",1555:"b7316bd8",1644:"e60d6fb2",1722:"98136ed7",1763:"2484358b",1772:"b155e91e",1911:"542df232",1914:"09e565c1",2086:"6ef16321",2125:"7058d164",2183:"5cc4a702",2267:"7032e09e",2362:"b00c1f09",2368:"d3ec50eb",2535:"616e0b44",2661:"4376feaa",2693:"8ec37081",2696:"27611a90",2700:"b51ae081",2816:"31cd0ace",2920:"0b2b52e8",3089:"7b0246cf",3144:"08dca618",3222:"626a66f9",3237:"801648b9",3343:"6eeb79a7",3419:"6ee2b17e",3514:"9f80efcf",3587:"f6b885a3",3608:"04031cfa",3619:"fd63749b",3669:"b158d35f",3670:"8fa7ef4e",4013:"f7555ca7",4111:"2446ee36",4238:"7feb10ac",4368:"3e9d2fec",4608:"b1887d2b",4706:"dac12695",4826:"97294135",5269:"da731573",5326:"387309aa",5439:"16a70d1a",5790:"0fce9b30",5853:"189cb983",5943:"6a81ec5f",6103:"a98771e9",6255:"2f5fd895",6314:"1f9011bf",6459:"99656346",6564:"800e2c92",6648:"6965c094",6655:"e42c3602",6896:"86661289",6985:"c20fcb94",7055:"7625f348",7245:"30fe3ba1",7270:"5ef3a1f9",7283:"25acad80",7435:"546bc73e",7494:"9dfa8e51",7577:"94f21be9",7616:"0e0559e7",7669:"c968cff9",7717:"c03138f9",7862:"8431a745",7918:"aef322ea",7936:"a9a53687",7989:"6ee4863b",8016:"0d4c1b08",8518:"74da429b",8610:"a5c8bd97",8636:"fadc0030",8955:"6918e308",9003:"c54c6dfe",9010:"dcc56ad3",9138:"57b55802",9642:"5fb5f53c",9661:"67a3c88f",9697:"ad0aeec3",9817:"a9acef0e",9840:"6ac84ed4",9863:"e98835e9",9893:"96afb524"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="cs102-handbook:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==f+c){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",f+c),t.src=e),d[e]=[a];var l=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/cs102-writeups/",r.gca=function(e){return e={17896441:"7918",54863624:"3669",59362658:"2267","935f2afb":"53","8febbb3c":"455","7b5231bb":"486",b917d90f:"775","8717b14a":"948","38cdc210":"997","9e2dff97":"1373","01baeee8":"1518",f5f14e19:"1555",c8824059:"1722",d50067d7:"1911",d9f32620:"1914","5a42a249":"2086","3d9c95a4":"2125",e273c56f:"2362","32c80203":"2368","814f3328":"2535","749f4ecd":"2816","6aa336ca":"2920",a6aa9e1f:"3089",dbb84cb5:"3144","729ea7d2":"3222","1df93b7f":"3237","8ce383a0":"3419","73664a40":"3514",d0397398:"3587","9e4087bc":"3608","052f7cc6":"3670","01a85c17":"4013","6751470f":"4111",a94703ab:"4368","7faec263":"4608","4b4c18fa":"4826","3eb90371":"5439","3803d1ca":"5853",ccc49370:"6103","0cb04183":"6459","5088ad93":"6564","09f618f3":"6655",af520d2c:"6896","4f208758":"7055","5638bbd0":"7270",db0b8da5:"7283","90c318f4":"7435",a3604fc6:"7494","3756ee02":"7577",b41dfcf6:"7616","4c37d77b":"7669",fd10c177:"7717","5b44d179":"7862",d17ddf99:"7989","705890f3":"8016",a7bd4aaa:"8518","6875c492":"8610",f4f34a3a:"8636","925b3f96":"9003","0dade157":"9010","7661071f":"9642","5e95c892":"9661",d62f1c6e:"9697","14eb3368":"9817",a91fe783:"9863"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n<b.length;n++)f=b[n],r.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return r.O(i)},c=self.webpackChunkcs102_handbook=self.webpackChunkcs102_handbook||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})(); \ No newline at end of file diff --git a/blog.html b/blog.html index 22009a50..1e850dea 100644 --- a/blog.html +++ b/blog.html @@ -3,13 +3,13 @@ <head> <meta charset="UTF-8"> <meta name="generator" content="Docusaurus v3.1.0"> -<title data-rh="true">Blog | CS102 Handbook - - - +Blog | CS102 Handbook + + + -

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

+

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

@@ -18,10 +18,10 @@
  • 2019-05-30-welcome/index.md
  • A blog post folder can be convenient to co-locate blog post images:

    -

    Docusaurus Plushie

    +

    Docusaurus Plushie

    The blog supports tags as well!

    -

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    · One min read
    Gao Wei

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    +

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    · One min read
    Gao Wei

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    \ No newline at end of file diff --git a/blog/archive.html b/blog/archive.html index 4e2d6849..5a66c508 100644 --- a/blog/archive.html +++ b/blog/archive.html @@ -3,12 +3,12 @@ -Archive | CS102 Handbook - - - +Archive | CS102 Handbook + + + - + \ No newline at end of file diff --git a/blog/atom.xml b/blog/atom.xml index 22c6d7d9..32a3ebff 100644 --- a/blog/atom.xml +++ b/blog/atom.xml @@ -1,16 +1,16 @@ - https://ethan0429.github.io/cs102-writeups/blog + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog CS102 Handbook Blog 2021-08-26T00:00:00.000Z https://github.com/jpmonette/feed - + CS102 Handbook Blog - https://ethan0429.github.io/cs102-writeups/img/favicon.ico + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/img/favicon.ico <![CDATA[Welcome]]> - https://ethan0429.github.io/cs102-writeups/blog/welcome - + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/welcome + 2021-08-26T00:00:00.000Z Docusaurus blogging features are powered by the blog plugin.

    @@ -22,7 +22,7 @@
  • 2019-05-30-welcome/index.md
  • A blog post folder can be convenient to co-locate blog post images:

    -

    Docusaurus Plushie

    +

    Docusaurus Plushie

    The blog supports tags as well!

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    ]]>
    @@ -39,8 +39,8 @@
    <![CDATA[MDX Blog Post]]> - https://ethan0429.github.io/cs102-writeups/blog/mdx-blog-post - + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/mdx-blog-post + 2021-08-01T00:00:00.000Z Blog posts support Docusaurus Markdown features, such as MDX.

    @@ -53,8 +53,8 @@
    <![CDATA[Long Blog Post]]> - https://ethan0429.github.io/cs102-writeups/blog/long-blog-post - + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/long-blog-post + 2019-05-29T00:00:00.000Z This is the summary of a very long blog post,

    @@ -84,8 +84,8 @@
    <![CDATA[First Blog Post]]> - https://ethan0429.github.io/cs102-writeups/blog/first-blog-post - + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/first-blog-post + 2019-05-28T00:00:00.000Z Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    ]]>
    diff --git a/blog/first-blog-post.html b/blog/first-blog-post.html index 1196ce15..844bc063 100644 --- a/blog/first-blog-post.html +++ b/blog/first-blog-post.html @@ -3,12 +3,12 @@ -First Blog Post | CS102 Handbook - - - +First Blog Post | CS102 Handbook + + + -

    First Blog Post

    · One min read
    Gao Wei

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    +

    First Blog Post

    · One min read
    Gao Wei

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    \ No newline at end of file diff --git a/blog/long-blog-post.html b/blog/long-blog-post.html index 8f7af1ad..e843b12e 100644 --- a/blog/long-blog-post.html +++ b/blog/long-blog-post.html @@ -3,13 +3,13 @@ -Long Blog Post | CS102 Handbook - - - +Long Blog Post | CS102 Handbook + + + -

    Long Blog Post

    · 3 min read
    Endilie Yacop Sucipto

    This is the summary of a very long blog post,

    +

    Long Blog Post

    · 3 min read
    Endilie Yacop Sucipto

    This is the summary of a very long blog post,

    Use a <!-- truncate --> comment to limit blog post size in the list view.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    @@ -26,6 +26,6 @@

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    \ No newline at end of file diff --git a/blog/mdx-blog-post.html b/blog/mdx-blog-post.html index f712b666..75237c1a 100644 --- a/blog/mdx-blog-post.html +++ b/blog/mdx-blog-post.html @@ -3,13 +3,13 @@ -MDX Blog Post | CS102 Handbook - - - +MDX Blog Post | CS102 Handbook + + + -

    MDX Blog Post

    · One min read
    Sébastien Lorber

    Blog posts support Docusaurus Markdown features, such as MDX.

    -
    tip

    Use the power of React to create interactive blog posts.

    <button onClick={() => alert('button clicked!')}>Click me!</button>
    +

    MDX Blog Post

    · One min read
    Sébastien Lorber

    Blog posts support Docusaurus Markdown features, such as MDX.

    +
    tip

    Use the power of React to create interactive blog posts.

    <button onClick={() => alert('button clicked!')}>Click me!</button>
    \ No newline at end of file diff --git a/blog/rss.xml b/blog/rss.xml index 821ef191..05252ae1 100644 --- a/blog/rss.xml +++ b/blog/rss.xml @@ -2,7 +2,7 @@ CS102 Handbook Blog - https://ethan0429.github.io/cs102-writeups/blog + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog CS102 Handbook Blog Thu, 26 Aug 2021 00:00:00 GMT https://validator.w3.org/feed/docs/rss2.html @@ -10,8 +10,8 @@ en <![CDATA[Welcome]]> - https://ethan0429.github.io/cs102-writeups/blog/welcome - https://ethan0429.github.io/cs102-writeups/blog/welcome + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/welcome + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/welcome Thu, 26 Aug 2021 00:00:00 GMT Docusaurus blogging features are powered by the blog plugin.

    @@ -23,7 +23,7 @@
  • 2019-05-30-welcome/index.md
  • A blog post folder can be convenient to co-locate blog post images:

    -

    Docusaurus Plushie

    +

    Docusaurus Plushie

    The blog supports tags as well!

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    ]]>
    facebook @@ -32,8 +32,8 @@
    <![CDATA[MDX Blog Post]]> - https://ethan0429.github.io/cs102-writeups/blog/mdx-blog-post - https://ethan0429.github.io/cs102-writeups/blog/mdx-blog-post + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/mdx-blog-post + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/mdx-blog-post Sun, 01 Aug 2021 00:00:00 GMT Blog posts support Docusaurus Markdown features, such as MDX.

    @@ -42,8 +42,8 @@
    <![CDATA[Long Blog Post]]> - https://ethan0429.github.io/cs102-writeups/blog/long-blog-post - https://ethan0429.github.io/cs102-writeups/blog/long-blog-post + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/long-blog-post + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/long-blog-post Wed, 29 May 2019 00:00:00 GMT This is the summary of a very long blog post,

    @@ -69,8 +69,8 @@
    <![CDATA[First Blog Post]]> - https://ethan0429.github.io/cs102-writeups/blog/first-blog-post - https://ethan0429.github.io/cs102-writeups/blog/first-blog-post + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/first-blog-post + https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/first-blog-post Tue, 28 May 2019 00:00:00 GMT Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    ]]>
    diff --git a/blog/tags.html b/blog/tags.html index adf7e98c..b8913082 100644 --- a/blog/tags.html +++ b/blog/tags.html @@ -3,12 +3,12 @@ -Tags | CS102 Handbook - - - +Tags | CS102 Handbook + + + - + \ No newline at end of file diff --git a/blog/tags/docusaurus.html b/blog/tags/docusaurus.html index 0fe2e873..eb843072 100644 --- a/blog/tags/docusaurus.html +++ b/blog/tags/docusaurus.html @@ -3,13 +3,13 @@ -4 posts tagged with "docusaurus" | CS102 Handbook - - - +4 posts tagged with "docusaurus" | CS102 Handbook + + + -

    4 posts tagged with "docusaurus"

    View All Tags

    · One min read
    Sébastien Lorber
    Yangshun Tay

    Docusaurus blogging features are powered by the blog plugin.

    +

    4 posts tagged with "docusaurus"

    View All Tags

    · One min read
    Sébastien Lorber
    Yangshun Tay

    Docusaurus blogging features are powered by the blog plugin.

    Simply add Markdown files (or folders) to the blog directory.

    Regular blog authors can be added to authors.yml.

    The blog post date can be extracted from filenames, such as:

    @@ -18,10 +18,10 @@
  • 2019-05-30-welcome/index.md
  • A blog post folder can be convenient to co-locate blog post images:

    -

    Docusaurus Plushie

    +

    Docusaurus Plushie

    The blog supports tags as well!

    -

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    · One min read
    Gao Wei

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    +

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    · One min read
    Gao Wei

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    \ No newline at end of file diff --git a/blog/tags/facebook.html b/blog/tags/facebook.html index e5d5e3bb..9bcba943 100644 --- a/blog/tags/facebook.html +++ b/blog/tags/facebook.html @@ -3,13 +3,13 @@ -One post tagged with "facebook" | CS102 Handbook - - - +One post tagged with "facebook" | CS102 Handbook + + + -

    One post tagged with "facebook"

    View All Tags

    · One min read
    Sébastien Lorber
    Yangshun Tay

    Docusaurus blogging features are powered by the blog plugin.

    +

    One post tagged with "facebook"

    View All Tags

    · One min read
    Sébastien Lorber
    Yangshun Tay

    Docusaurus blogging features are powered by the blog plugin.

    Simply add Markdown files (or folders) to the blog directory.

    Regular blog authors can be added to authors.yml.

    The blog post date can be extracted from filenames, such as:

    @@ -18,8 +18,8 @@
  • 2019-05-30-welcome/index.md
  • A blog post folder can be convenient to co-locate blog post images:

    -

    Docusaurus Plushie

    +

    Docusaurus Plushie

    The blog supports tags as well!

    -

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    +

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    \ No newline at end of file diff --git a/blog/tags/hello.html b/blog/tags/hello.html index b825f32b..5a08ffb6 100644 --- a/blog/tags/hello.html +++ b/blog/tags/hello.html @@ -3,13 +3,13 @@ -2 posts tagged with "hello" | CS102 Handbook - - - +2 posts tagged with "hello" | CS102 Handbook + + + -

    2 posts tagged with "hello"

    View All Tags

    · One min read
    Sébastien Lorber
    Yangshun Tay

    Docusaurus blogging features are powered by the blog plugin.

    +

    2 posts tagged with "hello"

    View All Tags

    · One min read
    Sébastien Lorber
    Yangshun Tay

    Docusaurus blogging features are powered by the blog plugin.

    Simply add Markdown files (or folders) to the blog directory.

    Regular blog authors can be added to authors.yml.

    The blog post date can be extracted from filenames, such as:

    @@ -18,9 +18,9 @@
  • 2019-05-30-welcome/index.md
  • A blog post folder can be convenient to co-locate blog post images:

    -

    Docusaurus Plushie

    +

    Docusaurus Plushie

    The blog supports tags as well!

    -

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    +

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    \ No newline at end of file diff --git a/blog/tags/hola.html b/blog/tags/hola.html index 32b55515..e5ca7512 100644 --- a/blog/tags/hola.html +++ b/blog/tags/hola.html @@ -3,12 +3,12 @@ -One post tagged with "hola" | CS102 Handbook - - - +One post tagged with "hola" | CS102 Handbook + + + -

    One post tagged with "hola"

    View All Tags

    · One min read
    Gao Wei

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    +

    One post tagged with "hola"

    View All Tags

    · One min read
    Gao Wei

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

    \ No newline at end of file diff --git a/blog/welcome.html b/blog/welcome.html index a95523cb..ab931baf 100644 --- a/blog/welcome.html +++ b/blog/welcome.html @@ -3,13 +3,13 @@ -Welcome | CS102 Handbook - - - +Welcome | CS102 Handbook + + + -

    Welcome

    · One min read
    Sébastien Lorber
    Yangshun Tay

    Docusaurus blogging features are powered by the blog plugin.

    +

    Welcome

    · One min read
    Sébastien Lorber
    Yangshun Tay

    Docusaurus blogging features are powered by the blog plugin.

    Simply add Markdown files (or folders) to the blog directory.

    Regular blog authors can be added to authors.yml.

    The blog post date can be extracted from filenames, such as:

    @@ -18,8 +18,8 @@
  • 2019-05-30-welcome/index.md
  • A blog post folder can be convenient to co-locate blog post images:

    -

    Docusaurus Plushie

    +

    Docusaurus Plushie

    The blog supports tags as well!

    -

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    +

    And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

    \ No newline at end of file diff --git a/docs/category/debugging.html b/docs/category/debugging.html index 86dd5b42..1f36ffd4 100644 --- a/docs/category/debugging.html +++ b/docs/category/debugging.html @@ -3,12 +3,12 @@ -Debugging | CS102 Handbook - - - +Debugging | CS102 Handbook + + + - + \ No newline at end of file diff --git a/docs/category/environment-setup.html b/docs/category/environment-setup.html index 34c2de2b..f5a2aeb9 100644 --- a/docs/category/environment-setup.html +++ b/docs/category/environment-setup.html @@ -3,12 +3,12 @@ -Environment Setup | CS102 Handbook - - - +Environment Setup | CS102 Handbook + + + - + \ No newline at end of file diff --git a/docs/category/grading.html b/docs/category/grading.html index 5a6ffbcd..76c6dd49 100644 --- a/docs/category/grading.html +++ b/docs/category/grading.html @@ -3,12 +3,12 @@ -Grading | CS102 Handbook - - - +Grading | CS102 Handbook + + + - + \ No newline at end of file diff --git a/docs/category/in-class-lab-notes.html b/docs/category/in-class-lab-notes.html index 79759ad3..1ef4acda 100644 --- a/docs/category/in-class-lab-notes.html +++ b/docs/category/in-class-lab-notes.html @@ -3,12 +3,12 @@ -In-Class Lab Notes | CS102 Handbook - - - +In-Class Lab Notes | CS102 Handbook + + + - + \ No newline at end of file diff --git a/docs/category/lab-walkthroughs.html b/docs/category/lab-walkthroughs.html index 6bcb155d..03a6f02f 100644 --- a/docs/category/lab-walkthroughs.html +++ b/docs/category/lab-walkthroughs.html @@ -3,12 +3,12 @@ -Lab Walkthroughs | CS102 Handbook - - - +Lab Walkthroughs | CS102 Handbook + + + - + \ No newline at end of file diff --git a/docs/category/reference.html b/docs/category/reference.html index b7b24e52..f43417c8 100644 --- a/docs/category/reference.html +++ b/docs/category/reference.html @@ -3,12 +3,12 @@ -Reference | CS102 Handbook - - - +Reference | CS102 Handbook + + + - + \ No newline at end of file diff --git a/docs/category/tutorials.html b/docs/category/tutorials.html index e64b2859..9a416cdb 100644 --- a/docs/category/tutorials.html +++ b/docs/category/tutorials.html @@ -3,12 +3,12 @@ -Tutorials | CS102 Handbook - - - +Tutorials | CS102 Handbook + + + - + \ No newline at end of file diff --git a/docs/debugging/segmentation-faults.html b/docs/debugging/segmentation-faults.html index 196f894c..14f33a53 100644 --- a/docs/debugging/segmentation-faults.html +++ b/docs/debugging/segmentation-faults.html @@ -3,13 +3,13 @@ -Debugging Segmentation Faults | CS102 Handbook - - - +Debugging Segmentation Faults | CS102 Handbook + + + -

    Debugging Segmentation Faults

    +

    Debugging Segmentation Faults

    How to debug segmentation faults

    What is a Segmentation Fault?

    A segmentation fault is a common error that occurs when a program tries to access a memory location that it is not allowed to access. Segmentation faults are often caused by dereferencing a null pointer, or by trying to access memory that has been freed.

    @@ -36,6 +36,6 @@

    Using

    When we run this program, we get the following output:


    $ ./segfault
    Adding 10 elements to the vector
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    I will print
    Segmentation fault (core dumped)

    Since the program crashes before it prints out the line I will not print, but after it prints out the line I will print, we know that the line that caused the segmentation fault is integers[0] += integers[10];.

    -

    By this way of adding print statements to our code, we can find the line of code that caused the segmentation fault.

    +

    By this way of adding print statements to our code, we can find the line of code that caused the segmentation fault.

    \ No newline at end of file diff --git a/docs/environment-setup/lab-machines.html b/docs/environment-setup/lab-machines.html index ca7738ed..a49bcea2 100644 --- a/docs/environment-setup/lab-machines.html +++ b/docs/environment-setup/lab-machines.html @@ -3,19 +3,19 @@ -Lab Machines Environment Setup | CS102 Handbook - - - +Lab Machines Environment Setup | CS102 Handbook + + + -

    Lab Machines Environment Setup

    +

    Lab Machines Environment Setup

    Setting up Oh-My-Zsh and Neovim on the lab machines.

    This guide will walk you through installing https://ohmyz.sh/ and Neovim with Neovim kickstart as well as setting up a language server to enable inline code analysis and autocomplete.

    note

    On Mac, the color schemes for Neovim will not display right for the default Terminal app. I recommend using Hyper as an alternative.

    Setup

    First log into a lab machine with ssh.

    -

    ssh reference.

    +

    ssh reference.

    To run the installation, run the following command

    bash -c "$(curl https://raw.githubusercontent.com/utk-eecs-crumpton-tas/cs102-downloads/main/scripts/install.bash)"

    Adding the C++ Language Server to Neovim

    @@ -26,7 +26,7 @@

    :Mason

    Scroll down to clangd and press i.

    Here is a full list of language servers that come with mason.

    -

    Here is a cheatsheet of Vim commands for learning the basics. (Vim and Neovim use the same key bindings.)

    +

    Here is a cheatsheet of Vim commands for learning the basics. (Vim and Neovim use the same key bindings.)

    You can keep the plugins up to date by running the following command in Neovim

    :Lazy update

    OMZ Plugins

    @@ -53,6 +53,6 @@

    Neovim
    -- Theme inspired by Atom
    {
    'navarasu/onedark.nvim',
    priority = 1000,
    config = function() vim.cmd.colorscheme('onedark') end,
    },

    And change it to this:

    {
    'folke/tokyonight.nvim',
    priority = 1000,
    config = function() vim.cmd.colorscheme('tokyonight') end,
    },
    -

    Check out this page for a short reference of vim commands.

    +

    Check out this page for a short reference of vim commands.

    \ No newline at end of file diff --git a/docs/environment-setup/mac.html b/docs/environment-setup/mac.html index 78208e70..2a5bf85b 100644 --- a/docs/environment-setup/mac.html +++ b/docs/environment-setup/mac.html @@ -3,13 +3,13 @@ -Mac Environment Setup | CS102 Handbook - - - +Mac Environment Setup | CS102 Handbook + + + -

    Mac Environment Setup

    +

    Mac Environment Setup

    Setting up homebrew, g++, and VSCode on Mac.

    To run the following commands, open a terminal with cmd+space and search for Terminal.app.

    Install Homebrew

    @@ -61,6 +61,6 @@

    VSCod

    VSCode Settings

    To edit your settings in vscode, hit cmd+shift+p and search for settings. Select Preferences: Open User Settings (JSON).

    I recommend the following settings:

    -
    {
    // other settings...
    "files.autoSave": "onFocusChange", // Will save your files automatically when you change focus away from the editor
    "editor.formatOnSave": true // Will automatically format your code when your files are saved
    // other settings...
    }
    +
    {
    // other settings...
    "files.autoSave": "onFocusChange", // Will save your files automatically when you change focus away from the editor
    "editor.formatOnSave": true // Will automatically format your code when your files are saved
    // other settings...
    }
    \ No newline at end of file diff --git a/docs/environment-setup/windows.html b/docs/environment-setup/windows.html index f50dacf6..87f0b299 100644 --- a/docs/environment-setup/windows.html +++ b/docs/environment-setup/windows.html @@ -3,14 +3,14 @@ -Windows Environment Setup | CS102 Handbook - - - +Windows Environment Setup | CS102 Handbook + + + -

    Windows Environment Setup

    +

    Windows Environment Setup

    Setting up WSL, g++, and VSCode on Windows.

    -

    Here is a tutorial video by Ryan Peruski that will walk you through setting up WSL and vscode on Windows.

    +

    Here is a tutorial video by Ryan Peruski that will walk you through setting up WSL and vscode on Windows.

    \ No newline at end of file diff --git a/docs/grading/about-grading.html b/docs/grading/about-grading.html index 634eeb92..37989589 100644 --- a/docs/grading/about-grading.html +++ b/docs/grading/about-grading.html @@ -3,13 +3,13 @@ -About Grading | CS102 Handbook - - - +About Grading | CS102 Handbook + + + -

    About Grading

    +

    About Grading

    How to format your lab submissions.

    Formatting

    Each of your labs will have 10 to 15 points for grading the format of your code. This includes things like the header, indentation, comments, and coding conventions. A grade like this will not be as present in upper-level CS courses, but one of the goals of 102 is to get you used to writing code that is easy to read and understand. This is a skill that will be useful in all of your future classes.

    @@ -130,7 +130,7 @@

    Compiling
    Your Code Must Compile on the Lab Machines

    Whenever you are going to submit your code for an assignment, ALWAYS make sure it compiles and behaves (as intended) before doing so -- ON THE LAB MACHINES. Compilers work differently across computers, so even if it compiles on your computer, it doesn't necessarily compile or behave the same way on the lab machines. The TA's grade using the lab machines, so if your code doesn't compile or work correctly there, you will not get credit for the assignment. Trust me, it happens all the time.

    This may seem like a steep policy, but this will be the policy used for all upper-level classes, the difference here is since this is an intro class, some degree of error is expected. There will be two extra credit labs available throughout the semester you can use to make up for any points lost due to this policy.

    The best way to be certain your lab compiles is to download your submission from Canvas, upload it to one of the lab machines, and verify that the submission compiles.

    -

    The file can be uploaded using scp SOURCE DESTINATION (more on that in the scp quick guide), but in this case, the source is the file on your computer, and the destination is the lab machine.

    -
    scp my_program.cpp NETID@hydra0.eecs.utk.edu:~/uploads
    +

    The file can be uploaded using scp SOURCE DESTINATION (more on that in the scp quick guide), but in this case, the source is the file on your computer, and the destination is the lab machine.

    +
    scp my_program.cpp NETID@hydra0.eecs.utk.edu:~/uploads
    \ No newline at end of file diff --git a/docs/grading/cs102lings.html b/docs/grading/cs102lings.html index 8315d925..563fde99 100644 --- a/docs/grading/cs102lings.html +++ b/docs/grading/cs102lings.html @@ -3,13 +3,13 @@ -CS102lings | CS102 Handbook - - - +CS102lings | CS102 Handbook + + + - + \ No newline at end of file diff --git a/docs/home.html b/docs/home.html index 4e587e9b..122dd446 100644 --- a/docs/home.html +++ b/docs/home.html @@ -3,43 +3,43 @@ -Home | CS102 Handbook - - - +Home | CS102 Handbook + + + -

    Home

    +

    Home

    About

    This site compiles a collection of documentation for CS 102 at UTK intended for helping students with labs or general course-related questions.

    Sections Overview

    @@ -48,6 +48,6 @@

    External
  • Professor Crumpton's Notes
  • Professor Crumpton's YouTube page
  • cs102lings repository
  • -

    +
    \ No newline at end of file diff --git a/docs/in-class-lab-notes/bitset-notes.html b/docs/in-class-lab-notes/bitset-notes.html index 564b005b..704801c6 100644 --- a/docs/in-class-lab-notes/bitset-notes.html +++ b/docs/in-class-lab-notes/bitset-notes.html @@ -3,13 +3,13 @@ -Bitset Notes | CS102 Handbook - - - +Bitset Notes | CS102 Handbook + + + -

    Bitset Notes

    +

    Bitset Notes

    Making Binary Numbers in C++

    Not needed for this lab, but good to know!

      const int binary_9 = 0b1001;
    const int binary_145 = 0b10010001;
    @@ -26,7 +26,7 @@

    Bitwise O
  • ^ bitwise XOR
  • For this lab, you will not use xor!!

    -

    Ethan's overview of bitwise operators

    +

    Ethan's overview of bitwise operators

    Operator precedence

    • ~ has the highest precedence meaning it will be evaluated first
    • @@ -52,7 +52,7 @@

      bool BITSET::Test(const int index) const {
      const int test_bit = bitset & mask;
      return test_bit != 0;
      }

    Bitset Calculators

    -

    Ethan's examples of bitwise calculators

    +

    Ethan's examples of bitwise calculators

    vector APIs you will need for this lab

    resize(new_size, fill_value)

    You will need this for the set function

    @@ -72,8 +72,8 @@

    ToBinary Sp
    ToBinary(0b1001, 3); // Does not return "000 000 000 000 000 000 000 000 000 010 01 "
    ToBinary(0b1001, 5); // Does not return "00000 00000 00000 00000 00000 00010 01 "
    ToBinary(0b1001, 6); // Does not return "000000 000000 000000 000000 000010 01 "

    Helpful Resources

    -

    Make sure to set up the tests first thing. These are the tests we will grade the lab with!

    +

    Make sure to set up the tests first thing. These are the tests we will grade the lab with!

    \ No newline at end of file diff --git a/docs/in-class-lab-notes/boiling-water-notes.html b/docs/in-class-lab-notes/boiling-water-notes.html index 43fc752d..67afa6a9 100644 --- a/docs/in-class-lab-notes/boiling-water-notes.html +++ b/docs/in-class-lab-notes/boiling-water-notes.html @@ -3,13 +3,13 @@ -Boiling Water Notes | CS102 Handbook - - - +Boiling Water Notes | CS102 Handbook + + + -

    Boiling Water Notes

    +

    Boiling Water Notes

    New APIs

    • @@ -67,6 +67,6 @@

      Creating the CSV Record

      PersonRecord personRecord = {
      .name = personName,
      .age = stoi(personAge),
      .occupation = personOccupation,
      .salary = stoi(personSalary),
      };

      personRecords.push_back(personRecord);

      Accessing the CSV Record

      -
      PersonRecord personRecord = personRecords[0];
      /* yields:
      PersonRecord {
      name: "John",
      age: 25,
      occupation: "Engineer",
      salary: 55000,
      }
      */

      // access it using
      PersonRecord personRecord = personRecords[0];
      personRecord.name; // "John"
      personRecord.age; // 25
      personRecord.occupation; // "Engineer"
      personRecord.salary; // 55000

      // or
      personRecords[0].name; // "John"
      personRecords[0].age; // 25
      personRecords[0].occupation; // "Engineer"
      personRecords[0].salary; // 55000
    +
    PersonRecord personRecord = personRecords[0];
    /* yields:
    PersonRecord {
    name: "John",
    age: 25,
    occupation: "Engineer",
    salary: 55000,
    }
    */

    // access it using
    PersonRecord personRecord = personRecords[0];
    personRecord.name; // "John"
    personRecord.age; // 25
    personRecord.occupation; // "Engineer"
    personRecord.salary; // 55000

    // or
    personRecords[0].name; // "John"
    personRecords[0].age; // 25
    personRecords[0].occupation; // "Engineer"
    personRecords[0].salary; // 55000
    \ No newline at end of file diff --git a/docs/in-class-lab-notes/bowling-notes.html b/docs/in-class-lab-notes/bowling-notes.html index 12c453c9..721cf4c8 100644 --- a/docs/in-class-lab-notes/bowling-notes.html +++ b/docs/in-class-lab-notes/bowling-notes.html @@ -3,13 +3,13 @@ -Bowling Notes | CS102 Handbook - - - +Bowling Notes | CS102 Handbook + + + -

    Bowling Notes

    +

    Bowling Notes

    Basic Program Structure

    Three main components

      @@ -28,19 +28,19 @@

      Scoring Exa

      Bowling calculator

      Spare: add current frame roll 1 + current frame roll 2 + next frame roll 1

      Frame 1: 5 + 5 + 6 = 16

      -

      spare

      +

      spare

      Strike: add current frame roll 1 + next frame roll 1 + next frame roll 2

      Frame 1: 10 + 3 + 4 = 17

      -

      strike

      +

      strike

      Double strike: add current frame roll 1 + next frame roll 1 + next next frame roll 1

      Frame 1: 10 + 10 + 5 = 25

      -

      double-strike

      +

      double-strike

      Frame 10 spare: add frame 10 roll 1 + roll 2 + roll 3

      -

      frame10-spare

      +

      frame10-spare

      Frame 10 strike: add frame 10 roll 1 + roll 2 + roll 3

      -

      frame10-strike

      +

      frame10-strike

      Frame 9 double strike edge case: add frame 9 roll 1 + frame 10 roll 1 + frame 10 roll 2 (not frame 10 roll 3)

      Frame 9: 10 + 10 + 3 = 23 (not 10 + 10 + 2)

      -

      frame9-double-strike-edge-case

    +

    frame9-double-strike-edge-case

    \ No newline at end of file diff --git a/docs/in-class-lab-notes/mud-notes.html b/docs/in-class-lab-notes/mud-notes.html index 98402ad2..358ad9ba 100644 --- a/docs/in-class-lab-notes/mud-notes.html +++ b/docs/in-class-lab-notes/mud-notes.html @@ -3,15 +3,15 @@ -Multi-User Dungeons (MUD) Notes | CS102 Handbook - - - +Multi-User Dungeons (MUD) Notes | CS102 Handbook + + + -

    Multi-User Dungeons (MUD) Notes

    +

    Multi-User Dungeons (MUD) Notes

    Here is a graph of what the rooms look like

    -

    room1-diagram

    +

    room1-diagram

    File Format

    Example Room

    Room #0
    ~
    You are at the start. Your journey begins..
    ~
    s 5
    ~
    @@ -40,6 +40,6 @@

    Using <

    Initializing Data on the Heap

    You should not need this for this lab, but a final note about new and delete, you can use any constructor you want with new.

    // stack construction -- these should be familiar
    vector<int> ints(10, 0);
    vector<int> ints{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    // heap construction -- exact same syntax as stack construction, just returns a pointer
    vector<int> *ints_ptr = new vector<int>(10, 0);
    vector<int> *ints_ptr = new vector<int>{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    // primitive types also have constructors in c++
    int *value = new int(1);
    int *values = new int[10]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    -

    It is also worth noting that in c++ memory initialized with new is initialized to 0 by default whereas on the stack it is not.

    +

    It is also worth noting that in c++ memory initialized with new is initialized to 0 by default whereas on the stack it is not.

    \ No newline at end of file diff --git a/docs/in-class-lab-notes/sorting-algorithms.html b/docs/in-class-lab-notes/sorting-algorithms.html index 05dcb913..37c9213a 100644 --- a/docs/in-class-lab-notes/sorting-algorithms.html +++ b/docs/in-class-lab-notes/sorting-algorithms.html @@ -3,13 +3,13 @@ -Sorting Algorithms Notes | CS102 Handbook - - - +Sorting Algorithms Notes | CS102 Handbook + + + -

    Sorting Algorithms Notes

    +

    Sorting Algorithms Notes

    Here are some helpful resources for this lab:

    • Selection sort gif
    • @@ -58,6 +58,6 @@

      O(log n)
      void big_o_of_log_n(const int n) {
      for (int i = 1; i < n; i *= 2) { // i doubles each time 1, 2, 4, 8 ...
      cout << "i: " << i << endl; // runs log(n) times
      }
      }

      O(n log n)

      Merge and quick sort are both O(n log n).

      -
      void big_o_of_n_log_n(const int n) {
      for (int i = 0; i < n; ++i) {
      for (int j = 0; j < n; j *= 2) {
      cout << "i: " << i << " j: " << j << endl; // runs n * log(n) times
      }
      }
      }
    +
    void big_o_of_n_log_n(const int n) {
    for (int i = 0; i < n; ++i) {
    for (int j = 0; j < n; j *= 2) {
    cout << "i: " << i << " j: " << j << endl; // runs n * log(n) times
    }
    }
    }
    \ No newline at end of file diff --git a/docs/lab-walkthroughs/bitset.html b/docs/lab-walkthroughs/bitset.html index 39a8a330..59283555 100644 --- a/docs/lab-walkthroughs/bitset.html +++ b/docs/lab-walkthroughs/bitset.html @@ -3,13 +3,13 @@ -BITSET | CS102 Handbook - - - +BITSET | CS102 Handbook + + + -

    BITSET

    +

    BITSET

    Work with bits and bitsets using bitwise operators.

    The Lab

    In this lab, you'll develop a program that manipulates bits of integers belonging to a vector. You should already know what bits are, vaguely at least, but I will cover them in depth in this write-up to help you with the lab. Skip to this section if you know all about bits/bitwise stuff or just don't want to read about it.

    @@ -114,6 +114,6 @@

    Caveats
    { 1, 6, 9, 0, 0, 0, 1 }

    The highest set bit is the 192nd bit here (starting from 0). If you clear the 192nd bit, then the vector should look like this:

    { 1, 6, 9 }
    -

    Notice all 0-elements between any non-zero elements are removed.

    +

    Notice all 0-elements between any non-zero elements are removed.

    \ No newline at end of file diff --git a/docs/lab-walkthroughs/bowling.html b/docs/lab-walkthroughs/bowling.html index 79cf8b02..961be05c 100644 --- a/docs/lab-walkthroughs/bowling.html +++ b/docs/lab-walkthroughs/bowling.html @@ -3,13 +3,13 @@ -Bowling | CS102 Handbook - - - +Bowling | CS102 Handbook + + + -

    Bowling

    +

    Bowling

    Build a text-based bowling game.

    Introduction

    This lab is simple on the surface, but annoying to implement. It'll be good for refining your logic and reasoning skills. That and you'll learn how to score bowling!

    @@ -95,6 +95,6 @@

    Requirements

    Bye

    -

    Good luck! Open a ticket on Discord or come to office hours if you have any questions, as always.

    +

    Good luck! Open a ticket on Discord or come to office hours if you have any questions, as always.

    \ No newline at end of file diff --git a/docs/lab-walkthroughs/calculator.html b/docs/lab-walkthroughs/calculator.html index 5c38d35a..4fd01c1a 100644 --- a/docs/lab-walkthroughs/calculator.html +++ b/docs/lab-walkthroughs/calculator.html @@ -3,13 +3,13 @@ -Calculator | CS102 Handbook - - - +Calculator | CS102 Handbook + + + -

    Calculator

    + +
    Include <limits>

    You must include #include<limits> to use numeric_limits.

    \ No newline at end of file diff --git a/docs/lab-walkthroughs/ppm-manipulator.html b/docs/lab-walkthroughs/ppm-manipulator.html index b5e41b9e..06d89d5e 100644 --- a/docs/lab-walkthroughs/ppm-manipulator.html +++ b/docs/lab-walkthroughs/ppm-manipulator.html @@ -3,13 +3,13 @@ -PPM Manipulation | CS102 Handbook - - - +PPM Manipulation | CS102 Handbook + + + -

    PPM Manipulation

    +

    PPM Manipulation

    Manipulate images in the PPM format from the command line.

    Introduction

    This is definitely the hardest lab this semester, probably a bit harder than both blackjack, but it's also the most cool, in my opinion. The purpose of this lab is to be able to manipulate a .ppm file in several ways. It'll familiarize you more with classes, and also maybe make you think a bit.

    @@ -101,6 +101,6 @@

    Decidi
  • MANIPULATION is the only optional argument and is the one-letter representation for the manipulation we want to do. This can be any of the following: It can be X for flip_x, Y for flip_y, or I for invert. If no argument is specified, then you won't modify the image at all.
  • Reading

    -

    There are a ton of ways to do this. The meta content e.g. the header will always be in the same format, so you can read that fairly simply. Just like the last few labs, using a mixture of stringstream and getline is my recommendation, but there are other ways.

    +

    There are a ton of ways to do this. The meta content e.g. the header will always be in the same format, so you can read that fairly simply. Just like the last few labs, using a mixture of stringstream and getline is my recommendation, but there are other ways.

    \ No newline at end of file diff --git a/docs/lab-walkthroughs/speeding-ticket-calculator.html b/docs/lab-walkthroughs/speeding-ticket-calculator.html index 9eeba659..0d7b2f45 100644 --- a/docs/lab-walkthroughs/speeding-ticket-calculator.html +++ b/docs/lab-walkthroughs/speeding-ticket-calculator.html @@ -3,13 +3,13 @@ -Speeding Ticket Calculator | CS102 Handbook - - - +Speeding Ticket Calculator | CS102 Handbook + + + -

    Speeding Ticket Calculator

    +

    Speeding Ticket Calculator

    A speeding ticket calculator that reads from a file.

    Introduction

    In this lab, we'll be calculating a fine for several speeding tickets, and then outputting that fine as a report. The caveat to this lab is that the ticket we read is an actual file on the computer. So we'll be familiarizing ourselves with a few new concepts, such as reading from a file and using the fstream class.

    @@ -197,6 +197,6 @@

    References
  • Iomanip stuff
  • fstream stuff
  • -

    +
    \ No newline at end of file diff --git a/docs/reference/common-linux-commands.html b/docs/reference/common-linux-commands.html index 1a97b0df..4db6e81e 100644 --- a/docs/reference/common-linux-commands.html +++ b/docs/reference/common-linux-commands.html @@ -3,13 +3,13 @@ -Common Unix/Linux & g++ Commands | CS102 Handbook - - - +Common Unix/Linux & g++ Commands | CS102 Handbook + + + -

    Common Unix/Linux & g++ Commands

    +

    Common Unix/Linux & g++ Commands

    Tips and resources that are useful for the course.

    What is this?

    This page can be used as a reference for the basics of the COSC 102 course. It is not meant to be a complete reference, but rather a quick reference for the most common things you will need to know.

    @@ -39,7 +39,7 @@

    ssh
    # syntax
    ssh <netid>@tesla<number>.eecs.utk.edu

    # example
    ssh bricker1@hydra12.eecs.utk.edu
    note

    tesla and hydra are interchangeable. You can use either one to log into the lab machines. Also, any progress on the lab machines is transferred to the others. In other words, it doesn't matter what number or machine you use, you can always access your files from any other machine.

    Copying to and from the lab machines (scp)

    -
    note

    Here is a full ssh and scp tutorial.

    +
    note

    Here is a full ssh and scp tutorial.

    scp - Stands for Secure Copy. This command allows you to copy files from a remote server to your local computer or vice versa.

    scp Syntax

    FileNetIDNumberDestination
    The path to the file you want to copyYour UTK NetIDAny number [0,30]The path to the location you want the file copied
    @@ -109,6 +109,6 @@

    Tips &
    • Instead of typing /home/netid/ in SCP/SSH, use ~. This is basically shorthand for that path. So /home/netid is the same thing as ~.
    • When you're in a directory, you can use .. to go back one directory. So if you're in /home/netid/cosc102/labs, you can use cd .. to go back to /home/netid/cosc102
    • -

    +
    \ No newline at end of file diff --git a/docs/reference/discord.html b/docs/reference/discord.html index 3b145376..59b7942f 100644 --- a/docs/reference/discord.html +++ b/docs/reference/discord.html @@ -3,13 +3,13 @@ -Sharing Code on Discord | CS102 Handbook - - - +Sharing Code on Discord | CS102 Handbook + + + -

    Sharing Code on Discord

    +

    Sharing Code on Discord

    How to share code on Discord.

    info

    Before sharing your code on Discord, please format it first. If you're using Vim, you can format your code in normal mode by typing gg=G. If you're using VSCode, you can format your code with shift+alt+f.

    There are 3 ways to share code on Discord:

    @@ -29,17 +29,17 @@

    Copying

    You would wrap it in backticks like this:

    ```cpp
    #include <iostream>

    using namespace std;

    int main() {
    cout << "Hello World!" << endl;
    return 0;
    }
    ```

    Notice that ```cpp is all connected on a line by itself and the source code begins on a new line. This is what it should look like in Discord:

    -

    Copy and Paste Code into Discord

    +

    Copy and Paste Code into Discord

    If you've done it correctly the cpp should turn green and the code's syntax should be highlighted.

    Discord limits the size of messages you can send, so this approach is mainly useful for sharing small snippets of code and not entire files.

    Uploading a File

    -

    Uploading a file is simple, you can either select the plus icon on the left side of the message box or simply drag and drop the file into the app. Uploading a file should be a last resort. You should do your best to try to figure out which part of your program is not working and ask questions about the piece you are struggling with. We will help if you are really stuck, but please try to find bugs on your own if you can. Here is the section reference on debugging with print statements.

    +

    Uploading a file is simple, you can either select the plus icon on the left side of the message box or simply drag and drop the file into the app. Uploading a file should be a last resort. You should do your best to try to figure out which part of your program is not working and ask questions about the piece you are struggling with. We will help if you are really stuck, but please try to find bugs on your own if you can. Here is the section reference on debugging with print statements.

    Taking a Screenshot

    A screenshot is okay in some situations, but if we need to make edits to the code you have shared with us this is difficult as we cannot edit code from an image. Screenshots are best suited for problems you are having at the command line like scp and g++. If you share output from the terminal please first clear your screen (you can clear quickly by pressing ctrl + l), run ls so we can see the context in which you are working, then run the command you are struggling with and show us as much of the output as you can.

    -

    example screenshot

    +

    example screenshot

    • You can take a screenshot on Mac by pressing command + shift + 4 and then dragging your mouse to select the area you want to capture.
    • You can take a screenshot on Windows by pressing Windows + shift + s and then dragging your mouse to select the area you want to capture.
    • -
    +
    \ No newline at end of file diff --git a/docs/reference/swap-files.html b/docs/reference/swap-files.html index 6ee7ab64..145b0c17 100644 --- a/docs/reference/swap-files.html +++ b/docs/reference/swap-files.html @@ -3,13 +3,13 @@ -Swap Files | CS102 Handbook - - - +Swap Files | CS102 Handbook + + + -

    Swap Files

    +

    Swap Files

    What is a swap file?

    If you have Vim open, and a session ends unexpectedly (such as closing the terminal while Vim is open), the unsaved changes you have made will be stored in a swap file. If a swap file exists, a screen will pop up displaying the location of the swap file and a list of actions you can take.

    @@ -45,6 +45,6 @@

    Disabli

    To disable swap files in Neovim open the init.lua file

    nvim ~/.config/nvim/init.lua

    and all the following line

    -
    vim.opt.swapfile = false

    +
    vim.opt.swapfile = false
    \ No newline at end of file diff --git a/docs/reference/vim-cheatsheet.html b/docs/reference/vim-cheatsheet.html index a33410f2..afcb9648 100644 --- a/docs/reference/vim-cheatsheet.html +++ b/docs/reference/vim-cheatsheet.html @@ -3,13 +3,13 @@ -Vim Cheatsheet | CS102 Handbook - - - +Vim Cheatsheet | CS102 Handbook + + + -

    Vim Cheatsheet

    + +

    If you want to dive deeper into Vim, this YouTuber, The Primeagen is a good place to start.

    \ No newline at end of file diff --git a/docs/reference/vscode-tips.html b/docs/reference/vscode-tips.html index 98422268..6f0c0d43 100644 --- a/docs/reference/vscode-tips.html +++ b/docs/reference/vscode-tips.html @@ -3,15 +3,15 @@ -VSCode Tips | CS102 Handbook - - - +VSCode Tips | CS102 Handbook + + + -

    VSCode Tips

    +

    VSCode Tips

    Entirely optional but highly recommended.

    I highly recommend watching this video. It's short, and it will improve your productivity by a lot. Not all of the tips will apply to you for this course, but it's still worth watching.

    -
    +
    \ No newline at end of file diff --git a/docs/tutorials/ssh-and-scp.html b/docs/tutorials/ssh-and-scp.html index 5a51738d..611a799b 100644 --- a/docs/tutorials/ssh-and-scp.html +++ b/docs/tutorials/ssh-and-scp.html @@ -3,14 +3,14 @@ -SSH and SCP Tutorial | CS102 Handbook - - - +SSH and SCP Tutorial | CS102 Handbook + + + -

    SSH and SCP Tutorial

    + +

    Tutorial video by Ryan Peruski.

    \ No newline at end of file diff --git a/index.html b/index.html index ac56e022..f7efe7ae 100644 --- a/index.html +++ b/index.html @@ -3,12 +3,12 @@ -CS102 Handbook | CS102 Handbook - - - +CS102 Handbook | CS102 Handbook + + + -

    CS102 Handbook

    A collection of various helpful documentation for CS102 at UTK

    start reading
    +

    CS102 Handbook

    A collection of various helpful documentation for CS102 at UTK

    start reading
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 232cee7c..25741e84 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://ethan0429.github.io/cs102-writeups/blogweekly0.5https://ethan0429.github.io/cs102-writeups/blog/archiveweekly0.5https://ethan0429.github.io/cs102-writeups/blog/first-blog-postweekly0.5https://ethan0429.github.io/cs102-writeups/blog/long-blog-postweekly0.5https://ethan0429.github.io/cs102-writeups/blog/mdx-blog-postweekly0.5https://ethan0429.github.io/cs102-writeups/blog/tagsweekly0.5https://ethan0429.github.io/cs102-writeups/blog/tags/docusaurusweekly0.5https://ethan0429.github.io/cs102-writeups/blog/tags/facebookweekly0.5https://ethan0429.github.io/cs102-writeups/blog/tags/helloweekly0.5https://ethan0429.github.io/cs102-writeups/blog/tags/holaweekly0.5https://ethan0429.github.io/cs102-writeups/blog/welcomeweekly0.5https://ethan0429.github.io/cs102-writeups/docs/category/debuggingweekly0.5https://ethan0429.github.io/cs102-writeups/docs/category/environment-setupweekly0.5https://ethan0429.github.io/cs102-writeups/docs/category/gradingweekly0.5https://ethan0429.github.io/cs102-writeups/docs/category/in-class-lab-notesweekly0.5https://ethan0429.github.io/cs102-writeups/docs/category/lab-walkthroughsweekly0.5https://ethan0429.github.io/cs102-writeups/docs/category/referenceweekly0.5https://ethan0429.github.io/cs102-writeups/docs/category/tutorialsweekly0.5https://ethan0429.github.io/cs102-writeups/docs/debugging/segmentation-faultsweekly0.5https://ethan0429.github.io/cs102-writeups/docs/environment-setup/lab-machinesweekly0.5https://ethan0429.github.io/cs102-writeups/docs/environment-setup/macweekly0.5https://ethan0429.github.io/cs102-writeups/docs/environment-setup/windowsweekly0.5https://ethan0429.github.io/cs102-writeups/docs/grading/about-gradingweekly0.5https://ethan0429.github.io/cs102-writeups/docs/grading/cs102lingsweekly0.5https://ethan0429.github.io/cs102-writeups/docs/homeweekly0.5https://ethan0429.github.io/cs102-writeups/docs/in-class-lab-notes/bitset-notesweekly0.5https://ethan0429.github.io/cs102-writeups/docs/in-class-lab-notes/boiling-water-notesweekly0.5https://ethan0429.github.io/cs102-writeups/docs/in-class-lab-notes/bowling-notesweekly0.5https://ethan0429.github.io/cs102-writeups/docs/in-class-lab-notes/mud-notesweekly0.5https://ethan0429.github.io/cs102-writeups/docs/in-class-lab-notes/sorting-algorithmsweekly0.5https://ethan0429.github.io/cs102-writeups/docs/lab-walkthroughs/bitsetweekly0.5https://ethan0429.github.io/cs102-writeups/docs/lab-walkthroughs/bowlingweekly0.5https://ethan0429.github.io/cs102-writeups/docs/lab-walkthroughs/calculatorweekly0.5https://ethan0429.github.io/cs102-writeups/docs/lab-walkthroughs/ppm-manipulatorweekly0.5https://ethan0429.github.io/cs102-writeups/docs/lab-walkthroughs/speeding-ticket-calculatorweekly0.5https://ethan0429.github.io/cs102-writeups/docs/reference/common-linux-commandsweekly0.5https://ethan0429.github.io/cs102-writeups/docs/reference/discordweekly0.5https://ethan0429.github.io/cs102-writeups/docs/reference/swap-filesweekly0.5https://ethan0429.github.io/cs102-writeups/docs/reference/vim-cheatsheetweekly0.5https://ethan0429.github.io/cs102-writeups/docs/reference/vscode-tipsweekly0.5https://ethan0429.github.io/cs102-writeups/docs/tutorials/ssh-and-scpweekly0.5https://ethan0429.github.io/cs102-writeups/weekly0.5 \ No newline at end of file +https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blogweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/archiveweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/first-blog-postweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/long-blog-postweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/mdx-blog-postweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/tagsweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/tags/docusaurusweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/tags/facebookweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/tags/helloweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/tags/holaweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/blog/welcomeweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/category/debuggingweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/category/environment-setupweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/category/gradingweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/category/in-class-lab-notesweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/category/lab-walkthroughsweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/category/referenceweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/category/tutorialsweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/debugging/segmentation-faultsweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/environment-setup/lab-machinesweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/environment-setup/macweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/environment-setup/windowsweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/grading/about-gradingweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/grading/cs102lingsweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/homeweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/in-class-lab-notes/bitset-notesweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/in-class-lab-notes/boiling-water-notesweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/in-class-lab-notes/bowling-notesweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/in-class-lab-notes/mud-notesweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/in-class-lab-notes/sorting-algorithmsweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/lab-walkthroughs/bitsetweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/lab-walkthroughs/bowlingweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/lab-walkthroughs/calculatorweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/lab-walkthroughs/ppm-manipulatorweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/lab-walkthroughs/speeding-ticket-calculatorweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/reference/common-linux-commandsweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/reference/discordweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/reference/swap-filesweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/reference/vim-cheatsheetweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/reference/vscode-tipsweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/docs/tutorials/ssh-and-scpweekly0.5https://utk-eecs-crumpton-tas.github.io/cs102-handbook/weekly0.5 \ No newline at end of file