From 1281dc40f696111f705469feb65502716ef50c95 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 1 Jun 2024 18:44:54 +0000 Subject: [PATCH] deploy: 05d6c261eb808e222180c357aba7bd5323def77b --- .nojekyll | 0 .../figure-html/cell-50-output-1.svg | 307 +++ core.html | 1168 +++++++++ images/diagram.png | Bin 0 -> 79711 bytes index.html | 1285 ++++++++++ index_files/figure-html/cell-16-1-image.png | Bin 0 -> 29455 bytes index_files/figure-html/cell-21-1-image.png | Bin 0 -> 16816 bytes index_files/figure-html/cell-31-output-1.svg | 307 +++ index_files/figure-html/cell-32-output-1.svg | 118 + robots.txt | 1 + search.json | 102 + site_libs/bootstrap/bootstrap-icons.css | 2078 +++++++++++++++++ site_libs/bootstrap/bootstrap-icons.woff | Bin 0 -> 176200 bytes site_libs/bootstrap/bootstrap.min.css | 12 + site_libs/bootstrap/bootstrap.min.js | 7 + site_libs/clipboard/clipboard.min.js | 7 + site_libs/quarto-html/anchor.min.js | 9 + site_libs/quarto-html/popper.min.js | 6 + .../quarto-syntax-highlighting.css | 203 ++ site_libs/quarto-html/quarto.js | 899 +++++++ site_libs/quarto-html/tippy.css | 1 + site_libs/quarto-html/tippy.umd.min.js | 2 + site_libs/quarto-nav/headroom.min.js | 7 + site_libs/quarto-nav/quarto-nav.js | 289 +++ site_libs/quarto-search/autocomplete.umd.js | 3 + site_libs/quarto-search/fuse.min.js | 9 + site_libs/quarto-search/quarto-search.js | 1286 ++++++++++ sitemap.xml | 11 + styles.css | 43 + 29 files changed, 8160 insertions(+) create mode 100644 .nojekyll create mode 100644 00_core_files/figure-html/cell-50-output-1.svg create mode 100644 core.html create mode 100644 images/diagram.png create mode 100644 index.html create mode 100644 index_files/figure-html/cell-16-1-image.png create mode 100644 index_files/figure-html/cell-21-1-image.png create mode 100644 index_files/figure-html/cell-31-output-1.svg create mode 100644 index_files/figure-html/cell-32-output-1.svg create mode 100644 robots.txt create mode 100644 search.json create mode 100644 site_libs/bootstrap/bootstrap-icons.css create mode 100644 site_libs/bootstrap/bootstrap-icons.woff create mode 100644 site_libs/bootstrap/bootstrap.min.css create mode 100644 site_libs/bootstrap/bootstrap.min.js create mode 100644 site_libs/clipboard/clipboard.min.js create mode 100644 site_libs/quarto-html/anchor.min.js create mode 100644 site_libs/quarto-html/popper.min.js create mode 100644 site_libs/quarto-html/quarto-syntax-highlighting.css create mode 100644 site_libs/quarto-html/quarto.js create mode 100644 site_libs/quarto-html/tippy.css create mode 100644 site_libs/quarto-html/tippy.umd.min.js create mode 100644 site_libs/quarto-nav/headroom.min.js create mode 100644 site_libs/quarto-nav/quarto-nav.js create mode 100644 site_libs/quarto-search/autocomplete.umd.js create mode 100644 site_libs/quarto-search/fuse.min.js create mode 100644 site_libs/quarto-search/quarto-search.js create mode 100644 sitemap.xml create mode 100644 styles.css diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/00_core_files/figure-html/cell-50-output-1.svg b/00_core_files/figure-html/cell-50-output-1.svg new file mode 100644 index 0000000..f86588a --- /dev/null +++ b/00_core_files/figure-html/cell-50-output-1.svg @@ -0,0 +1,307 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 11.0.0 (20240428.1522) + --> +<!-- Title: G Pages: 1 --> +<svg width="720pt" height="505pt" + viewBox="0.00 0.00 720.00 505.47" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(0.611576 0.611576) rotate(0) translate(4 822.5)"> +<title>G</title> +<polygon fill="white" stroke="none" points="-4,4 -4,-822.5 1173.29,-822.5 1173.29,4 -4,4"/> +<!-- Album --> +<g id="node1" class="node"> +<title>Album</title> +<polygon fill="lightgray" stroke="none" points="719.54,-310.5 719.54,-333 793.04,-333 793.04,-310.5 719.54,-310.5"/> +<polygon fill="none" stroke="black" points="719.54,-310.5 719.54,-333 793.04,-333 793.04,-310.5 719.54,-310.5"/> +<text text-anchor="start" x="737.16" y="-316.7" font-family="Times,serif" font-size="14.00">Album</text> +<polygon fill="#ffebcd" stroke="none" points="719.54,-285.75 719.54,-310.5 793.04,-310.5 793.04,-285.75 719.54,-285.75"/> +<polygon fill="none" stroke="black" points="719.54,-285.75 719.54,-310.5 793.04,-310.5 793.04,-285.75 719.54,-285.75"/> +<text text-anchor="start" x="722.54" y="-294.2" font-family="Times,serif" font-size="14.00">AlbumId 🔑</text> +<polygon fill="none" stroke="black" points="719.54,-263.25 719.54,-285.75 793.04,-285.75 793.04,-263.25 719.54,-263.25"/> +<text text-anchor="start" x="743.54" y="-269.45" font-family="Times,serif" font-size="14.00">Title</text> +<polygon fill="none" stroke="black" points="719.54,-240.75 719.54,-263.25 793.04,-263.25 793.04,-240.75 719.54,-240.75"/> +<text text-anchor="start" x="735.29" y="-246.95" font-family="Times,serif" font-size="14.00">ArtistId</text> +<polygon fill="none" stroke="black" points="718.54,-239.75 718.54,-334 794.04,-334 794.04,-239.75 718.54,-239.75"/> +</g> +<!-- Artist --> +<g id="node2" class="node"> +<title>Artist</title> +<polygon fill="lightgray" stroke="none" points="1025.29,-197.25 1025.29,-219.75 1091.29,-219.75 1091.29,-197.25 1025.29,-197.25"/> +<polygon fill="none" stroke="black" points="1025.29,-197.25 1025.29,-219.75 1091.29,-219.75 1091.29,-197.25 1025.29,-197.25"/> +<text text-anchor="start" x="1042.91" y="-203.45" font-family="Times,serif" font-size="14.00">Artist</text> +<polygon fill="#ffebcd" stroke="none" points="1025.29,-172.5 1025.29,-197.25 1091.29,-197.25 1091.29,-172.5 1025.29,-172.5"/> +<polygon fill="none" stroke="black" points="1025.29,-172.5 1025.29,-197.25 1091.29,-197.25 1091.29,-172.5 1025.29,-172.5"/> +<text text-anchor="start" x="1028.29" y="-180.95" font-family="Times,serif" font-size="14.00">ArtistId 🔑</text> +<polygon fill="none" stroke="black" points="1025.29,-150 1025.29,-172.5 1091.29,-172.5 1091.29,-150 1025.29,-150"/> +<text text-anchor="start" x="1041.79" y="-156.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="1024.29,-149 1024.29,-220.75 1092.29,-220.75 1092.29,-149 1024.29,-149"/> +</g> +<!-- Album->Artist --> +<g id="edge1" class="edge"> +<title>Album:ArtistId->Artist:ArtistId</title> +<path fill="none" stroke="black" d="M794.04,-252C896.67,-252 916.3,-189.76 1012.78,-185.15"/> +<polygon fill="black" stroke="black" points="1012.86,-188.64 1022.77,-184.91 1012.69,-181.65 1012.86,-188.64"/> +</g> +<!-- Customer --> +<g id="node3" class="node"> +<title>Customer</title> +<polygon fill="lightgray" stroke="none" points="712.04,-791 712.04,-813.5 800.54,-813.5 800.54,-791 712.04,-791"/> +<polygon fill="none" stroke="black" points="712.04,-791 712.04,-813.5 800.54,-813.5 800.54,-791 712.04,-791"/> +<text text-anchor="start" x="729.66" y="-797.2" font-family="Times,serif" font-size="14.00">Customer</text> +<polygon fill="#ffebcd" stroke="none" points="712.04,-766.25 712.04,-791 800.54,-791 800.54,-766.25 712.04,-766.25"/> +<polygon fill="none" stroke="black" points="712.04,-766.25 712.04,-791 800.54,-791 800.54,-766.25 712.04,-766.25"/> +<text text-anchor="start" x="715.04" y="-774.7" font-family="Times,serif" font-size="14.00">CustomerId 🔑</text> +<polygon fill="none" stroke="black" points="712.04,-743.75 712.04,-766.25 800.54,-766.25 800.54,-743.75 712.04,-743.75"/> +<text text-anchor="start" x="727.41" y="-749.95" font-family="Times,serif" font-size="14.00">FirstName</text> +<polygon fill="none" stroke="black" points="712.04,-721.25 712.04,-743.75 800.54,-743.75 800.54,-721.25 712.04,-721.25"/> +<text text-anchor="start" x="728.16" y="-727.45" font-family="Times,serif" font-size="14.00">LastName</text> +<polygon fill="none" stroke="black" points="712.04,-698.75 712.04,-721.25 800.54,-721.25 800.54,-698.75 712.04,-698.75"/> +<text text-anchor="start" x="729.66" y="-704.95" font-family="Times,serif" font-size="14.00">Company</text> +<polygon fill="none" stroke="black" points="712.04,-676.25 712.04,-698.75 800.54,-698.75 800.54,-676.25 712.04,-676.25"/> +<text text-anchor="start" x="734.16" y="-682.45" font-family="Times,serif" font-size="14.00">Address</text> +<polygon fill="none" stroke="black" points="712.04,-653.75 712.04,-676.25 800.54,-676.25 800.54,-653.75 712.04,-653.75"/> +<text text-anchor="start" x="744.66" y="-659.95" font-family="Times,serif" font-size="14.00">City</text> +<polygon fill="none" stroke="black" points="712.04,-631.25 712.04,-653.75 800.54,-653.75 800.54,-631.25 712.04,-631.25"/> +<text text-anchor="start" x="742.79" y="-637.45" font-family="Times,serif" font-size="14.00">State</text> +<polygon fill="none" stroke="black" points="712.04,-608.75 712.04,-631.25 800.54,-631.25 800.54,-608.75 712.04,-608.75"/> +<text text-anchor="start" x="734.16" y="-614.95" font-family="Times,serif" font-size="14.00">Country</text> +<polygon fill="none" stroke="black" points="712.04,-586.25 712.04,-608.75 800.54,-608.75 800.54,-586.25 712.04,-586.25"/> +<text text-anchor="start" x="725.54" y="-592.45" font-family="Times,serif" font-size="14.00">PostalCode</text> +<polygon fill="none" stroke="black" points="712.04,-563.75 712.04,-586.25 800.54,-586.25 800.54,-563.75 712.04,-563.75"/> +<text text-anchor="start" x="739.41" y="-569.95" font-family="Times,serif" font-size="14.00">Phone</text> +<polygon fill="none" stroke="black" points="712.04,-541.25 712.04,-563.75 800.54,-563.75 800.54,-541.25 712.04,-541.25"/> +<text text-anchor="start" x="746.16" y="-547.45" font-family="Times,serif" font-size="14.00">Fax</text> +<polygon fill="none" stroke="black" points="712.04,-518.75 712.04,-541.25 800.54,-541.25 800.54,-518.75 712.04,-518.75"/> +<text text-anchor="start" x="739.79" y="-524.95" font-family="Times,serif" font-size="14.00">Email</text> +<polygon fill="none" stroke="black" points="712.04,-496.25 712.04,-518.75 800.54,-518.75 800.54,-496.25 712.04,-496.25"/> +<text text-anchor="start" x="718.41" y="-502.45" font-family="Times,serif" font-size="14.00">SupportRepId</text> +<polygon fill="none" stroke="black" points="711.04,-495.25 711.04,-814.5 801.54,-814.5 801.54,-495.25 711.04,-495.25"/> +</g> +<!-- Employee --> +<g id="node4" class="node"> +<title>Employee</title> +<polygon fill="lightgray" stroke="none" points="1012.91,-587.5 1012.91,-610 1103.66,-610 1103.66,-587.5 1012.91,-587.5"/> +<polygon fill="none" stroke="black" points="1012.91,-587.5 1012.91,-610 1103.66,-610 1103.66,-587.5 1012.91,-587.5"/> +<text text-anchor="start" x="1030.54" y="-593.7" font-family="Times,serif" font-size="14.00">Employee</text> +<polygon fill="#ffebcd" stroke="none" points="1012.91,-562.75 1012.91,-587.5 1103.66,-587.5 1103.66,-562.75 1012.91,-562.75"/> +<polygon fill="none" stroke="black" points="1012.91,-562.75 1012.91,-587.5 1103.66,-587.5 1103.66,-562.75 1012.91,-562.75"/> +<text text-anchor="start" x="1015.91" y="-571.2" font-family="Times,serif" font-size="14.00">EmployeeId 🔑</text> +<polygon fill="none" stroke="black" points="1012.91,-540.25 1012.91,-562.75 1103.66,-562.75 1103.66,-540.25 1012.91,-540.25"/> +<text text-anchor="start" x="1030.16" y="-546.45" font-family="Times,serif" font-size="14.00">LastName</text> +<polygon fill="none" stroke="black" points="1012.91,-517.75 1012.91,-540.25 1103.66,-540.25 1103.66,-517.75 1012.91,-517.75"/> +<text text-anchor="start" x="1029.41" y="-523.95" font-family="Times,serif" font-size="14.00">FirstName</text> +<polygon fill="none" stroke="black" points="1012.91,-495.25 1012.91,-517.75 1103.66,-517.75 1103.66,-495.25 1012.91,-495.25"/> +<text text-anchor="start" x="1045.54" y="-501.45" font-family="Times,serif" font-size="14.00">Title</text> +<polygon fill="none" stroke="black" points="1012.91,-472.75 1012.91,-495.25 1103.66,-495.25 1103.66,-472.75 1012.91,-472.75"/> +<text text-anchor="start" x="1029.79" y="-478.95" font-family="Times,serif" font-size="14.00">ReportsTo</text> +<polygon fill="none" stroke="black" points="1012.91,-450.25 1012.91,-472.75 1103.66,-472.75 1103.66,-450.25 1012.91,-450.25"/> +<text text-anchor="start" x="1031.66" y="-456.45" font-family="Times,serif" font-size="14.00">BirthDate</text> +<polygon fill="none" stroke="black" points="1012.91,-427.75 1012.91,-450.25 1103.66,-450.25 1103.66,-427.75 1012.91,-427.75"/> +<text text-anchor="start" x="1033.54" y="-433.95" font-family="Times,serif" font-size="14.00">HireDate</text> +<polygon fill="none" stroke="black" points="1012.91,-405.25 1012.91,-427.75 1103.66,-427.75 1103.66,-405.25 1012.91,-405.25"/> +<text text-anchor="start" x="1036.16" y="-411.45" font-family="Times,serif" font-size="14.00">Address</text> +<polygon fill="none" stroke="black" points="1012.91,-382.75 1012.91,-405.25 1103.66,-405.25 1103.66,-382.75 1012.91,-382.75"/> +<text text-anchor="start" x="1046.66" y="-388.95" font-family="Times,serif" font-size="14.00">City</text> +<polygon fill="none" stroke="black" points="1012.91,-360.25 1012.91,-382.75 1103.66,-382.75 1103.66,-360.25 1012.91,-360.25"/> +<text text-anchor="start" x="1044.79" y="-366.45" font-family="Times,serif" font-size="14.00">State</text> +<polygon fill="none" stroke="black" points="1012.91,-337.75 1012.91,-360.25 1103.66,-360.25 1103.66,-337.75 1012.91,-337.75"/> +<text text-anchor="start" x="1036.16" y="-343.95" font-family="Times,serif" font-size="14.00">Country</text> +<polygon fill="none" stroke="black" points="1012.91,-315.25 1012.91,-337.75 1103.66,-337.75 1103.66,-315.25 1012.91,-315.25"/> +<text text-anchor="start" x="1027.54" y="-321.45" font-family="Times,serif" font-size="14.00">PostalCode</text> +<polygon fill="none" stroke="black" points="1012.91,-292.75 1012.91,-315.25 1103.66,-315.25 1103.66,-292.75 1012.91,-292.75"/> +<text text-anchor="start" x="1041.41" y="-298.95" font-family="Times,serif" font-size="14.00">Phone</text> +<polygon fill="none" stroke="black" points="1012.91,-270.25 1012.91,-292.75 1103.66,-292.75 1103.66,-270.25 1012.91,-270.25"/> +<text text-anchor="start" x="1048.16" y="-276.45" font-family="Times,serif" font-size="14.00">Fax</text> +<polygon fill="none" stroke="black" points="1012.91,-247.75 1012.91,-270.25 1103.66,-270.25 1103.66,-247.75 1012.91,-247.75"/> +<text text-anchor="start" x="1041.79" y="-253.95" font-family="Times,serif" font-size="14.00">Email</text> +<polygon fill="none" stroke="black" points="1011.91,-246.75 1011.91,-611 1104.66,-611 1104.66,-246.75 1011.91,-246.75"/> +</g> +<!-- Customer->Employee --> +<g id="edge2" class="edge"> +<title>Customer:SupportRepId->Employee:EmployeeId</title> +<path fill="none" stroke="black" d="M801.54,-507.5C895.82,-507.5 912.45,-569.82 1000.51,-574.81"/> +<polygon fill="black" stroke="black" points="1000.3,-578.3 1010.4,-575.08 1000.5,-571.31 1000.3,-578.3"/> +</g> +<!-- Employee->Employee --> +<g id="edge3" class="edge"> +<title>Employee:ReportsTo->Employee:EmployeeId</title> +<path fill="none" stroke="black" d="M1013.15,-480.15C942.65,-476.98 852.91,-485.39 852.91,-529.56 852.91,-571.41 933.43,-581.16 1001.85,-579.37"/> +<polygon fill="black" stroke="black" points="1001.77,-582.88 1011.63,-579.03 1001.52,-575.88 1001.77,-582.88"/> +</g> +<!-- Genre --> +<g id="node5" class="node"> +<title>Genre</title> +<polygon fill="lightgray" stroke="none" points="722.16,-92.25 722.16,-114.75 790.41,-114.75 790.41,-92.25 722.16,-92.25"/> +<polygon fill="none" stroke="black" points="722.16,-92.25 722.16,-114.75 790.41,-114.75 790.41,-92.25 722.16,-92.25"/> +<text text-anchor="start" x="739.79" y="-98.45" font-family="Times,serif" font-size="14.00">Genre</text> +<polygon fill="#ffebcd" stroke="none" points="722.16,-67.5 722.16,-92.25 790.41,-92.25 790.41,-67.5 722.16,-67.5"/> +<polygon fill="none" stroke="black" points="722.16,-67.5 722.16,-92.25 790.41,-92.25 790.41,-67.5 722.16,-67.5"/> +<text text-anchor="start" x="725.16" y="-75.95" font-family="Times,serif" font-size="14.00">GenreId 🔑</text> +<polygon fill="none" stroke="black" points="722.16,-45 722.16,-67.5 790.41,-67.5 790.41,-45 722.16,-45"/> +<text text-anchor="start" x="739.79" y="-51.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="721.16,-44 721.16,-115.75 791.41,-115.75 791.41,-44 721.16,-44"/> +</g> +<!-- Invoice --> +<g id="node6" class="node"> +<title>Invoice</title> +<polygon fill="lightgray" stroke="none" points="386.79,-596 386.79,-618.5 491.79,-618.5 491.79,-596 386.79,-596"/> +<polygon fill="none" stroke="black" points="386.79,-596 386.79,-618.5 491.79,-618.5 491.79,-596 386.79,-596"/> +<text text-anchor="start" x="419.04" y="-602.2" font-family="Times,serif" font-size="14.00">Invoice</text> +<polygon fill="#ffebcd" stroke="none" points="386.79,-571.25 386.79,-596 491.79,-596 491.79,-571.25 386.79,-571.25"/> +<polygon fill="none" stroke="black" points="386.79,-571.25 386.79,-596 491.79,-596 491.79,-571.25 386.79,-571.25"/> +<text text-anchor="start" x="404.41" y="-579.7" font-family="Times,serif" font-size="14.00">InvoiceId 🔑</text> +<polygon fill="none" stroke="black" points="386.79,-548.75 386.79,-571.25 491.79,-571.25 491.79,-548.75 386.79,-548.75"/> +<text text-anchor="start" x="407.04" y="-554.95" font-family="Times,serif" font-size="14.00">CustomerId</text> +<polygon fill="none" stroke="black" points="386.79,-526.25 386.79,-548.75 491.79,-548.75 491.79,-526.25 386.79,-526.25"/> +<text text-anchor="start" x="406.29" y="-532.45" font-family="Times,serif" font-size="14.00">InvoiceDate</text> +<polygon fill="none" stroke="black" points="386.79,-503.75 386.79,-526.25 491.79,-526.25 491.79,-503.75 386.79,-503.75"/> +<text text-anchor="start" x="398.41" y="-509.95" font-family="Times,serif" font-size="14.00">BillingAddress</text> +<polygon fill="none" stroke="black" points="386.79,-481.25 386.79,-503.75 491.79,-503.75 491.79,-481.25 386.79,-481.25"/> +<text text-anchor="start" x="408.91" y="-487.45" font-family="Times,serif" font-size="14.00">BillingCity</text> +<polygon fill="none" stroke="black" points="386.79,-458.75 386.79,-481.25 491.79,-481.25 491.79,-458.75 386.79,-458.75"/> +<text text-anchor="start" x="407.04" y="-464.95" font-family="Times,serif" font-size="14.00">BillingState</text> +<polygon fill="none" stroke="black" points="386.79,-436.25 386.79,-458.75 491.79,-458.75 491.79,-436.25 386.79,-436.25"/> +<text text-anchor="start" x="398.41" y="-442.45" font-family="Times,serif" font-size="14.00">BillingCountry</text> +<polygon fill="none" stroke="black" points="386.79,-413.75 386.79,-436.25 491.79,-436.25 491.79,-413.75 386.79,-413.75"/> +<text text-anchor="start" x="389.79" y="-419.95" font-family="Times,serif" font-size="14.00">BillingPostalCode</text> +<polygon fill="none" stroke="black" points="386.79,-391.25 386.79,-413.75 491.79,-413.75 491.79,-391.25 386.79,-391.25"/> +<text text-anchor="start" x="425.04" y="-397.45" font-family="Times,serif" font-size="14.00">Total</text> +<polygon fill="none" stroke="black" points="385.79,-390.25 385.79,-619.5 492.79,-619.5 492.79,-390.25 385.79,-390.25"/> +</g> +<!-- Invoice->Customer --> +<g id="edge4" class="edge"> +<title>Invoice:CustomerId->Customer:CustomerId</title> +<path fill="none" stroke="black" d="M492.79,-560C626.19,-560 576.78,-766.42 699.83,-778.11"/> +<polygon fill="black" stroke="black" points="699.37,-781.59 709.52,-778.56 699.7,-774.6 699.37,-781.59"/> +</g> +<!-- InvoiceLine --> +<g id="node7" class="node"> +<title>InvoiceLine</title> +<polygon fill="lightgray" stroke="none" points="70.04,-460 70.04,-482.5 170.54,-482.5 170.54,-460 70.04,-460"/> +<polygon fill="none" stroke="black" points="70.04,-460 70.04,-482.5 170.54,-482.5 170.54,-460 70.04,-460"/> +<text text-anchor="start" x="87.66" y="-466.2" font-family="Times,serif" font-size="14.00">InvoiceLine</text> +<polygon fill="#ffebcd" stroke="none" points="70.04,-435.25 70.04,-460 170.54,-460 170.54,-435.25 70.04,-435.25"/> +<polygon fill="none" stroke="black" points="70.04,-435.25 70.04,-460 170.54,-460 170.54,-435.25 70.04,-435.25"/> +<text text-anchor="start" x="73.04" y="-443.7" font-family="Times,serif" font-size="14.00">InvoiceLineId 🔑</text> +<polygon fill="none" stroke="black" points="70.04,-412.75 70.04,-435.25 170.54,-435.25 170.54,-412.75 70.04,-412.75"/> +<text text-anchor="start" x="94.41" y="-418.95" font-family="Times,serif" font-size="14.00">InvoiceId</text> +<polygon fill="none" stroke="black" points="70.04,-390.25 70.04,-412.75 170.54,-412.75 170.54,-390.25 70.04,-390.25"/> +<text text-anchor="start" x="98.91" y="-396.45" font-family="Times,serif" font-size="14.00">TrackId</text> +<polygon fill="none" stroke="black" points="70.04,-367.75 70.04,-390.25 170.54,-390.25 170.54,-367.75 70.04,-367.75"/> +<text text-anchor="start" x="94.41" y="-373.95" font-family="Times,serif" font-size="14.00">UnitPrice</text> +<polygon fill="none" stroke="black" points="70.04,-345.25 70.04,-367.75 170.54,-367.75 170.54,-345.25 70.04,-345.25"/> +<text text-anchor="start" x="96.66" y="-351.45" font-family="Times,serif" font-size="14.00">Quantity</text> +<polygon fill="none" stroke="black" points="69.04,-344.25 69.04,-483.5 171.54,-483.5 171.54,-344.25 69.04,-344.25"/> +</g> +<!-- InvoiceLine->Invoice --> +<g id="edge6" class="edge"> +<title>InvoiceLine:InvoiceId->Invoice:InvoiceId</title> +<path fill="none" stroke="black" d="M171.54,-424C286.34,-424 268.43,-573.2 374.42,-583.11"/> +<polygon fill="black" stroke="black" points="374.13,-586.6 384.27,-583.56 374.44,-579.61 374.13,-586.6"/> +</g> +<!-- Track --> +<g id="node11" class="node"> +<title>Track</title> +<polygon fill="lightgray" stroke="none" points="399.16,-308 399.16,-330.5 479.41,-330.5 479.41,-308 399.16,-308"/> +<polygon fill="none" stroke="black" points="399.16,-308 399.16,-330.5 479.41,-330.5 479.41,-308 399.16,-308"/> +<text text-anchor="start" x="423.54" y="-314.2" font-family="Times,serif" font-size="14.00">Track</text> +<polygon fill="#ffebcd" stroke="none" points="399.16,-283.25 399.16,-308 479.41,-308 479.41,-283.25 399.16,-283.25"/> +<polygon fill="none" stroke="black" points="399.16,-283.25 399.16,-308 479.41,-308 479.41,-283.25 399.16,-283.25"/> +<text text-anchor="start" x="408.91" y="-291.7" font-family="Times,serif" font-size="14.00">TrackId 🔑</text> +<polygon fill="none" stroke="black" points="399.16,-260.75 399.16,-283.25 479.41,-283.25 479.41,-260.75 399.16,-260.75"/> +<text text-anchor="start" x="422.79" y="-266.95" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="399.16,-238.25 399.16,-260.75 479.41,-260.75 479.41,-238.25 399.16,-238.25"/> +<text text-anchor="start" x="414.54" y="-244.45" font-family="Times,serif" font-size="14.00">AlbumId</text> +<polygon fill="none" stroke="black" points="399.16,-215.75 399.16,-238.25 479.41,-238.25 479.41,-215.75 399.16,-215.75"/> +<text text-anchor="start" x="402.16" y="-221.95" font-family="Times,serif" font-size="14.00">MediaTypeId</text> +<polygon fill="none" stroke="black" points="399.16,-193.25 399.16,-215.75 479.41,-215.75 479.41,-193.25 399.16,-193.25"/> +<text text-anchor="start" x="417.16" y="-199.45" font-family="Times,serif" font-size="14.00">GenreId</text> +<polygon fill="none" stroke="black" points="399.16,-170.75 399.16,-193.25 479.41,-193.25 479.41,-170.75 399.16,-170.75"/> +<text text-anchor="start" x="411.16" y="-176.95" font-family="Times,serif" font-size="14.00">Composer</text> +<polygon fill="none" stroke="black" points="399.16,-148.25 399.16,-170.75 479.41,-170.75 479.41,-148.25 399.16,-148.25"/> +<text text-anchor="start" x="404.04" y="-154.45" font-family="Times,serif" font-size="14.00">Milliseconds</text> +<polygon fill="none" stroke="black" points="399.16,-125.75 399.16,-148.25 479.41,-148.25 479.41,-125.75 399.16,-125.75"/> +<text text-anchor="start" x="423.91" y="-131.95" font-family="Times,serif" font-size="14.00">Bytes</text> +<polygon fill="none" stroke="black" points="399.16,-103.25 399.16,-125.75 479.41,-125.75 479.41,-103.25 399.16,-103.25"/> +<text text-anchor="start" x="413.41" y="-109.45" font-family="Times,serif" font-size="14.00">UnitPrice</text> +<polygon fill="none" stroke="black" points="398.16,-102.25 398.16,-331.5 480.41,-331.5 480.41,-102.25 398.16,-102.25"/> +</g> +<!-- InvoiceLine->Track --> +<g id="edge5" class="edge"> +<title>InvoiceLine:TrackId->Track:TrackId</title> +<path fill="none" stroke="black" d="M171.54,-401.5C278.8,-401.5 286.56,-302.94 386.82,-296.01"/> +<polygon fill="black" stroke="black" points="386.77,-299.51 396.65,-295.68 386.54,-292.52 386.77,-299.51"/> +</g> +<!-- MediaType --> +<g id="node8" class="node"> +<title>MediaType</title> +<polygon fill="lightgray" stroke="none" points="707.16,-190.25 707.16,-212.75 805.41,-212.75 805.41,-190.25 707.16,-190.25"/> +<polygon fill="none" stroke="black" points="707.16,-190.25 707.16,-212.75 805.41,-212.75 805.41,-190.25 707.16,-190.25"/> +<text text-anchor="start" x="724.79" y="-196.45" font-family="Times,serif" font-size="14.00">MediaType</text> +<polygon fill="#ffebcd" stroke="none" points="707.16,-165.5 707.16,-190.25 805.41,-190.25 805.41,-165.5 707.16,-165.5"/> +<polygon fill="none" stroke="black" points="707.16,-165.5 707.16,-190.25 805.41,-190.25 805.41,-165.5 707.16,-165.5"/> +<text text-anchor="start" x="710.16" y="-173.95" font-family="Times,serif" font-size="14.00">MediaTypeId 🔑</text> +<polygon fill="none" stroke="black" points="707.16,-143 707.16,-165.5 805.41,-165.5 805.41,-143 707.16,-143"/> +<text text-anchor="start" x="739.79" y="-149.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="706.16,-142 706.16,-213.75 806.41,-213.75 806.41,-142 706.16,-142"/> +</g> +<!-- Playlist --> +<g id="node9" class="node"> +<title>Playlist</title> +<polygon fill="lightgray" stroke="none" points="401.41,-52.25 401.41,-74.75 477.16,-74.75 477.16,-52.25 401.41,-52.25"/> +<polygon fill="none" stroke="black" points="401.41,-52.25 401.41,-74.75 477.16,-74.75 477.16,-52.25 401.41,-52.25"/> +<text text-anchor="start" x="419.04" y="-58.45" font-family="Times,serif" font-size="14.00">Playlist</text> +<polygon fill="#ffebcd" stroke="none" points="401.41,-27.5 401.41,-52.25 477.16,-52.25 477.16,-27.5 401.41,-27.5"/> +<polygon fill="none" stroke="black" points="401.41,-27.5 401.41,-52.25 477.16,-52.25 477.16,-27.5 401.41,-27.5"/> +<text text-anchor="start" x="404.41" y="-35.95" font-family="Times,serif" font-size="14.00">PlaylistId 🔑</text> +<polygon fill="none" stroke="black" points="401.41,-5 401.41,-27.5 477.16,-27.5 477.16,-5 401.41,-5"/> +<text text-anchor="start" x="422.79" y="-11.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="400.41,-4 400.41,-75.75 478.16,-75.75 478.16,-4 400.41,-4"/> +</g> +<!-- PlaylistTrack --> +<g id="node10" class="node"> +<title>PlaylistTrack</title> +<polygon fill="lightgray" stroke="none" points="81.29,-226.38 81.29,-248.88 159.29,-248.88 159.29,-226.38 81.29,-226.38"/> +<polygon fill="none" stroke="black" points="81.29,-226.38 81.29,-248.88 159.29,-248.88 159.29,-226.38 81.29,-226.38"/> +<text text-anchor="start" x="84.29" y="-232.57" font-family="Times,serif" font-size="14.00">PlaylistTrack</text> +<polygon fill="#ffebcd" stroke="none" points="81.29,-201.62 81.29,-226.38 159.29,-226.38 159.29,-201.62 81.29,-201.62"/> +<polygon fill="none" stroke="black" points="81.29,-201.62 81.29,-226.38 159.29,-226.38 159.29,-201.62 81.29,-201.62"/> +<text text-anchor="start" x="85.41" y="-210.07" font-family="Times,serif" font-size="14.00">PlaylistId 🔑</text> +<polygon fill="#ffebcd" stroke="none" points="81.29,-176.88 81.29,-201.62 159.29,-201.62 159.29,-176.88 81.29,-176.88"/> +<polygon fill="none" stroke="black" points="81.29,-176.88 81.29,-201.62 159.29,-201.62 159.29,-176.88 81.29,-176.88"/> +<text text-anchor="start" x="89.91" y="-185.32" font-family="Times,serif" font-size="14.00">TrackId 🔑</text> +<polygon fill="none" stroke="black" points="80.29,-175.88 80.29,-249.88 160.29,-249.88 160.29,-175.88 80.29,-175.88"/> +</g> +<!-- PlaylistTrack->Playlist --> +<g id="edge8" class="edge"> +<title>PlaylistTrack:PlaylistId->Playlist:PlaylistId</title> +<path fill="none" stroke="black" d="M160.29,-214C288.25,-214 269.83,-49.93 389.22,-40.31"/> +<polygon fill="black" stroke="black" points="389.04,-43.82 398.9,-39.93 388.77,-36.83 389.04,-43.82"/> +</g> +<!-- PlaylistTrack->Track --> +<g id="edge7" class="edge"> +<title>PlaylistTrack:TrackId->Track:TrackId</title> +<path fill="none" stroke="black" d="M160.29,-189.25C272.14,-189.25 281.79,-288.48 386.66,-295.26"/> +<polygon fill="black" stroke="black" points="386.54,-298.76 396.65,-295.58 386.76,-291.76 386.54,-298.76"/> +</g> +<!-- Track->Album --> +<g id="edge11" class="edge"> +<title>Track:AlbumId->Album:AlbumId</title> +<path fill="none" stroke="black" d="M480.41,-249.5C584.53,-249.5 608.81,-294.67 707.16,-297.94"/> +<polygon fill="black" stroke="black" points="706.97,-301.44 717.02,-298.1 707.08,-294.44 706.97,-301.44"/> +</g> +<!-- Track->Genre --> +<g id="edge10" class="edge"> +<title>Track:GenreId->Genre:GenreId</title> +<path fill="none" stroke="black" d="M480.41,-204.5C597.01,-204.5 600.56,-87.78 709.88,-80.25"/> +<polygon fill="black" stroke="black" points="709.77,-83.76 719.65,-79.93 709.54,-76.76 709.77,-83.76"/> +</g> +<!-- Track->MediaType --> +<g id="edge9" class="edge"> +<title>Track:MediaTypeId->MediaType:MediaTypeId</title> +<path fill="none" stroke="black" d="M480.41,-227C579.18,-227 601.81,-181.55 694.78,-178.08"/> +<polygon fill="black" stroke="black" points="694.71,-181.59 704.65,-177.9 694.59,-174.59 694.71,-181.59"/> +</g> +</g> +</svg> diff --git a/core.html b/core.html new file mode 100644 index 0000000..716184c --- /dev/null +++ b/core.html @@ -0,0 +1,1168 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> + +<meta charset="utf-8"> +<meta name="generator" content="quarto-1.4.554"> + +<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> + +<meta name="description" content="Source code for fastlite"> + +<title>fastlite - Source</title> +<style> +code{white-space: pre-wrap;} +span.smallcaps{font-variant: small-caps;} +div.columns{display: flex; gap: min(4vw, 1.5em);} +div.column{flex: auto; overflow-x: auto;} +div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} +ul.task-list{list-style: none;} +ul.task-list li input[type="checkbox"] { + width: 0.8em; + margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */ + vertical-align: middle; +} +/* CSS for syntax highlighting */ +pre > code.sourceCode { white-space: pre; position: relative; } +pre > code.sourceCode > span { line-height: 1.25; } +pre > code.sourceCode > span:empty { height: 1.2em; } +.sourceCode { overflow: visible; } +code.sourceCode > span { color: inherit; text-decoration: inherit; } +div.sourceCode { margin: 1em 0; } +pre.sourceCode { margin: 0; } +@media screen { +div.sourceCode { overflow: auto; } +} +@media print { +pre > code.sourceCode { white-space: pre-wrap; } +pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } +} +pre.numberSource code + { counter-reset: source-line 0; } +pre.numberSource code > span + { position: relative; left: -4em; counter-increment: source-line; } +pre.numberSource code > span > a:first-child::before + { content: counter(source-line); + position: relative; left: -1em; text-align: right; vertical-align: baseline; + border: none; display: inline-block; + -webkit-touch-callout: none; -webkit-user-select: none; + -khtml-user-select: none; -moz-user-select: none; + -ms-user-select: none; user-select: none; + padding: 0 4px; width: 4em; + } +pre.numberSource { margin-left: 3em; padding-left: 4px; } +div.sourceCode + { } +@media screen { +pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } +} +</style> + + +<script src="site_libs/quarto-nav/quarto-nav.js"></script> +<script src="site_libs/quarto-nav/headroom.min.js"></script> +<script src="site_libs/clipboard/clipboard.min.js"></script> +<script src="site_libs/quarto-search/autocomplete.umd.js"></script> +<script src="site_libs/quarto-search/fuse.min.js"></script> +<script src="site_libs/quarto-search/quarto-search.js"></script> +<meta name="quarto:offset" content="./"> +<script src="site_libs/quarto-html/quarto.js"></script> +<script src="site_libs/quarto-html/popper.min.js"></script> +<script src="site_libs/quarto-html/tippy.umd.min.js"></script> +<script src="site_libs/quarto-html/anchor.min.js"></script> +<link href="site_libs/quarto-html/tippy.css" rel="stylesheet"> +<link href="site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" id="quarto-text-highlighting-styles"> +<script src="site_libs/bootstrap/bootstrap.min.js"></script> +<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet"> +<link href="site_libs/bootstrap/bootstrap.min.css" rel="stylesheet" id="quarto-bootstrap" data-mode="light"> +<script id="quarto-search-options" type="application/json">{ + "location": "navbar", + "copy-button": false, + "collapse-after": 3, + "panel-placement": "end", + "type": "overlay", + "limit": 50, + "keyboard-shortcut": [ + "f", + "/", + "s" + ], + "show-item-context": false, + "language": { + "search-no-results-text": "No results", + "search-matching-documents-text": "matching documents", + "search-copy-link-title": "Copy link to search", + "search-hide-matches-text": "Hide additional matches", + "search-more-match-text": "more match in this document", + "search-more-matches-text": "more matches in this document", + "search-clear-button-title": "Clear", + "search-text-placeholder": "", + "search-detached-cancel-button-title": "Cancel", + "search-submit-button-title": "Submit", + "search-label": "Search" + } +}</script> + + +<link rel="stylesheet" href="styles.css"> +<meta property="og:title" content="fastlite - Source"> +<meta property="og:description" content="Source code for fastlite"> +<meta property="og:site_name" content="fastlite"> +<meta name="twitter:title" content="fastlite - Source"> +<meta name="twitter:description" content="Source code for fastlite"> +<meta name="twitter:creator" content="@jeremyphoward"> +<meta name="twitter:site" content="@jeremyphoward"> +<meta name="twitter:card" content="summary"> +</head> + +<body class="nav-sidebar floating nav-fixed"> + +<div id="quarto-search-results"></div> + <header id="quarto-header" class="headroom fixed-top"> + <nav class="navbar navbar-expand-lg " data-bs-theme="dark"> + <div class="navbar-container container-fluid"> + <div class="navbar-brand-container mx-auto"> + <a class="navbar-brand" href="./index.html"> + <span class="navbar-title">fastlite</span> + </a> + </div> + <div id="quarto-search" class="" title="Search"></div> + <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> + <span class="navbar-toggler-icon"></span> +</button> + <div class="collapse navbar-collapse" id="navbarCollapse"> + <ul class="navbar-nav navbar-nav-scroll ms-auto"> + <li class="nav-item compact"> + <a class="nav-link" href="https://github.com/AnswerDotAI/fastlite"> <i class="bi bi-github" role="img" aria-label="GitHub"> +</i> +<span class="menu-text"></span></a> + </li> +</ul> + </div> <!-- /navcollapse --> + <div class="quarto-navbar-tools"> +</div> + </div> <!-- /container-fluid --> + </nav> + <nav class="quarto-secondary-nav"> + <div class="container-fluid d-flex"> + <button type="button" class="quarto-btn-toggle btn" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> + <i class="bi bi-layout-text-sidebar-reverse"></i> + </button> + <nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="./core.html">Source</a></li></ol></nav> + <a class="flex-grow-1" role="button" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> + </a> + </div> + </nav> +</header> +<!-- content --> +<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article page-navbar"> +<!-- sidebar --> + <nav id="quarto-sidebar" class="sidebar collapse collapse-horizontal quarto-sidebar-collapse-item sidebar-navigation floating overflow-auto"> + <div class="sidebar-menu-container"> + <ul class="list-unstyled mt-1"> + <li class="sidebar-item"> + <div class="sidebar-item-container"> + <a href="./index.html" class="sidebar-item-text sidebar-link"> + <span class="menu-text">fastlite</span></a> + </div> +</li> + <li class="sidebar-item"> + <div class="sidebar-item-container"> + <a href="./core.html" class="sidebar-item-text sidebar-link active"> + <span class="menu-text">Source</span></a> + </div> +</li> + </ul> + </div> +</nav> +<div id="quarto-sidebar-glass" class="quarto-sidebar-collapse-item" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item"></div> +<!-- margin-sidebar --> + <div id="quarto-margin-sidebar" class="sidebar margin-sidebar"> + <nav id="TOC" role="doc-toc" class="toc-active"> + <h2 id="toc-title">On this page</h2> + + <ul> + <li><a href="#metadata" id="toc-metadata" class="nav-link active" data-scroll-target="#metadata">Metadata</a> + <ul class="collapse"> + <li><a href="#database.t" id="toc-database.t" class="nav-link" data-scroll-target="#database.t">Database.t</a></li> + <li><a href="#view.c" id="toc-view.c" class="nav-link" data-scroll-target="#view.c">View.c</a></li> + <li><a href="#table.c" id="toc-table.c" class="nav-link" data-scroll-target="#table.c">Table.c</a></li> + <li><a href="#view.__str__" id="toc-view.__str__" class="nav-link" data-scroll-target="#view.__str__">View.__str__</a></li> + <li><a href="#table.__str__" id="toc-table.__str__" class="nav-link" data-scroll-target="#table.__str__">Table.__str__</a></li> + </ul></li> + <li><a href="#queries-and-views" id="toc-queries-and-views" class="nav-link" data-scroll-target="#queries-and-views">Queries and views</a> + <ul class="collapse"> + <li><a href="#database.q" id="toc-database.q" class="nav-link" data-scroll-target="#database.q">Database.q</a></li> + <li><a href="#table.dataclass" id="toc-table.dataclass" class="nav-link" data-scroll-target="#table.dataclass">Table.dataclass</a></li> + <li><a href="#all_dcs" id="toc-all_dcs" class="nav-link" data-scroll-target="#all_dcs">all_dcs</a></li> + <li><a href="#create_mod" id="toc-create_mod" class="nav-link" data-scroll-target="#create_mod">create_mod</a></li> + <li><a href="#call" id="toc-call" class="nav-link" data-scroll-target="#call"><strong>call</strong>’]</a></li> + <li><a href="#database.v" id="toc-database.v" class="nav-link" data-scroll-target="#database.v">Database.v</a></li> + </ul></li> + <li><a href="#database-diagrams" id="toc-database-diagrams" class="nav-link" data-scroll-target="#database-diagrams">Database diagrams</a> + <ul class="collapse"> + <li><a href="#diagram" id="toc-diagram" class="nav-link" data-scroll-target="#diagram">diagram</a></li> + </ul></li> + </ul> +<div class="toc-actions"><ul><li><a href="https://github.dev/AnswerDotAI/fastlite/blob/main/nbs/00_core.ipynb" class="toc-action"><i class="bi bi-github"></i>Edit this page</a></li><li><a href="https://github.com/AnswerDotAI/fastlite/issues/new" class="toc-action"><i class="bi empty"></i>Report an issue</a></li><li><a href="https://github.com/AnswerDotAI/fastlite/blob/main/nbs/00_core.ipynb" class="toc-action"><i class="bi empty"></i>View source</a></li></ul></div></nav> + </div> +<!-- main --> +<main class="content" id="quarto-document-content"> + +<header id="title-block-header" class="quarto-title-block default"> +<div class="quarto-title"> +<div class="quarto-title-block"><div><h1 class="title">Source</h1><button type="button" class="btn code-tools-button dropdown-toggle" id="quarto-code-tools-menu" data-bs-toggle="dropdown" aria-expanded="false"><i class="bi"></i> Code</button><ul class="dropdown-menu dropdown-menu-end" aria-labelelledby="quarto-code-tools-menu"><li><a id="quarto-show-all-code" class="dropdown-item" href="javascript:void(0)" role="button">Show All Code</a></li><li><a id="quarto-hide-all-code" class="dropdown-item" href="javascript:void(0)" role="button">Hide All Code</a></li></ul></div></div> +</div> + +<div> + <div class="description"> + Source code for fastlite + </div> +</div> + + +<div class="quarto-title-meta"> + + + + + </div> + + + +</header> + + +<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! --> +<section id="metadata" class="level2"> +<h2 class="anchored" data-anchor-id="metadata">Metadata</h2> +<div id="cell-3" class="cell"> +<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> IPython.display <span class="im">import</span> Markdown</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<div id="cell-4" class="cell"> +<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>db <span class="op">=</span> Database(<span class="st">"chinook.sqlite"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L38" target="_blank" style="float:right; font-size:smaller">source</a></p> +<section id="database.t" class="level3"> +<h3 class="anchored" data-anchor-id="database.t">Database.t</h3> +<blockquote class="blockquote"> +<pre><code> Database.t ()</code></pre> +</blockquote> +<div id="cell-6" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb4"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> _Getter:</span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a> <span class="co">"Abstract class with dynamic attributes providing access to DB objects"</span></span> +<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__init__</span>(<span class="va">self</span>, db): <span class="va">self</span>.db <span class="op">=</span> db</span> +<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a> <span class="co"># NB: Define `__dir__` in subclass to get list of objects</span></span> +<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__repr__</span>(<span class="va">self</span>): <span class="cf">return</span> <span class="st">", "</span>.join(<span class="bu">dir</span>(<span class="va">self</span>))</span> +<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__contains__</span>(<span class="va">self</span>, s): <span class="cf">return</span> (s <span class="cf">if</span> <span class="bu">isinstance</span>(s,<span class="bu">str</span>) <span class="cf">else</span> s.name) <span class="kw">in</span> <span class="bu">dir</span>(<span class="va">self</span>)</span> +<span id="cb4-7"><a href="#cb4-7" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__getitem__</span>(<span class="va">self</span>, idxs):</span> +<span id="cb4-8"><a href="#cb4-8" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="bu">isinstance</span>(idxs,<span class="bu">str</span>): <span class="cf">return</span> <span class="va">self</span>.db.table(idxs)</span> +<span id="cb4-9"><a href="#cb4-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> [<span class="va">self</span>.db.table(o) <span class="cf">for</span> o <span class="kw">in</span> idxs]</span> +<span id="cb4-10"><a href="#cb4-10" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__getattr__</span>(<span class="va">self</span>, k):</span> +<span id="cb4-11"><a href="#cb4-11" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> k[<span class="dv">0</span>]<span class="op">==</span><span class="st">'_'</span>: <span class="cf">raise</span> <span class="pp">AttributeError</span></span> +<span id="cb4-12"><a href="#cb4-12" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="va">self</span>.db[k]</span> +<span id="cb4-13"><a href="#cb4-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb4-14"><a href="#cb4-14" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> _TablesGetter(_Getter):</span> +<span id="cb4-15"><a href="#cb4-15" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__dir__</span>(<span class="va">self</span>): <span class="cf">return</span> <span class="va">self</span>.db.table_names()</span> +<span id="cb4-16"><a href="#cb4-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb4-17"><a href="#cb4-17" aria-hidden="true" tabindex="-1"></a><span class="at">@patch</span>(as_prop<span class="op">=</span><span class="va">True</span>)</span> +<span id="cb4-18"><a href="#cb4-18" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> t(<span class="va">self</span>:Database): <span class="cf">return</span> _TablesGetter(<span class="va">self</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<p>By returning a <a href="https://AnswerDotAI.github.io/fastlite/core.html#_tablesgetter"><code>_TablesGetter</code></a> we get a repr and auto-complete that shows all tables in the DB.</p> +<div id="cell-8" class="cell"> +<div class="sourceCode cell-code" id="cb5"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a>dt <span class="op">=</span> db.t</span> +<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a>dt</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>Album, Artist, Customer, Employee, Genre, Invoice, InvoiceLine, MediaType, Playlist, PlaylistTrack, Track, cats</code></pre> +</div> +</div> +<div id="cell-9" class="cell"> +<div class="sourceCode cell-code" id="cb7"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a>artist <span class="op">=</span> dt.Artist</span> +<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a>artist</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code><Table Artist (ArtistId, Name)></code></pre> +</div> +</div> +<p>This also can be used to get multiple tables at once.</p> +<div id="cell-11" class="cell"> +<div class="sourceCode cell-code" id="cb9"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a>dt[<span class="st">'Album'</span>,<span class="st">'Artist'</span>]</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[<Table Album (AlbumId, Title, ArtistId)>, <Table Artist (ArtistId, Name)>]</code></pre> +</div> +</div> +<div id="cell-12" class="cell"> +<div class="sourceCode cell-code" id="cb11"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="cf">assert</span> <span class="st">'Artist'</span> <span class="kw">in</span> dt</span> +<span id="cb11-2"><a href="#cb11-2" aria-hidden="true" tabindex="-1"></a><span class="cf">assert</span> artist <span class="kw">in</span> dt</span> +<span id="cb11-3"><a href="#cb11-3" aria-hidden="true" tabindex="-1"></a><span class="cf">assert</span> <span class="st">'foo'</span> <span class="kw">not</span> <span class="kw">in</span> dt</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L61" target="_blank" style="float:right; font-size:smaller">source</a></p> +</section> +<section id="view.c" class="level3"> +<h3 class="anchored" data-anchor-id="view.c">View.c</h3> +<blockquote class="blockquote"> +<pre><code> View.c ()</code></pre> +</blockquote> +<div id="cell-14" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb13"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> _Col:</span> +<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__init__</span>(<span class="va">self</span>, t, c): <span class="va">self</span>.t,<span class="va">self</span>.c <span class="op">=</span> t,c</span> +<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__str__</span>(<span class="va">self</span>): <span class="cf">return</span> <span class="ss">f'"</span><span class="sc">{</span><span class="va">self</span><span class="sc">.</span>t<span class="sc">}</span><span class="ss">"."</span><span class="sc">{</span><span class="va">self</span><span class="sc">.</span>c<span class="sc">}</span><span class="ss">"'</span></span> +<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__repr__</span>(<span class="va">self</span>): <span class="cf">return</span> <span class="va">self</span>.c</span> +<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb13-6"><a href="#cb13-6" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> _ColsGetter:</span> +<span id="cb13-7"><a href="#cb13-7" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__init__</span>(<span class="va">self</span>, tbl): <span class="va">self</span>.tbl <span class="op">=</span> tbl</span> +<span id="cb13-8"><a href="#cb13-8" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__dir__</span>(<span class="va">self</span>): <span class="cf">return</span> <span class="bu">map</span>(<span class="bu">repr</span>, <span class="va">self</span>())</span> +<span id="cb13-9"><a href="#cb13-9" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__call__</span>(<span class="va">self</span>): <span class="cf">return</span> [_Col(<span class="va">self</span>.tbl.name,o.name) <span class="cf">for</span> o <span class="kw">in</span> <span class="va">self</span>.tbl.columns]</span> +<span id="cb13-10"><a href="#cb13-10" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__contains__</span>(<span class="va">self</span>, s): <span class="cf">return</span> (s <span class="cf">if</span> <span class="bu">isinstance</span>(s,<span class="bu">str</span>) <span class="cf">else</span> s.c) <span class="kw">in</span> <span class="va">self</span>.tbl.columns_dict</span> +<span id="cb13-11"><a href="#cb13-11" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__repr__</span>(<span class="va">self</span>): <span class="cf">return</span> <span class="st">", "</span>.join(<span class="bu">dir</span>(<span class="va">self</span>))</span> +<span id="cb13-12"><a href="#cb13-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb13-13"><a href="#cb13-13" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__getattr__</span>(<span class="va">self</span>, k):</span> +<span id="cb13-14"><a href="#cb13-14" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> k[<span class="dv">0</span>]<span class="op">==</span><span class="st">'_'</span>: <span class="cf">raise</span> <span class="pp">AttributeError</span></span> +<span id="cb13-15"><a href="#cb13-15" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> _Col(<span class="va">self</span>.tbl.name, k)</span> +<span id="cb13-16"><a href="#cb13-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb13-17"><a href="#cb13-17" aria-hidden="true" tabindex="-1"></a><span class="at">@patch</span>(as_prop<span class="op">=</span><span class="va">True</span>)</span> +<span id="cb13-18"><a href="#cb13-18" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> c(<span class="va">self</span>:Table): <span class="cf">return</span> _ColsGetter(<span class="va">self</span>)</span> +<span id="cb13-19"><a href="#cb13-19" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb13-20"><a href="#cb13-20" aria-hidden="true" tabindex="-1"></a><span class="at">@patch</span>(as_prop<span class="op">=</span><span class="va">True</span>)</span> +<span id="cb13-21"><a href="#cb13-21" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> c(<span class="va">self</span>:View): <span class="cf">return</span> _ColsGetter(<span class="va">self</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L58" target="_blank" style="float:right; font-size:smaller">source</a></p> +</section> +<section id="table.c" class="level3"> +<h3 class="anchored" data-anchor-id="table.c">Table.c</h3> +<blockquote class="blockquote"> +<pre><code> Table.c ()</code></pre> +</blockquote> +<p>Column auto-complete and repr are much the same as tables.</p> +<div id="cell-17" class="cell"> +<div class="sourceCode cell-code" id="cb15"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a>ac <span class="op">=</span> artist.c</span> +<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a>ac</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>ArtistId, Name</code></pre> +</div> +</div> +<p>Columns stringify in a format suitable for including in SQL statements.</p> +<div id="cell-19" class="cell"> +<div class="sourceCode cell-code" id="cb17"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="bu">print</span>(<span class="ss">f"select </span><span class="sc">{</span>ac<span class="sc">.</span>Name<span class="sc">}</span><span class="ss"> ..."</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-stdout"> +<pre><code>select "Artist"."Name" ...</code></pre> +</div> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L68" target="_blank" style="float:right; font-size:smaller">source</a></p> +</section> +<section id="view.__str__" class="level3"> +<h3 class="anchored" data-anchor-id="view.__str__">View.__str__</h3> +<blockquote class="blockquote"> +<pre><code> View.__str__ ()</code></pre> +</blockquote> +<p><em>Return str(self).</em></p> +<div id="cell-21" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb20"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="at">@patch</span></span> +<span id="cb20-2"><a href="#cb20-2" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> <span class="fu">__str__</span>(<span class="va">self</span>:Table): <span class="cf">return</span> <span class="ss">f'"</span><span class="sc">{</span><span class="va">self</span><span class="sc">.</span>name<span class="sc">}</span><span class="ss">"'</span></span> +<span id="cb20-3"><a href="#cb20-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb20-4"><a href="#cb20-4" aria-hidden="true" tabindex="-1"></a><span class="at">@patch</span></span> +<span id="cb20-5"><a href="#cb20-5" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> <span class="fu">__str__</span>(<span class="va">self</span>:View): <span class="cf">return</span> <span class="ss">f'"</span><span class="sc">{</span><span class="va">self</span><span class="sc">.</span>name<span class="sc">}</span><span class="ss">"'</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L65" target="_blank" style="float:right; font-size:smaller">source</a></p> +</section> +<section id="table.__str__" class="level3"> +<h3 class="anchored" data-anchor-id="table.__str__">Table.__str__</h3> +<blockquote class="blockquote"> +<pre><code> Table.__str__ ()</code></pre> +</blockquote> +<p><em>Return str(self).</em></p> +<p>Tables and views do the same.</p> +<div id="cell-24" class="cell"> +<div class="sourceCode cell-code" id="cb22"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="bu">print</span>(<span class="ss">f"select </span><span class="sc">{</span>ac<span class="sc">.</span>Name<span class="sc">}</span><span class="ss"> from </span><span class="sc">{</span>artist<span class="sc">}</span><span class="ss">"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-stdout"> +<pre><code>select "Artist"."Name" from "Artist"</code></pre> +</div> +</div> +<div id="cell-25" class="cell"> +<div class="sourceCode cell-code" id="cb24"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="cf">assert</span> <span class="st">'Name'</span> <span class="kw">in</span> ac</span> +<span id="cb24-2"><a href="#cb24-2" aria-hidden="true" tabindex="-1"></a><span class="cf">assert</span> ac.Name <span class="kw">in</span> ac</span> +<span id="cb24-3"><a href="#cb24-3" aria-hidden="true" tabindex="-1"></a><span class="cf">assert</span> <span class="st">'foo'</span> <span class="kw">not</span> <span class="kw">in</span> ac</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +</section> +</section> +<section id="queries-and-views" class="level2"> +<h2 class="anchored" data-anchor-id="queries-and-views">Queries and views</h2> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L72" target="_blank" style="float:right; font-size:smaller">source</a></p> +<section id="database.q" class="level3"> +<h3 class="anchored" data-anchor-id="database.q">Database.q</h3> +<blockquote class="blockquote"> +<pre><code> Database.q (sql:str, params=None)</code></pre> +</blockquote> +<div id="cell-28" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb26"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="at">@patch</span></span> +<span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> q(<span class="va">self</span>:Database, sql: <span class="bu">str</span>, params <span class="op">=</span> <span class="va">None</span>)<span class="op">-></span><span class="bu">list</span>:</span> +<span id="cb26-3"><a href="#cb26-3" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="bu">list</span>(<span class="va">self</span>.query(sql, params<span class="op">=</span>params))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<p>This is a minor shortcut for interactive use.</p> +<div id="cell-30" class="cell"> +<div class="sourceCode cell-code" id="cb27"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a>acdc <span class="op">=</span> db.q(<span class="ss">f"select * from </span><span class="sc">{</span>artist<span class="sc">}</span><span class="ss"> where </span><span class="sc">{</span>ac<span class="sc">.</span>Name<span class="sc">}</span><span class="ss"> like 'AC/%'"</span>)</span> +<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a>acdc</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[{'ArtistId': 1, 'Name': 'AC/DC'}]</code></pre> +</div> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L81" target="_blank" style="float:right; font-size:smaller">source</a></p> +</section> +<section id="table.dataclass" class="level3"> +<h3 class="anchored" data-anchor-id="table.dataclass">Table.dataclass</h3> +<blockquote class="blockquote"> +<pre><code> Table.dataclass (store=True, suf='')</code></pre> +</blockquote> +<p><em>Create a <code>dataclass</code> with the types and defaults of this table</em></p> +<div id="cell-32" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb30"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> _get_flds(tbl): </span> +<span id="cb30-2"><a href="#cb30-2" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> [(k, v<span class="op">|</span><span class="va">None</span>, field(default<span class="op">=</span>tbl.default_values.get(k,<span class="va">None</span>)))</span> +<span id="cb30-3"><a href="#cb30-3" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> k,v <span class="kw">in</span> tbl.columns_dict.items()]</span> +<span id="cb30-4"><a href="#cb30-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb30-5"><a href="#cb30-5" aria-hidden="true" tabindex="-1"></a><span class="at">@patch</span></span> +<span id="cb30-6"><a href="#cb30-6" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> dataclass(<span class="va">self</span>:Table, store<span class="op">=</span><span class="va">True</span>, suf<span class="op">=</span><span class="st">''</span>)<span class="op">-></span><span class="bu">type</span>:</span> +<span id="cb30-7"><a href="#cb30-7" aria-hidden="true" tabindex="-1"></a> <span class="co">"Create a `dataclass` with the types and defaults of this table"</span></span> +<span id="cb30-8"><a href="#cb30-8" aria-hidden="true" tabindex="-1"></a> res <span class="op">=</span> make_dataclass(<span class="va">self</span>.name.title()<span class="op">+</span>suf, _get_flds(<span class="va">self</span>))</span> +<span id="cb30-9"><a href="#cb30-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> store: <span class="va">self</span>.cls <span class="op">=</span> res</span> +<span id="cb30-10"><a href="#cb30-10" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> res</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<div id="cell-33" class="cell"> +<div class="sourceCode cell-code" id="cb31"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true" tabindex="-1"></a>artist_dc <span class="op">=</span> artist.dataclass()</span> +<span id="cb31-2"><a href="#cb31-2" aria-hidden="true" tabindex="-1"></a>art1_obj <span class="op">=</span> artist_dc(<span class="op">**</span>acdc[<span class="dv">0</span>])</span> +<span id="cb31-3"><a href="#cb31-3" aria-hidden="true" tabindex="-1"></a>art1_obj</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>Artist(ArtistId=1, Name='AC/DC')</code></pre> +</div> +</div> +<p>You can get the definition of the dataclass using fastcore’s <code>dataclass_src</code>:</p> +<div id="cell-35" class="cell"> +<div class="sourceCode cell-code" id="cb33"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb33-1"><a href="#cb33-1" aria-hidden="true" tabindex="-1"></a>src <span class="op">=</span> dataclass_src(artist_dc)</span> +<span id="cb33-2"><a href="#cb33-2" aria-hidden="true" tabindex="-1"></a>hl_md(src, <span class="st">'python'</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display cell-output-markdown"> +<div class="sourceCode" id="cb34"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb34-1"><a href="#cb34-1" aria-hidden="true" tabindex="-1"></a><span class="at">@dataclass</span></span> +<span id="cb34-2"><a href="#cb34-2" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> Artist:</span> +<span id="cb34-3"><a href="#cb34-3" aria-hidden="true" tabindex="-1"></a> ArtistId: <span class="bu">int</span> <span class="op">|</span> <span class="va">None</span> <span class="op">=</span> <span class="va">None</span></span> +<span id="cb34-4"><a href="#cb34-4" aria-hidden="true" tabindex="-1"></a> Name: <span class="bu">str</span> <span class="op">|</span> <span class="va">None</span> <span class="op">=</span> <span class="va">None</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L88" target="_blank" style="float:right; font-size:smaller">source</a></p> +</section> +<section id="all_dcs" class="level3"> +<h3 class="anchored" data-anchor-id="all_dcs">all_dcs</h3> +<blockquote class="blockquote"> +<pre><code> all_dcs (db, with_views=False, store=True, suf='')</code></pre> +</blockquote> +<p><em>dataclasses for all objects in <code>db</code></em></p> +<div id="cell-37" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb36"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb36-1"><a href="#cb36-1" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> all_dcs(db, with_views<span class="op">=</span><span class="va">False</span>, store<span class="op">=</span><span class="va">True</span>, suf<span class="op">=</span><span class="st">''</span>):</span> +<span id="cb36-2"><a href="#cb36-2" aria-hidden="true" tabindex="-1"></a> <span class="co">"dataclasses for all objects in `db`"</span></span> +<span id="cb36-3"><a href="#cb36-3" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> [o.dataclass(store<span class="op">=</span>store, suf<span class="op">=</span>suf) <span class="cf">for</span> o <span class="kw">in</span> db.tables <span class="op">+</span> (db.views <span class="cf">if</span> with_views <span class="cf">else</span> [])]</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L93" target="_blank" style="float:right; font-size:smaller">source</a></p> +</section> +<section id="create_mod" class="level3"> +<h3 class="anchored" data-anchor-id="create_mod">create_mod</h3> +<blockquote class="blockquote"> +<pre><code> create_mod (db, mod_fn, with_views=False, store=True, suf='')</code></pre> +</blockquote> +<p><em>Create module for dataclasses for <code>db</code></em></p> +<div id="cell-39" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb38"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb38-1"><a href="#cb38-1" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> create_mod(db, mod_fn, with_views<span class="op">=</span><span class="va">False</span>, store<span class="op">=</span><span class="va">True</span>, suf<span class="op">=</span><span class="st">''</span>):</span> +<span id="cb38-2"><a href="#cb38-2" aria-hidden="true" tabindex="-1"></a> <span class="co">"Create module for dataclasses for `db`"</span></span> +<span id="cb38-3"><a href="#cb38-3" aria-hidden="true" tabindex="-1"></a> mod_fn <span class="op">=</span> <span class="bu">str</span>(mod_fn)</span> +<span id="cb38-4"><a href="#cb38-4" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="kw">not</span> mod_fn.endswith(<span class="st">'.py'</span>): mod_fn<span class="op">+=</span><span class="st">'.py'</span></span> +<span id="cb38-5"><a href="#cb38-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">with</span> <span class="bu">open</span>(mod_fn, <span class="st">'w'</span>) <span class="im">as</span> f:</span> +<span id="cb38-6"><a href="#cb38-6" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="st">'from dataclasses import dataclass'</span>, <span class="bu">file</span><span class="op">=</span>f)</span> +<span id="cb38-7"><a href="#cb38-7" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="st">'from typing import Any,Union,Optional</span><span class="ch">\n</span><span class="st">'</span>, <span class="bu">file</span><span class="op">=</span>f)</span> +<span id="cb38-8"><a href="#cb38-8" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> o <span class="kw">in</span> all_dcs(db, with_views, store<span class="op">=</span>store, suf<span class="op">=</span>suf): <span class="bu">print</span>(dataclass_src(o), <span class="bu">file</span><span class="op">=</span>f)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<div id="cell-40" class="cell"> +<div class="sourceCode cell-code" id="cb39"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb39-1"><a href="#cb39-1" aria-hidden="true" tabindex="-1"></a>create_mod(db, <span class="st">'db_dc'</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<div id="cell-41" class="cell"> +<div class="sourceCode cell-code" id="cb40"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb40-1"><a href="#cb40-1" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> db_dc <span class="im">import</span> Track</span> +<span id="cb40-2"><a href="#cb40-2" aria-hidden="true" tabindex="-1"></a>Track(<span class="op">**</span>dt.Track.get(<span class="dv">1</span>))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>Track(TrackId=1, Name='For Those About To Rock (We Salute You)', AlbumId=1, MediaTypeId=1, GenreId=1, Composer='Angus Young, Malcolm Young, Brian Johnson', Milliseconds=343719, Bytes=11170334, UnitPrice=0.99)</code></pre> +</div> +</div> +<hr> +</section> +<section id="call" class="level3"> +<h3 class="anchored" data-anchor-id="call"><strong>call</strong>’]</h3> +<p>*Built-in mutable sequence.</p> +<p>If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.*</p> +<div id="cell-43" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb42"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb42-1"><a href="#cb42-1" aria-hidden="true" tabindex="-1"></a><span class="at">@patch</span></span> +<span id="cb42-2"><a href="#cb42-2" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> <span class="fu">__call__</span>(</span> +<span id="cb42-3"><a href="#cb42-3" aria-hidden="true" tabindex="-1"></a> <span class="va">self</span>:(Table<span class="op">|</span>View), with_pk:<span class="bu">bool</span><span class="op">=</span><span class="va">False</span>, where:<span class="bu">str</span><span class="op">|</span><span class="va">None</span><span class="op">=</span><span class="va">None</span>,</span> +<span id="cb42-4"><a href="#cb42-4" aria-hidden="true" tabindex="-1"></a> where_args: Iterable<span class="op">|</span><span class="bu">dict</span><span class="op">|</span>NoneType<span class="op">=</span><span class="va">None</span>, order_by: <span class="bu">str</span><span class="op">|</span><span class="va">None</span><span class="op">=</span><span class="va">None</span>,</span> +<span id="cb42-5"><a href="#cb42-5" aria-hidden="true" tabindex="-1"></a> limit:<span class="bu">int</span><span class="op">|</span><span class="va">None</span><span class="op">=</span><span class="va">None</span>, offset:<span class="bu">int</span><span class="op">|</span><span class="va">None</span><span class="op">=</span><span class="va">None</span>, as_cls:<span class="bu">bool</span><span class="op">=</span><span class="va">True</span>, <span class="op">**</span>kwargs)<span class="op">-></span><span class="bu">list</span>:</span> +<span id="cb42-6"><a href="#cb42-6" aria-hidden="true" tabindex="-1"></a> <span class="co">"Shortcut for `rows_where` or `pks_and_rows_where`, depending on `with_pk`"</span></span> +<span id="cb42-7"><a href="#cb42-7" aria-hidden="true" tabindex="-1"></a> </span> +<span id="cb42-8"><a href="#cb42-8" aria-hidden="true" tabindex="-1"></a> f <span class="op">=</span> <span class="bu">getattr</span>(<span class="va">self</span>, <span class="st">'pks_and_rows_where'</span> <span class="cf">if</span> with_pk <span class="cf">else</span> <span class="st">'rows_where'</span>)</span> +<span id="cb42-9"><a href="#cb42-9" aria-hidden="true" tabindex="-1"></a> res <span class="op">=</span> f(where<span class="op">=</span>where, where_args<span class="op">=</span>where_args, order_by<span class="op">=</span>order_by, limit<span class="op">=</span>limit, offset<span class="op">=</span>offset, <span class="op">**</span>kwargs)</span> +<span id="cb42-10"><a href="#cb42-10" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> as_cls <span class="kw">and</span> <span class="bu">hasattr</span>(<span class="va">self</span>,<span class="st">'cls'</span>):</span> +<span id="cb42-11"><a href="#cb42-11" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> with_pk: res <span class="op">=</span> ((k,<span class="va">self</span>.cls(<span class="op">**</span>v)) <span class="cf">for</span> k,v <span class="kw">in</span> res)</span> +<span id="cb42-12"><a href="#cb42-12" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span>: res <span class="op">=</span> (<span class="va">self</span>.cls(<span class="op">**</span>o) <span class="cf">for</span> o <span class="kw">in</span> res)</span> +<span id="cb42-13"><a href="#cb42-13" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="bu">list</span>(res)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<p>This calls either <code>rows_where</code> (if <code>with_pk</code>) or <code>with_pk</code> (otherwise). If <code>dataclass(store=True)</code> has been called, then if <code>as_cls</code> rows will be returned as dataclass objects.</p> +<div id="cell-45" class="cell"> +<div class="sourceCode cell-code" id="cb43"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true" tabindex="-1"></a>artist(limit<span class="op">=</span><span class="dv">2</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[Artist(ArtistId=1, Name='AC/DC'), Artist(ArtistId=2, Name='Accept')]</code></pre> +</div> +</div> +<p>If <code>with_pk</code> then tuples are returns with PKs 1st.</p> +<div id="cell-47" class="cell"> +<div class="sourceCode cell-code" id="cb45"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true" tabindex="-1"></a>artist(<span class="va">True</span>, limit<span class="op">=</span><span class="dv">2</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[(1, Artist(ArtistId=1, Name='AC/DC')), (2, Artist(ArtistId=2, Name='Accept'))]</code></pre> +</div> +</div> +<div id="cell-48" class="cell"> +<div class="sourceCode cell-code" id="cb47"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true" tabindex="-1"></a>artist.get(<span class="dv">1</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>{'ArtistId': 1, 'Name': 'AC/DC'}</code></pre> +</div> +</div> +<div id="cell-49" class="cell"> +<div class="sourceCode cell-code" id="cb49"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true" tabindex="-1"></a>album <span class="op">=</span> dt.Album</span> +<span id="cb49-2"><a href="#cb49-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb49-3"><a href="#cb49-3" aria-hidden="true" tabindex="-1"></a>acca_sql <span class="op">=</span> <span class="ss">f"""select </span><span class="sc">{</span>album<span class="sc">}</span><span class="ss">.*</span></span> +<span id="cb49-4"><a href="#cb49-4" aria-hidden="true" tabindex="-1"></a><span class="ss">from </span><span class="sc">{</span>album<span class="sc">}</span><span class="ss"> join </span><span class="sc">{</span>artist<span class="sc">}</span><span class="ss"> using (ArtistId)</span></span> +<span id="cb49-5"><a href="#cb49-5" aria-hidden="true" tabindex="-1"></a><span class="ss">where </span><span class="sc">{</span>ac<span class="sc">.</span>Name<span class="sc">}</span><span class="ss"> like 'AC/%'"""</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<div id="cell-50" class="cell"> +<div class="sourceCode cell-code" id="cb50"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb50-1"><a href="#cb50-1" aria-hidden="true" tabindex="-1"></a>hl_md(acca_sql, <span class="st">'sql'</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display cell-output-markdown"> +<div class="sourceCode" id="cb51"><pre class="sourceCode sql code-with-copy"><code class="sourceCode sql"><span id="cb51-1"><a href="#cb51-1" aria-hidden="true" tabindex="-1"></a><span class="kw">select</span> <span class="ot">"Album"</span>.<span class="op">*</span></span> +<span id="cb51-2"><a href="#cb51-2" aria-hidden="true" tabindex="-1"></a><span class="kw">from</span> <span class="ot">"Album"</span> <span class="kw">join</span> <span class="ot">"Artist"</span> <span class="kw">using</span> (ArtistId)</span> +<span id="cb51-3"><a href="#cb51-3" aria-hidden="true" tabindex="-1"></a><span class="kw">where</span> <span class="ot">"Artist"</span>.<span class="ot">"Name"</span> <span class="kw">like</span> <span class="st">'AC/%'</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +</div> +<div id="cell-51" class="cell"> +<div class="sourceCode cell-code" id="cb52"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb52-1"><a href="#cb52-1" aria-hidden="true" tabindex="-1"></a>db.q(acca_sql)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[{'AlbumId': 1, + 'Title': 'For Those About To Rock We Salute You', + 'ArtistId': 1}, + {'AlbumId': 4, 'Title': 'Let There Be Rock', 'ArtistId': 1}]</code></pre> +</div> +</div> +<div id="cell-52" class="cell"> +<div class="sourceCode cell-code" id="cb54"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb54-1"><a href="#cb54-1" aria-hidden="true" tabindex="-1"></a>db.create_view(<span class="st">"AccaDaccaAlbums"</span>, acca_sql, replace<span class="op">=</span><span class="va">True</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code><Database <sqlite3.Connection object>></code></pre> +</div> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L122" target="_blank" style="float:right; font-size:smaller">source</a></p> +</section> +<section id="database.v" class="level3"> +<h3 class="anchored" data-anchor-id="database.v">Database.v</h3> +<blockquote class="blockquote"> +<pre><code> Database.v ()</code></pre> +</blockquote> +<div id="cell-54" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb57"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb57-1"><a href="#cb57-1" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> _ViewsGetter(_Getter):</span> +<span id="cb57-2"><a href="#cb57-2" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> <span class="fu">__dir__</span>(<span class="va">self</span>): <span class="cf">return</span> <span class="va">self</span>.db.view_names()</span> +<span id="cb57-3"><a href="#cb57-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb57-4"><a href="#cb57-4" aria-hidden="true" tabindex="-1"></a><span class="at">@patch</span>(as_prop<span class="op">=</span><span class="va">True</span>)</span> +<span id="cb57-5"><a href="#cb57-5" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> v(<span class="va">self</span>:Database): <span class="cf">return</span> _ViewsGetter(<span class="va">self</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<div id="cell-55" class="cell"> +<div class="sourceCode cell-code" id="cb58"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb58-1"><a href="#cb58-1" aria-hidden="true" tabindex="-1"></a>dv <span class="op">=</span> db.v</span> +<span id="cb58-2"><a href="#cb58-2" aria-hidden="true" tabindex="-1"></a>dv</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>AccaDaccaAlbums</code></pre> +</div> +</div> +<div id="cell-56" class="cell"> +<div class="sourceCode cell-code" id="cb60"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb60-1"><a href="#cb60-1" aria-hidden="true" tabindex="-1"></a>dv.AccaDaccaAlbums()</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[{'AlbumId': 1, + 'Title': 'For Those About To Rock We Salute You', + 'ArtistId': 1}, + {'AlbumId': 4, 'Title': 'Let There Be Rock', 'ArtistId': 1}]</code></pre> +</div> +</div> +</section> +</section> +<section id="database-diagrams" class="level2"> +<h2 class="anchored" data-anchor-id="database-diagrams">Database diagrams</h2> +<p>(Requires graphviz.)</p> +<div id="cell-59" class="cell"> +<div class="sourceCode cell-code" id="cb62"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb62-1"><a href="#cb62-1" aria-hidden="true" tabindex="-1"></a>fk <span class="op">=</span> album.foreign_keys[<span class="dv">0</span>]</span> +<span id="cb62-2"><a href="#cb62-2" aria-hidden="true" tabindex="-1"></a>fk</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>ForeignKey(table='Album', column='ArtistId', other_table='Artist', other_column='ArtistId')</code></pre> +</div> +</div> +<hr> +<p><a href="https://github.com/AnswerDotAI/fastlite/blob/main/fastlite/core.py#L143" target="_blank" style="float:right; font-size:smaller">source</a></p> +<section id="diagram" class="level3"> +<h3 class="anchored" data-anchor-id="diagram">diagram</h3> +<blockquote class="blockquote"> +<pre><code> diagram (tbls, ratio=0.7, size='10', neato=False, render=True)</code></pre> +</blockquote> +<div id="cell-61" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb65"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb65-1"><a href="#cb65-1" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> _edge(tbl):</span> +<span id="cb65-2"><a href="#cb65-2" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="st">"</span><span class="ch">\n</span><span class="st">"</span>.join(<span class="ss">f"</span><span class="sc">{</span>fk<span class="sc">.</span>table<span class="sc">}</span><span class="ss">:</span><span class="sc">{</span>fk<span class="sc">.</span>column<span class="sc">}</span><span class="ss"> -> </span><span class="sc">{</span>fk<span class="sc">.</span>other_table<span class="sc">}</span><span class="ss">:</span><span class="sc">{</span>fk<span class="sc">.</span>other_column<span class="sc">}</span><span class="ss">;"</span></span> +<span id="cb65-3"><a href="#cb65-3" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> fk <span class="kw">in</span> tbl.foreign_keys)</span> +<span id="cb65-4"><a href="#cb65-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb65-5"><a href="#cb65-5" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> _row(col):</span> +<span id="cb65-6"><a href="#cb65-6" aria-hidden="true" tabindex="-1"></a> xtra <span class="op">=</span> <span class="st">" 🔑"</span> <span class="cf">if</span> col.is_pk <span class="cf">else</span> <span class="st">""</span></span> +<span id="cb65-7"><a href="#cb65-7" aria-hidden="true" tabindex="-1"></a> bg <span class="op">=</span> <span class="st">' bgcolor="#ffebcd"'</span> <span class="cf">if</span> col.is_pk <span class="cf">else</span> <span class="st">""</span></span> +<span id="cb65-8"><a href="#cb65-8" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="ss">f' <tr><td port="</span><span class="sc">{</span>col<span class="sc">.</span>name<span class="sc">}</span><span class="ss">"</span><span class="sc">{</span>bg<span class="sc">}</span><span class="ss">></span><span class="sc">{</span>col<span class="sc">.</span>name<span class="sc">}{</span>xtra<span class="sc">}</span><span class="ss"></td></tr>'</span></span> +<span id="cb65-9"><a href="#cb65-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb65-10"><a href="#cb65-10" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> _tnode(tbl):</span> +<span id="cb65-11"><a href="#cb65-11" aria-hidden="true" tabindex="-1"></a> rows <span class="op">=</span> <span class="st">"</span><span class="ch">\n</span><span class="st">"</span>.join(_row(o) <span class="cf">for</span> o <span class="kw">in</span> tbl.columns)</span> +<span id="cb65-12"><a href="#cb65-12" aria-hidden="true" tabindex="-1"></a> res <span class="op">=</span> <span class="ss">f"""<table cellborder="1" cellspacing="0"></span></span> +<span id="cb65-13"><a href="#cb65-13" aria-hidden="true" tabindex="-1"></a><span class="ss"> <tr><td bgcolor="lightgray"></span><span class="sc">{</span>tbl<span class="sc">.</span>name<span class="sc">}</span><span class="ss"></td></tr></span></span> +<span id="cb65-14"><a href="#cb65-14" aria-hidden="true" tabindex="-1"></a><span class="sc">{</span>rows<span class="sc">}</span></span> +<span id="cb65-15"><a href="#cb65-15" aria-hidden="true" tabindex="-1"></a><span class="ss"> </table>"""</span></span> +<span id="cb65-16"><a href="#cb65-16" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="ss">f"</span><span class="sc">{</span>tbl<span class="sc">.</span>name<span class="sc">}</span><span class="ss"> [label=<</span><span class="sc">{</span>res<span class="sc">}</span><span class="ss">>];</span><span class="ch">\n</span><span class="ss">"</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<div id="cell-62" class="cell"> +<details open="" class="code-fold"> +<summary>Exported source</summary> +<div class="sourceCode cell-code" id="cb66"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb66-1"><a href="#cb66-1" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> diagram(tbls, ratio<span class="op">=</span><span class="fl">0.7</span>, size<span class="op">=</span><span class="st">"10"</span>, neato<span class="op">=</span><span class="va">False</span>, render<span class="op">=</span><span class="va">True</span>):</span> +<span id="cb66-2"><a href="#cb66-2" aria-hidden="true" tabindex="-1"></a> layout <span class="op">=</span> <span class="st">"</span><span class="ch">\n</span><span class="st">layout=neato;</span><span class="ch">\n</span><span class="st">overlap=prism;</span><span class="ch">\n</span><span class="st">overlap_scaling=0.5;"""</span> <span class="cf">if</span> neato <span class="cf">else</span> <span class="st">""</span></span> +<span id="cb66-3"><a href="#cb66-3" aria-hidden="true" tabindex="-1"></a> edges <span class="op">=</span> <span class="st">"</span><span class="ch">\n</span><span class="st">"</span>.join(<span class="bu">map</span>(_edge, tbls))</span> +<span id="cb66-4"><a href="#cb66-4" aria-hidden="true" tabindex="-1"></a> tnodes <span class="op">=</span> <span class="st">"</span><span class="ch">\n</span><span class="st">"</span>.join(<span class="bu">map</span>(_tnode, tbls))</span> +<span id="cb66-5"><a href="#cb66-5" aria-hidden="true" tabindex="-1"></a> </span> +<span id="cb66-6"><a href="#cb66-6" aria-hidden="true" tabindex="-1"></a> res <span class="op">=</span> <span class="ss">f"""digraph G </span><span class="ch">{{</span></span> +<span id="cb66-7"><a href="#cb66-7" aria-hidden="true" tabindex="-1"></a><span class="ss">rankdir=LR;</span><span class="sc">{</span>layout<span class="sc">}</span></span> +<span id="cb66-8"><a href="#cb66-8" aria-hidden="true" tabindex="-1"></a><span class="ss">size="</span><span class="sc">{</span>size<span class="sc">}</span><span class="ss">";</span></span> +<span id="cb66-9"><a href="#cb66-9" aria-hidden="true" tabindex="-1"></a><span class="ss">ratio=</span><span class="sc">{</span>ratio<span class="sc">}</span><span class="ss">;</span></span> +<span id="cb66-10"><a href="#cb66-10" aria-hidden="true" tabindex="-1"></a><span class="ss">node [shape=plaintext]</span></span> +<span id="cb66-11"><a href="#cb66-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb66-12"><a href="#cb66-12" aria-hidden="true" tabindex="-1"></a><span class="sc">{</span>tnodes<span class="sc">}</span></span> +<span id="cb66-13"><a href="#cb66-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb66-14"><a href="#cb66-14" aria-hidden="true" tabindex="-1"></a><span class="sc">{</span>edges<span class="sc">}</span></span> +<span id="cb66-15"><a href="#cb66-15" aria-hidden="true" tabindex="-1"></a><span class="ch">}}</span></span> +<span id="cb66-16"><a href="#cb66-16" aria-hidden="true" tabindex="-1"></a><span class="ss">"""</span></span> +<span id="cb66-17"><a href="#cb66-17" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> Source(res) <span class="cf">if</span> render <span class="cf">else</span> res</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</details> +</div> +<div id="cell-63" class="cell"> +<div class="sourceCode cell-code" id="cb67"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb67-1"><a href="#cb67-1" aria-hidden="true" tabindex="-1"></a>diagram(db.tables)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<div> +<figure class="figure"> +<p><img src="00_core_files/figure-html/cell-50-output-1.svg" class="img-fluid figure-img"></p> +</figure> +</div> +</div> +</div> + + +</section> +</section> + +</main> <!-- /main --> +<script id="quarto-html-after-body" type="application/javascript"> +window.document.addEventListener("DOMContentLoaded", function (event) { + const toggleBodyColorMode = (bsSheetEl) => { + const mode = bsSheetEl.getAttribute("data-mode"); + const bodyEl = window.document.querySelector("body"); + if (mode === "dark") { + bodyEl.classList.add("quarto-dark"); + bodyEl.classList.remove("quarto-light"); + } else { + bodyEl.classList.add("quarto-light"); + bodyEl.classList.remove("quarto-dark"); + } + } + const toggleBodyColorPrimary = () => { + const bsSheetEl = window.document.querySelector("link#quarto-bootstrap"); + if (bsSheetEl) { + toggleBodyColorMode(bsSheetEl); + } + } + toggleBodyColorPrimary(); + const icon = ""; + const anchorJS = new window.AnchorJS(); + anchorJS.options = { + placement: 'right', + icon: icon + }; + anchorJS.add('.anchored'); + const isCodeAnnotation = (el) => { + for (const clz of el.classList) { + if (clz.startsWith('code-annotation-')) { + return true; + } + } + return false; + } + const clipboard = new window.ClipboardJS('.code-copy-button', { + text: function(trigger) { + const codeEl = trigger.previousElementSibling.cloneNode(true); + for (const childEl of codeEl.children) { + if (isCodeAnnotation(childEl)) { + childEl.remove(); + } + } + return codeEl.innerText; + } + }); + clipboard.on('success', function(e) { + // button target + const button = e.trigger; + // don't keep focus + button.blur(); + // flash "checked" + button.classList.add('code-copy-button-checked'); + var currentTitle = button.getAttribute("title"); + button.setAttribute("title", "Copied!"); + let tooltip; + if (window.bootstrap) { + button.setAttribute("data-bs-toggle", "tooltip"); + button.setAttribute("data-bs-placement", "left"); + button.setAttribute("data-bs-title", "Copied!"); + tooltip = new bootstrap.Tooltip(button, + { trigger: "manual", + customClass: "code-copy-button-tooltip", + offset: [0, -8]}); + tooltip.show(); + } + setTimeout(function() { + if (tooltip) { + tooltip.hide(); + button.removeAttribute("data-bs-title"); + button.removeAttribute("data-bs-toggle"); + button.removeAttribute("data-bs-placement"); + } + button.setAttribute("title", currentTitle); + button.classList.remove('code-copy-button-checked'); + }, 1000); + // clear code selection + e.clearSelection(); + }); + const viewSource = window.document.getElementById('quarto-view-source') || + window.document.getElementById('quarto-code-tools-source'); + if (viewSource) { + const sourceUrl = viewSource.getAttribute("data-quarto-source-url"); + viewSource.addEventListener("click", function(e) { + if (sourceUrl) { + // rstudio viewer pane + if (/\bcapabilities=\b/.test(window.location)) { + window.open(sourceUrl); + } else { + window.location.href = sourceUrl; + } + } else { + const modal = new bootstrap.Modal(document.getElementById('quarto-embedded-source-code-modal')); + modal.show(); + } + return false; + }); + } + function toggleCodeHandler(show) { + return function(e) { + const detailsSrc = window.document.querySelectorAll(".cell > details > .sourceCode"); + for (let i=0; i<detailsSrc.length; i++) { + const details = detailsSrc[i].parentElement; + if (show) { + details.open = true; + } else { + details.removeAttribute("open"); + } + } + const cellCodeDivs = window.document.querySelectorAll(".cell > .sourceCode"); + const fromCls = show ? "hidden" : "unhidden"; + const toCls = show ? "unhidden" : "hidden"; + for (let i=0; i<cellCodeDivs.length; i++) { + const codeDiv = cellCodeDivs[i]; + if (codeDiv.classList.contains(fromCls)) { + codeDiv.classList.remove(fromCls); + codeDiv.classList.add(toCls); + } + } + return false; + } + } + const hideAllCode = window.document.getElementById("quarto-hide-all-code"); + if (hideAllCode) { + hideAllCode.addEventListener("click", toggleCodeHandler(false)); + } + const showAllCode = window.document.getElementById("quarto-show-all-code"); + if (showAllCode) { + showAllCode.addEventListener("click", toggleCodeHandler(true)); + } + var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//); + var mailtoRegex = new RegExp(/^mailto:/); + var filterRegex = new RegExp("https:\/\/AnswerDotAI\.github\.io\/fastlite"); + var isInternal = (href) => { + return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href); + } + // Inspect non-navigation links and adorn them if external + var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool)'); + for (var i=0; i<links.length; i++) { + const link = links[i]; + if (!isInternal(link.href)) { + // undo the damage that might have been done by quarto-nav.js in the case of + // links that we want to consider external + if (link.dataset.originalHref !== undefined) { + link.href = link.dataset.originalHref; + } + } + } + function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) { + const config = { + allowHTML: true, + maxWidth: 500, + delay: 100, + arrow: false, + appendTo: function(el) { + return el.parentElement; + }, + interactive: true, + interactiveBorder: 10, + theme: 'quarto', + placement: 'bottom-start', + }; + if (contentFn) { + config.content = contentFn; + } + if (onTriggerFn) { + config.onTrigger = onTriggerFn; + } + if (onUntriggerFn) { + config.onUntrigger = onUntriggerFn; + } + window.tippy(el, config); + } + const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]'); + for (var i=0; i<noterefs.length; i++) { + const ref = noterefs[i]; + tippyHover(ref, function() { + // use id or data attribute instead here + let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href'); + try { href = new URL(href).hash; } catch {} + const id = href.replace(/^#\/?/, ""); + const note = window.document.getElementById(id); + if (note) { + return note.innerHTML; + } else { + return ""; + } + }); + } + const xrefs = window.document.querySelectorAll('a.quarto-xref'); + const processXRef = (id, note) => { + // Strip column container classes + const stripColumnClz = (el) => { + el.classList.remove("page-full", "page-columns"); + if (el.children) { + for (const child of el.children) { + stripColumnClz(child); + } + } + } + stripColumnClz(note) + if (id === null || id.startsWith('sec-')) { + // Special case sections, only their first couple elements + const container = document.createElement("div"); + if (note.children && note.children.length > 2) { + container.appendChild(note.children[0].cloneNode(true)); + for (let i = 1; i < note.children.length; i++) { + const child = note.children[i]; + if (child.tagName === "P" && child.innerText === "") { + continue; + } else { + container.appendChild(child.cloneNode(true)); + break; + } + } + if (window.Quarto?.typesetMath) { + window.Quarto.typesetMath(container); + } + return container.innerHTML + } else { + if (window.Quarto?.typesetMath) { + window.Quarto.typesetMath(note); + } + return note.innerHTML; + } + } else { + // Remove any anchor links if they are present + const anchorLink = note.querySelector('a.anchorjs-link'); + if (anchorLink) { + anchorLink.remove(); + } + if (window.Quarto?.typesetMath) { + window.Quarto.typesetMath(note); + } + // TODO in 1.5, we should make sure this works without a callout special case + if (note.classList.contains("callout")) { + return note.outerHTML; + } else { + return note.innerHTML; + } + } + } + for (var i=0; i<xrefs.length; i++) { + const xref = xrefs[i]; + tippyHover(xref, undefined, function(instance) { + instance.disable(); + let url = xref.getAttribute('href'); + let hash = undefined; + if (url.startsWith('#')) { + hash = url; + } else { + try { hash = new URL(url).hash; } catch {} + } + if (hash) { + const id = hash.replace(/^#\/?/, ""); + const note = window.document.getElementById(id); + if (note !== null) { + try { + const html = processXRef(id, note.cloneNode(true)); + instance.setContent(html); + } finally { + instance.enable(); + instance.show(); + } + } else { + // See if we can fetch this + fetch(url.split('#')[0]) + .then(res => res.text()) + .then(html => { + const parser = new DOMParser(); + const htmlDoc = parser.parseFromString(html, "text/html"); + const note = htmlDoc.getElementById(id); + if (note !== null) { + const html = processXRef(id, note); + instance.setContent(html); + } + }).finally(() => { + instance.enable(); + instance.show(); + }); + } + } else { + // See if we can fetch a full url (with no hash to target) + // This is a special case and we should probably do some content thinning / targeting + fetch(url) + .then(res => res.text()) + .then(html => { + const parser = new DOMParser(); + const htmlDoc = parser.parseFromString(html, "text/html"); + const note = htmlDoc.querySelector('main.content'); + if (note !== null) { + // This should only happen for chapter cross references + // (since there is no id in the URL) + // remove the first header + if (note.children.length > 0 && note.children[0].tagName === "HEADER") { + note.children[0].remove(); + } + const html = processXRef(null, note); + instance.setContent(html); + } + }).finally(() => { + instance.enable(); + instance.show(); + }); + } + }, function(instance) { + }); + } + let selectedAnnoteEl; + const selectorForAnnotation = ( cell, annotation) => { + let cellAttr = 'data-code-cell="' + cell + '"'; + let lineAttr = 'data-code-annotation="' + annotation + '"'; + const selector = 'span[' + cellAttr + '][' + lineAttr + ']'; + return selector; + } + const selectCodeLines = (annoteEl) => { + const doc = window.document; + const targetCell = annoteEl.getAttribute("data-target-cell"); + const targetAnnotation = annoteEl.getAttribute("data-target-annotation"); + const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation)); + const lines = annoteSpan.getAttribute("data-code-lines").split(","); + const lineIds = lines.map((line) => { + return targetCell + "-" + line; + }) + let top = null; + let height = null; + let parent = null; + if (lineIds.length > 0) { + //compute the position of the single el (top and bottom and make a div) + const el = window.document.getElementById(lineIds[0]); + top = el.offsetTop; + height = el.offsetHeight; + parent = el.parentElement.parentElement; + if (lineIds.length > 1) { + const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]); + const bottom = lastEl.offsetTop + lastEl.offsetHeight; + height = bottom - top; + } + if (top !== null && height !== null && parent !== null) { + // cook up a div (if necessary) and position it + let div = window.document.getElementById("code-annotation-line-highlight"); + if (div === null) { + div = window.document.createElement("div"); + div.setAttribute("id", "code-annotation-line-highlight"); + div.style.position = 'absolute'; + parent.appendChild(div); + } + div.style.top = top - 2 + "px"; + div.style.height = height + 4 + "px"; + div.style.left = 0; + let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter"); + if (gutterDiv === null) { + gutterDiv = window.document.createElement("div"); + gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter"); + gutterDiv.style.position = 'absolute'; + const codeCell = window.document.getElementById(targetCell); + const gutter = codeCell.querySelector('.code-annotation-gutter'); + gutter.appendChild(gutterDiv); + } + gutterDiv.style.top = top - 2 + "px"; + gutterDiv.style.height = height + 4 + "px"; + } + selectedAnnoteEl = annoteEl; + } + }; + const unselectCodeLines = () => { + const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"]; + elementsIds.forEach((elId) => { + const div = window.document.getElementById(elId); + if (div) { + div.remove(); + } + }); + selectedAnnoteEl = undefined; + }; + // Handle positioning of the toggle + window.addEventListener( + "resize", + throttle(() => { + elRect = undefined; + if (selectedAnnoteEl) { + selectCodeLines(selectedAnnoteEl); + } + }, 10) + ); + function throttle(fn, ms) { + let throttle = false; + let timer; + return (...args) => { + if(!throttle) { // first call gets through + fn.apply(this, args); + throttle = true; + } else { // all the others get throttled + if(timer) clearTimeout(timer); // cancel #2 + timer = setTimeout(() => { + fn.apply(this, args); + timer = throttle = false; + }, ms); + } + }; + } + // Attach click handler to the DT + const annoteDls = window.document.querySelectorAll('dt[data-target-cell]'); + for (const annoteDlNode of annoteDls) { + annoteDlNode.addEventListener('click', (event) => { + const clickedEl = event.target; + if (clickedEl !== selectedAnnoteEl) { + unselectCodeLines(); + const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active'); + if (activeEl) { + activeEl.classList.remove('code-annotation-active'); + } + selectCodeLines(clickedEl); + clickedEl.classList.add('code-annotation-active'); + } else { + // Unselect the line + unselectCodeLines(); + clickedEl.classList.remove('code-annotation-active'); + } + }); + } + const findCites = (el) => { + const parentEl = el.parentElement; + if (parentEl) { + const cites = parentEl.dataset.cites; + if (cites) { + return { + el, + cites: cites.split(' ') + }; + } else { + return findCites(el.parentElement) + } + } else { + return undefined; + } + }; + var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]'); + for (var i=0; i<bibliorefs.length; i++) { + const ref = bibliorefs[i]; + const citeInfo = findCites(ref); + if (citeInfo) { + tippyHover(citeInfo.el, function() { + var popup = window.document.createElement('div'); + citeInfo.cites.forEach(function(cite) { + var citeDiv = window.document.createElement('div'); + citeDiv.classList.add('hanging-indent'); + citeDiv.classList.add('csl-entry'); + var biblioDiv = window.document.getElementById('ref-' + cite); + if (biblioDiv) { + citeDiv.innerHTML = biblioDiv.innerHTML; + } + popup.appendChild(citeDiv); + }); + return popup.innerHTML; + }); + } + } +}); +</script> +</div> <!-- /content --> + + + + +<footer class="footer"><div class="nav-footer"><div class="nav-footer-center"><div class="toc-actions d-sm-block d-md-none"><ul><li><a href="https://github.dev/AnswerDotAI/fastlite/blob/main/nbs/00_core.ipynb" class="toc-action"><i class="bi bi-github"></i>Edit this page</a></li><li><a href="https://github.com/AnswerDotAI/fastlite/issues/new" class="toc-action"><i class="bi empty"></i>Report an issue</a></li><li><a href="https://github.com/AnswerDotAI/fastlite/blob/main/nbs/00_core.ipynb" class="toc-action"><i class="bi empty"></i>View source</a></li></ul></div></div></div></footer></body></html> \ No newline at end of file diff --git a/images/diagram.png b/images/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..0ca8d8402e9c9ce1922cd613de081de44d8513b7 GIT binary patch literal 79711 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%0A_;P_w~1BEo-c|J==5LC0_rql(7C(rRMyf;&bS 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..a15e86c --- /dev/null +++ b/index.html @@ -0,0 +1,1285 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> + +<meta charset="utf-8"> +<meta name="generator" content="quarto-1.4.554"> + +<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> + +<meta name="description" content="A bit of extra usability for sqlite"> + +<title>fastlite</title> +<style> +code{white-space: pre-wrap;} +span.smallcaps{font-variant: small-caps;} +div.columns{display: flex; gap: min(4vw, 1.5em);} +div.column{flex: auto; overflow-x: auto;} +div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} +ul.task-list{list-style: none;} +ul.task-list li input[type="checkbox"] { + width: 0.8em; + margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */ + vertical-align: middle; +} +/* CSS for syntax highlighting */ +pre > code.sourceCode { white-space: pre; position: relative; } +pre > code.sourceCode > span { line-height: 1.25; } +pre > code.sourceCode > span:empty { height: 1.2em; } +.sourceCode { overflow: visible; } +code.sourceCode > span { color: inherit; text-decoration: inherit; } +div.sourceCode { margin: 1em 0; } +pre.sourceCode { margin: 0; } +@media screen { +div.sourceCode { overflow: auto; } +} +@media print { +pre > code.sourceCode { white-space: pre-wrap; } +pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } +} +pre.numberSource code + { counter-reset: source-line 0; } +pre.numberSource code > span + { position: relative; left: -4em; counter-increment: source-line; } +pre.numberSource code > span > a:first-child::before + { content: counter(source-line); + position: relative; left: -1em; text-align: right; vertical-align: baseline; + border: none; display: inline-block; + -webkit-touch-callout: none; -webkit-user-select: none; + -khtml-user-select: none; -moz-user-select: none; + -ms-user-select: none; user-select: none; + padding: 0 4px; width: 4em; + } +pre.numberSource { margin-left: 3em; padding-left: 4px; } +div.sourceCode + { } +@media screen { +pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } +} +</style> + + +<script src="site_libs/quarto-nav/quarto-nav.js"></script> +<script src="site_libs/quarto-nav/headroom.min.js"></script> +<script src="site_libs/clipboard/clipboard.min.js"></script> +<script src="site_libs/quarto-search/autocomplete.umd.js"></script> +<script src="site_libs/quarto-search/fuse.min.js"></script> +<script src="site_libs/quarto-search/quarto-search.js"></script> +<meta name="quarto:offset" content="./"> +<script src="site_libs/quarto-html/quarto.js"></script> +<script src="site_libs/quarto-html/popper.min.js"></script> +<script src="site_libs/quarto-html/tippy.umd.min.js"></script> +<script src="site_libs/quarto-html/anchor.min.js"></script> +<link href="site_libs/quarto-html/tippy.css" rel="stylesheet"> +<link href="site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" id="quarto-text-highlighting-styles"> +<script src="site_libs/bootstrap/bootstrap.min.js"></script> +<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet"> +<link href="site_libs/bootstrap/bootstrap.min.css" rel="stylesheet" id="quarto-bootstrap" data-mode="light"> +<script id="quarto-search-options" type="application/json">{ + "location": "navbar", + "copy-button": false, + "collapse-after": 3, + "panel-placement": "end", + "type": "overlay", + "limit": 50, + "keyboard-shortcut": [ + "f", + "/", + "s" + ], + "show-item-context": false, + "language": { + "search-no-results-text": "No results", + "search-matching-documents-text": "matching documents", + "search-copy-link-title": "Copy link to search", + "search-hide-matches-text": "Hide additional matches", + "search-more-match-text": "more match in this document", + "search-more-matches-text": "more matches in this document", + "search-clear-button-title": "Clear", + "search-text-placeholder": "", + "search-detached-cancel-button-title": "Cancel", + "search-submit-button-title": "Submit", + "search-label": "Search" + } +}</script> + + +<link rel="stylesheet" href="styles.css"> +<meta property="og:title" content="fastlite"> +<meta property="og:description" content="A bit of extra usability for sqlite"> +<meta property="og:image" content="https://AnswerDotAI.github.io/fastlite/images/diagram.png"> +<meta property="og:site_name" content="fastlite"> +<meta property="og:image:height" content="372"> +<meta property="og:image:width" content="800"> +<meta name="twitter:title" content="fastlite"> +<meta name="twitter:description" content="A bit of extra usability for sqlite"> +<meta name="twitter:image" content="https://AnswerDotAI.github.io/fastlite/images/diagram.png"> +<meta name="twitter:creator" content="@jeremyphoward"> +<meta name="twitter:site" content="@jeremyphoward"> +<meta name="twitter:card" content="summary"> +<meta name="twitter:image-height" content="372"> +<meta name="twitter:image-width" content="800"> +</head> + +<body class="nav-sidebar floating nav-fixed"> + +<div id="quarto-search-results"></div> + <header id="quarto-header" class="headroom fixed-top"> + <nav class="navbar navbar-expand-lg " data-bs-theme="dark"> + <div class="navbar-container container-fluid"> + <div class="navbar-brand-container mx-auto"> + <a class="navbar-brand" href="./index.html"> + <span class="navbar-title">fastlite</span> + </a> + </div> + <div id="quarto-search" class="" title="Search"></div> + <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> + <span class="navbar-toggler-icon"></span> +</button> + <div class="collapse navbar-collapse" id="navbarCollapse"> + <ul class="navbar-nav navbar-nav-scroll ms-auto"> + <li class="nav-item compact"> + <a class="nav-link" href="https://github.com/AnswerDotAI/fastlite"> <i class="bi bi-github" role="img" aria-label="GitHub"> +</i> +<span class="menu-text"></span></a> + </li> +</ul> + </div> <!-- /navcollapse --> + <div class="quarto-navbar-tools"> +</div> + </div> <!-- /container-fluid --> + </nav> + <nav class="quarto-secondary-nav"> + <div class="container-fluid d-flex"> + <button type="button" class="quarto-btn-toggle btn" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> + <i class="bi bi-layout-text-sidebar-reverse"></i> + </button> + <nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="./index.html">fastlite</a></li></ol></nav> + <a class="flex-grow-1" role="button" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> + </a> + </div> + </nav> +</header> +<!-- content --> +<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article page-navbar"> +<!-- sidebar --> + <nav id="quarto-sidebar" class="sidebar collapse collapse-horizontal quarto-sidebar-collapse-item sidebar-navigation floating overflow-auto"> + <div class="sidebar-menu-container"> + <ul class="list-unstyled mt-1"> + <li class="sidebar-item"> + <div class="sidebar-item-container"> + <a href="./index.html" class="sidebar-item-text sidebar-link active"> + <span class="menu-text">fastlite</span></a> + </div> +</li> + <li class="sidebar-item"> + <div class="sidebar-item-container"> + <a href="./core.html" class="sidebar-item-text sidebar-link"> + <span class="menu-text">Source</span></a> + </div> +</li> + </ul> + </div> +</nav> +<div id="quarto-sidebar-glass" class="quarto-sidebar-collapse-item" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item"></div> +<!-- margin-sidebar --> + <div id="quarto-margin-sidebar" class="sidebar margin-sidebar"> + <nav id="TOC" role="doc-toc" class="toc-active"> + <h2 id="toc-title">On this page</h2> + + <ul> + <li><a href="#install" id="toc-install" class="nav-link active" data-scroll-target="#install">Install</a></li> + <li><a href="#overview" id="toc-overview" class="nav-link" data-scroll-target="#overview">Overview</a></li> + <li><a href="#dataclass-support" id="toc-dataclass-support" class="nav-link" data-scroll-target="#dataclass-support">Dataclass support</a></li> + <li><a href="#insert-upsert-and-update" id="toc-insert-upsert-and-update" class="nav-link" data-scroll-target="#insert-upsert-and-update">Insert, upsert, and update</a></li> + <li><a href="#diagrams" id="toc-diagrams" class="nav-link" data-scroll-target="#diagrams">Diagrams</a></li> + </ul> +<div class="toc-actions"><ul><li><a href="https://github.dev/AnswerDotAI/fastlite/blob/main/nbs/index.ipynb" class="toc-action"><i class="bi bi-github"></i>Edit this page</a></li><li><a href="https://github.com/AnswerDotAI/fastlite/issues/new" class="toc-action"><i class="bi empty"></i>Report an issue</a></li><li><a href="https://github.com/AnswerDotAI/fastlite/blob/main/nbs/index.ipynb" class="toc-action"><i class="bi empty"></i>View source</a></li></ul></div></nav> + </div> +<!-- main --> +<main class="content" id="quarto-document-content"> + +<header id="title-block-header" class="quarto-title-block default"> +<div class="quarto-title"> +<h1 class="title">fastlite</h1> +</div> + +<div> + <div class="description"> + A bit of extra usability for sqlite + </div> +</div> + + +<div class="quarto-title-meta"> + + + + + </div> + + + +</header> + + +<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! --> +<p><code>fastlite</code> provides some little quality-of-life improvements for interactive use of the wonderful <a href="https://sqlite-utils.datasette.io/">sqlite-utils</a> library. It’s likely to be particularly of interest to folks using Jupyter.</p> +<section id="install" class="level2"> +<h2 class="anchored" data-anchor-id="install">Install</h2> +<pre><code>pip install fastlite</code></pre> +</section> +<section id="overview" class="level2"> +<h2 class="anchored" data-anchor-id="overview">Overview</h2> +<div id="cell-6" class="cell"> +<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> sqlite_utils <span class="im">import</span> Database</span> +<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> fastlite <span class="im">import</span> <span class="op">*</span></span> +<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> fastcore.utils <span class="im">import</span> <span class="op">*</span></span> +<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> fastcore.net <span class="im">import</span> urlsave</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<p>We demonstrate <code>fastlite</code>‘s features here using the ’chinook’ sample database.</p> +<div id="cell-8" class="cell"> +<div class="sourceCode cell-code" id="cb3"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>url <span class="op">=</span> <span class="st">'https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite'</span></span> +<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>path <span class="op">=</span> Path(<span class="st">'chinook.sqlite'</span>)</span> +<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> <span class="kw">not</span> path.exists(): urlsave(url, path)</span> +<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a>db <span class="op">=</span> Database(<span class="st">"chinook.sqlite"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<p>Databases have a <code>t</code> property that lists all tables:</p> +<div id="cell-10" class="cell"> +<div class="sourceCode cell-code" id="cb4"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a>dt <span class="op">=</span> db.t</span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a>dt</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>Album, Artist, Customer, Employee, Genre, Invoice, InvoiceLine, MediaType, Playlist, PlaylistTrack, Track</code></pre> +</div> +</div> +<p>You can use this to grab a single table…:</p> +<div id="cell-12" class="cell"> +<div class="sourceCode cell-code" id="cb6"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a>artist <span class="op">=</span> dt.Artist</span> +<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a>artist</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code><Table Artist (ArtistId, Name)></code></pre> +</div> +</div> +<div id="cell-13" class="cell"> +<div class="sourceCode cell-code" id="cb8"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a>artist()</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[{'ArtistId': 1, 'Name': 'AC/DC'}, + {'ArtistId': 2, 'Name': 'Accept'}, + {'ArtistId': 3, 'Name': 'Aerosmith'}, + {'ArtistId': 4, 'Name': 'Alanis Morissette'}, + {'ArtistId': 5, 'Name': 'Alice In Chains'}, + {'ArtistId': 6, 'Name': 'Antônio Carlos Jobim'}, + {'ArtistId': 7, 'Name': 'Apocalyptica'}, + {'ArtistId': 8, 'Name': 'Audioslave'}, + {'ArtistId': 9, 'Name': 'BackBeat'}, + {'ArtistId': 10, 'Name': 'Billy Cobham'}, + {'ArtistId': 11, 'Name': 'Black Label Society'}, + {'ArtistId': 12, 'Name': 'Black Sabbath'}, + {'ArtistId': 13, 'Name': 'Body Count'}, + {'ArtistId': 14, 'Name': 'Bruce Dickinson'}, + {'ArtistId': 15, 'Name': 'Buddy Guy'}, + {'ArtistId': 16, 'Name': 'Caetano Veloso'}, + {'ArtistId': 17, 'Name': 'Chico Buarque'}, + {'ArtistId': 18, 'Name': 'Chico Science & Nação Zumbi'}, + {'ArtistId': 19, 'Name': 'Cidade Negra'}, + {'ArtistId': 20, 'Name': 'Cláudio Zoli'}, + {'ArtistId': 21, 'Name': 'Various Artists'}, + {'ArtistId': 22, 'Name': 'Led Zeppelin'}, + {'ArtistId': 23, 'Name': 'Frank Zappa & Captain Beefheart'}, + {'ArtistId': 24, 'Name': 'Marcos Valle'}, + {'ArtistId': 25, 'Name': 'Milton Nascimento & Bebeto'}, + {'ArtistId': 26, 'Name': 'Azymuth'}, + {'ArtistId': 27, 'Name': 'Gilberto Gil'}, + {'ArtistId': 28, 'Name': 'João Gilberto'}, + {'ArtistId': 29, 'Name': 'Bebel Gilberto'}, + {'ArtistId': 30, 'Name': 'Jorge Vercilo'}, + {'ArtistId': 31, 'Name': 'Baby Consuelo'}, + {'ArtistId': 32, 'Name': 'Ney Matogrosso'}, + {'ArtistId': 33, 'Name': 'Luiz Melodia'}, + {'ArtistId': 34, 'Name': 'Nando Reis'}, + {'ArtistId': 35, 'Name': 'Pedro LuÃs & A Parede'}, + {'ArtistId': 36, 'Name': 'O Rappa'}, + {'ArtistId': 37, 'Name': 'Ed Motta'}, + {'ArtistId': 38, 'Name': 'Banda Black Rio'}, + {'ArtistId': 39, 'Name': 'Fernanda Porto'}, + {'ArtistId': 40, 'Name': 'Os Cariocas'}, + {'ArtistId': 41, 'Name': 'Elis Regina'}, + {'ArtistId': 42, 'Name': 'Milton Nascimento'}, + {'ArtistId': 43, 'Name': 'A Cor Do Som'}, + {'ArtistId': 44, 'Name': 'Kid Abelha'}, + {'ArtistId': 45, 'Name': 'Sandra De Sá'}, + {'ArtistId': 46, 'Name': 'Jorge Ben'}, + {'ArtistId': 47, 'Name': 'Hermeto Pascoal'}, + {'ArtistId': 48, 'Name': 'Barão Vermelho'}, + {'ArtistId': 49, + 'Name': 'Edson, DJ Marky & DJ Patife Featuring Fernanda Porto'}, + {'ArtistId': 50, 'Name': 'Metallica'}, + {'ArtistId': 51, 'Name': 'Queen'}, + {'ArtistId': 52, 'Name': 'Kiss'}, + {'ArtistId': 53, 'Name': 'Spyro Gyra'}, + {'ArtistId': 54, 'Name': 'Green Day'}, + {'ArtistId': 55, 'Name': 'David Coverdale'}, + {'ArtistId': 56, 'Name': 'Gonzaguinha'}, + {'ArtistId': 57, 'Name': 'Os Mutantes'}, + {'ArtistId': 58, 'Name': 'Deep Purple'}, + {'ArtistId': 59, 'Name': 'Santana'}, + {'ArtistId': 60, 'Name': 'Santana Feat. Dave Matthews'}, + {'ArtistId': 61, 'Name': 'Santana Feat. Everlast'}, + {'ArtistId': 62, 'Name': 'Santana Feat. Rob Thomas'}, + {'ArtistId': 63, 'Name': 'Santana Feat. Lauryn Hill & Cee-Lo'}, + {'ArtistId': 64, 'Name': 'Santana Feat. The Project G&B'}, + {'ArtistId': 65, 'Name': 'Santana Feat. Maná'}, + {'ArtistId': 66, 'Name': 'Santana Feat. Eagle-Eye Cherry'}, + {'ArtistId': 67, 'Name': 'Santana Feat. Eric Clapton'}, + {'ArtistId': 68, 'Name': 'Miles Davis'}, + {'ArtistId': 69, 'Name': 'Gene Krupa'}, + {'ArtistId': 70, 'Name': 'Toquinho & VinÃcius'}, + {'ArtistId': 71, 'Name': 'VinÃcius De Moraes & Baden Powell'}, + {'ArtistId': 72, 'Name': 'VinÃcius De Moraes'}, + {'ArtistId': 73, 'Name': 'VinÃcius E Qurteto Em Cy'}, + {'ArtistId': 74, 'Name': 'VinÃcius E Odette Lara'}, + {'ArtistId': 75, 'Name': 'Vinicius, Toquinho & Quarteto Em Cy'}, + {'ArtistId': 76, 'Name': 'Creedence Clearwater Revival'}, + {'ArtistId': 77, 'Name': 'Cássia Eller'}, + {'ArtistId': 78, 'Name': 'Def Leppard'}, + {'ArtistId': 79, 'Name': 'Dennis Chambers'}, + {'ArtistId': 80, 'Name': 'Djavan'}, + {'ArtistId': 81, 'Name': 'Eric Clapton'}, + {'ArtistId': 82, 'Name': 'Faith No More'}, + {'ArtistId': 83, 'Name': 'Falamansa'}, + {'ArtistId': 84, 'Name': 'Foo Fighters'}, + {'ArtistId': 85, 'Name': 'Frank Sinatra'}, + {'ArtistId': 86, 'Name': 'Funk Como Le Gusta'}, + {'ArtistId': 87, 'Name': 'Godsmack'}, + {'ArtistId': 88, 'Name': "Guns N' Roses"}, + {'ArtistId': 89, 'Name': 'Incognito'}, + {'ArtistId': 90, 'Name': 'Iron Maiden'}, + {'ArtistId': 91, 'Name': 'James Brown'}, + {'ArtistId': 92, 'Name': 'Jamiroquai'}, + {'ArtistId': 93, 'Name': 'JET'}, + {'ArtistId': 94, 'Name': 'Jimi Hendrix'}, + {'ArtistId': 95, 'Name': 'Joe Satriani'}, + {'ArtistId': 96, 'Name': 'Jota Quest'}, + {'ArtistId': 97, 'Name': 'João Suplicy'}, + {'ArtistId': 98, 'Name': 'Judas Priest'}, + {'ArtistId': 99, 'Name': 'Legião Urbana'}, + {'ArtistId': 100, 'Name': 'Lenny Kravitz'}, + {'ArtistId': 101, 'Name': 'Lulu Santos'}, + {'ArtistId': 102, 'Name': 'Marillion'}, + {'ArtistId': 103, 'Name': 'Marisa Monte'}, + {'ArtistId': 104, 'Name': 'Marvin Gaye'}, + {'ArtistId': 105, 'Name': 'Men At Work'}, + {'ArtistId': 106, 'Name': 'Motörhead'}, + {'ArtistId': 107, 'Name': 'Motörhead & Girlschool'}, + {'ArtistId': 108, 'Name': 'Mônica Marianno'}, + {'ArtistId': 109, 'Name': 'Mötley Crüe'}, + {'ArtistId': 110, 'Name': 'Nirvana'}, + {'ArtistId': 111, 'Name': 'O Terço'}, + {'ArtistId': 112, 'Name': 'Olodum'}, + {'ArtistId': 113, 'Name': 'Os Paralamas Do Sucesso'}, + {'ArtistId': 114, 'Name': 'Ozzy Osbourne'}, + {'ArtistId': 115, 'Name': 'Page & Plant'}, + {'ArtistId': 116, 'Name': 'Passengers'}, + {'ArtistId': 117, 'Name': "Paul D'Ianno"}, + {'ArtistId': 118, 'Name': 'Pearl Jam'}, + {'ArtistId': 119, 'Name': 'Peter Tosh'}, + {'ArtistId': 120, 'Name': 'Pink Floyd'}, + {'ArtistId': 121, 'Name': 'Planet Hemp'}, + {'ArtistId': 122, 'Name': 'R.E.M. Feat. Kate Pearson'}, + {'ArtistId': 123, 'Name': 'R.E.M. Feat. KRS-One'}, + {'ArtistId': 124, 'Name': 'R.E.M.'}, + {'ArtistId': 125, 'Name': 'Raimundos'}, + {'ArtistId': 126, 'Name': 'Raul Seixas'}, + {'ArtistId': 127, 'Name': 'Red Hot Chili Peppers'}, + {'ArtistId': 128, 'Name': 'Rush'}, + {'ArtistId': 129, 'Name': 'Simply Red'}, + {'ArtistId': 130, 'Name': 'Skank'}, + {'ArtistId': 131, 'Name': 'Smashing Pumpkins'}, + {'ArtistId': 132, 'Name': 'Soundgarden'}, + {'ArtistId': 133, 'Name': 'Stevie Ray Vaughan & Double Trouble'}, + {'ArtistId': 134, 'Name': 'Stone Temple Pilots'}, + {'ArtistId': 135, 'Name': 'System Of A Down'}, + {'ArtistId': 136, 'Name': 'Terry Bozzio, Tony Levin & Steve Stevens'}, + {'ArtistId': 137, 'Name': 'The Black Crowes'}, + {'ArtistId': 138, 'Name': 'The Clash'}, + {'ArtistId': 139, 'Name': 'The Cult'}, + {'ArtistId': 140, 'Name': 'The Doors'}, + {'ArtistId': 141, 'Name': 'The Police'}, + {'ArtistId': 142, 'Name': 'The Rolling Stones'}, + {'ArtistId': 143, 'Name': 'The Tea Party'}, + {'ArtistId': 144, 'Name': 'The Who'}, + {'ArtistId': 145, 'Name': 'Tim Maia'}, + {'ArtistId': 146, 'Name': 'Titãs'}, + {'ArtistId': 147, 'Name': 'Battlestar Galactica'}, + {'ArtistId': 148, 'Name': 'Heroes'}, + {'ArtistId': 149, 'Name': 'Lost'}, + {'ArtistId': 150, 'Name': 'U2'}, + {'ArtistId': 151, 'Name': 'UB40'}, + {'ArtistId': 152, 'Name': 'Van Halen'}, + {'ArtistId': 153, 'Name': 'Velvet Revolver'}, + {'ArtistId': 154, 'Name': 'Whitesnake'}, + {'ArtistId': 155, 'Name': 'Zeca Pagodinho'}, + {'ArtistId': 156, 'Name': 'The Office'}, + {'ArtistId': 157, 'Name': 'Dread Zeppelin'}, + {'ArtistId': 158, 'Name': 'Battlestar Galactica (Classic)'}, + {'ArtistId': 159, 'Name': 'Aquaman'}, + {'ArtistId': 160, 'Name': 'Christina Aguilera featuring BigElf'}, + {'ArtistId': 161, 'Name': "Aerosmith & Sierra Leone's Refugee Allstars"}, + {'ArtistId': 162, 'Name': 'Los Lonely Boys'}, + {'ArtistId': 163, 'Name': 'Corinne Bailey Rae'}, + {'ArtistId': 164, 'Name': 'Dhani Harrison & Jakob Dylan'}, + {'ArtistId': 165, 'Name': 'Jackson Browne'}, + {'ArtistId': 166, 'Name': 'Avril Lavigne'}, + {'ArtistId': 167, 'Name': 'Big & Rich'}, + {'ArtistId': 168, 'Name': "Youssou N'Dour"}, + {'ArtistId': 169, 'Name': 'Black Eyed Peas'}, + {'ArtistId': 170, 'Name': 'Jack Johnson'}, + {'ArtistId': 171, 'Name': 'Ben Harper'}, + {'ArtistId': 172, 'Name': 'Snow Patrol'}, + {'ArtistId': 173, 'Name': 'Matisyahu'}, + {'ArtistId': 174, 'Name': 'The Postal Service'}, + {'ArtistId': 175, 'Name': 'Jaguares'}, + {'ArtistId': 176, 'Name': 'The Flaming Lips'}, + {'ArtistId': 177, 'Name': "Jack's Mannequin & Mick Fleetwood"}, + {'ArtistId': 178, 'Name': 'Regina Spektor'}, + {'ArtistId': 179, 'Name': 'Scorpions'}, + {'ArtistId': 180, 'Name': 'House Of Pain'}, + {'ArtistId': 181, 'Name': 'Xis'}, + {'ArtistId': 182, 'Name': 'Nega Gizza'}, + {'ArtistId': 183, 'Name': 'Gustavo & Andres Veiga & Salazar'}, + {'ArtistId': 184, 'Name': 'Rodox'}, + {'ArtistId': 185, 'Name': 'Charlie Brown Jr.'}, + {'ArtistId': 186, 'Name': 'Pedro LuÃs E A Parede'}, + {'ArtistId': 187, 'Name': 'Los Hermanos'}, + {'ArtistId': 188, 'Name': 'Mundo Livre S/A'}, + {'ArtistId': 189, 'Name': 'Otto'}, + {'ArtistId': 190, 'Name': 'Instituto'}, + {'ArtistId': 191, 'Name': 'Nação Zumbi'}, + {'ArtistId': 192, 'Name': 'DJ Dolores & Orchestra Santa Massa'}, + {'ArtistId': 193, 'Name': 'Seu Jorge'}, + {'ArtistId': 194, 'Name': 'Sabotage E Instituto'}, + {'ArtistId': 195, 'Name': 'Stereo Maracana'}, + {'ArtistId': 196, 'Name': 'Cake'}, + {'ArtistId': 197, 'Name': 'Aisha Duo'}, + {'ArtistId': 198, 'Name': 'Habib Koité and Bamada'}, + {'ArtistId': 199, 'Name': 'Karsh Kale'}, + {'ArtistId': 200, 'Name': 'The Posies'}, + {'ArtistId': 201, 'Name': 'Luciana Souza/Romero Lubambo'}, + {'ArtistId': 202, 'Name': 'Aaron Goldberg'}, + {'ArtistId': 203, 'Name': 'Nicolaus Esterhazy Sinfonia'}, + {'ArtistId': 204, 'Name': 'Temple of the Dog'}, + {'ArtistId': 205, 'Name': 'Chris Cornell'}, + {'ArtistId': 206, 'Name': 'Alberto Turco & Nova Schola Gregoriana'}, + {'ArtistId': 207, + 'Name': 'Richard Marlow & The Choir of Trinity College, Cambridge'}, + {'ArtistId': 208, 'Name': 'English Concert & Trevor Pinnock'}, + {'ArtistId': 209, + 'Name': 'Anne-Sophie Mutter, Herbert Von Karajan & Wiener Philharmoniker'}, + {'ArtistId': 210, + 'Name': 'Hilary Hahn, Jeffrey Kahane, Los Angeles Chamber Orchestra & Margaret Batjer'}, + {'ArtistId': 211, 'Name': 'Wilhelm Kempff'}, + {'ArtistId': 212, 'Name': 'Yo-Yo Ma'}, + {'ArtistId': 213, 'Name': 'Scholars Baroque Ensemble'}, + {'ArtistId': 214, + 'Name': 'Academy of St. Martin in the Fields & Sir Neville Marriner'}, + {'ArtistId': 215, + 'Name': 'Academy of St. Martin in the Fields Chamber Ensemble & Sir Neville Marriner'}, + {'ArtistId': 216, + 'Name': 'Berliner Philharmoniker, Claudio Abbado & Sabine Meyer'}, + {'ArtistId': 217, + 'Name': 'Royal Philharmonic Orchestra & Sir Thomas Beecham'}, + {'ArtistId': 218, + 'Name': 'Orchestre Révolutionnaire et Romantique & John Eliot Gardiner'}, + {'ArtistId': 219, 'Name': 'Britten Sinfonia, Ivor Bolton & Lesley Garrett'}, + {'ArtistId': 220, + 'Name': 'Chicago Symphony Chorus, Chicago Symphony Orchestra & Sir Georg Solti'}, + {'ArtistId': 221, 'Name': 'Sir Georg Solti & Wiener Philharmoniker'}, + {'ArtistId': 222, + 'Name': 'Academy of St. Martin in the Fields, John Birch, Sir Neville Marriner & Sylvia McNair'}, + {'ArtistId': 223, + 'Name': 'London Symphony Orchestra & Sir Charles Mackerras'}, + {'ArtistId': 224, 'Name': 'Barry Wordsworth & BBC Concert Orchestra'}, + {'ArtistId': 225, + 'Name': 'Herbert Von Karajan, Mirella Freni & Wiener Philharmoniker'}, + {'ArtistId': 226, 'Name': 'Eugene Ormandy'}, + {'ArtistId': 227, 'Name': 'Luciano Pavarotti'}, + {'ArtistId': 228, 'Name': 'Leonard Bernstein & New York Philharmonic'}, + {'ArtistId': 229, 'Name': 'Boston Symphony Orchestra & Seiji Ozawa'}, + {'ArtistId': 230, 'Name': 'Aaron Copland & London Symphony Orchestra'}, + {'ArtistId': 231, 'Name': 'Ton Koopman'}, + {'ArtistId': 232, 'Name': 'Sergei Prokofiev & Yuri Temirkanov'}, + {'ArtistId': 233, 'Name': 'Chicago Symphony Orchestra & Fritz Reiner'}, + {'ArtistId': 234, 'Name': 'Orchestra of The Age of Enlightenment'}, + {'ArtistId': 235, + 'Name': 'Emanuel Ax, Eugene Ormandy & Philadelphia Orchestra'}, + {'ArtistId': 236, 'Name': 'James Levine'}, + {'ArtistId': 237, 'Name': 'Berliner Philharmoniker & Hans Rosbaud'}, + {'ArtistId': 238, 'Name': 'Maurizio Pollini'}, + {'ArtistId': 239, + 'Name': 'Academy of St. Martin in the Fields, Sir Neville Marriner & William Bennett'}, + {'ArtistId': 240, 'Name': 'Gustav Mahler'}, + {'ArtistId': 241, + 'Name': 'Felix Schmidt, London Symphony Orchestra & Rafael Frühbeck de Burgos'}, + {'ArtistId': 242, 'Name': 'Edo de Waart & San Francisco Symphony'}, + {'ArtistId': 243, 'Name': 'Antal Doráti & London Symphony Orchestra'}, + {'ArtistId': 244, 'Name': 'Choir Of Westminster Abbey & Simon Preston'}, + {'ArtistId': 245, 'Name': 'Michael Tilson Thomas & San Francisco Symphony'}, + {'ArtistId': 246, + 'Name': 'Chor der Wiener Staatsoper, Herbert Von Karajan & Wiener Philharmoniker'}, + {'ArtistId': 247, 'Name': "The King's Singers"}, + {'ArtistId': 248, 'Name': 'Berliner Philharmoniker & Herbert Von Karajan'}, + {'ArtistId': 249, 'Name': 'Sir Georg Solti, Sumi Jo & Wiener Philharmoniker'}, + {'ArtistId': 250, 'Name': "Christopher O'Riley"}, + {'ArtistId': 251, 'Name': 'Fretwork'}, + {'ArtistId': 252, 'Name': 'Amy Winehouse'}, + {'ArtistId': 253, 'Name': 'Calexico'}, + {'ArtistId': 254, 'Name': 'Otto Klemperer & Philharmonia Orchestra'}, + {'ArtistId': 255, 'Name': 'Yehudi Menuhin'}, + {'ArtistId': 256, 'Name': 'Philharmonia Orchestra & Sir Neville Marriner'}, + {'ArtistId': 257, + 'Name': 'Academy of St. Martin in the Fields, Sir Neville Marriner & Thurston Dart'}, + {'ArtistId': 258, 'Name': 'Les Arts Florissants & William Christie'}, + {'ArtistId': 259, 'Name': 'The 12 Cellists of The Berlin Philharmonic'}, + {'ArtistId': 260, 'Name': 'Adrian Leaper & Doreen de Feis'}, + {'ArtistId': 261, 'Name': 'Roger Norrington, London Classical Players'}, + {'ArtistId': 262, + 'Name': "Charles Dutoit & L'Orchestre Symphonique de Montréal"}, + {'ArtistId': 263, + 'Name': 'Equale Brass Ensemble, John Eliot Gardiner & Munich Monteverdi Orchestra and Choir'}, + {'ArtistId': 264, 'Name': "Kent Nagano and Orchestre de l'Opéra de Lyon"}, + {'ArtistId': 265, 'Name': 'Julian Bream'}, + {'ArtistId': 266, 'Name': 'Martin Roscoe'}, + {'ArtistId': 267, 'Name': 'Göteborgs Symfoniker & Neeme Järvi'}, + {'ArtistId': 268, 'Name': 'Itzhak Perlman'}, + {'ArtistId': 269, 'Name': 'Michele Campanella'}, + {'ArtistId': 270, 'Name': 'Gerald Moore'}, + {'ArtistId': 271, 'Name': 'Mela Tenenbaum, Pro Musica Prague & Richard Kapp'}, + {'ArtistId': 272, 'Name': 'Emerson String Quartet'}, + {'ArtistId': 273, + 'Name': 'C. Monteverdi, Nigel Rogers - Chiaroscuro; London Baroque; London Cornett & Sackbu'}, + {'ArtistId': 274, 'Name': 'Nash Ensemble'}, + {'ArtistId': 275, 'Name': 'Philip Glass Ensemble'}]</code></pre> +</div> +</div> +<p>…or multiple tables at once:</p> +<div id="cell-15" class="cell"> +<div class="sourceCode cell-code" id="cb10"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a>dt[<span class="st">'Artist'</span>,<span class="st">'Album'</span>,<span class="st">'Track'</span>,<span class="st">'Genre'</span>,<span class="st">'MediaType'</span>]</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[<Table Artist (ArtistId, Name)>, + <Table Album (AlbumId, Title, ArtistId)>, + <Table Track (TrackId, Name, AlbumId, MediaTypeId, GenreId, Composer, Milliseconds, Bytes, UnitPrice)>, + <Table Genre (GenreId, Name)>, + <Table MediaType (MediaTypeId, Name)>]</code></pre> +</div> +</div> +<p>It also provides auto-complete in Jupyter, IPython, and nearly any other interactive Python environment:</p> +<p><img src="index_files/figure-html/cell-16-1-image.png" class="img-fluid" width="180"></p> +<p>You can check if a table is in the database already:</p> +<div id="cell-18" class="cell"> +<div class="sourceCode cell-code" id="cb12"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="co">'Artist'</span> <span class="kw">in</span> dt</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>True</code></pre> +</div> +</div> +<p>Column work in a similar way to tables, using the <code>c</code> property:</p> +<div id="cell-20" class="cell"> +<div class="sourceCode cell-code" id="cb14"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a>ac <span class="op">=</span> artist.c</span> +<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a>ac</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>ArtistId, Name</code></pre> +</div> +</div> +<p>Auto-complete works for columns too:</p> +<p><img src="index_files/figure-html/cell-21-1-image.png" class="img-fluid" width="140"></p> +<p>Columns, tables, and view stringify in a format suitable for including in SQL statements. That means you can use auto-complete in f-strings.</p> +<div id="cell-23" class="cell"> +<div class="sourceCode cell-code" id="cb16"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a>qry <span class="op">=</span> <span class="ss">f"select * from </span><span class="sc">{</span>artist<span class="sc">}</span><span class="ss"> where </span><span class="sc">{</span>ac<span class="sc">.</span>Name<span class="sc">}</span><span class="ss"> like 'AC/%'"</span></span> +<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a><span class="bu">print</span>(qry)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-stdout"> +<pre><code>select * from "Artist" where "Artist"."Name" like 'AC/%'</code></pre> +</div> +</div> +<p>You can view the results of a select query using <code>q</code>:</p> +<div id="cell-25" class="cell"> +<div class="sourceCode cell-code" id="cb18"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a>db.q(qry)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[{'ArtistId': 1, 'Name': 'AC/DC'}]</code></pre> +</div> +</div> +<p>Views can be accessed through the <code>v</code> property:</p> +<div id="cell-27" class="cell"> +<div class="sourceCode cell-code" id="cb20"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a>album <span class="op">=</span> dt.Album</span> +<span id="cb20-2"><a href="#cb20-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb20-3"><a href="#cb20-3" aria-hidden="true" tabindex="-1"></a>acca_sql <span class="op">=</span> <span class="ss">f"""select </span><span class="sc">{</span>album<span class="sc">}</span><span class="ss">.*</span></span> +<span id="cb20-4"><a href="#cb20-4" aria-hidden="true" tabindex="-1"></a><span class="ss">from </span><span class="sc">{</span>album<span class="sc">}</span><span class="ss"> join </span><span class="sc">{</span>artist<span class="sc">}</span><span class="ss"> using (ArtistId)</span></span> +<span id="cb20-5"><a href="#cb20-5" aria-hidden="true" tabindex="-1"></a><span class="ss">where </span><span class="sc">{</span>ac<span class="sc">.</span>Name<span class="sc">}</span><span class="ss"> like 'AC/%'"""</span></span> +<span id="cb20-6"><a href="#cb20-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb20-7"><a href="#cb20-7" aria-hidden="true" tabindex="-1"></a>db.create_view(<span class="st">"AccaDaccaAlbums"</span>, acca_sql, replace<span class="op">=</span><span class="va">True</span>)</span> +<span id="cb20-8"><a href="#cb20-8" aria-hidden="true" tabindex="-1"></a>acca_dacca <span class="op">=</span> db.q(<span class="ss">f"select * from </span><span class="sc">{</span>db<span class="sc">.</span>v<span class="sc">.</span>AccaDaccaAlbums<span class="sc">}</span><span class="ss">"</span>)</span> +<span id="cb20-9"><a href="#cb20-9" aria-hidden="true" tabindex="-1"></a>acca_dacca</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[{'AlbumId': 1, + 'Title': 'For Those About To Rock We Salute You', + 'ArtistId': 1}, + {'AlbumId': 4, 'Title': 'Let There Be Rock', 'ArtistId': 1}]</code></pre> +</div> +</div> +</section> +<section id="dataclass-support" class="level2"> +<h2 class="anchored" data-anchor-id="dataclass-support">Dataclass support</h2> +<p>A <code>dataclass</code> type with the names, types, and defaults of the tables is created using <code>dataclass()</code>:</p> +<div id="cell-30" class="cell"> +<div class="sourceCode cell-code" id="cb22"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a>album_dc <span class="op">=</span> album.dataclass()</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<p>Let’s try it:</p> +<div id="cell-32" class="cell"> +<div class="sourceCode cell-code" id="cb23"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a>album_obj <span class="op">=</span> album_dc(<span class="op">**</span>acca_dacca[<span class="dv">0</span>])</span> +<span id="cb23-2"><a href="#cb23-2" aria-hidden="true" tabindex="-1"></a>album_obj</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>Album(AlbumId=1, Title='For Those About To Rock We Salute You', ArtistId=1)</code></pre> +</div> +</div> +<p>You can get the definition of the dataclass using fastcore’s <code>dataclass_src</code> – everything is treated as nullable, in order to handle auto-generated database values:</p> +<div id="cell-34" class="cell"> +<div class="sourceCode cell-code" id="cb25"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a>src <span class="op">=</span> dataclass_src(album_dc)</span> +<span id="cb25-2"><a href="#cb25-2" aria-hidden="true" tabindex="-1"></a>hl_md(src, <span class="st">'python'</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display cell-output-markdown"> +<div class="sourceCode" id="cb26"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="at">@dataclass</span></span> +<span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> Album:</span> +<span id="cb26-3"><a href="#cb26-3" aria-hidden="true" tabindex="-1"></a> AlbumId: <span class="bu">int</span> <span class="op">|</span> <span class="va">None</span> <span class="op">=</span> <span class="va">None</span></span> +<span id="cb26-4"><a href="#cb26-4" aria-hidden="true" tabindex="-1"></a> Title: <span class="bu">str</span> <span class="op">|</span> <span class="va">None</span> <span class="op">=</span> <span class="va">None</span></span> +<span id="cb26-5"><a href="#cb26-5" aria-hidden="true" tabindex="-1"></a> ArtistId: <span class="bu">int</span> <span class="op">|</span> <span class="va">None</span> <span class="op">=</span> <span class="va">None</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +</div> +<p>Because <code>dataclass()</code> is dynamic, you won’t get auto-complete in editors like vscode – it’ll only work in dynamic environments like Jupyter and IPython. For editor support, you can export the full set of dataclasses to a module, which you can then import from:</p> +<div id="cell-36" class="cell"> +<div class="sourceCode cell-code" id="cb27"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a>create_mod(db, <span class="st">'db_dc'</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<div id="cell-37" class="cell"> +<div class="sourceCode cell-code" id="cb28"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a><span class="im">from</span> db_dc <span class="im">import</span> Track</span> +<span id="cb28-2"><a href="#cb28-2" aria-hidden="true" tabindex="-1"></a>Track(<span class="op">**</span>dt.Track.get(<span class="dv">1</span>))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>Track(TrackId=1, Name='For Those About To Rock (We Salute You)', AlbumId=1, MediaTypeId=1, GenreId=1, Composer='Angus Young, Malcolm Young, Brian Johnson', Milliseconds=343719, Bytes=11170334, UnitPrice=0.99)</code></pre> +</div> +</div> +<p>There’s a shortcut to select from a table – just call it as a function. If you’ve previously called <code>dataclass()</code>, returned iterms will be constructed using that class by default. There’s lots of params you can check out, such as <code>limit</code>:</p> +<div id="cell-39" class="cell"> +<div class="sourceCode cell-code" id="cb30"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true" tabindex="-1"></a>album(limit<span class="op">=</span><span class="dv">2</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[Album(AlbumId=1, Title='For Those About To Rock We Salute You', ArtistId=1), + Album(AlbumId=2, Title='Balls to the Wall', ArtistId=2)]</code></pre> +</div> +</div> +<p>Pass a truthy value as the first param and you’ll get tuples of primary keys and records:</p> +<div id="cell-41" class="cell"> +<div class="sourceCode cell-code" id="cb32"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb32-1"><a href="#cb32-1" aria-hidden="true" tabindex="-1"></a>album(<span class="dv">1</span>, limit<span class="op">=</span><span class="dv">2</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[(1, + Album(AlbumId=1, Title='For Those About To Rock We Salute You', ArtistId=1)), + (2, Album(AlbumId=2, Title='Balls to the Wall', ArtistId=2))]</code></pre> +</div> +</div> +<p><code>get</code> also uses the dataclass by default:</p> +<div id="cell-43" class="cell"> +<div class="sourceCode cell-code" id="cb34"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb34-1"><a href="#cb34-1" aria-hidden="true" tabindex="-1"></a>album.get(<span class="dv">5</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>Album(AlbumId=5, Title='Big Ones', ArtistId=3)</code></pre> +</div> +</div> +<p>If you set <code>xtra</code> fields, then <code>get</code> is also filtered by those. As a result, for instance in this case, nothing is returned since album 5 is not created by artist 1:</p> +<div id="cell-45" class="cell"> +<div class="sourceCode cell-code" id="cb36"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb36-1"><a href="#cb36-1" aria-hidden="true" tabindex="-1"></a>album.xtra(ArtistId<span class="op">=</span><span class="dv">1</span>)</span> +<span id="cb36-2"><a href="#cb36-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb36-3"><a href="#cb36-3" aria-hidden="true" tabindex="-1"></a><span class="cf">try</span>: album.get(<span class="dv">5</span>)</span> +<span id="cb36-4"><a href="#cb36-4" aria-hidden="true" tabindex="-1"></a><span class="cf">except</span> NotFoundError: <span class="bu">print</span>(<span class="st">"Not found"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-stdout"> +<pre><code>Not found</code></pre> +</div> +</div> +</section> +<section id="insert-upsert-and-update" class="level2"> +<h2 class="anchored" data-anchor-id="insert-upsert-and-update">Insert, upsert, and update</h2> +<p>The following methods accept <code>**kwargs</code>, passing them along to the first <code>dict</code> param:</p> +<ul> +<li><code>create</code></li> +<li><code>transform</code></li> +<li><code>transform_sql</code></li> +<li><code>update</code></li> +<li><code>insert</code></li> +<li><code>upsert</code></li> +<li><code>lookup</code></li> +</ul> +<p>We can access a table that doesn’t actually exist yet:</p> +<div id="cell-49" class="cell"> +<div class="sourceCode cell-code" id="cb38"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb38-1"><a href="#cb38-1" aria-hidden="true" tabindex="-1"></a>cats <span class="op">=</span> dt.cats</span> +<span id="cb38-2"><a href="#cb38-2" aria-hidden="true" tabindex="-1"></a>cats</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code><Table cats (does not exist yet)></code></pre> +</div> +</div> +<p>We can use keyword arguments to now create that table:</p> +<div id="cell-51" class="cell"> +<div class="sourceCode cell-code" id="cb40"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb40-1"><a href="#cb40-1" aria-hidden="true" tabindex="-1"></a>cats.create(<span class="bu">id</span><span class="op">=</span><span class="bu">int</span>, name<span class="op">=</span><span class="bu">str</span>, weight<span class="op">=</span><span class="bu">float</span>, uid<span class="op">=</span><span class="bu">int</span>, pk<span class="op">=</span><span class="st">'id'</span>)</span> +<span id="cb40-2"><a href="#cb40-2" aria-hidden="true" tabindex="-1"></a>hl_md(cats.schema, <span class="st">'sql'</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display cell-output-markdown"> +<div class="sourceCode" id="cb41"><pre class="sourceCode sql code-with-copy"><code class="sourceCode sql"><span id="cb41-1"><a href="#cb41-1" aria-hidden="true" tabindex="-1"></a><span class="kw">CREATE</span> <span class="kw">TABLE</span> [cats] (</span> +<span id="cb41-2"><a href="#cb41-2" aria-hidden="true" tabindex="-1"></a> [<span class="kw">id</span>] <span class="dt">INTEGER</span> <span class="kw">PRIMARY</span> <span class="kw">KEY</span>,</span> +<span id="cb41-3"><a href="#cb41-3" aria-hidden="true" tabindex="-1"></a> [name] TEXT,</span> +<span id="cb41-4"><a href="#cb41-4" aria-hidden="true" tabindex="-1"></a> [weight] <span class="dt">FLOAT</span>,</span> +<span id="cb41-5"><a href="#cb41-5" aria-hidden="true" tabindex="-1"></a> [<span class="fu">uid</span>] <span class="dt">INTEGER</span></span> +<span id="cb41-6"><a href="#cb41-6" aria-hidden="true" tabindex="-1"></a>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +</div> +<p>It we set <code>xtra</code> then the additional fields are used for <code>insert</code>, <code>update</code>, and <code>delete</code>:</p> +<div id="cell-53" class="cell"> +<div class="sourceCode cell-code" id="cb42"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb42-1"><a href="#cb42-1" aria-hidden="true" tabindex="-1"></a>cats.xtra(uid<span class="op">=</span><span class="dv">2</span>)</span> +<span id="cb42-2"><a href="#cb42-2" aria-hidden="true" tabindex="-1"></a>cat <span class="op">=</span> cats.insert(name<span class="op">=</span><span class="st">'meow'</span>, weight<span class="op">=</span><span class="dv">6</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +</div> +<p>The inserted row is returned, including the xtra ‘uid’ field.</p> +<div id="cell-55" class="cell"> +<div class="sourceCode cell-code" id="cb43"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true" tabindex="-1"></a>cat</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>{'id': 1, 'name': 'meow', 'weight': 6.0, 'uid': 2}</code></pre> +</div> +</div> +<p>Using <code>**</code> in <code>update</code> here doesn’t actually achieve anything, since we can just pass a <code>dict</code> directly – it’s just to show that it works:</p> +<div id="cell-57" class="cell"> +<div class="sourceCode cell-code" id="cb45"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true" tabindex="-1"></a>cat[<span class="st">'name'</span>] <span class="op">=</span> <span class="st">"moo"</span></span> +<span id="cb45-2"><a href="#cb45-2" aria-hidden="true" tabindex="-1"></a>cat[<span class="st">'uid'</span>] <span class="op">=</span> <span class="dv">1</span></span> +<span id="cb45-3"><a href="#cb45-3" aria-hidden="true" tabindex="-1"></a>cats.update(<span class="op">**</span>cat)</span> +<span id="cb45-4"><a href="#cb45-4" aria-hidden="true" tabindex="-1"></a>cats()</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[{'id': 1, 'name': 'moo', 'weight': 6.0, 'uid': 2}]</code></pre> +</div> +</div> +<p>Attempts to update or insert with xtra fields are ignored.</p> +<p>An error is raised if there’s an attempt to update a record not matching <code>xtra</code> fields:</p> +<div id="cell-59" class="cell"> +<div class="sourceCode cell-code" id="cb47"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true" tabindex="-1"></a>cats.xtra(uid<span class="op">=</span><span class="dv">1</span>)</span> +<span id="cb47-2"><a href="#cb47-2" aria-hidden="true" tabindex="-1"></a><span class="cf">try</span>: cats.update(<span class="op">**</span>cat)</span> +<span id="cb47-3"><a href="#cb47-3" aria-hidden="true" tabindex="-1"></a><span class="cf">except</span> NotFoundError: <span class="bu">print</span>(<span class="st">"Not found"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-stdout"> +<pre><code>Not found</code></pre> +</div> +</div> +<p>This all also works with dataclasses:</p> +<div id="cell-61" class="cell"> +<div class="sourceCode cell-code" id="cb49"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true" tabindex="-1"></a>cats.xtra(uid<span class="op">=</span><span class="dv">2</span>)</span> +<span id="cb49-2"><a href="#cb49-2" aria-hidden="true" tabindex="-1"></a>cats.dataclass()</span> +<span id="cb49-3"><a href="#cb49-3" aria-hidden="true" tabindex="-1"></a>cat <span class="op">=</span> cats.get(<span class="dv">1</span>)</span> +<span id="cb49-4"><a href="#cb49-4" aria-hidden="true" tabindex="-1"></a>cat</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>Cats(id=1, name='moo', weight=6.0, uid=2)</code></pre> +</div> +</div> +<div id="cell-62" class="cell"> +<div class="sourceCode cell-code" id="cb51"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb51-1"><a href="#cb51-1" aria-hidden="true" tabindex="-1"></a>cat.name <span class="op">=</span> <span class="st">'foo'</span></span> +<span id="cb51-2"><a href="#cb51-2" aria-hidden="true" tabindex="-1"></a>cats.upsert(cat)</span> +<span id="cb51-3"><a href="#cb51-3" aria-hidden="true" tabindex="-1"></a>cats()</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code>[Cats(id=1, name='foo', weight=6.0, uid=2)]</code></pre> +</div> +</div> +<div id="cell-63" class="cell"> +<div class="sourceCode cell-code" id="cb53"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb53-1"><a href="#cb53-1" aria-hidden="true" tabindex="-1"></a>cats.drop()</span> +<span id="cb53-2"><a href="#cb53-2" aria-hidden="true" tabindex="-1"></a>cats</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<pre><code><Table cats (does not exist yet)></code></pre> +</div> +</div> +</section> +<section id="diagrams" class="level2"> +<h2 class="anchored" data-anchor-id="diagrams">Diagrams</h2> +<p>If you have graphviz installed, you can create database diagrams:</p> +<div id="cell-66" class="cell"> +<div class="sourceCode cell-code" id="cb55"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true" tabindex="-1"></a>diagram(db.tables)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<div> +<figure class="figure"> +<p><img src="index_files/figure-html/cell-31-output-1.svg" class="img-fluid figure-img"></p> +</figure> +</div> +</div> +</div> +<p>Pass a subset of tables to just diagram those. You can also adjust the size and aspect ratio.</p> +<div id="cell-68" class="cell"> +<div class="sourceCode cell-code" id="cb56"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb56-1"><a href="#cb56-1" aria-hidden="true" tabindex="-1"></a>diagram(db.t[<span class="st">'Artist'</span>,<span class="st">'Album'</span>,<span class="st">'Track'</span>,<span class="st">'Genre'</span>,<span class="st">'MediaType'</span>], size<span class="op">=</span><span class="dv">8</span>, ratio<span class="op">=</span><span class="fl">0.4</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="cell-output cell-output-display"> +<div> +<figure class="figure"> +<p><img src="index_files/figure-html/cell-32-output-1.svg" class="img-fluid figure-img"></p> +</figure> +</div> +</div> +</div> + + +</section> + +</main> <!-- /main --> +<script id="quarto-html-after-body" type="application/javascript"> +window.document.addEventListener("DOMContentLoaded", function (event) { + const toggleBodyColorMode = (bsSheetEl) => { + const mode = bsSheetEl.getAttribute("data-mode"); + const bodyEl = window.document.querySelector("body"); + if (mode === "dark") { + bodyEl.classList.add("quarto-dark"); + bodyEl.classList.remove("quarto-light"); + } else { + bodyEl.classList.add("quarto-light"); + bodyEl.classList.remove("quarto-dark"); + } + } + const toggleBodyColorPrimary = () => { + const bsSheetEl = window.document.querySelector("link#quarto-bootstrap"); + if (bsSheetEl) { + toggleBodyColorMode(bsSheetEl); + } + } + toggleBodyColorPrimary(); + const icon = ""; + const anchorJS = new window.AnchorJS(); + anchorJS.options = { + placement: 'right', + icon: icon + }; + anchorJS.add('.anchored'); + const isCodeAnnotation = (el) => { + for (const clz of el.classList) { + if (clz.startsWith('code-annotation-')) { + return true; + } + } + return false; + } + const clipboard = new window.ClipboardJS('.code-copy-button', { + text: function(trigger) { + const codeEl = trigger.previousElementSibling.cloneNode(true); + for (const childEl of codeEl.children) { + if (isCodeAnnotation(childEl)) { + childEl.remove(); + } + } + return codeEl.innerText; + } + }); + clipboard.on('success', function(e) { + // button target + const button = e.trigger; + // don't keep focus + button.blur(); + // flash "checked" + button.classList.add('code-copy-button-checked'); + var currentTitle = button.getAttribute("title"); + button.setAttribute("title", "Copied!"); + let tooltip; + if (window.bootstrap) { + button.setAttribute("data-bs-toggle", "tooltip"); + button.setAttribute("data-bs-placement", "left"); + button.setAttribute("data-bs-title", "Copied!"); + tooltip = new bootstrap.Tooltip(button, + { trigger: "manual", + customClass: "code-copy-button-tooltip", + offset: [0, -8]}); + tooltip.show(); + } + setTimeout(function() { + if (tooltip) { + tooltip.hide(); + button.removeAttribute("data-bs-title"); + button.removeAttribute("data-bs-toggle"); + button.removeAttribute("data-bs-placement"); + } + button.setAttribute("title", currentTitle); + button.classList.remove('code-copy-button-checked'); + }, 1000); + // clear code selection + e.clearSelection(); + }); + const viewSource = window.document.getElementById('quarto-view-source') || + window.document.getElementById('quarto-code-tools-source'); + if (viewSource) { + const sourceUrl = viewSource.getAttribute("data-quarto-source-url"); + viewSource.addEventListener("click", function(e) { + if (sourceUrl) { + // rstudio viewer pane + if (/\bcapabilities=\b/.test(window.location)) { + window.open(sourceUrl); + } else { + window.location.href = sourceUrl; + } + } else { + const modal = new bootstrap.Modal(document.getElementById('quarto-embedded-source-code-modal')); + modal.show(); + } + return false; + }); + } + function toggleCodeHandler(show) { + return function(e) { + const detailsSrc = window.document.querySelectorAll(".cell > details > .sourceCode"); + for (let i=0; i<detailsSrc.length; i++) { + const details = detailsSrc[i].parentElement; + if (show) { + details.open = true; + } else { + details.removeAttribute("open"); + } + } + const cellCodeDivs = window.document.querySelectorAll(".cell > .sourceCode"); + const fromCls = show ? "hidden" : "unhidden"; + const toCls = show ? "unhidden" : "hidden"; + for (let i=0; i<cellCodeDivs.length; i++) { + const codeDiv = cellCodeDivs[i]; + if (codeDiv.classList.contains(fromCls)) { + codeDiv.classList.remove(fromCls); + codeDiv.classList.add(toCls); + } + } + return false; + } + } + const hideAllCode = window.document.getElementById("quarto-hide-all-code"); + if (hideAllCode) { + hideAllCode.addEventListener("click", toggleCodeHandler(false)); + } + const showAllCode = window.document.getElementById("quarto-show-all-code"); + if (showAllCode) { + showAllCode.addEventListener("click", toggleCodeHandler(true)); + } + var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//); + var mailtoRegex = new RegExp(/^mailto:/); + var filterRegex = new RegExp("https:\/\/AnswerDotAI\.github\.io\/fastlite"); + var isInternal = (href) => { + return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href); + } + // Inspect non-navigation links and adorn them if external + var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool)'); + for (var i=0; i<links.length; i++) { + const link = links[i]; + if (!isInternal(link.href)) { + // undo the damage that might have been done by quarto-nav.js in the case of + // links that we want to consider external + if (link.dataset.originalHref !== undefined) { + link.href = link.dataset.originalHref; + } + } + } + function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) { + const config = { + allowHTML: true, + maxWidth: 500, + delay: 100, + arrow: false, + appendTo: function(el) { + return el.parentElement; + }, + interactive: true, + interactiveBorder: 10, + theme: 'quarto', + placement: 'bottom-start', + }; + if (contentFn) { + config.content = contentFn; + } + if (onTriggerFn) { + config.onTrigger = onTriggerFn; + } + if (onUntriggerFn) { + config.onUntrigger = onUntriggerFn; + } + window.tippy(el, config); + } + const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]'); + for (var i=0; i<noterefs.length; i++) { + const ref = noterefs[i]; + tippyHover(ref, function() { + // use id or data attribute instead here + let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href'); + try { href = new URL(href).hash; } catch {} + const id = href.replace(/^#\/?/, ""); + const note = window.document.getElementById(id); + if (note) { + return note.innerHTML; + } else { + return ""; + } + }); + } + const xrefs = window.document.querySelectorAll('a.quarto-xref'); + const processXRef = (id, note) => { + // Strip column container classes + const stripColumnClz = (el) => { + el.classList.remove("page-full", "page-columns"); + if (el.children) { + for (const child of el.children) { + stripColumnClz(child); + } + } + } + stripColumnClz(note) + if (id === null || id.startsWith('sec-')) { + // Special case sections, only their first couple elements + const container = document.createElement("div"); + if (note.children && note.children.length > 2) { + container.appendChild(note.children[0].cloneNode(true)); + for (let i = 1; i < note.children.length; i++) { + const child = note.children[i]; + if (child.tagName === "P" && child.innerText === "") { + continue; + } else { + container.appendChild(child.cloneNode(true)); + break; + } + } + if (window.Quarto?.typesetMath) { + window.Quarto.typesetMath(container); + } + return container.innerHTML + } else { + if (window.Quarto?.typesetMath) { + window.Quarto.typesetMath(note); + } + return note.innerHTML; + } + } else { + // Remove any anchor links if they are present + const anchorLink = note.querySelector('a.anchorjs-link'); + if (anchorLink) { + anchorLink.remove(); + } + if (window.Quarto?.typesetMath) { + window.Quarto.typesetMath(note); + } + // TODO in 1.5, we should make sure this works without a callout special case + if (note.classList.contains("callout")) { + return note.outerHTML; + } else { + return note.innerHTML; + } + } + } + for (var i=0; i<xrefs.length; i++) { + const xref = xrefs[i]; + tippyHover(xref, undefined, function(instance) { + instance.disable(); + let url = xref.getAttribute('href'); + let hash = undefined; + if (url.startsWith('#')) { + hash = url; + } else { + try { hash = new URL(url).hash; } catch {} + } + if (hash) { + const id = hash.replace(/^#\/?/, ""); + const note = window.document.getElementById(id); + if (note !== null) { + try { + const html = processXRef(id, note.cloneNode(true)); + instance.setContent(html); + } finally { + instance.enable(); + instance.show(); + } + } else { + // See if we can fetch this + fetch(url.split('#')[0]) + .then(res => res.text()) + .then(html => { + const parser = new DOMParser(); + const htmlDoc = parser.parseFromString(html, "text/html"); + const note = htmlDoc.getElementById(id); + if (note !== null) { + const html = processXRef(id, note); + instance.setContent(html); + } + }).finally(() => { + instance.enable(); + instance.show(); + }); + } + } else { + // See if we can fetch a full url (with no hash to target) + // This is a special case and we should probably do some content thinning / targeting + fetch(url) + .then(res => res.text()) + .then(html => { + const parser = new DOMParser(); + const htmlDoc = parser.parseFromString(html, "text/html"); + const note = htmlDoc.querySelector('main.content'); + if (note !== null) { + // This should only happen for chapter cross references + // (since there is no id in the URL) + // remove the first header + if (note.children.length > 0 && note.children[0].tagName === "HEADER") { + note.children[0].remove(); + } + const html = processXRef(null, note); + instance.setContent(html); + } + }).finally(() => { + instance.enable(); + instance.show(); + }); + } + }, function(instance) { + }); + } + let selectedAnnoteEl; + const selectorForAnnotation = ( cell, annotation) => { + let cellAttr = 'data-code-cell="' + cell + '"'; + let lineAttr = 'data-code-annotation="' + annotation + '"'; + const selector = 'span[' + cellAttr + '][' + lineAttr + ']'; + return selector; + } + const selectCodeLines = (annoteEl) => { + const doc = window.document; + const targetCell = annoteEl.getAttribute("data-target-cell"); + const targetAnnotation = annoteEl.getAttribute("data-target-annotation"); + const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation)); + const lines = annoteSpan.getAttribute("data-code-lines").split(","); + const lineIds = lines.map((line) => { + return targetCell + "-" + line; + }) + let top = null; + let height = null; + let parent = null; + if (lineIds.length > 0) { + //compute the position of the single el (top and bottom and make a div) + const el = window.document.getElementById(lineIds[0]); + top = el.offsetTop; + height = el.offsetHeight; + parent = el.parentElement.parentElement; + if (lineIds.length > 1) { + const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]); + const bottom = lastEl.offsetTop + lastEl.offsetHeight; + height = bottom - top; + } + if (top !== null && height !== null && parent !== null) { + // cook up a div (if necessary) and position it + let div = window.document.getElementById("code-annotation-line-highlight"); + if (div === null) { + div = window.document.createElement("div"); + div.setAttribute("id", "code-annotation-line-highlight"); + div.style.position = 'absolute'; + parent.appendChild(div); + } + div.style.top = top - 2 + "px"; + div.style.height = height + 4 + "px"; + div.style.left = 0; + let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter"); + if (gutterDiv === null) { + gutterDiv = window.document.createElement("div"); + gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter"); + gutterDiv.style.position = 'absolute'; + const codeCell = window.document.getElementById(targetCell); + const gutter = codeCell.querySelector('.code-annotation-gutter'); + gutter.appendChild(gutterDiv); + } + gutterDiv.style.top = top - 2 + "px"; + gutterDiv.style.height = height + 4 + "px"; + } + selectedAnnoteEl = annoteEl; + } + }; + const unselectCodeLines = () => { + const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"]; + elementsIds.forEach((elId) => { + const div = window.document.getElementById(elId); + if (div) { + div.remove(); + } + }); + selectedAnnoteEl = undefined; + }; + // Handle positioning of the toggle + window.addEventListener( + "resize", + throttle(() => { + elRect = undefined; + if (selectedAnnoteEl) { + selectCodeLines(selectedAnnoteEl); + } + }, 10) + ); + function throttle(fn, ms) { + let throttle = false; + let timer; + return (...args) => { + if(!throttle) { // first call gets through + fn.apply(this, args); + throttle = true; + } else { // all the others get throttled + if(timer) clearTimeout(timer); // cancel #2 + timer = setTimeout(() => { + fn.apply(this, args); + timer = throttle = false; + }, ms); + } + }; + } + // Attach click handler to the DT + const annoteDls = window.document.querySelectorAll('dt[data-target-cell]'); + for (const annoteDlNode of annoteDls) { + annoteDlNode.addEventListener('click', (event) => { + const clickedEl = event.target; + if (clickedEl !== selectedAnnoteEl) { + unselectCodeLines(); + const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active'); + if (activeEl) { + activeEl.classList.remove('code-annotation-active'); + } + selectCodeLines(clickedEl); + clickedEl.classList.add('code-annotation-active'); + } else { + // Unselect the line + unselectCodeLines(); + clickedEl.classList.remove('code-annotation-active'); + } + }); + } + const findCites = (el) => { + const parentEl = el.parentElement; + if (parentEl) { + const cites = parentEl.dataset.cites; + if (cites) { + return { + el, + cites: cites.split(' ') + }; + } else { + return findCites(el.parentElement) + } + } else { + return undefined; + } + }; + var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]'); + for (var i=0; i<bibliorefs.length; i++) { + const ref = bibliorefs[i]; + const citeInfo = findCites(ref); + if (citeInfo) { + tippyHover(citeInfo.el, function() { + var popup = window.document.createElement('div'); + citeInfo.cites.forEach(function(cite) { + var citeDiv = window.document.createElement('div'); + citeDiv.classList.add('hanging-indent'); + citeDiv.classList.add('csl-entry'); + var biblioDiv = window.document.getElementById('ref-' + cite); + if (biblioDiv) { + citeDiv.innerHTML = biblioDiv.innerHTML; + } + popup.appendChild(citeDiv); + }); + return popup.innerHTML; + }); + } + } +}); +</script> +</div> <!-- /content --> + + + + +<footer class="footer"><div class="nav-footer"><div class="nav-footer-center"><div class="toc-actions d-sm-block d-md-none"><ul><li><a href="https://github.dev/AnswerDotAI/fastlite/blob/main/nbs/index.ipynb" class="toc-action"><i class="bi bi-github"></i>Edit this page</a></li><li><a href="https://github.com/AnswerDotAI/fastlite/issues/new" class="toc-action"><i class="bi empty"></i>Report an issue</a></li><li><a href="https://github.com/AnswerDotAI/fastlite/blob/main/nbs/index.ipynb" class="toc-action"><i class="bi empty"></i>View source</a></li></ul></div></div></div></footer></body></html> \ No newline at end of file diff --git a/index_files/figure-html/cell-16-1-image.png b/index_files/figure-html/cell-16-1-image.png new file mode 100644 index 0000000000000000000000000000000000000000..b3ab9ff1eec86f0f2544fde1459400960bfea9d6 GIT binary patch literal 29455 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%0DcE{2!CCa10{LV)* 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 literal 0 HcmV?d00001 diff --git a/index_files/figure-html/cell-21-1-image.png b/index_files/figure-html/cell-21-1-image.png new file mode 100644 index 0000000000000000000000000000000000000000..24ca4a8aaf39c33f7419dbc37e858f365e646c38 GIT binary patch literal 16816 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 Vhe{%J;N%EMR!Tv#?5)wK{{sLUnP30_ literal 0 HcmV?d00001 diff --git a/index_files/figure-html/cell-31-output-1.svg b/index_files/figure-html/cell-31-output-1.svg new file mode 100644 index 0000000..f86588a --- /dev/null +++ b/index_files/figure-html/cell-31-output-1.svg @@ -0,0 +1,307 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 11.0.0 (20240428.1522) + --> +<!-- Title: G Pages: 1 --> +<svg width="720pt" height="505pt" + viewBox="0.00 0.00 720.00 505.47" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(0.611576 0.611576) rotate(0) translate(4 822.5)"> +<title>G</title> +<polygon fill="white" stroke="none" points="-4,4 -4,-822.5 1173.29,-822.5 1173.29,4 -4,4"/> +<!-- Album --> +<g id="node1" class="node"> +<title>Album</title> +<polygon fill="lightgray" stroke="none" points="719.54,-310.5 719.54,-333 793.04,-333 793.04,-310.5 719.54,-310.5"/> +<polygon fill="none" stroke="black" points="719.54,-310.5 719.54,-333 793.04,-333 793.04,-310.5 719.54,-310.5"/> +<text text-anchor="start" x="737.16" y="-316.7" font-family="Times,serif" font-size="14.00">Album</text> +<polygon fill="#ffebcd" stroke="none" points="719.54,-285.75 719.54,-310.5 793.04,-310.5 793.04,-285.75 719.54,-285.75"/> +<polygon fill="none" stroke="black" points="719.54,-285.75 719.54,-310.5 793.04,-310.5 793.04,-285.75 719.54,-285.75"/> +<text text-anchor="start" x="722.54" y="-294.2" font-family="Times,serif" font-size="14.00">AlbumId 🔑</text> +<polygon fill="none" stroke="black" points="719.54,-263.25 719.54,-285.75 793.04,-285.75 793.04,-263.25 719.54,-263.25"/> +<text text-anchor="start" x="743.54" y="-269.45" font-family="Times,serif" font-size="14.00">Title</text> +<polygon fill="none" stroke="black" points="719.54,-240.75 719.54,-263.25 793.04,-263.25 793.04,-240.75 719.54,-240.75"/> +<text text-anchor="start" x="735.29" y="-246.95" font-family="Times,serif" font-size="14.00">ArtistId</text> +<polygon fill="none" stroke="black" points="718.54,-239.75 718.54,-334 794.04,-334 794.04,-239.75 718.54,-239.75"/> +</g> +<!-- Artist --> +<g id="node2" class="node"> +<title>Artist</title> +<polygon fill="lightgray" stroke="none" points="1025.29,-197.25 1025.29,-219.75 1091.29,-219.75 1091.29,-197.25 1025.29,-197.25"/> +<polygon fill="none" stroke="black" points="1025.29,-197.25 1025.29,-219.75 1091.29,-219.75 1091.29,-197.25 1025.29,-197.25"/> +<text text-anchor="start" x="1042.91" y="-203.45" font-family="Times,serif" font-size="14.00">Artist</text> +<polygon fill="#ffebcd" stroke="none" points="1025.29,-172.5 1025.29,-197.25 1091.29,-197.25 1091.29,-172.5 1025.29,-172.5"/> +<polygon fill="none" stroke="black" points="1025.29,-172.5 1025.29,-197.25 1091.29,-197.25 1091.29,-172.5 1025.29,-172.5"/> +<text text-anchor="start" x="1028.29" y="-180.95" font-family="Times,serif" font-size="14.00">ArtistId 🔑</text> +<polygon fill="none" stroke="black" points="1025.29,-150 1025.29,-172.5 1091.29,-172.5 1091.29,-150 1025.29,-150"/> +<text text-anchor="start" x="1041.79" y="-156.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="1024.29,-149 1024.29,-220.75 1092.29,-220.75 1092.29,-149 1024.29,-149"/> +</g> +<!-- Album->Artist --> +<g id="edge1" class="edge"> +<title>Album:ArtistId->Artist:ArtistId</title> +<path fill="none" stroke="black" d="M794.04,-252C896.67,-252 916.3,-189.76 1012.78,-185.15"/> +<polygon fill="black" stroke="black" points="1012.86,-188.64 1022.77,-184.91 1012.69,-181.65 1012.86,-188.64"/> +</g> +<!-- Customer --> +<g id="node3" class="node"> +<title>Customer</title> +<polygon fill="lightgray" stroke="none" points="712.04,-791 712.04,-813.5 800.54,-813.5 800.54,-791 712.04,-791"/> +<polygon fill="none" stroke="black" points="712.04,-791 712.04,-813.5 800.54,-813.5 800.54,-791 712.04,-791"/> +<text text-anchor="start" x="729.66" y="-797.2" font-family="Times,serif" font-size="14.00">Customer</text> +<polygon fill="#ffebcd" stroke="none" points="712.04,-766.25 712.04,-791 800.54,-791 800.54,-766.25 712.04,-766.25"/> +<polygon fill="none" stroke="black" points="712.04,-766.25 712.04,-791 800.54,-791 800.54,-766.25 712.04,-766.25"/> +<text text-anchor="start" x="715.04" y="-774.7" font-family="Times,serif" font-size="14.00">CustomerId 🔑</text> +<polygon fill="none" stroke="black" points="712.04,-743.75 712.04,-766.25 800.54,-766.25 800.54,-743.75 712.04,-743.75"/> +<text text-anchor="start" x="727.41" y="-749.95" font-family="Times,serif" font-size="14.00">FirstName</text> +<polygon fill="none" stroke="black" points="712.04,-721.25 712.04,-743.75 800.54,-743.75 800.54,-721.25 712.04,-721.25"/> +<text text-anchor="start" x="728.16" y="-727.45" font-family="Times,serif" font-size="14.00">LastName</text> +<polygon fill="none" stroke="black" points="712.04,-698.75 712.04,-721.25 800.54,-721.25 800.54,-698.75 712.04,-698.75"/> +<text text-anchor="start" x="729.66" y="-704.95" font-family="Times,serif" font-size="14.00">Company</text> +<polygon fill="none" stroke="black" points="712.04,-676.25 712.04,-698.75 800.54,-698.75 800.54,-676.25 712.04,-676.25"/> +<text text-anchor="start" x="734.16" y="-682.45" font-family="Times,serif" font-size="14.00">Address</text> +<polygon fill="none" stroke="black" points="712.04,-653.75 712.04,-676.25 800.54,-676.25 800.54,-653.75 712.04,-653.75"/> +<text text-anchor="start" x="744.66" y="-659.95" font-family="Times,serif" font-size="14.00">City</text> +<polygon fill="none" stroke="black" points="712.04,-631.25 712.04,-653.75 800.54,-653.75 800.54,-631.25 712.04,-631.25"/> +<text text-anchor="start" x="742.79" y="-637.45" font-family="Times,serif" font-size="14.00">State</text> +<polygon fill="none" stroke="black" points="712.04,-608.75 712.04,-631.25 800.54,-631.25 800.54,-608.75 712.04,-608.75"/> +<text text-anchor="start" x="734.16" y="-614.95" font-family="Times,serif" font-size="14.00">Country</text> +<polygon fill="none" stroke="black" points="712.04,-586.25 712.04,-608.75 800.54,-608.75 800.54,-586.25 712.04,-586.25"/> +<text text-anchor="start" x="725.54" y="-592.45" font-family="Times,serif" font-size="14.00">PostalCode</text> +<polygon fill="none" stroke="black" points="712.04,-563.75 712.04,-586.25 800.54,-586.25 800.54,-563.75 712.04,-563.75"/> +<text text-anchor="start" x="739.41" y="-569.95" font-family="Times,serif" font-size="14.00">Phone</text> +<polygon fill="none" stroke="black" points="712.04,-541.25 712.04,-563.75 800.54,-563.75 800.54,-541.25 712.04,-541.25"/> +<text text-anchor="start" x="746.16" y="-547.45" font-family="Times,serif" font-size="14.00">Fax</text> +<polygon fill="none" stroke="black" points="712.04,-518.75 712.04,-541.25 800.54,-541.25 800.54,-518.75 712.04,-518.75"/> +<text text-anchor="start" x="739.79" y="-524.95" font-family="Times,serif" font-size="14.00">Email</text> +<polygon fill="none" stroke="black" points="712.04,-496.25 712.04,-518.75 800.54,-518.75 800.54,-496.25 712.04,-496.25"/> +<text text-anchor="start" x="718.41" y="-502.45" font-family="Times,serif" font-size="14.00">SupportRepId</text> +<polygon fill="none" stroke="black" points="711.04,-495.25 711.04,-814.5 801.54,-814.5 801.54,-495.25 711.04,-495.25"/> +</g> +<!-- Employee --> +<g id="node4" class="node"> +<title>Employee</title> +<polygon fill="lightgray" stroke="none" points="1012.91,-587.5 1012.91,-610 1103.66,-610 1103.66,-587.5 1012.91,-587.5"/> +<polygon fill="none" stroke="black" points="1012.91,-587.5 1012.91,-610 1103.66,-610 1103.66,-587.5 1012.91,-587.5"/> +<text text-anchor="start" x="1030.54" y="-593.7" font-family="Times,serif" font-size="14.00">Employee</text> +<polygon fill="#ffebcd" stroke="none" points="1012.91,-562.75 1012.91,-587.5 1103.66,-587.5 1103.66,-562.75 1012.91,-562.75"/> +<polygon fill="none" stroke="black" points="1012.91,-562.75 1012.91,-587.5 1103.66,-587.5 1103.66,-562.75 1012.91,-562.75"/> +<text text-anchor="start" x="1015.91" y="-571.2" font-family="Times,serif" font-size="14.00">EmployeeId 🔑</text> +<polygon fill="none" stroke="black" points="1012.91,-540.25 1012.91,-562.75 1103.66,-562.75 1103.66,-540.25 1012.91,-540.25"/> +<text text-anchor="start" x="1030.16" y="-546.45" font-family="Times,serif" font-size="14.00">LastName</text> +<polygon fill="none" stroke="black" points="1012.91,-517.75 1012.91,-540.25 1103.66,-540.25 1103.66,-517.75 1012.91,-517.75"/> +<text text-anchor="start" x="1029.41" y="-523.95" font-family="Times,serif" font-size="14.00">FirstName</text> +<polygon fill="none" stroke="black" points="1012.91,-495.25 1012.91,-517.75 1103.66,-517.75 1103.66,-495.25 1012.91,-495.25"/> +<text text-anchor="start" x="1045.54" y="-501.45" font-family="Times,serif" font-size="14.00">Title</text> +<polygon fill="none" stroke="black" points="1012.91,-472.75 1012.91,-495.25 1103.66,-495.25 1103.66,-472.75 1012.91,-472.75"/> +<text text-anchor="start" x="1029.79" y="-478.95" font-family="Times,serif" font-size="14.00">ReportsTo</text> +<polygon fill="none" stroke="black" points="1012.91,-450.25 1012.91,-472.75 1103.66,-472.75 1103.66,-450.25 1012.91,-450.25"/> +<text text-anchor="start" x="1031.66" y="-456.45" font-family="Times,serif" font-size="14.00">BirthDate</text> +<polygon fill="none" stroke="black" points="1012.91,-427.75 1012.91,-450.25 1103.66,-450.25 1103.66,-427.75 1012.91,-427.75"/> +<text text-anchor="start" x="1033.54" y="-433.95" font-family="Times,serif" font-size="14.00">HireDate</text> +<polygon fill="none" stroke="black" points="1012.91,-405.25 1012.91,-427.75 1103.66,-427.75 1103.66,-405.25 1012.91,-405.25"/> +<text text-anchor="start" x="1036.16" y="-411.45" font-family="Times,serif" font-size="14.00">Address</text> +<polygon fill="none" stroke="black" points="1012.91,-382.75 1012.91,-405.25 1103.66,-405.25 1103.66,-382.75 1012.91,-382.75"/> +<text text-anchor="start" x="1046.66" y="-388.95" font-family="Times,serif" font-size="14.00">City</text> +<polygon fill="none" stroke="black" points="1012.91,-360.25 1012.91,-382.75 1103.66,-382.75 1103.66,-360.25 1012.91,-360.25"/> +<text text-anchor="start" x="1044.79" y="-366.45" font-family="Times,serif" font-size="14.00">State</text> +<polygon fill="none" stroke="black" points="1012.91,-337.75 1012.91,-360.25 1103.66,-360.25 1103.66,-337.75 1012.91,-337.75"/> +<text text-anchor="start" x="1036.16" y="-343.95" font-family="Times,serif" font-size="14.00">Country</text> +<polygon fill="none" stroke="black" points="1012.91,-315.25 1012.91,-337.75 1103.66,-337.75 1103.66,-315.25 1012.91,-315.25"/> +<text text-anchor="start" x="1027.54" y="-321.45" font-family="Times,serif" font-size="14.00">PostalCode</text> +<polygon fill="none" stroke="black" points="1012.91,-292.75 1012.91,-315.25 1103.66,-315.25 1103.66,-292.75 1012.91,-292.75"/> +<text text-anchor="start" x="1041.41" y="-298.95" font-family="Times,serif" font-size="14.00">Phone</text> +<polygon fill="none" stroke="black" points="1012.91,-270.25 1012.91,-292.75 1103.66,-292.75 1103.66,-270.25 1012.91,-270.25"/> +<text text-anchor="start" x="1048.16" y="-276.45" font-family="Times,serif" font-size="14.00">Fax</text> +<polygon fill="none" stroke="black" points="1012.91,-247.75 1012.91,-270.25 1103.66,-270.25 1103.66,-247.75 1012.91,-247.75"/> +<text text-anchor="start" x="1041.79" y="-253.95" font-family="Times,serif" font-size="14.00">Email</text> +<polygon fill="none" stroke="black" points="1011.91,-246.75 1011.91,-611 1104.66,-611 1104.66,-246.75 1011.91,-246.75"/> +</g> +<!-- Customer->Employee --> +<g id="edge2" class="edge"> +<title>Customer:SupportRepId->Employee:EmployeeId</title> +<path fill="none" stroke="black" d="M801.54,-507.5C895.82,-507.5 912.45,-569.82 1000.51,-574.81"/> +<polygon fill="black" stroke="black" points="1000.3,-578.3 1010.4,-575.08 1000.5,-571.31 1000.3,-578.3"/> +</g> +<!-- Employee->Employee --> +<g id="edge3" class="edge"> +<title>Employee:ReportsTo->Employee:EmployeeId</title> +<path fill="none" stroke="black" d="M1013.15,-480.15C942.65,-476.98 852.91,-485.39 852.91,-529.56 852.91,-571.41 933.43,-581.16 1001.85,-579.37"/> +<polygon fill="black" stroke="black" points="1001.77,-582.88 1011.63,-579.03 1001.52,-575.88 1001.77,-582.88"/> +</g> +<!-- Genre --> +<g id="node5" class="node"> +<title>Genre</title> +<polygon fill="lightgray" stroke="none" points="722.16,-92.25 722.16,-114.75 790.41,-114.75 790.41,-92.25 722.16,-92.25"/> +<polygon fill="none" stroke="black" points="722.16,-92.25 722.16,-114.75 790.41,-114.75 790.41,-92.25 722.16,-92.25"/> +<text text-anchor="start" x="739.79" y="-98.45" font-family="Times,serif" font-size="14.00">Genre</text> +<polygon fill="#ffebcd" stroke="none" points="722.16,-67.5 722.16,-92.25 790.41,-92.25 790.41,-67.5 722.16,-67.5"/> +<polygon fill="none" stroke="black" points="722.16,-67.5 722.16,-92.25 790.41,-92.25 790.41,-67.5 722.16,-67.5"/> +<text text-anchor="start" x="725.16" y="-75.95" font-family="Times,serif" font-size="14.00">GenreId 🔑</text> +<polygon fill="none" stroke="black" points="722.16,-45 722.16,-67.5 790.41,-67.5 790.41,-45 722.16,-45"/> +<text text-anchor="start" x="739.79" y="-51.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="721.16,-44 721.16,-115.75 791.41,-115.75 791.41,-44 721.16,-44"/> +</g> +<!-- Invoice --> +<g id="node6" class="node"> +<title>Invoice</title> +<polygon fill="lightgray" stroke="none" points="386.79,-596 386.79,-618.5 491.79,-618.5 491.79,-596 386.79,-596"/> +<polygon fill="none" stroke="black" points="386.79,-596 386.79,-618.5 491.79,-618.5 491.79,-596 386.79,-596"/> +<text text-anchor="start" x="419.04" y="-602.2" font-family="Times,serif" font-size="14.00">Invoice</text> +<polygon fill="#ffebcd" stroke="none" points="386.79,-571.25 386.79,-596 491.79,-596 491.79,-571.25 386.79,-571.25"/> +<polygon fill="none" stroke="black" points="386.79,-571.25 386.79,-596 491.79,-596 491.79,-571.25 386.79,-571.25"/> +<text text-anchor="start" x="404.41" y="-579.7" font-family="Times,serif" font-size="14.00">InvoiceId 🔑</text> +<polygon fill="none" stroke="black" points="386.79,-548.75 386.79,-571.25 491.79,-571.25 491.79,-548.75 386.79,-548.75"/> +<text text-anchor="start" x="407.04" y="-554.95" font-family="Times,serif" font-size="14.00">CustomerId</text> +<polygon fill="none" stroke="black" points="386.79,-526.25 386.79,-548.75 491.79,-548.75 491.79,-526.25 386.79,-526.25"/> +<text text-anchor="start" x="406.29" y="-532.45" font-family="Times,serif" font-size="14.00">InvoiceDate</text> +<polygon fill="none" stroke="black" points="386.79,-503.75 386.79,-526.25 491.79,-526.25 491.79,-503.75 386.79,-503.75"/> +<text text-anchor="start" x="398.41" y="-509.95" font-family="Times,serif" font-size="14.00">BillingAddress</text> +<polygon fill="none" stroke="black" points="386.79,-481.25 386.79,-503.75 491.79,-503.75 491.79,-481.25 386.79,-481.25"/> +<text text-anchor="start" x="408.91" y="-487.45" font-family="Times,serif" font-size="14.00">BillingCity</text> +<polygon fill="none" stroke="black" points="386.79,-458.75 386.79,-481.25 491.79,-481.25 491.79,-458.75 386.79,-458.75"/> +<text text-anchor="start" x="407.04" y="-464.95" font-family="Times,serif" font-size="14.00">BillingState</text> +<polygon fill="none" stroke="black" points="386.79,-436.25 386.79,-458.75 491.79,-458.75 491.79,-436.25 386.79,-436.25"/> +<text text-anchor="start" x="398.41" y="-442.45" font-family="Times,serif" font-size="14.00">BillingCountry</text> +<polygon fill="none" stroke="black" points="386.79,-413.75 386.79,-436.25 491.79,-436.25 491.79,-413.75 386.79,-413.75"/> +<text text-anchor="start" x="389.79" y="-419.95" font-family="Times,serif" font-size="14.00">BillingPostalCode</text> +<polygon fill="none" stroke="black" points="386.79,-391.25 386.79,-413.75 491.79,-413.75 491.79,-391.25 386.79,-391.25"/> +<text text-anchor="start" x="425.04" y="-397.45" font-family="Times,serif" font-size="14.00">Total</text> +<polygon fill="none" stroke="black" points="385.79,-390.25 385.79,-619.5 492.79,-619.5 492.79,-390.25 385.79,-390.25"/> +</g> +<!-- Invoice->Customer --> +<g id="edge4" class="edge"> +<title>Invoice:CustomerId->Customer:CustomerId</title> +<path fill="none" stroke="black" d="M492.79,-560C626.19,-560 576.78,-766.42 699.83,-778.11"/> +<polygon fill="black" stroke="black" points="699.37,-781.59 709.52,-778.56 699.7,-774.6 699.37,-781.59"/> +</g> +<!-- InvoiceLine --> +<g id="node7" class="node"> +<title>InvoiceLine</title> +<polygon fill="lightgray" stroke="none" points="70.04,-460 70.04,-482.5 170.54,-482.5 170.54,-460 70.04,-460"/> +<polygon fill="none" stroke="black" points="70.04,-460 70.04,-482.5 170.54,-482.5 170.54,-460 70.04,-460"/> +<text text-anchor="start" x="87.66" y="-466.2" font-family="Times,serif" font-size="14.00">InvoiceLine</text> +<polygon fill="#ffebcd" stroke="none" points="70.04,-435.25 70.04,-460 170.54,-460 170.54,-435.25 70.04,-435.25"/> +<polygon fill="none" stroke="black" points="70.04,-435.25 70.04,-460 170.54,-460 170.54,-435.25 70.04,-435.25"/> +<text text-anchor="start" x="73.04" y="-443.7" font-family="Times,serif" font-size="14.00">InvoiceLineId 🔑</text> +<polygon fill="none" stroke="black" points="70.04,-412.75 70.04,-435.25 170.54,-435.25 170.54,-412.75 70.04,-412.75"/> +<text text-anchor="start" x="94.41" y="-418.95" font-family="Times,serif" font-size="14.00">InvoiceId</text> +<polygon fill="none" stroke="black" points="70.04,-390.25 70.04,-412.75 170.54,-412.75 170.54,-390.25 70.04,-390.25"/> +<text text-anchor="start" x="98.91" y="-396.45" font-family="Times,serif" font-size="14.00">TrackId</text> +<polygon fill="none" stroke="black" points="70.04,-367.75 70.04,-390.25 170.54,-390.25 170.54,-367.75 70.04,-367.75"/> +<text text-anchor="start" x="94.41" y="-373.95" font-family="Times,serif" font-size="14.00">UnitPrice</text> +<polygon fill="none" stroke="black" points="70.04,-345.25 70.04,-367.75 170.54,-367.75 170.54,-345.25 70.04,-345.25"/> +<text text-anchor="start" x="96.66" y="-351.45" font-family="Times,serif" font-size="14.00">Quantity</text> +<polygon fill="none" stroke="black" points="69.04,-344.25 69.04,-483.5 171.54,-483.5 171.54,-344.25 69.04,-344.25"/> +</g> +<!-- InvoiceLine->Invoice --> +<g id="edge6" class="edge"> +<title>InvoiceLine:InvoiceId->Invoice:InvoiceId</title> +<path fill="none" stroke="black" d="M171.54,-424C286.34,-424 268.43,-573.2 374.42,-583.11"/> +<polygon fill="black" stroke="black" points="374.13,-586.6 384.27,-583.56 374.44,-579.61 374.13,-586.6"/> +</g> +<!-- Track --> +<g id="node11" class="node"> +<title>Track</title> +<polygon fill="lightgray" stroke="none" points="399.16,-308 399.16,-330.5 479.41,-330.5 479.41,-308 399.16,-308"/> +<polygon fill="none" stroke="black" points="399.16,-308 399.16,-330.5 479.41,-330.5 479.41,-308 399.16,-308"/> +<text text-anchor="start" x="423.54" y="-314.2" font-family="Times,serif" font-size="14.00">Track</text> +<polygon fill="#ffebcd" stroke="none" points="399.16,-283.25 399.16,-308 479.41,-308 479.41,-283.25 399.16,-283.25"/> +<polygon fill="none" stroke="black" points="399.16,-283.25 399.16,-308 479.41,-308 479.41,-283.25 399.16,-283.25"/> +<text text-anchor="start" x="408.91" y="-291.7" font-family="Times,serif" font-size="14.00">TrackId 🔑</text> +<polygon fill="none" stroke="black" points="399.16,-260.75 399.16,-283.25 479.41,-283.25 479.41,-260.75 399.16,-260.75"/> +<text text-anchor="start" x="422.79" y="-266.95" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="399.16,-238.25 399.16,-260.75 479.41,-260.75 479.41,-238.25 399.16,-238.25"/> +<text text-anchor="start" x="414.54" y="-244.45" font-family="Times,serif" font-size="14.00">AlbumId</text> +<polygon fill="none" stroke="black" points="399.16,-215.75 399.16,-238.25 479.41,-238.25 479.41,-215.75 399.16,-215.75"/> +<text text-anchor="start" x="402.16" y="-221.95" font-family="Times,serif" font-size="14.00">MediaTypeId</text> +<polygon fill="none" stroke="black" points="399.16,-193.25 399.16,-215.75 479.41,-215.75 479.41,-193.25 399.16,-193.25"/> +<text text-anchor="start" x="417.16" y="-199.45" font-family="Times,serif" font-size="14.00">GenreId</text> +<polygon fill="none" stroke="black" points="399.16,-170.75 399.16,-193.25 479.41,-193.25 479.41,-170.75 399.16,-170.75"/> +<text text-anchor="start" x="411.16" y="-176.95" font-family="Times,serif" font-size="14.00">Composer</text> +<polygon fill="none" stroke="black" points="399.16,-148.25 399.16,-170.75 479.41,-170.75 479.41,-148.25 399.16,-148.25"/> +<text text-anchor="start" x="404.04" y="-154.45" font-family="Times,serif" font-size="14.00">Milliseconds</text> +<polygon fill="none" stroke="black" points="399.16,-125.75 399.16,-148.25 479.41,-148.25 479.41,-125.75 399.16,-125.75"/> +<text text-anchor="start" x="423.91" y="-131.95" font-family="Times,serif" font-size="14.00">Bytes</text> +<polygon fill="none" stroke="black" points="399.16,-103.25 399.16,-125.75 479.41,-125.75 479.41,-103.25 399.16,-103.25"/> +<text text-anchor="start" x="413.41" y="-109.45" font-family="Times,serif" font-size="14.00">UnitPrice</text> +<polygon fill="none" stroke="black" points="398.16,-102.25 398.16,-331.5 480.41,-331.5 480.41,-102.25 398.16,-102.25"/> +</g> +<!-- InvoiceLine->Track --> +<g id="edge5" class="edge"> +<title>InvoiceLine:TrackId->Track:TrackId</title> +<path fill="none" stroke="black" d="M171.54,-401.5C278.8,-401.5 286.56,-302.94 386.82,-296.01"/> +<polygon fill="black" stroke="black" points="386.77,-299.51 396.65,-295.68 386.54,-292.52 386.77,-299.51"/> +</g> +<!-- MediaType --> +<g id="node8" class="node"> +<title>MediaType</title> +<polygon fill="lightgray" stroke="none" points="707.16,-190.25 707.16,-212.75 805.41,-212.75 805.41,-190.25 707.16,-190.25"/> +<polygon fill="none" stroke="black" points="707.16,-190.25 707.16,-212.75 805.41,-212.75 805.41,-190.25 707.16,-190.25"/> +<text text-anchor="start" x="724.79" y="-196.45" font-family="Times,serif" font-size="14.00">MediaType</text> +<polygon fill="#ffebcd" stroke="none" points="707.16,-165.5 707.16,-190.25 805.41,-190.25 805.41,-165.5 707.16,-165.5"/> +<polygon fill="none" stroke="black" points="707.16,-165.5 707.16,-190.25 805.41,-190.25 805.41,-165.5 707.16,-165.5"/> +<text text-anchor="start" x="710.16" y="-173.95" font-family="Times,serif" font-size="14.00">MediaTypeId 🔑</text> +<polygon fill="none" stroke="black" points="707.16,-143 707.16,-165.5 805.41,-165.5 805.41,-143 707.16,-143"/> +<text text-anchor="start" x="739.79" y="-149.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="706.16,-142 706.16,-213.75 806.41,-213.75 806.41,-142 706.16,-142"/> +</g> +<!-- Playlist --> +<g id="node9" class="node"> +<title>Playlist</title> +<polygon fill="lightgray" stroke="none" points="401.41,-52.25 401.41,-74.75 477.16,-74.75 477.16,-52.25 401.41,-52.25"/> +<polygon fill="none" stroke="black" points="401.41,-52.25 401.41,-74.75 477.16,-74.75 477.16,-52.25 401.41,-52.25"/> +<text text-anchor="start" x="419.04" y="-58.45" font-family="Times,serif" font-size="14.00">Playlist</text> +<polygon fill="#ffebcd" stroke="none" points="401.41,-27.5 401.41,-52.25 477.16,-52.25 477.16,-27.5 401.41,-27.5"/> +<polygon fill="none" stroke="black" points="401.41,-27.5 401.41,-52.25 477.16,-52.25 477.16,-27.5 401.41,-27.5"/> +<text text-anchor="start" x="404.41" y="-35.95" font-family="Times,serif" font-size="14.00">PlaylistId 🔑</text> +<polygon fill="none" stroke="black" points="401.41,-5 401.41,-27.5 477.16,-27.5 477.16,-5 401.41,-5"/> +<text text-anchor="start" x="422.79" y="-11.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="400.41,-4 400.41,-75.75 478.16,-75.75 478.16,-4 400.41,-4"/> +</g> +<!-- PlaylistTrack --> +<g id="node10" class="node"> +<title>PlaylistTrack</title> +<polygon fill="lightgray" stroke="none" points="81.29,-226.38 81.29,-248.88 159.29,-248.88 159.29,-226.38 81.29,-226.38"/> +<polygon fill="none" stroke="black" points="81.29,-226.38 81.29,-248.88 159.29,-248.88 159.29,-226.38 81.29,-226.38"/> +<text text-anchor="start" x="84.29" y="-232.57" font-family="Times,serif" font-size="14.00">PlaylistTrack</text> +<polygon fill="#ffebcd" stroke="none" points="81.29,-201.62 81.29,-226.38 159.29,-226.38 159.29,-201.62 81.29,-201.62"/> +<polygon fill="none" stroke="black" points="81.29,-201.62 81.29,-226.38 159.29,-226.38 159.29,-201.62 81.29,-201.62"/> +<text text-anchor="start" x="85.41" y="-210.07" font-family="Times,serif" font-size="14.00">PlaylistId 🔑</text> +<polygon fill="#ffebcd" stroke="none" points="81.29,-176.88 81.29,-201.62 159.29,-201.62 159.29,-176.88 81.29,-176.88"/> +<polygon fill="none" stroke="black" points="81.29,-176.88 81.29,-201.62 159.29,-201.62 159.29,-176.88 81.29,-176.88"/> +<text text-anchor="start" x="89.91" y="-185.32" font-family="Times,serif" font-size="14.00">TrackId 🔑</text> +<polygon fill="none" stroke="black" points="80.29,-175.88 80.29,-249.88 160.29,-249.88 160.29,-175.88 80.29,-175.88"/> +</g> +<!-- PlaylistTrack->Playlist --> +<g id="edge8" class="edge"> +<title>PlaylistTrack:PlaylistId->Playlist:PlaylistId</title> +<path fill="none" stroke="black" d="M160.29,-214C288.25,-214 269.83,-49.93 389.22,-40.31"/> +<polygon fill="black" stroke="black" points="389.04,-43.82 398.9,-39.93 388.77,-36.83 389.04,-43.82"/> +</g> +<!-- PlaylistTrack->Track --> +<g id="edge7" class="edge"> +<title>PlaylistTrack:TrackId->Track:TrackId</title> +<path fill="none" stroke="black" d="M160.29,-189.25C272.14,-189.25 281.79,-288.48 386.66,-295.26"/> +<polygon fill="black" stroke="black" points="386.54,-298.76 396.65,-295.58 386.76,-291.76 386.54,-298.76"/> +</g> +<!-- Track->Album --> +<g id="edge11" class="edge"> +<title>Track:AlbumId->Album:AlbumId</title> +<path fill="none" stroke="black" d="M480.41,-249.5C584.53,-249.5 608.81,-294.67 707.16,-297.94"/> +<polygon fill="black" stroke="black" points="706.97,-301.44 717.02,-298.1 707.08,-294.44 706.97,-301.44"/> +</g> +<!-- Track->Genre --> +<g id="edge10" class="edge"> +<title>Track:GenreId->Genre:GenreId</title> +<path fill="none" stroke="black" d="M480.41,-204.5C597.01,-204.5 600.56,-87.78 709.88,-80.25"/> +<polygon fill="black" stroke="black" points="709.77,-83.76 719.65,-79.93 709.54,-76.76 709.77,-83.76"/> +</g> +<!-- Track->MediaType --> +<g id="edge9" class="edge"> +<title>Track:MediaTypeId->MediaType:MediaTypeId</title> +<path fill="none" stroke="black" d="M480.41,-227C579.18,-227 601.81,-181.55 694.78,-178.08"/> +<polygon fill="black" stroke="black" points="694.71,-181.59 704.65,-177.9 694.59,-174.59 694.71,-181.59"/> +</g> +</g> +</svg> diff --git a/index_files/figure-html/cell-32-output-1.svg b/index_files/figure-html/cell-32-output-1.svg new file mode 100644 index 0000000..13eba7b --- /dev/null +++ b/index_files/figure-html/cell-32-output-1.svg @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 11.0.0 (20240428.1522) + --> +<!-- Title: G Pages: 1 --> +<svg width="576pt" height="234pt" + viewBox="0.00 0.00 576.00 234.07" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(0.76494 0.76494) rotate(0) translate(4 302)"> +<title>G</title> +<polygon fill="white" stroke="none" points="-4,4 -4,-302 749,-302 749,4 -4,4"/> +<!-- Artist --> +<g id="node1" class="node"> +<title>Artist</title> +<polygon fill="lightgray" stroke="none" points="628,-225.25 628,-247.75 694,-247.75 694,-225.25 628,-225.25"/> +<polygon fill="none" stroke="black" points="628,-225.25 628,-247.75 694,-247.75 694,-225.25 628,-225.25"/> +<text text-anchor="start" x="645.62" y="-231.45" font-family="Times,serif" font-size="14.00">Artist</text> +<polygon fill="#ffebcd" stroke="none" points="628,-200.5 628,-225.25 694,-225.25 694,-200.5 628,-200.5"/> +<polygon fill="none" stroke="black" points="628,-200.5 628,-225.25 694,-225.25 694,-200.5 628,-200.5"/> +<text text-anchor="start" x="631" y="-208.95" font-family="Times,serif" font-size="14.00">ArtistId 🔑</text> +<polygon fill="none" stroke="black" points="628,-178 628,-200.5 694,-200.5 694,-178 628,-178"/> +<text text-anchor="start" x="644.5" y="-184.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="627,-177 627,-248.75 695,-248.75 695,-177 627,-177"/> +</g> +<!-- Album --> +<g id="node2" class="node"> +<title>Album</title> +<polygon fill="lightgray" stroke="none" points="350.25,-270.5 350.25,-293 423.75,-293 423.75,-270.5 350.25,-270.5"/> +<polygon fill="none" stroke="black" points="350.25,-270.5 350.25,-293 423.75,-293 423.75,-270.5 350.25,-270.5"/> +<text text-anchor="start" x="367.88" y="-276.7" font-family="Times,serif" font-size="14.00">Album</text> +<polygon fill="#ffebcd" stroke="none" points="350.25,-245.75 350.25,-270.5 423.75,-270.5 423.75,-245.75 350.25,-245.75"/> +<polygon fill="none" stroke="black" points="350.25,-245.75 350.25,-270.5 423.75,-270.5 423.75,-245.75 350.25,-245.75"/> +<text text-anchor="start" x="353.25" y="-254.2" font-family="Times,serif" font-size="14.00">AlbumId 🔑</text> +<polygon fill="none" stroke="black" points="350.25,-223.25 350.25,-245.75 423.75,-245.75 423.75,-223.25 350.25,-223.25"/> +<text text-anchor="start" x="374.25" y="-229.45" font-family="Times,serif" font-size="14.00">Title</text> +<polygon fill="none" stroke="black" points="350.25,-200.75 350.25,-223.25 423.75,-223.25 423.75,-200.75 350.25,-200.75"/> +<text text-anchor="start" x="366" y="-206.95" font-family="Times,serif" font-size="14.00">ArtistId</text> +<polygon fill="none" stroke="black" points="349.25,-199.75 349.25,-294 424.75,-294 424.75,-199.75 349.25,-199.75"/> +</g> +<!-- Album->Artist --> +<g id="edge1" class="edge"> +<title>Album:ArtistId->Artist:ArtistId</title> +<path fill="none" stroke="black" d="M424.75,-212C510.78,-212 535.05,-212.8 615.78,-212.87"/> +<polygon fill="black" stroke="black" points="615.48,-216.37 625.49,-212.87 615.49,-209.37 615.48,-216.37"/> +</g> +<!-- Track --> +<g id="node3" class="node"> +<title>Track</title> +<polygon fill="lightgray" stroke="none" points="58.88,-219 58.88,-241.5 139.12,-241.5 139.12,-219 58.88,-219"/> +<polygon fill="none" stroke="black" points="58.88,-219 58.88,-241.5 139.12,-241.5 139.12,-219 58.88,-219"/> +<text text-anchor="start" x="83.25" y="-225.2" font-family="Times,serif" font-size="14.00">Track</text> +<polygon fill="#ffebcd" stroke="none" points="58.88,-194.25 58.88,-219 139.12,-219 139.12,-194.25 58.88,-194.25"/> +<polygon fill="none" stroke="black" points="58.88,-194.25 58.88,-219 139.12,-219 139.12,-194.25 58.88,-194.25"/> +<text text-anchor="start" x="68.62" y="-202.7" font-family="Times,serif" font-size="14.00">TrackId 🔑</text> +<polygon fill="none" stroke="black" points="58.88,-171.75 58.88,-194.25 139.12,-194.25 139.12,-171.75 58.88,-171.75"/> +<text text-anchor="start" x="82.5" y="-177.95" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="58.88,-149.25 58.88,-171.75 139.12,-171.75 139.12,-149.25 58.88,-149.25"/> +<text text-anchor="start" x="74.25" y="-155.45" font-family="Times,serif" font-size="14.00">AlbumId</text> +<polygon fill="none" stroke="black" points="58.88,-126.75 58.88,-149.25 139.12,-149.25 139.12,-126.75 58.88,-126.75"/> +<text text-anchor="start" x="61.88" y="-132.95" font-family="Times,serif" font-size="14.00">MediaTypeId</text> +<polygon fill="none" stroke="black" points="58.88,-104.25 58.88,-126.75 139.12,-126.75 139.12,-104.25 58.88,-104.25"/> +<text text-anchor="start" x="76.88" y="-110.45" font-family="Times,serif" font-size="14.00">GenreId</text> +<polygon fill="none" stroke="black" points="58.88,-81.75 58.88,-104.25 139.12,-104.25 139.12,-81.75 58.88,-81.75"/> +<text text-anchor="start" x="70.88" y="-87.95" font-family="Times,serif" font-size="14.00">Composer</text> +<polygon fill="none" stroke="black" points="58.88,-59.25 58.88,-81.75 139.12,-81.75 139.12,-59.25 58.88,-59.25"/> +<text text-anchor="start" x="63.75" y="-65.45" font-family="Times,serif" font-size="14.00">Milliseconds</text> +<polygon fill="none" stroke="black" points="58.88,-36.75 58.88,-59.25 139.12,-59.25 139.12,-36.75 58.88,-36.75"/> +<text text-anchor="start" x="83.62" y="-42.95" font-family="Times,serif" font-size="14.00">Bytes</text> +<polygon fill="none" stroke="black" points="58.88,-14.25 58.88,-36.75 139.12,-36.75 139.12,-14.25 58.88,-14.25"/> +<text text-anchor="start" x="73.12" y="-20.45" font-family="Times,serif" font-size="14.00">UnitPrice</text> +<polygon fill="none" stroke="black" points="57.88,-13.25 57.88,-242.5 140.12,-242.5 140.12,-13.25 57.88,-13.25"/> +</g> +<!-- Track->Album --> +<g id="edge4" class="edge"> +<title>Track:AlbumId->Album:AlbumId</title> +<path fill="none" stroke="black" d="M140.12,-160.5C238.79,-160.5 246.23,-250.83 337.95,-257.71"/> +<polygon fill="black" stroke="black" points="337.62,-261.2 347.74,-258.07 337.87,-254.21 337.62,-261.2"/> +</g> +<!-- Genre --> +<g id="node4" class="node"> +<title>Genre</title> +<polygon fill="lightgray" stroke="none" points="352.88,-52.25 352.88,-74.75 421.12,-74.75 421.12,-52.25 352.88,-52.25"/> +<polygon fill="none" stroke="black" points="352.88,-52.25 352.88,-74.75 421.12,-74.75 421.12,-52.25 352.88,-52.25"/> +<text text-anchor="start" x="370.5" y="-58.45" font-family="Times,serif" font-size="14.00">Genre</text> +<polygon fill="#ffebcd" stroke="none" points="352.88,-27.5 352.88,-52.25 421.12,-52.25 421.12,-27.5 352.88,-27.5"/> +<polygon fill="none" stroke="black" points="352.88,-27.5 352.88,-52.25 421.12,-52.25 421.12,-27.5 352.88,-27.5"/> +<text text-anchor="start" x="355.88" y="-35.95" font-family="Times,serif" font-size="14.00">GenreId 🔑</text> +<polygon fill="none" stroke="black" points="352.88,-5 352.88,-27.5 421.12,-27.5 421.12,-5 352.88,-5"/> +<text text-anchor="start" x="370.5" y="-11.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="351.88,-4 351.88,-75.75 422.12,-75.75 422.12,-4 351.88,-4"/> +</g> +<!-- Track->Genre --> +<g id="edge3" class="edge"> +<title>Track:GenreId->Genre:GenreId</title> +<path fill="none" stroke="black" d="M140.12,-115.5C236.15,-115.5 250.88,-45.67 340.56,-40.21"/> +<polygon fill="black" stroke="black" points="340.47,-43.72 350.36,-39.92 340.26,-36.72 340.47,-43.72"/> +</g> +<!-- MediaType --> +<g id="node5" class="node"> +<title>MediaType</title> +<polygon fill="lightgray" stroke="none" points="337.88,-150.25 337.88,-172.75 436.12,-172.75 436.12,-150.25 337.88,-150.25"/> +<polygon fill="none" stroke="black" points="337.88,-150.25 337.88,-172.75 436.12,-172.75 436.12,-150.25 337.88,-150.25"/> +<text text-anchor="start" x="355.5" y="-156.45" font-family="Times,serif" font-size="14.00">MediaType</text> +<polygon fill="#ffebcd" stroke="none" points="337.88,-125.5 337.88,-150.25 436.12,-150.25 436.12,-125.5 337.88,-125.5"/> +<polygon fill="none" stroke="black" points="337.88,-125.5 337.88,-150.25 436.12,-150.25 436.12,-125.5 337.88,-125.5"/> +<text text-anchor="start" x="340.88" y="-133.95" font-family="Times,serif" font-size="14.00">MediaTypeId 🔑</text> +<polygon fill="none" stroke="black" points="337.88,-103 337.88,-125.5 436.12,-125.5 436.12,-103 337.88,-103"/> +<text text-anchor="start" x="370.5" y="-109.2" font-family="Times,serif" font-size="14.00">Name</text> +<polygon fill="none" stroke="black" points="336.88,-102 336.88,-173.75 437.12,-173.75 437.12,-102 336.88,-102"/> +</g> +<!-- Track->MediaType --> +<g id="edge2" class="edge"> +<title>Track:MediaTypeId->MediaType:MediaTypeId</title> +<path fill="none" stroke="black" d="M140.12,-138C223.64,-138 247.33,-137.89 325.48,-137.88"/> +<polygon fill="black" stroke="black" points="325.36,-141.38 335.36,-137.88 325.36,-134.38 325.36,-141.38"/> +</g> +</g> +</svg> diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..3590dc8 --- /dev/null +++ b/robots.txt @@ -0,0 +1 @@ +Sitemap: https://AnswerDotAI.github.io/fastlite/sitemap.xml diff --git a/search.json b/search.json new file mode 100644 index 0000000..96c4129 --- /dev/null +++ b/search.json @@ -0,0 +1,102 @@ +[ + { + "objectID": "index.html", + "href": "index.html", + "title": "fastlite", + "section": "", + "text": "fastlite provides some little quality-of-life improvements for interactive use of the wonderful sqlite-utils library. It’s likely to be particularly of interest to folks using Jupyter.", + "crumbs": [ + "fastlite" + ] + }, + { + "objectID": "index.html#install", + "href": "index.html#install", + "title": "fastlite", + "section": "Install", + "text": "Install\npip install fastlite", + "crumbs": [ + "fastlite" + ] + }, + { + "objectID": "index.html#overview", + "href": "index.html#overview", + "title": "fastlite", + "section": "Overview", + "text": "Overview\n\nfrom sqlite_utils import Database\nfrom fastlite import *\nfrom fastcore.utils import *\nfrom fastcore.net import urlsave\n\nWe demonstrate fastlite‘s features here using the ’chinook’ sample database.\n\nurl = 'https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite'\npath = Path('chinook.sqlite')\nif not path.exists(): urlsave(url, path)\n\ndb = Database(\"chinook.sqlite\")\n\nDatabases have a t property that lists all tables:\n\ndt = db.t\ndt\n\nAlbum, Artist, Customer, Employee, Genre, Invoice, InvoiceLine, MediaType, Playlist, PlaylistTrack, Track\n\n\nYou can use this to grab a single table…:\n\nartist = dt.Artist\nartist\n\n<Table Artist (ArtistId, Name)>\n\n\n\nartist()\n\n[{'ArtistId': 1, 'Name': 'AC/DC'},\n {'ArtistId': 2, 'Name': 'Accept'},\n {'ArtistId': 3, 'Name': 'Aerosmith'},\n {'ArtistId': 4, 'Name': 'Alanis Morissette'},\n {'ArtistId': 5, 'Name': 'Alice In Chains'},\n {'ArtistId': 6, 'Name': 'Antônio Carlos Jobim'},\n {'ArtistId': 7, 'Name': 'Apocalyptica'},\n {'ArtistId': 8, 'Name': 'Audioslave'},\n {'ArtistId': 9, 'Name': 'BackBeat'},\n {'ArtistId': 10, 'Name': 'Billy Cobham'},\n {'ArtistId': 11, 'Name': 'Black Label Society'},\n {'ArtistId': 12, 'Name': 'Black Sabbath'},\n {'ArtistId': 13, 'Name': 'Body Count'},\n {'ArtistId': 14, 'Name': 'Bruce Dickinson'},\n {'ArtistId': 15, 'Name': 'Buddy Guy'},\n {'ArtistId': 16, 'Name': 'Caetano Veloso'},\n {'ArtistId': 17, 'Name': 'Chico Buarque'},\n {'ArtistId': 18, 'Name': 'Chico Science & Nação Zumbi'},\n {'ArtistId': 19, 'Name': 'Cidade Negra'},\n {'ArtistId': 20, 'Name': 'Cláudio Zoli'},\n {'ArtistId': 21, 'Name': 'Various Artists'},\n {'ArtistId': 22, 'Name': 'Led Zeppelin'},\n {'ArtistId': 23, 'Name': 'Frank Zappa & Captain Beefheart'},\n {'ArtistId': 24, 'Name': 'Marcos Valle'},\n {'ArtistId': 25, 'Name': 'Milton Nascimento & Bebeto'},\n {'ArtistId': 26, 'Name': 'Azymuth'},\n {'ArtistId': 27, 'Name': 'Gilberto Gil'},\n {'ArtistId': 28, 'Name': 'João Gilberto'},\n {'ArtistId': 29, 'Name': 'Bebel Gilberto'},\n {'ArtistId': 30, 'Name': 'Jorge Vercilo'},\n {'ArtistId': 31, 'Name': 'Baby Consuelo'},\n {'ArtistId': 32, 'Name': 'Ney Matogrosso'},\n {'ArtistId': 33, 'Name': 'Luiz Melodia'},\n {'ArtistId': 34, 'Name': 'Nando Reis'},\n {'ArtistId': 35, 'Name': 'Pedro LuÃs & A Parede'},\n {'ArtistId': 36, 'Name': 'O Rappa'},\n {'ArtistId': 37, 'Name': 'Ed Motta'},\n {'ArtistId': 38, 'Name': 'Banda Black Rio'},\n {'ArtistId': 39, 'Name': 'Fernanda Porto'},\n {'ArtistId': 40, 'Name': 'Os Cariocas'},\n {'ArtistId': 41, 'Name': 'Elis Regina'},\n {'ArtistId': 42, 'Name': 'Milton Nascimento'},\n {'ArtistId': 43, 'Name': 'A Cor Do Som'},\n {'ArtistId': 44, 'Name': 'Kid Abelha'},\n {'ArtistId': 45, 'Name': 'Sandra De Sá'},\n {'ArtistId': 46, 'Name': 'Jorge Ben'},\n {'ArtistId': 47, 'Name': 'Hermeto Pascoal'},\n {'ArtistId': 48, 'Name': 'Barão Vermelho'},\n {'ArtistId': 49,\n 'Name': 'Edson, DJ Marky & DJ Patife Featuring Fernanda Porto'},\n {'ArtistId': 50, 'Name': 'Metallica'},\n {'ArtistId': 51, 'Name': 'Queen'},\n {'ArtistId': 52, 'Name': 'Kiss'},\n {'ArtistId': 53, 'Name': 'Spyro Gyra'},\n {'ArtistId': 54, 'Name': 'Green Day'},\n {'ArtistId': 55, 'Name': 'David Coverdale'},\n {'ArtistId': 56, 'Name': 'Gonzaguinha'},\n {'ArtistId': 57, 'Name': 'Os Mutantes'},\n {'ArtistId': 58, 'Name': 'Deep Purple'},\n {'ArtistId': 59, 'Name': 'Santana'},\n {'ArtistId': 60, 'Name': 'Santana Feat. Dave Matthews'},\n {'ArtistId': 61, 'Name': 'Santana Feat. Everlast'},\n {'ArtistId': 62, 'Name': 'Santana Feat. Rob Thomas'},\n {'ArtistId': 63, 'Name': 'Santana Feat. Lauryn Hill & Cee-Lo'},\n {'ArtistId': 64, 'Name': 'Santana Feat. The Project G&B'},\n {'ArtistId': 65, 'Name': 'Santana Feat. Maná'},\n {'ArtistId': 66, 'Name': 'Santana Feat. Eagle-Eye Cherry'},\n {'ArtistId': 67, 'Name': 'Santana Feat. Eric Clapton'},\n {'ArtistId': 68, 'Name': 'Miles Davis'},\n {'ArtistId': 69, 'Name': 'Gene Krupa'},\n {'ArtistId': 70, 'Name': 'Toquinho & VinÃcius'},\n {'ArtistId': 71, 'Name': 'VinÃcius De Moraes & Baden Powell'},\n {'ArtistId': 72, 'Name': 'VinÃcius De Moraes'},\n {'ArtistId': 73, 'Name': 'VinÃcius E Qurteto Em Cy'},\n {'ArtistId': 74, 'Name': 'VinÃcius E Odette Lara'},\n {'ArtistId': 75, 'Name': 'Vinicius, Toquinho & Quarteto Em Cy'},\n {'ArtistId': 76, 'Name': 'Creedence Clearwater Revival'},\n {'ArtistId': 77, 'Name': 'Cássia Eller'},\n {'ArtistId': 78, 'Name': 'Def Leppard'},\n {'ArtistId': 79, 'Name': 'Dennis Chambers'},\n {'ArtistId': 80, 'Name': 'Djavan'},\n {'ArtistId': 81, 'Name': 'Eric Clapton'},\n {'ArtistId': 82, 'Name': 'Faith No More'},\n {'ArtistId': 83, 'Name': 'Falamansa'},\n {'ArtistId': 84, 'Name': 'Foo Fighters'},\n {'ArtistId': 85, 'Name': 'Frank Sinatra'},\n {'ArtistId': 86, 'Name': 'Funk Como Le Gusta'},\n {'ArtistId': 87, 'Name': 'Godsmack'},\n {'ArtistId': 88, 'Name': \"Guns N' Roses\"},\n {'ArtistId': 89, 'Name': 'Incognito'},\n {'ArtistId': 90, 'Name': 'Iron Maiden'},\n {'ArtistId': 91, 'Name': 'James Brown'},\n {'ArtistId': 92, 'Name': 'Jamiroquai'},\n {'ArtistId': 93, 'Name': 'JET'},\n {'ArtistId': 94, 'Name': 'Jimi Hendrix'},\n {'ArtistId': 95, 'Name': 'Joe Satriani'},\n {'ArtistId': 96, 'Name': 'Jota Quest'},\n {'ArtistId': 97, 'Name': 'João Suplicy'},\n {'ArtistId': 98, 'Name': 'Judas Priest'},\n {'ArtistId': 99, 'Name': 'Legião Urbana'},\n {'ArtistId': 100, 'Name': 'Lenny Kravitz'},\n {'ArtistId': 101, 'Name': 'Lulu Santos'},\n {'ArtistId': 102, 'Name': 'Marillion'},\n {'ArtistId': 103, 'Name': 'Marisa Monte'},\n {'ArtistId': 104, 'Name': 'Marvin Gaye'},\n {'ArtistId': 105, 'Name': 'Men At Work'},\n {'ArtistId': 106, 'Name': 'Motörhead'},\n {'ArtistId': 107, 'Name': 'Motörhead & Girlschool'},\n {'ArtistId': 108, 'Name': 'Mônica Marianno'},\n {'ArtistId': 109, 'Name': 'Mötley Crüe'},\n {'ArtistId': 110, 'Name': 'Nirvana'},\n {'ArtistId': 111, 'Name': 'O Terço'},\n {'ArtistId': 112, 'Name': 'Olodum'},\n {'ArtistId': 113, 'Name': 'Os Paralamas Do Sucesso'},\n {'ArtistId': 114, 'Name': 'Ozzy Osbourne'},\n {'ArtistId': 115, 'Name': 'Page & Plant'},\n {'ArtistId': 116, 'Name': 'Passengers'},\n {'ArtistId': 117, 'Name': \"Paul D'Ianno\"},\n {'ArtistId': 118, 'Name': 'Pearl Jam'},\n {'ArtistId': 119, 'Name': 'Peter Tosh'},\n {'ArtistId': 120, 'Name': 'Pink Floyd'},\n {'ArtistId': 121, 'Name': 'Planet Hemp'},\n {'ArtistId': 122, 'Name': 'R.E.M. Feat. Kate Pearson'},\n {'ArtistId': 123, 'Name': 'R.E.M. Feat. KRS-One'},\n {'ArtistId': 124, 'Name': 'R.E.M.'},\n {'ArtistId': 125, 'Name': 'Raimundos'},\n {'ArtistId': 126, 'Name': 'Raul Seixas'},\n {'ArtistId': 127, 'Name': 'Red Hot Chili Peppers'},\n {'ArtistId': 128, 'Name': 'Rush'},\n {'ArtistId': 129, 'Name': 'Simply Red'},\n {'ArtistId': 130, 'Name': 'Skank'},\n {'ArtistId': 131, 'Name': 'Smashing Pumpkins'},\n {'ArtistId': 132, 'Name': 'Soundgarden'},\n {'ArtistId': 133, 'Name': 'Stevie Ray Vaughan & Double Trouble'},\n {'ArtistId': 134, 'Name': 'Stone Temple Pilots'},\n {'ArtistId': 135, 'Name': 'System Of A Down'},\n {'ArtistId': 136, 'Name': 'Terry Bozzio, Tony Levin & Steve Stevens'},\n {'ArtistId': 137, 'Name': 'The Black Crowes'},\n {'ArtistId': 138, 'Name': 'The Clash'},\n {'ArtistId': 139, 'Name': 'The Cult'},\n {'ArtistId': 140, 'Name': 'The Doors'},\n {'ArtistId': 141, 'Name': 'The Police'},\n {'ArtistId': 142, 'Name': 'The Rolling Stones'},\n {'ArtistId': 143, 'Name': 'The Tea Party'},\n {'ArtistId': 144, 'Name': 'The Who'},\n {'ArtistId': 145, 'Name': 'Tim Maia'},\n {'ArtistId': 146, 'Name': 'Titãs'},\n {'ArtistId': 147, 'Name': 'Battlestar Galactica'},\n {'ArtistId': 148, 'Name': 'Heroes'},\n {'ArtistId': 149, 'Name': 'Lost'},\n {'ArtistId': 150, 'Name': 'U2'},\n {'ArtistId': 151, 'Name': 'UB40'},\n {'ArtistId': 152, 'Name': 'Van Halen'},\n {'ArtistId': 153, 'Name': 'Velvet Revolver'},\n {'ArtistId': 154, 'Name': 'Whitesnake'},\n {'ArtistId': 155, 'Name': 'Zeca Pagodinho'},\n {'ArtistId': 156, 'Name': 'The Office'},\n {'ArtistId': 157, 'Name': 'Dread Zeppelin'},\n {'ArtistId': 158, 'Name': 'Battlestar Galactica (Classic)'},\n {'ArtistId': 159, 'Name': 'Aquaman'},\n {'ArtistId': 160, 'Name': 'Christina Aguilera featuring BigElf'},\n {'ArtistId': 161, 'Name': \"Aerosmith & Sierra Leone's Refugee Allstars\"},\n {'ArtistId': 162, 'Name': 'Los Lonely Boys'},\n {'ArtistId': 163, 'Name': 'Corinne Bailey Rae'},\n {'ArtistId': 164, 'Name': 'Dhani Harrison & Jakob Dylan'},\n {'ArtistId': 165, 'Name': 'Jackson Browne'},\n {'ArtistId': 166, 'Name': 'Avril Lavigne'},\n {'ArtistId': 167, 'Name': 'Big & Rich'},\n {'ArtistId': 168, 'Name': \"Youssou N'Dour\"},\n {'ArtistId': 169, 'Name': 'Black Eyed Peas'},\n {'ArtistId': 170, 'Name': 'Jack Johnson'},\n {'ArtistId': 171, 'Name': 'Ben Harper'},\n {'ArtistId': 172, 'Name': 'Snow Patrol'},\n {'ArtistId': 173, 'Name': 'Matisyahu'},\n {'ArtistId': 174, 'Name': 'The Postal Service'},\n {'ArtistId': 175, 'Name': 'Jaguares'},\n {'ArtistId': 176, 'Name': 'The Flaming Lips'},\n {'ArtistId': 177, 'Name': \"Jack's Mannequin & Mick Fleetwood\"},\n {'ArtistId': 178, 'Name': 'Regina Spektor'},\n {'ArtistId': 179, 'Name': 'Scorpions'},\n {'ArtistId': 180, 'Name': 'House Of Pain'},\n {'ArtistId': 181, 'Name': 'Xis'},\n {'ArtistId': 182, 'Name': 'Nega Gizza'},\n {'ArtistId': 183, 'Name': 'Gustavo & Andres Veiga & Salazar'},\n {'ArtistId': 184, 'Name': 'Rodox'},\n {'ArtistId': 185, 'Name': 'Charlie Brown Jr.'},\n {'ArtistId': 186, 'Name': 'Pedro LuÃs E A Parede'},\n {'ArtistId': 187, 'Name': 'Los Hermanos'},\n {'ArtistId': 188, 'Name': 'Mundo Livre S/A'},\n {'ArtistId': 189, 'Name': 'Otto'},\n {'ArtistId': 190, 'Name': 'Instituto'},\n {'ArtistId': 191, 'Name': 'Nação Zumbi'},\n {'ArtistId': 192, 'Name': 'DJ Dolores & Orchestra Santa Massa'},\n {'ArtistId': 193, 'Name': 'Seu Jorge'},\n {'ArtistId': 194, 'Name': 'Sabotage E Instituto'},\n {'ArtistId': 195, 'Name': 'Stereo Maracana'},\n {'ArtistId': 196, 'Name': 'Cake'},\n {'ArtistId': 197, 'Name': 'Aisha Duo'},\n {'ArtistId': 198, 'Name': 'Habib Koité and Bamada'},\n {'ArtistId': 199, 'Name': 'Karsh Kale'},\n {'ArtistId': 200, 'Name': 'The Posies'},\n {'ArtistId': 201, 'Name': 'Luciana Souza/Romero Lubambo'},\n {'ArtistId': 202, 'Name': 'Aaron Goldberg'},\n {'ArtistId': 203, 'Name': 'Nicolaus Esterhazy Sinfonia'},\n {'ArtistId': 204, 'Name': 'Temple of the Dog'},\n {'ArtistId': 205, 'Name': 'Chris Cornell'},\n {'ArtistId': 206, 'Name': 'Alberto Turco & Nova Schola Gregoriana'},\n {'ArtistId': 207,\n 'Name': 'Richard Marlow & The Choir of Trinity College, Cambridge'},\n {'ArtistId': 208, 'Name': 'English Concert & Trevor Pinnock'},\n {'ArtistId': 209,\n 'Name': 'Anne-Sophie Mutter, Herbert Von Karajan & Wiener Philharmoniker'},\n {'ArtistId': 210,\n 'Name': 'Hilary Hahn, Jeffrey Kahane, Los Angeles Chamber Orchestra & Margaret Batjer'},\n {'ArtistId': 211, 'Name': 'Wilhelm Kempff'},\n {'ArtistId': 212, 'Name': 'Yo-Yo Ma'},\n {'ArtistId': 213, 'Name': 'Scholars Baroque Ensemble'},\n {'ArtistId': 214,\n 'Name': 'Academy of St. Martin in the Fields & Sir Neville Marriner'},\n {'ArtistId': 215,\n 'Name': 'Academy of St. Martin in the Fields Chamber Ensemble & Sir Neville Marriner'},\n {'ArtistId': 216,\n 'Name': 'Berliner Philharmoniker, Claudio Abbado & Sabine Meyer'},\n {'ArtistId': 217,\n 'Name': 'Royal Philharmonic Orchestra & Sir Thomas Beecham'},\n {'ArtistId': 218,\n 'Name': 'Orchestre Révolutionnaire et Romantique & John Eliot Gardiner'},\n {'ArtistId': 219, 'Name': 'Britten Sinfonia, Ivor Bolton & Lesley Garrett'},\n {'ArtistId': 220,\n 'Name': 'Chicago Symphony Chorus, Chicago Symphony Orchestra & Sir Georg Solti'},\n {'ArtistId': 221, 'Name': 'Sir Georg Solti & Wiener Philharmoniker'},\n {'ArtistId': 222,\n 'Name': 'Academy of St. Martin in the Fields, John Birch, Sir Neville Marriner & Sylvia McNair'},\n {'ArtistId': 223,\n 'Name': 'London Symphony Orchestra & Sir Charles Mackerras'},\n {'ArtistId': 224, 'Name': 'Barry Wordsworth & BBC Concert Orchestra'},\n {'ArtistId': 225,\n 'Name': 'Herbert Von Karajan, Mirella Freni & Wiener Philharmoniker'},\n {'ArtistId': 226, 'Name': 'Eugene Ormandy'},\n {'ArtistId': 227, 'Name': 'Luciano Pavarotti'},\n {'ArtistId': 228, 'Name': 'Leonard Bernstein & New York Philharmonic'},\n {'ArtistId': 229, 'Name': 'Boston Symphony Orchestra & Seiji Ozawa'},\n {'ArtistId': 230, 'Name': 'Aaron Copland & London Symphony Orchestra'},\n {'ArtistId': 231, 'Name': 'Ton Koopman'},\n {'ArtistId': 232, 'Name': 'Sergei Prokofiev & Yuri Temirkanov'},\n {'ArtistId': 233, 'Name': 'Chicago Symphony Orchestra & Fritz Reiner'},\n {'ArtistId': 234, 'Name': 'Orchestra of The Age of Enlightenment'},\n {'ArtistId': 235,\n 'Name': 'Emanuel Ax, Eugene Ormandy & Philadelphia Orchestra'},\n {'ArtistId': 236, 'Name': 'James Levine'},\n {'ArtistId': 237, 'Name': 'Berliner Philharmoniker & Hans Rosbaud'},\n {'ArtistId': 238, 'Name': 'Maurizio Pollini'},\n {'ArtistId': 239,\n 'Name': 'Academy of St. Martin in the Fields, Sir Neville Marriner & William Bennett'},\n {'ArtistId': 240, 'Name': 'Gustav Mahler'},\n {'ArtistId': 241,\n 'Name': 'Felix Schmidt, London Symphony Orchestra & Rafael Frühbeck de Burgos'},\n {'ArtistId': 242, 'Name': 'Edo de Waart & San Francisco Symphony'},\n {'ArtistId': 243, 'Name': 'Antal Doráti & London Symphony Orchestra'},\n {'ArtistId': 244, 'Name': 'Choir Of Westminster Abbey & Simon Preston'},\n {'ArtistId': 245, 'Name': 'Michael Tilson Thomas & San Francisco Symphony'},\n {'ArtistId': 246,\n 'Name': 'Chor der Wiener Staatsoper, Herbert Von Karajan & Wiener Philharmoniker'},\n {'ArtistId': 247, 'Name': \"The King's Singers\"},\n {'ArtistId': 248, 'Name': 'Berliner Philharmoniker & Herbert Von Karajan'},\n {'ArtistId': 249, 'Name': 'Sir Georg Solti, Sumi Jo & Wiener Philharmoniker'},\n {'ArtistId': 250, 'Name': \"Christopher O'Riley\"},\n {'ArtistId': 251, 'Name': 'Fretwork'},\n {'ArtistId': 252, 'Name': 'Amy Winehouse'},\n {'ArtistId': 253, 'Name': 'Calexico'},\n {'ArtistId': 254, 'Name': 'Otto Klemperer & Philharmonia Orchestra'},\n {'ArtistId': 255, 'Name': 'Yehudi Menuhin'},\n {'ArtistId': 256, 'Name': 'Philharmonia Orchestra & Sir Neville Marriner'},\n {'ArtistId': 257,\n 'Name': 'Academy of St. Martin in the Fields, Sir Neville Marriner & Thurston Dart'},\n {'ArtistId': 258, 'Name': 'Les Arts Florissants & William Christie'},\n {'ArtistId': 259, 'Name': 'The 12 Cellists of The Berlin Philharmonic'},\n {'ArtistId': 260, 'Name': 'Adrian Leaper & Doreen de Feis'},\n {'ArtistId': 261, 'Name': 'Roger Norrington, London Classical Players'},\n {'ArtistId': 262,\n 'Name': \"Charles Dutoit & L'Orchestre Symphonique de Montréal\"},\n {'ArtistId': 263,\n 'Name': 'Equale Brass Ensemble, John Eliot Gardiner & Munich Monteverdi Orchestra and Choir'},\n {'ArtistId': 264, 'Name': \"Kent Nagano and Orchestre de l'Opéra de Lyon\"},\n {'ArtistId': 265, 'Name': 'Julian Bream'},\n {'ArtistId': 266, 'Name': 'Martin Roscoe'},\n {'ArtistId': 267, 'Name': 'Göteborgs Symfoniker & Neeme Järvi'},\n {'ArtistId': 268, 'Name': 'Itzhak Perlman'},\n {'ArtistId': 269, 'Name': 'Michele Campanella'},\n {'ArtistId': 270, 'Name': 'Gerald Moore'},\n {'ArtistId': 271, 'Name': 'Mela Tenenbaum, Pro Musica Prague & Richard Kapp'},\n {'ArtistId': 272, 'Name': 'Emerson String Quartet'},\n {'ArtistId': 273,\n 'Name': 'C. Monteverdi, Nigel Rogers - Chiaroscuro; London Baroque; London Cornett & Sackbu'},\n {'ArtistId': 274, 'Name': 'Nash Ensemble'},\n {'ArtistId': 275, 'Name': 'Philip Glass Ensemble'}]\n\n\n…or multiple tables at once:\n\ndt['Artist','Album','Track','Genre','MediaType']\n\n[<Table Artist (ArtistId, Name)>,\n <Table Album (AlbumId, Title, ArtistId)>,\n <Table Track (TrackId, Name, AlbumId, MediaTypeId, GenreId, Composer, Milliseconds, Bytes, UnitPrice)>,\n <Table Genre (GenreId, Name)>,\n <Table MediaType (MediaTypeId, Name)>]\n\n\nIt also provides auto-complete in Jupyter, IPython, and nearly any other interactive Python environment:\n\nYou can check if a table is in the database already:\n\n'Artist' in dt\n\nTrue\n\n\nColumn work in a similar way to tables, using the c property:\n\nac = artist.c\nac\n\nArtistId, Name\n\n\nAuto-complete works for columns too:\n\nColumns, tables, and view stringify in a format suitable for including in SQL statements. That means you can use auto-complete in f-strings.\n\nqry = f\"select * from {artist} where {ac.Name} like 'AC/%'\"\nprint(qry)\n\nselect * from \"Artist\" where \"Artist\".\"Name\" like 'AC/%'\n\n\nYou can view the results of a select query using q:\n\ndb.q(qry)\n\n[{'ArtistId': 1, 'Name': 'AC/DC'}]\n\n\nViews can be accessed through the v property:\n\nalbum = dt.Album\n\nacca_sql = f\"\"\"select {album}.*\nfrom {album} join {artist} using (ArtistId)\nwhere {ac.Name} like 'AC/%'\"\"\"\n\ndb.create_view(\"AccaDaccaAlbums\", acca_sql, replace=True)\nacca_dacca = db.q(f\"select * from {db.v.AccaDaccaAlbums}\")\nacca_dacca\n\n[{'AlbumId': 1,\n 'Title': 'For Those About To Rock We Salute You',\n 'ArtistId': 1},\n {'AlbumId': 4, 'Title': 'Let There Be Rock', 'ArtistId': 1}]", + "crumbs": [ + "fastlite" + ] + }, + { + "objectID": "index.html#dataclass-support", + "href": "index.html#dataclass-support", + "title": "fastlite", + "section": "Dataclass support", + "text": "Dataclass support\nA dataclass type with the names, types, and defaults of the tables is created using dataclass():\n\nalbum_dc = album.dataclass()\n\nLet’s try it:\n\nalbum_obj = album_dc(**acca_dacca[0])\nalbum_obj\n\nAlbum(AlbumId=1, Title='For Those About To Rock We Salute You', ArtistId=1)\n\n\nYou can get the definition of the dataclass using fastcore’s dataclass_src – everything is treated as nullable, in order to handle auto-generated database values:\n\nsrc = dataclass_src(album_dc)\nhl_md(src, 'python')\n\n@dataclass\nclass Album:\n AlbumId: int | None = None\n Title: str | None = None\n ArtistId: int | None = None\n\n\nBecause dataclass() is dynamic, you won’t get auto-complete in editors like vscode – it’ll only work in dynamic environments like Jupyter and IPython. For editor support, you can export the full set of dataclasses to a module, which you can then import from:\n\ncreate_mod(db, 'db_dc')\n\n\nfrom db_dc import Track\nTrack(**dt.Track.get(1))\n\nTrack(TrackId=1, Name='For Those About To Rock (We Salute You)', AlbumId=1, MediaTypeId=1, GenreId=1, Composer='Angus Young, Malcolm Young, Brian Johnson', Milliseconds=343719, Bytes=11170334, UnitPrice=0.99)\n\n\nThere’s a shortcut to select from a table – just call it as a function. If you’ve previously called dataclass(), returned iterms will be constructed using that class by default. There’s lots of params you can check out, such as limit:\n\nalbum(limit=2)\n\n[Album(AlbumId=1, Title='For Those About To Rock We Salute You', ArtistId=1),\n Album(AlbumId=2, Title='Balls to the Wall', ArtistId=2)]\n\n\nPass a truthy value as the first param and you’ll get tuples of primary keys and records:\n\nalbum(1, limit=2)\n\n[(1,\n Album(AlbumId=1, Title='For Those About To Rock We Salute You', ArtistId=1)),\n (2, Album(AlbumId=2, Title='Balls to the Wall', ArtistId=2))]\n\n\nget also uses the dataclass by default:\n\nalbum.get(5)\n\nAlbum(AlbumId=5, Title='Big Ones', ArtistId=3)\n\n\nIf you set xtra fields, then get is also filtered by those. As a result, for instance in this case, nothing is returned since album 5 is not created by artist 1:\n\nalbum.xtra(ArtistId=1)\n\ntry: album.get(5)\nexcept NotFoundError: print(\"Not found\")\n\nNot found", + "crumbs": [ + "fastlite" + ] + }, + { + "objectID": "index.html#insert-upsert-and-update", + "href": "index.html#insert-upsert-and-update", + "title": "fastlite", + "section": "Insert, upsert, and update", + "text": "Insert, upsert, and update\nThe following methods accept **kwargs, passing them along to the first dict param:\n\ncreate\ntransform\ntransform_sql\nupdate\ninsert\nupsert\nlookup\n\nWe can access a table that doesn’t actually exist yet:\n\ncats = dt.cats\ncats\n\n<Table cats (does not exist yet)>\n\n\nWe can use keyword arguments to now create that table:\n\ncats.create(id=int, name=str, weight=float, uid=int, pk='id')\nhl_md(cats.schema, 'sql')\n\nCREATE TABLE [cats] (\n [id] INTEGER PRIMARY KEY,\n [name] TEXT,\n [weight] FLOAT,\n [uid] INTEGER\n)\n\n\nIt we set xtra then the additional fields are used for insert, update, and delete:\n\ncats.xtra(uid=2)\ncat = cats.insert(name='meow', weight=6)\n\nThe inserted row is returned, including the xtra ‘uid’ field.\n\ncat\n\n{'id': 1, 'name': 'meow', 'weight': 6.0, 'uid': 2}\n\n\nUsing ** in update here doesn’t actually achieve anything, since we can just pass a dict directly – it’s just to show that it works:\n\ncat['name'] = \"moo\"\ncat['uid'] = 1\ncats.update(**cat)\ncats()\n\n[{'id': 1, 'name': 'moo', 'weight': 6.0, 'uid': 2}]\n\n\nAttempts to update or insert with xtra fields are ignored.\nAn error is raised if there’s an attempt to update a record not matching xtra fields:\n\ncats.xtra(uid=1)\ntry: cats.update(**cat)\nexcept NotFoundError: print(\"Not found\")\n\nNot found\n\n\nThis all also works with dataclasses:\n\ncats.xtra(uid=2)\ncats.dataclass()\ncat = cats.get(1)\ncat\n\nCats(id=1, name='moo', weight=6.0, uid=2)\n\n\n\ncat.name = 'foo'\ncats.upsert(cat)\ncats()\n\n[Cats(id=1, name='foo', weight=6.0, uid=2)]\n\n\n\ncats.drop()\ncats\n\n<Table cats (does not exist yet)>", + "crumbs": [ + "fastlite" + ] + }, + { + "objectID": "index.html#diagrams", + "href": "index.html#diagrams", + "title": "fastlite", + "section": "Diagrams", + "text": "Diagrams\nIf you have graphviz installed, you can create database diagrams:\n\ndiagram(db.tables)\n\n\n\n\n\n\n\n\nPass a subset of tables to just diagram those. You can also adjust the size and aspect ratio.\n\ndiagram(db.t['Artist','Album','Track','Genre','MediaType'], size=8, ratio=0.4)", + "crumbs": [ + "fastlite" + ] + }, + { + "objectID": "core.html", + "href": "core.html", + "title": "Source", + "section": "", + "text": "from IPython.display import Markdown\n\n\ndb = Database(\"chinook.sqlite\")\n\n\nsource\n\n\n\n Database.t ()\n\n\n\nExported source\nclass _Getter:\n \"Abstract class with dynamic attributes providing access to DB objects\"\n def __init__(self, db): self.db = db\n # NB: Define `__dir__` in subclass to get list of objects\n def __repr__(self): return \", \".join(dir(self))\n def __contains__(self, s): return (s if isinstance(s,str) else s.name) in dir(self)\n def __getitem__(self, idxs):\n if isinstance(idxs,str): return self.db.table(idxs)\n return [self.db.table(o) for o in idxs]\n def __getattr__(self, k):\n if k[0]=='_': raise AttributeError\n return self.db[k]\n\nclass _TablesGetter(_Getter):\n def __dir__(self): return self.db.table_names()\n\n@patch(as_prop=True)\ndef t(self:Database): return _TablesGetter(self)\n\n\nBy returning a _TablesGetter we get a repr and auto-complete that shows all tables in the DB.\n\ndt = db.t\ndt\n\nAlbum, Artist, Customer, Employee, Genre, Invoice, InvoiceLine, MediaType, Playlist, PlaylistTrack, Track, cats\n\n\n\nartist = dt.Artist\nartist\n\n<Table Artist (ArtistId, Name)>\n\n\nThis also can be used to get multiple tables at once.\n\ndt['Album','Artist']\n\n[<Table Album (AlbumId, Title, ArtistId)>, <Table Artist (ArtistId, Name)>]\n\n\n\nassert 'Artist' in dt\nassert artist in dt\nassert 'foo' not in dt\n\n\nsource\n\n\n\n\n View.c ()\n\n\n\nExported source\nclass _Col:\n def __init__(self, t, c): self.t,self.c = t,c\n def __str__(self): return f'\"{self.t}\".\"{self.c}\"'\n def __repr__(self): return self.c\n\nclass _ColsGetter:\n def __init__(self, tbl): self.tbl = tbl\n def __dir__(self): return map(repr, self())\n def __call__(self): return [_Col(self.tbl.name,o.name) for o in self.tbl.columns]\n def __contains__(self, s): return (s if isinstance(s,str) else s.c) in self.tbl.columns_dict\n def __repr__(self): return \", \".join(dir(self))\n\n def __getattr__(self, k):\n if k[0]=='_': raise AttributeError\n return _Col(self.tbl.name, k)\n\n@patch(as_prop=True)\ndef c(self:Table): return _ColsGetter(self)\n\n@patch(as_prop=True)\ndef c(self:View): return _ColsGetter(self)\n\n\n\nsource\n\n\n\n\n Table.c ()\n\nColumn auto-complete and repr are much the same as tables.\n\nac = artist.c\nac\n\nArtistId, Name\n\n\nColumns stringify in a format suitable for including in SQL statements.\n\nprint(f\"select {ac.Name} ...\")\n\nselect \"Artist\".\"Name\" ...\n\n\n\nsource\n\n\n\n\n View.__str__ ()\n\nReturn str(self).\n\n\nExported source\n@patch\ndef __str__(self:Table): return f'\"{self.name}\"'\n\n@patch\ndef __str__(self:View): return f'\"{self.name}\"'\n\n\n\nsource\n\n\n\n\n Table.__str__ ()\n\nReturn str(self).\nTables and views do the same.\n\nprint(f\"select {ac.Name} from {artist}\")\n\nselect \"Artist\".\"Name\" from \"Artist\"\n\n\n\nassert 'Name' in ac\nassert ac.Name in ac\nassert 'foo' not in ac", + "crumbs": [ + "Source" + ] + }, + { + "objectID": "core.html#metadata", + "href": "core.html#metadata", + "title": "Source", + "section": "", + "text": "from IPython.display import Markdown\n\n\ndb = Database(\"chinook.sqlite\")\n\n\nsource\n\n\n\n Database.t ()\n\n\n\nExported source\nclass _Getter:\n \"Abstract class with dynamic attributes providing access to DB objects\"\n def __init__(self, db): self.db = db\n # NB: Define `__dir__` in subclass to get list of objects\n def __repr__(self): return \", \".join(dir(self))\n def __contains__(self, s): return (s if isinstance(s,str) else s.name) in dir(self)\n def __getitem__(self, idxs):\n if isinstance(idxs,str): return self.db.table(idxs)\n return [self.db.table(o) for o in idxs]\n def __getattr__(self, k):\n if k[0]=='_': raise AttributeError\n return self.db[k]\n\nclass _TablesGetter(_Getter):\n def __dir__(self): return self.db.table_names()\n\n@patch(as_prop=True)\ndef t(self:Database): return _TablesGetter(self)\n\n\nBy returning a _TablesGetter we get a repr and auto-complete that shows all tables in the DB.\n\ndt = db.t\ndt\n\nAlbum, Artist, Customer, Employee, Genre, Invoice, InvoiceLine, MediaType, Playlist, PlaylistTrack, Track, cats\n\n\n\nartist = dt.Artist\nartist\n\n<Table Artist (ArtistId, Name)>\n\n\nThis also can be used to get multiple tables at once.\n\ndt['Album','Artist']\n\n[<Table Album (AlbumId, Title, ArtistId)>, <Table Artist (ArtistId, Name)>]\n\n\n\nassert 'Artist' in dt\nassert artist in dt\nassert 'foo' not in dt\n\n\nsource\n\n\n\n\n View.c ()\n\n\n\nExported source\nclass _Col:\n def __init__(self, t, c): self.t,self.c = t,c\n def __str__(self): return f'\"{self.t}\".\"{self.c}\"'\n def __repr__(self): return self.c\n\nclass _ColsGetter:\n def __init__(self, tbl): self.tbl = tbl\n def __dir__(self): return map(repr, self())\n def __call__(self): return [_Col(self.tbl.name,o.name) for o in self.tbl.columns]\n def __contains__(self, s): return (s if isinstance(s,str) else s.c) in self.tbl.columns_dict\n def __repr__(self): return \", \".join(dir(self))\n\n def __getattr__(self, k):\n if k[0]=='_': raise AttributeError\n return _Col(self.tbl.name, k)\n\n@patch(as_prop=True)\ndef c(self:Table): return _ColsGetter(self)\n\n@patch(as_prop=True)\ndef c(self:View): return _ColsGetter(self)\n\n\n\nsource\n\n\n\n\n Table.c ()\n\nColumn auto-complete and repr are much the same as tables.\n\nac = artist.c\nac\n\nArtistId, Name\n\n\nColumns stringify in a format suitable for including in SQL statements.\n\nprint(f\"select {ac.Name} ...\")\n\nselect \"Artist\".\"Name\" ...\n\n\n\nsource\n\n\n\n\n View.__str__ ()\n\nReturn str(self).\n\n\nExported source\n@patch\ndef __str__(self:Table): return f'\"{self.name}\"'\n\n@patch\ndef __str__(self:View): return f'\"{self.name}\"'\n\n\n\nsource\n\n\n\n\n Table.__str__ ()\n\nReturn str(self).\nTables and views do the same.\n\nprint(f\"select {ac.Name} from {artist}\")\n\nselect \"Artist\".\"Name\" from \"Artist\"\n\n\n\nassert 'Name' in ac\nassert ac.Name in ac\nassert 'foo' not in ac", + "crumbs": [ + "Source" + ] + }, + { + "objectID": "core.html#queries-and-views", + "href": "core.html#queries-and-views", + "title": "Source", + "section": "Queries and views", + "text": "Queries and views\n\nsource\n\nDatabase.q\n\n Database.q (sql:str, params=None)\n\n\n\nExported source\n@patch\ndef q(self:Database, sql: str, params = None)->list:\n return list(self.query(sql, params=params))\n\n\nThis is a minor shortcut for interactive use.\n\nacdc = db.q(f\"select * from {artist} where {ac.Name} like 'AC/%'\")\nacdc\n\n[{'ArtistId': 1, 'Name': 'AC/DC'}]\n\n\n\nsource\n\n\nTable.dataclass\n\n Table.dataclass (store=True, suf='')\n\nCreate a dataclass with the types and defaults of this table\n\n\nExported source\ndef _get_flds(tbl): \n return [(k, v|None, field(default=tbl.default_values.get(k,None)))\n for k,v in tbl.columns_dict.items()]\n\n@patch\ndef dataclass(self:Table, store=True, suf='')->type:\n \"Create a `dataclass` with the types and defaults of this table\"\n res = make_dataclass(self.name.title()+suf, _get_flds(self))\n if store: self.cls = res\n return res\n\n\n\nartist_dc = artist.dataclass()\nart1_obj = artist_dc(**acdc[0])\nart1_obj\n\nArtist(ArtistId=1, Name='AC/DC')\n\n\nYou can get the definition of the dataclass using fastcore’s dataclass_src:\n\nsrc = dataclass_src(artist_dc)\nhl_md(src, 'python')\n\n@dataclass\nclass Artist:\n ArtistId: int | None = None\n Name: str | None = None\n\n\n\nsource\n\n\nall_dcs\n\n all_dcs (db, with_views=False, store=True, suf='')\n\ndataclasses for all objects in db\n\n\nExported source\ndef all_dcs(db, with_views=False, store=True, suf=''):\n \"dataclasses for all objects in `db`\"\n return [o.dataclass(store=store, suf=suf) for o in db.tables + (db.views if with_views else [])]\n\n\n\nsource\n\n\ncreate_mod\n\n create_mod (db, mod_fn, with_views=False, store=True, suf='')\n\nCreate module for dataclasses for db\n\n\nExported source\ndef create_mod(db, mod_fn, with_views=False, store=True, suf=''):\n \"Create module for dataclasses for `db`\"\n mod_fn = str(mod_fn)\n if not mod_fn.endswith('.py'): mod_fn+='.py'\n with open(mod_fn, 'w') as f:\n print('from dataclasses import dataclass', file=f)\n print('from typing import Any,Union,Optional\\n', file=f)\n for o in all_dcs(db, with_views, store=store, suf=suf): print(dataclass_src(o), file=f)\n\n\n\ncreate_mod(db, 'db_dc')\n\n\nfrom db_dc import Track\nTrack(**dt.Track.get(1))\n\nTrack(TrackId=1, Name='For Those About To Rock (We Salute You)', AlbumId=1, MediaTypeId=1, GenreId=1, Composer='Angus Young, Malcolm Young, Brian Johnson', Milliseconds=343719, Bytes=11170334, UnitPrice=0.99)\n\n\n\n\n\ncall’]\n*Built-in mutable sequence.\nIf no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.*\n\n\nExported source\n@patch\ndef __call__(\n self:(Table|View), with_pk:bool=False, where:str|None=None,\n where_args: Iterable|dict|NoneType=None, order_by: str|None=None,\n limit:int|None=None, offset:int|None=None, as_cls:bool=True, **kwargs)->list:\n \"Shortcut for `rows_where` or `pks_and_rows_where`, depending on `with_pk`\"\n \n f = getattr(self, 'pks_and_rows_where' if with_pk else 'rows_where')\n res = f(where=where, where_args=where_args, order_by=order_by, limit=limit, offset=offset, **kwargs)\n if as_cls and hasattr(self,'cls'):\n if with_pk: res = ((k,self.cls(**v)) for k,v in res)\n else: res = (self.cls(**o) for o in res)\n return list(res)\n\n\nThis calls either rows_where (if with_pk) or with_pk (otherwise). If dataclass(store=True) has been called, then if as_cls rows will be returned as dataclass objects.\n\nartist(limit=2)\n\n[Artist(ArtistId=1, Name='AC/DC'), Artist(ArtistId=2, Name='Accept')]\n\n\nIf with_pk then tuples are returns with PKs 1st.\n\nartist(True, limit=2)\n\n[(1, Artist(ArtistId=1, Name='AC/DC')), (2, Artist(ArtistId=2, Name='Accept'))]\n\n\n\nartist.get(1)\n\n{'ArtistId': 1, 'Name': 'AC/DC'}\n\n\n\nalbum = dt.Album\n\nacca_sql = f\"\"\"select {album}.*\nfrom {album} join {artist} using (ArtistId)\nwhere {ac.Name} like 'AC/%'\"\"\"\n\n\nhl_md(acca_sql, 'sql')\n\nselect \"Album\".*\nfrom \"Album\" join \"Artist\" using (ArtistId)\nwhere \"Artist\".\"Name\" like 'AC/%'\n\n\n\ndb.q(acca_sql)\n\n[{'AlbumId': 1,\n 'Title': 'For Those About To Rock We Salute You',\n 'ArtistId': 1},\n {'AlbumId': 4, 'Title': 'Let There Be Rock', 'ArtistId': 1}]\n\n\n\ndb.create_view(\"AccaDaccaAlbums\", acca_sql, replace=True)\n\n<Database <sqlite3.Connection object>>\n\n\n\nsource\n\n\nDatabase.v\n\n Database.v ()\n\n\n\nExported source\nclass _ViewsGetter(_Getter):\n def __dir__(self): return self.db.view_names()\n\n@patch(as_prop=True)\ndef v(self:Database): return _ViewsGetter(self)\n\n\n\ndv = db.v\ndv\n\nAccaDaccaAlbums\n\n\n\ndv.AccaDaccaAlbums()\n\n[{'AlbumId': 1,\n 'Title': 'For Those About To Rock We Salute You',\n 'ArtistId': 1},\n {'AlbumId': 4, 'Title': 'Let There Be Rock', 'ArtistId': 1}]", + "crumbs": [ + "Source" + ] + }, + { + "objectID": "core.html#database-diagrams", + "href": "core.html#database-diagrams", + "title": "Source", + "section": "Database diagrams", + "text": "Database diagrams\n(Requires graphviz.)\n\nfk = album.foreign_keys[0]\nfk\n\nForeignKey(table='Album', column='ArtistId', other_table='Artist', other_column='ArtistId')\n\n\n\nsource\n\ndiagram\n\n diagram (tbls, ratio=0.7, size='10', neato=False, render=True)\n\n\n\nExported source\ndef _edge(tbl):\n return \"\\n\".join(f\"{fk.table}:{fk.column} -> {fk.other_table}:{fk.other_column};\"\n for fk in tbl.foreign_keys)\n\ndef _row(col):\n xtra = \" 🔑\" if col.is_pk else \"\"\n bg = ' bgcolor=\"#ffebcd\"' if col.is_pk else \"\"\n return f' <tr><td port=\"{col.name}\"{bg}>{col.name}{xtra}</td></tr>'\n\ndef _tnode(tbl):\n rows = \"\\n\".join(_row(o) for o in tbl.columns)\n res = f\"\"\"<table cellborder=\"1\" cellspacing=\"0\">\n <tr><td bgcolor=\"lightgray\">{tbl.name}</td></tr>\n{rows}\n </table>\"\"\"\n return f\"{tbl.name} [label=<{res}>];\\n\"\n\n\n\n\nExported source\ndef diagram(tbls, ratio=0.7, size=\"10\", neato=False, render=True):\n layout = \"\\nlayout=neato;\\noverlap=prism;\\noverlap_scaling=0.5;\"\"\" if neato else \"\"\n edges = \"\\n\".join(map(_edge, tbls))\n tnodes = \"\\n\".join(map(_tnode, tbls))\n \n res = f\"\"\"digraph G {{\nrankdir=LR;{layout}\nsize=\"{size}\";\nratio={ratio};\nnode [shape=plaintext]\n\n{tnodes}\n\n{edges}\n}}\n\"\"\"\n return Source(res) if render else res\n\n\n\ndiagram(db.tables)", + "crumbs": [ + "Source" + ] + } +] \ No newline at end of file diff --git a/site_libs/bootstrap/bootstrap-icons.css b/site_libs/bootstrap/bootstrap-icons.css new file mode 100644 index 0000000..285e444 --- /dev/null +++ b/site_libs/bootstrap/bootstrap-icons.css @@ -0,0 +1,2078 @@ +/*! + * Bootstrap Icons v1.11.1 (https://icons.getbootstrap.com/) + * Copyright 2019-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) + */ + +@font-face { + font-display: block; + font-family: "bootstrap-icons"; + src: +url("./bootstrap-icons.woff?2820a3852bdb9a5832199cc61cec4e65") format("woff"); +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: bootstrap-icons !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.bi-123::before { content: "\f67f"; } +.bi-alarm-fill::before { content: "\f101"; } +.bi-alarm::before { content: "\f102"; } +.bi-align-bottom::before { content: "\f103"; } +.bi-align-center::before { content: "\f104"; } +.bi-align-end::before { content: "\f105"; } +.bi-align-middle::before { content: "\f106"; } +.bi-align-start::before { content: "\f107"; } +.bi-align-top::before { content: "\f108"; } +.bi-alt::before { content: "\f109"; } +.bi-app-indicator::before { content: "\f10a"; } +.bi-app::before { content: "\f10b"; } +.bi-archive-fill::before { content: "\f10c"; } +.bi-archive::before { content: "\f10d"; } +.bi-arrow-90deg-down::before { content: "\f10e"; } +.bi-arrow-90deg-left::before { content: "\f10f"; } +.bi-arrow-90deg-right::before { content: "\f110"; } +.bi-arrow-90deg-up::before { content: "\f111"; } +.bi-arrow-bar-down::before { content: "\f112"; } +.bi-arrow-bar-left::before { content: "\f113"; } +.bi-arrow-bar-right::before { content: "\f114"; } +.bi-arrow-bar-up::before { content: "\f115"; } +.bi-arrow-clockwise::before { content: "\f116"; } +.bi-arrow-counterclockwise::before { content: "\f117"; } +.bi-arrow-down-circle-fill::before { content: "\f118"; } +.bi-arrow-down-circle::before { content: "\f119"; } +.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } +.bi-arrow-down-left-circle::before { content: "\f11b"; } +.bi-arrow-down-left-square-fill::before { content: "\f11c"; } +.bi-arrow-down-left-square::before { content: "\f11d"; } +.bi-arrow-down-left::before { content: "\f11e"; } +.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } +.bi-arrow-down-right-circle::before { content: "\f120"; } +.bi-arrow-down-right-square-fill::before { content: "\f121"; } +.bi-arrow-down-right-square::before { content: "\f122"; } +.bi-arrow-down-right::before { content: "\f123"; } +.bi-arrow-down-short::before { content: "\f124"; } +.bi-arrow-down-square-fill::before { content: "\f125"; } +.bi-arrow-down-square::before { content: "\f126"; } +.bi-arrow-down-up::before { content: "\f127"; } +.bi-arrow-down::before { content: "\f128"; } +.bi-arrow-left-circle-fill::before { content: "\f129"; } +.bi-arrow-left-circle::before { content: "\f12a"; } +.bi-arrow-left-right::before { content: "\f12b"; } +.bi-arrow-left-short::before { content: "\f12c"; } +.bi-arrow-left-square-fill::before { content: "\f12d"; } +.bi-arrow-left-square::before { content: "\f12e"; } +.bi-arrow-left::before { content: "\f12f"; } +.bi-arrow-repeat::before { content: "\f130"; } +.bi-arrow-return-left::before { content: "\f131"; } +.bi-arrow-return-right::before { content: "\f132"; } +.bi-arrow-right-circle-fill::before { content: "\f133"; } +.bi-arrow-right-circle::before { content: "\f134"; } +.bi-arrow-right-short::before { content: "\f135"; } +.bi-arrow-right-square-fill::before { content: "\f136"; } +.bi-arrow-right-square::before { content: "\f137"; } +.bi-arrow-right::before { content: "\f138"; } +.bi-arrow-up-circle-fill::before { content: "\f139"; } +.bi-arrow-up-circle::before { content: "\f13a"; } +.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } +.bi-arrow-up-left-circle::before { content: "\f13c"; } +.bi-arrow-up-left-square-fill::before { content: "\f13d"; } +.bi-arrow-up-left-square::before { content: "\f13e"; } +.bi-arrow-up-left::before { content: "\f13f"; } +.bi-arrow-up-right-circle-fill::before { content: "\f140"; } +.bi-arrow-up-right-circle::before { content: "\f141"; } +.bi-arrow-up-right-square-fill::before { content: "\f142"; } +.bi-arrow-up-right-square::before { content: "\f143"; } +.bi-arrow-up-right::before { content: "\f144"; } +.bi-arrow-up-short::before { content: "\f145"; } +.bi-arrow-up-square-fill::before { content: "\f146"; } +.bi-arrow-up-square::before { content: "\f147"; } +.bi-arrow-up::before { content: "\f148"; } +.bi-arrows-angle-contract::before { content: "\f149"; } +.bi-arrows-angle-expand::before { content: "\f14a"; } +.bi-arrows-collapse::before { content: "\f14b"; } +.bi-arrows-expand::before { content: "\f14c"; } +.bi-arrows-fullscreen::before { content: "\f14d"; } +.bi-arrows-move::before { content: "\f14e"; } +.bi-aspect-ratio-fill::before { content: "\f14f"; } +.bi-aspect-ratio::before { content: "\f150"; } +.bi-asterisk::before { content: "\f151"; } +.bi-at::before { content: "\f152"; } +.bi-award-fill::before { content: "\f153"; } +.bi-award::before { content: "\f154"; } +.bi-back::before { content: "\f155"; } +.bi-backspace-fill::before { content: "\f156"; } +.bi-backspace-reverse-fill::before { content: "\f157"; } +.bi-backspace-reverse::before { content: "\f158"; } +.bi-backspace::before { content: "\f159"; } +.bi-badge-3d-fill::before { content: "\f15a"; } +.bi-badge-3d::before { content: "\f15b"; } +.bi-badge-4k-fill::before { content: "\f15c"; } +.bi-badge-4k::before { content: "\f15d"; } +.bi-badge-8k-fill::before { content: "\f15e"; } +.bi-badge-8k::before { content: "\f15f"; } +.bi-badge-ad-fill::before { content: "\f160"; } +.bi-badge-ad::before { content: "\f161"; } +.bi-badge-ar-fill::before { content: "\f162"; } +.bi-badge-ar::before { content: "\f163"; } +.bi-badge-cc-fill::before { content: "\f164"; } +.bi-badge-cc::before { content: "\f165"; } +.bi-badge-hd-fill::before { content: "\f166"; } +.bi-badge-hd::before { content: "\f167"; } +.bi-badge-tm-fill::before { content: "\f168"; } +.bi-badge-tm::before { content: "\f169"; } +.bi-badge-vo-fill::before { content: "\f16a"; } +.bi-badge-vo::before { content: "\f16b"; } +.bi-badge-vr-fill::before { content: "\f16c"; } +.bi-badge-vr::before { content: "\f16d"; } +.bi-badge-wc-fill::before { content: "\f16e"; } +.bi-badge-wc::before { content: "\f16f"; } +.bi-bag-check-fill::before { content: "\f170"; } +.bi-bag-check::before { content: "\f171"; } +.bi-bag-dash-fill::before { content: "\f172"; } +.bi-bag-dash::before { content: "\f173"; } +.bi-bag-fill::before { content: "\f174"; } +.bi-bag-plus-fill::before { content: "\f175"; } +.bi-bag-plus::before { content: "\f176"; } +.bi-bag-x-fill::before { content: "\f177"; } +.bi-bag-x::before { content: "\f178"; } +.bi-bag::before { content: "\f179"; } +.bi-bar-chart-fill::before { content: "\f17a"; } +.bi-bar-chart-line-fill::before { content: "\f17b"; } +.bi-bar-chart-line::before { content: "\f17c"; } +.bi-bar-chart-steps::before { content: "\f17d"; } +.bi-bar-chart::before { content: "\f17e"; } +.bi-basket-fill::before { content: "\f17f"; } +.bi-basket::before { content: "\f180"; } +.bi-basket2-fill::before { content: "\f181"; } +.bi-basket2::before { content: "\f182"; } +.bi-basket3-fill::before { content: "\f183"; } +.bi-basket3::before { content: "\f184"; } +.bi-battery-charging::before { content: "\f185"; } +.bi-battery-full::before { content: "\f186"; } +.bi-battery-half::before { content: "\f187"; } +.bi-battery::before { content: "\f188"; } +.bi-bell-fill::before { content: "\f189"; } +.bi-bell::before { content: "\f18a"; } +.bi-bezier::before { content: "\f18b"; } +.bi-bezier2::before { content: "\f18c"; } +.bi-bicycle::before { content: "\f18d"; } +.bi-binoculars-fill::before { content: "\f18e"; } +.bi-binoculars::before { content: "\f18f"; } +.bi-blockquote-left::before { content: "\f190"; } +.bi-blockquote-right::before { content: "\f191"; } +.bi-book-fill::before { content: "\f192"; } +.bi-book-half::before { content: "\f193"; } +.bi-book::before { content: "\f194"; } +.bi-bookmark-check-fill::before { content: "\f195"; } +.bi-bookmark-check::before { content: "\f196"; } +.bi-bookmark-dash-fill::before { content: "\f197"; } +.bi-bookmark-dash::before { content: "\f198"; } +.bi-bookmark-fill::before { content: "\f199"; } +.bi-bookmark-heart-fill::before { content: "\f19a"; } +.bi-bookmark-heart::before { content: "\f19b"; } +.bi-bookmark-plus-fill::before { content: "\f19c"; } +.bi-bookmark-plus::before { content: "\f19d"; } +.bi-bookmark-star-fill::before { content: "\f19e"; } +.bi-bookmark-star::before { content: "\f19f"; } +.bi-bookmark-x-fill::before { content: "\f1a0"; } +.bi-bookmark-x::before { content: "\f1a1"; } +.bi-bookmark::before { content: "\f1a2"; } +.bi-bookmarks-fill::before { content: "\f1a3"; } +.bi-bookmarks::before { content: "\f1a4"; } +.bi-bookshelf::before { content: "\f1a5"; } +.bi-bootstrap-fill::before { content: "\f1a6"; } +.bi-bootstrap-reboot::before { content: "\f1a7"; } +.bi-bootstrap::before { content: "\f1a8"; } +.bi-border-all::before { content: "\f1a9"; } +.bi-border-bottom::before { content: "\f1aa"; } +.bi-border-center::before { content: "\f1ab"; } +.bi-border-inner::before { content: "\f1ac"; } +.bi-border-left::before { content: "\f1ad"; } +.bi-border-middle::before { content: "\f1ae"; } +.bi-border-outer::before { content: "\f1af"; } +.bi-border-right::before { content: "\f1b0"; } +.bi-border-style::before { content: "\f1b1"; } +.bi-border-top::before { content: "\f1b2"; } +.bi-border-width::before { content: "\f1b3"; } +.bi-border::before { content: "\f1b4"; } +.bi-bounding-box-circles::before { content: "\f1b5"; } +.bi-bounding-box::before { content: "\f1b6"; } +.bi-box-arrow-down-left::before { content: "\f1b7"; } +.bi-box-arrow-down-right::before { content: "\f1b8"; } +.bi-box-arrow-down::before { content: "\f1b9"; } +.bi-box-arrow-in-down-left::before { content: "\f1ba"; } +.bi-box-arrow-in-down-right::before { content: "\f1bb"; } +.bi-box-arrow-in-down::before { content: "\f1bc"; } +.bi-box-arrow-in-left::before { content: "\f1bd"; } +.bi-box-arrow-in-right::before { content: "\f1be"; } +.bi-box-arrow-in-up-left::before { content: "\f1bf"; } +.bi-box-arrow-in-up-right::before { content: "\f1c0"; } +.bi-box-arrow-in-up::before { content: "\f1c1"; } +.bi-box-arrow-left::before { content: "\f1c2"; } +.bi-box-arrow-right::before { content: "\f1c3"; } +.bi-box-arrow-up-left::before { content: "\f1c4"; } +.bi-box-arrow-up-right::before { content: "\f1c5"; } +.bi-box-arrow-up::before { content: "\f1c6"; } +.bi-box-seam::before { content: "\f1c7"; } +.bi-box::before { content: "\f1c8"; } +.bi-braces::before { content: "\f1c9"; } +.bi-bricks::before { content: "\f1ca"; } +.bi-briefcase-fill::before { content: "\f1cb"; } +.bi-briefcase::before { content: "\f1cc"; } +.bi-brightness-alt-high-fill::before { content: "\f1cd"; } +.bi-brightness-alt-high::before { content: "\f1ce"; } +.bi-brightness-alt-low-fill::before { content: "\f1cf"; } +.bi-brightness-alt-low::before { content: "\f1d0"; } +.bi-brightness-high-fill::before { content: "\f1d1"; } +.bi-brightness-high::before { content: "\f1d2"; } +.bi-brightness-low-fill::before { content: "\f1d3"; } +.bi-brightness-low::before { content: "\f1d4"; } +.bi-broadcast-pin::before { content: "\f1d5"; } +.bi-broadcast::before { content: "\f1d6"; } +.bi-brush-fill::before { content: "\f1d7"; } +.bi-brush::before { content: "\f1d8"; } +.bi-bucket-fill::before { content: "\f1d9"; } +.bi-bucket::before { content: "\f1da"; } +.bi-bug-fill::before { content: "\f1db"; } +.bi-bug::before { content: "\f1dc"; } +.bi-building::before { content: "\f1dd"; } +.bi-bullseye::before { content: "\f1de"; } +.bi-calculator-fill::before { content: "\f1df"; } +.bi-calculator::before { content: "\f1e0"; } +.bi-calendar-check-fill::before { content: "\f1e1"; } +.bi-calendar-check::before { content: "\f1e2"; } +.bi-calendar-date-fill::before { content: "\f1e3"; } +.bi-calendar-date::before { content: "\f1e4"; } +.bi-calendar-day-fill::before { content: "\f1e5"; } +.bi-calendar-day::before { content: "\f1e6"; } +.bi-calendar-event-fill::before { content: "\f1e7"; } +.bi-calendar-event::before { content: "\f1e8"; } +.bi-calendar-fill::before { content: "\f1e9"; } +.bi-calendar-minus-fill::before { content: "\f1ea"; } +.bi-calendar-minus::before { content: "\f1eb"; } +.bi-calendar-month-fill::before { content: "\f1ec"; } +.bi-calendar-month::before { content: "\f1ed"; } +.bi-calendar-plus-fill::before { content: "\f1ee"; } +.bi-calendar-plus::before { content: "\f1ef"; } +.bi-calendar-range-fill::before { content: "\f1f0"; } +.bi-calendar-range::before { content: "\f1f1"; } +.bi-calendar-week-fill::before { content: "\f1f2"; } +.bi-calendar-week::before { content: "\f1f3"; } +.bi-calendar-x-fill::before { content: "\f1f4"; } +.bi-calendar-x::before { content: "\f1f5"; } +.bi-calendar::before { content: "\f1f6"; } +.bi-calendar2-check-fill::before { content: "\f1f7"; } +.bi-calendar2-check::before { content: "\f1f8"; } +.bi-calendar2-date-fill::before { content: "\f1f9"; } +.bi-calendar2-date::before { content: "\f1fa"; } +.bi-calendar2-day-fill::before { content: "\f1fb"; } +.bi-calendar2-day::before { content: "\f1fc"; } +.bi-calendar2-event-fill::before { content: "\f1fd"; } +.bi-calendar2-event::before { content: "\f1fe"; } +.bi-calendar2-fill::before { content: "\f1ff"; } +.bi-calendar2-minus-fill::before { content: "\f200"; } +.bi-calendar2-minus::before { content: "\f201"; } +.bi-calendar2-month-fill::before { content: "\f202"; } +.bi-calendar2-month::before { content: "\f203"; } +.bi-calendar2-plus-fill::before { content: "\f204"; } +.bi-calendar2-plus::before { content: "\f205"; } +.bi-calendar2-range-fill::before { content: "\f206"; } +.bi-calendar2-range::before { content: "\f207"; } +.bi-calendar2-week-fill::before { content: "\f208"; } +.bi-calendar2-week::before { content: "\f209"; } +.bi-calendar2-x-fill::before { content: "\f20a"; } +.bi-calendar2-x::before { content: "\f20b"; } +.bi-calendar2::before { content: "\f20c"; } +.bi-calendar3-event-fill::before { content: "\f20d"; } +.bi-calendar3-event::before { content: "\f20e"; } +.bi-calendar3-fill::before { content: "\f20f"; } +.bi-calendar3-range-fill::before { content: "\f210"; } +.bi-calendar3-range::before { content: "\f211"; } +.bi-calendar3-week-fill::before { content: "\f212"; } +.bi-calendar3-week::before { content: "\f213"; } +.bi-calendar3::before { content: "\f214"; } +.bi-calendar4-event::before { content: "\f215"; } +.bi-calendar4-range::before { content: "\f216"; } +.bi-calendar4-week::before { content: "\f217"; } +.bi-calendar4::before { content: "\f218"; } +.bi-camera-fill::before { content: "\f219"; } +.bi-camera-reels-fill::before { content: "\f21a"; } +.bi-camera-reels::before { content: "\f21b"; } +.bi-camera-video-fill::before { content: "\f21c"; } +.bi-camera-video-off-fill::before { content: "\f21d"; } +.bi-camera-video-off::before { content: "\f21e"; } +.bi-camera-video::before { content: "\f21f"; } +.bi-camera::before { content: "\f220"; } +.bi-camera2::before { content: "\f221"; } +.bi-capslock-fill::before { content: "\f222"; } +.bi-capslock::before { content: "\f223"; } +.bi-card-checklist::before { content: "\f224"; } +.bi-card-heading::before { content: "\f225"; } +.bi-card-image::before { content: "\f226"; } +.bi-card-list::before { content: "\f227"; } +.bi-card-text::before { content: "\f228"; } +.bi-caret-down-fill::before { content: "\f229"; } +.bi-caret-down-square-fill::before { content: "\f22a"; } +.bi-caret-down-square::before { content: "\f22b"; } +.bi-caret-down::before { content: "\f22c"; } +.bi-caret-left-fill::before { content: "\f22d"; } +.bi-caret-left-square-fill::before { content: "\f22e"; } +.bi-caret-left-square::before { content: "\f22f"; } +.bi-caret-left::before { content: "\f230"; } +.bi-caret-right-fill::before { content: "\f231"; } +.bi-caret-right-square-fill::before { content: "\f232"; } +.bi-caret-right-square::before { content: "\f233"; } +.bi-caret-right::before { content: "\f234"; } +.bi-caret-up-fill::before { content: "\f235"; } +.bi-caret-up-square-fill::before { content: "\f236"; } +.bi-caret-up-square::before { content: "\f237"; } +.bi-caret-up::before { content: "\f238"; } +.bi-cart-check-fill::before { content: "\f239"; } +.bi-cart-check::before { content: "\f23a"; } +.bi-cart-dash-fill::before { content: "\f23b"; } +.bi-cart-dash::before { content: "\f23c"; } +.bi-cart-fill::before { content: "\f23d"; } +.bi-cart-plus-fill::before { content: "\f23e"; } +.bi-cart-plus::before { content: "\f23f"; } +.bi-cart-x-fill::before { content: "\f240"; } +.bi-cart-x::before { content: "\f241"; } +.bi-cart::before { content: "\f242"; } +.bi-cart2::before { content: "\f243"; } +.bi-cart3::before { content: "\f244"; } +.bi-cart4::before { content: "\f245"; } +.bi-cash-stack::before { content: "\f246"; } +.bi-cash::before { content: "\f247"; } +.bi-cast::before { content: "\f248"; } +.bi-chat-dots-fill::before { content: "\f249"; } +.bi-chat-dots::before { content: "\f24a"; } +.bi-chat-fill::before { content: "\f24b"; } +.bi-chat-left-dots-fill::before { content: "\f24c"; } +.bi-chat-left-dots::before { content: "\f24d"; } +.bi-chat-left-fill::before { content: "\f24e"; } +.bi-chat-left-quote-fill::before { content: "\f24f"; } +.bi-chat-left-quote::before { content: "\f250"; } +.bi-chat-left-text-fill::before { content: "\f251"; } +.bi-chat-left-text::before { content: "\f252"; } +.bi-chat-left::before { content: "\f253"; } +.bi-chat-quote-fill::before { content: "\f254"; } +.bi-chat-quote::before { content: "\f255"; } +.bi-chat-right-dots-fill::before { content: "\f256"; } +.bi-chat-right-dots::before { content: "\f257"; } +.bi-chat-right-fill::before { content: "\f258"; } +.bi-chat-right-quote-fill::before { content: "\f259"; } +.bi-chat-right-quote::before { content: "\f25a"; } +.bi-chat-right-text-fill::before { content: "\f25b"; } +.bi-chat-right-text::before { content: "\f25c"; } +.bi-chat-right::before { content: "\f25d"; } +.bi-chat-square-dots-fill::before { content: "\f25e"; } +.bi-chat-square-dots::before { content: "\f25f"; } +.bi-chat-square-fill::before { content: "\f260"; } +.bi-chat-square-quote-fill::before { content: "\f261"; } +.bi-chat-square-quote::before { content: "\f262"; } +.bi-chat-square-text-fill::before { content: "\f263"; } +.bi-chat-square-text::before { content: "\f264"; } +.bi-chat-square::before { content: "\f265"; } +.bi-chat-text-fill::before { content: "\f266"; } +.bi-chat-text::before { content: "\f267"; } +.bi-chat::before { content: "\f268"; } +.bi-check-all::before { content: "\f269"; } +.bi-check-circle-fill::before { content: "\f26a"; } +.bi-check-circle::before { content: "\f26b"; } +.bi-check-square-fill::before { content: "\f26c"; } +.bi-check-square::before { content: "\f26d"; } +.bi-check::before { content: "\f26e"; } +.bi-check2-all::before { content: "\f26f"; } +.bi-check2-circle::before { content: "\f270"; } +.bi-check2-square::before { content: "\f271"; } +.bi-check2::before { content: "\f272"; } +.bi-chevron-bar-contract::before { content: "\f273"; } +.bi-chevron-bar-down::before { content: "\f274"; } +.bi-chevron-bar-expand::before { content: "\f275"; } +.bi-chevron-bar-left::before { content: "\f276"; } +.bi-chevron-bar-right::before { content: "\f277"; } +.bi-chevron-bar-up::before { content: "\f278"; } +.bi-chevron-compact-down::before { content: "\f279"; } +.bi-chevron-compact-left::before { content: "\f27a"; } +.bi-chevron-compact-right::before { content: "\f27b"; } +.bi-chevron-compact-up::before { content: "\f27c"; } +.bi-chevron-contract::before { content: "\f27d"; } +.bi-chevron-double-down::before { content: "\f27e"; } +.bi-chevron-double-left::before { content: "\f27f"; } +.bi-chevron-double-right::before { content: "\f280"; } +.bi-chevron-double-up::before { content: "\f281"; } +.bi-chevron-down::before { content: "\f282"; } +.bi-chevron-expand::before { content: "\f283"; } +.bi-chevron-left::before { content: "\f284"; } +.bi-chevron-right::before { content: "\f285"; } +.bi-chevron-up::before { content: "\f286"; } +.bi-circle-fill::before { content: "\f287"; } +.bi-circle-half::before { content: "\f288"; } +.bi-circle-square::before { content: "\f289"; } +.bi-circle::before { content: "\f28a"; } +.bi-clipboard-check::before { content: "\f28b"; } +.bi-clipboard-data::before { content: "\f28c"; } +.bi-clipboard-minus::before { content: "\f28d"; } +.bi-clipboard-plus::before { content: "\f28e"; } +.bi-clipboard-x::before { content: "\f28f"; } +.bi-clipboard::before { content: "\f290"; } +.bi-clock-fill::before { content: "\f291"; } +.bi-clock-history::before { content: "\f292"; } +.bi-clock::before { content: "\f293"; } +.bi-cloud-arrow-down-fill::before { content: "\f294"; } +.bi-cloud-arrow-down::before { content: "\f295"; } +.bi-cloud-arrow-up-fill::before { content: "\f296"; } +.bi-cloud-arrow-up::before { content: "\f297"; } +.bi-cloud-check-fill::before { content: "\f298"; } +.bi-cloud-check::before { content: "\f299"; } +.bi-cloud-download-fill::before { content: "\f29a"; } +.bi-cloud-download::before { content: "\f29b"; } +.bi-cloud-drizzle-fill::before { content: "\f29c"; } +.bi-cloud-drizzle::before { content: "\f29d"; } +.bi-cloud-fill::before { content: "\f29e"; } +.bi-cloud-fog-fill::before { content: "\f29f"; } +.bi-cloud-fog::before { content: "\f2a0"; } +.bi-cloud-fog2-fill::before { content: "\f2a1"; } +.bi-cloud-fog2::before { content: "\f2a2"; } +.bi-cloud-hail-fill::before { content: "\f2a3"; } +.bi-cloud-hail::before { content: "\f2a4"; } +.bi-cloud-haze-fill::before { content: "\f2a6"; } +.bi-cloud-haze::before { content: "\f2a7"; } +.bi-cloud-haze2-fill::before { content: "\f2a8"; } +.bi-cloud-lightning-fill::before { content: "\f2a9"; } +.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } +.bi-cloud-lightning-rain::before { content: "\f2ab"; } +.bi-cloud-lightning::before { content: "\f2ac"; } +.bi-cloud-minus-fill::before { content: "\f2ad"; } +.bi-cloud-minus::before { content: "\f2ae"; } +.bi-cloud-moon-fill::before { content: "\f2af"; } +.bi-cloud-moon::before { content: "\f2b0"; } +.bi-cloud-plus-fill::before { content: "\f2b1"; } +.bi-cloud-plus::before { content: "\f2b2"; } +.bi-cloud-rain-fill::before { content: "\f2b3"; } +.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } +.bi-cloud-rain-heavy::before { content: "\f2b5"; } +.bi-cloud-rain::before { content: "\f2b6"; } +.bi-cloud-slash-fill::before { content: "\f2b7"; } +.bi-cloud-slash::before { content: "\f2b8"; } +.bi-cloud-sleet-fill::before { content: "\f2b9"; } +.bi-cloud-sleet::before { content: "\f2ba"; } +.bi-cloud-snow-fill::before { content: "\f2bb"; } +.bi-cloud-snow::before { content: "\f2bc"; } +.bi-cloud-sun-fill::before { content: "\f2bd"; } +.bi-cloud-sun::before { content: "\f2be"; } +.bi-cloud-upload-fill::before { content: "\f2bf"; } +.bi-cloud-upload::before { content: "\f2c0"; } +.bi-cloud::before { content: "\f2c1"; } +.bi-clouds-fill::before { content: "\f2c2"; } +.bi-clouds::before { content: "\f2c3"; } +.bi-cloudy-fill::before { content: "\f2c4"; } +.bi-cloudy::before { content: "\f2c5"; } +.bi-code-slash::before { content: "\f2c6"; } +.bi-code-square::before { content: "\f2c7"; } +.bi-code::before { content: "\f2c8"; } +.bi-collection-fill::before { content: "\f2c9"; } +.bi-collection-play-fill::before { content: "\f2ca"; } +.bi-collection-play::before { content: "\f2cb"; } +.bi-collection::before { content: "\f2cc"; } +.bi-columns-gap::before { content: "\f2cd"; } +.bi-columns::before { content: "\f2ce"; } +.bi-command::before { content: "\f2cf"; } +.bi-compass-fill::before { content: "\f2d0"; } +.bi-compass::before { content: "\f2d1"; } +.bi-cone-striped::before { content: "\f2d2"; } +.bi-cone::before { content: "\f2d3"; } +.bi-controller::before { content: "\f2d4"; } +.bi-cpu-fill::before { content: "\f2d5"; } +.bi-cpu::before { content: "\f2d6"; } +.bi-credit-card-2-back-fill::before { content: "\f2d7"; } +.bi-credit-card-2-back::before { content: "\f2d8"; } +.bi-credit-card-2-front-fill::before { content: "\f2d9"; } +.bi-credit-card-2-front::before { content: "\f2da"; } +.bi-credit-card-fill::before { content: "\f2db"; } +.bi-credit-card::before { content: "\f2dc"; } +.bi-crop::before { content: "\f2dd"; } +.bi-cup-fill::before { content: "\f2de"; } +.bi-cup-straw::before { content: "\f2df"; } +.bi-cup::before { content: "\f2e0"; } +.bi-cursor-fill::before { content: "\f2e1"; } +.bi-cursor-text::before { content: "\f2e2"; } +.bi-cursor::before { content: "\f2e3"; } +.bi-dash-circle-dotted::before { content: "\f2e4"; } +.bi-dash-circle-fill::before { content: "\f2e5"; } +.bi-dash-circle::before { content: "\f2e6"; } +.bi-dash-square-dotted::before { content: "\f2e7"; } +.bi-dash-square-fill::before { content: "\f2e8"; } +.bi-dash-square::before { content: "\f2e9"; } +.bi-dash::before { content: "\f2ea"; } +.bi-diagram-2-fill::before { content: "\f2eb"; } +.bi-diagram-2::before { content: "\f2ec"; } +.bi-diagram-3-fill::before { content: "\f2ed"; } +.bi-diagram-3::before { content: "\f2ee"; } +.bi-diamond-fill::before { content: "\f2ef"; } +.bi-diamond-half::before { content: "\f2f0"; } +.bi-diamond::before { content: "\f2f1"; } +.bi-dice-1-fill::before { content: "\f2f2"; } +.bi-dice-1::before { content: "\f2f3"; } +.bi-dice-2-fill::before { content: "\f2f4"; } +.bi-dice-2::before { content: "\f2f5"; } +.bi-dice-3-fill::before { content: "\f2f6"; } +.bi-dice-3::before { content: "\f2f7"; } +.bi-dice-4-fill::before { content: "\f2f8"; } +.bi-dice-4::before { content: "\f2f9"; } +.bi-dice-5-fill::before { content: "\f2fa"; } +.bi-dice-5::before { content: "\f2fb"; } +.bi-dice-6-fill::before { content: "\f2fc"; } +.bi-dice-6::before { content: "\f2fd"; } +.bi-disc-fill::before { content: "\f2fe"; } +.bi-disc::before { content: "\f2ff"; } +.bi-discord::before { content: "\f300"; } +.bi-display-fill::before { content: "\f301"; } +.bi-display::before { content: "\f302"; } +.bi-distribute-horizontal::before { content: "\f303"; } +.bi-distribute-vertical::before { content: "\f304"; } +.bi-door-closed-fill::before { content: "\f305"; } +.bi-door-closed::before { content: "\f306"; } +.bi-door-open-fill::before { content: "\f307"; } +.bi-door-open::before { content: "\f308"; } +.bi-dot::before { content: "\f309"; } +.bi-download::before { content: "\f30a"; } +.bi-droplet-fill::before { content: "\f30b"; } +.bi-droplet-half::before { content: "\f30c"; } +.bi-droplet::before { content: "\f30d"; } +.bi-earbuds::before { content: "\f30e"; } +.bi-easel-fill::before { content: "\f30f"; } +.bi-easel::before { content: "\f310"; } +.bi-egg-fill::before { content: "\f311"; } +.bi-egg-fried::before { content: "\f312"; } +.bi-egg::before { content: "\f313"; } +.bi-eject-fill::before { content: "\f314"; } +.bi-eject::before { content: "\f315"; } +.bi-emoji-angry-fill::before { content: "\f316"; } +.bi-emoji-angry::before { content: "\f317"; } +.bi-emoji-dizzy-fill::before { content: "\f318"; } +.bi-emoji-dizzy::before { content: "\f319"; } +.bi-emoji-expressionless-fill::before { content: "\f31a"; } +.bi-emoji-expressionless::before { content: "\f31b"; } +.bi-emoji-frown-fill::before { content: "\f31c"; } +.bi-emoji-frown::before { content: "\f31d"; } +.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } +.bi-emoji-heart-eyes::before { content: "\f31f"; } +.bi-emoji-laughing-fill::before { content: "\f320"; } +.bi-emoji-laughing::before { content: "\f321"; } +.bi-emoji-neutral-fill::before { content: "\f322"; } +.bi-emoji-neutral::before { content: "\f323"; } +.bi-emoji-smile-fill::before { content: "\f324"; } +.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } +.bi-emoji-smile-upside-down::before { content: "\f326"; } +.bi-emoji-smile::before { content: "\f327"; } +.bi-emoji-sunglasses-fill::before { content: "\f328"; } +.bi-emoji-sunglasses::before { content: "\f329"; } +.bi-emoji-wink-fill::before { content: "\f32a"; } +.bi-emoji-wink::before { content: "\f32b"; } +.bi-envelope-fill::before { content: "\f32c"; } +.bi-envelope-open-fill::before { content: "\f32d"; } +.bi-envelope-open::before { content: "\f32e"; } +.bi-envelope::before { content: "\f32f"; } +.bi-eraser-fill::before { content: "\f330"; } +.bi-eraser::before { content: "\f331"; } +.bi-exclamation-circle-fill::before { content: "\f332"; } +.bi-exclamation-circle::before { content: "\f333"; } +.bi-exclamation-diamond-fill::before { content: "\f334"; } +.bi-exclamation-diamond::before { content: "\f335"; } +.bi-exclamation-octagon-fill::before { content: "\f336"; } +.bi-exclamation-octagon::before { content: "\f337"; } +.bi-exclamation-square-fill::before { content: "\f338"; } +.bi-exclamation-square::before { content: "\f339"; } +.bi-exclamation-triangle-fill::before { content: "\f33a"; } +.bi-exclamation-triangle::before { content: "\f33b"; } +.bi-exclamation::before { content: "\f33c"; } +.bi-exclude::before { content: "\f33d"; } +.bi-eye-fill::before { content: "\f33e"; } +.bi-eye-slash-fill::before { content: "\f33f"; } +.bi-eye-slash::before { content: "\f340"; } +.bi-eye::before { content: "\f341"; } +.bi-eyedropper::before { content: "\f342"; } +.bi-eyeglasses::before { content: "\f343"; } +.bi-facebook::before { content: "\f344"; } +.bi-file-arrow-down-fill::before { content: "\f345"; } +.bi-file-arrow-down::before { content: "\f346"; } +.bi-file-arrow-up-fill::before { content: "\f347"; } +.bi-file-arrow-up::before { content: "\f348"; } +.bi-file-bar-graph-fill::before { content: "\f349"; } +.bi-file-bar-graph::before { content: "\f34a"; } +.bi-file-binary-fill::before { content: "\f34b"; } +.bi-file-binary::before { content: "\f34c"; } +.bi-file-break-fill::before { content: "\f34d"; } +.bi-file-break::before { content: "\f34e"; } +.bi-file-check-fill::before { content: "\f34f"; } +.bi-file-check::before { content: "\f350"; } +.bi-file-code-fill::before { content: "\f351"; } +.bi-file-code::before { content: "\f352"; } +.bi-file-diff-fill::before { content: "\f353"; } +.bi-file-diff::before { content: "\f354"; } +.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } +.bi-file-earmark-arrow-down::before { content: "\f356"; } +.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } +.bi-file-earmark-arrow-up::before { content: "\f358"; } +.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } +.bi-file-earmark-bar-graph::before { content: "\f35a"; } +.bi-file-earmark-binary-fill::before { content: "\f35b"; } +.bi-file-earmark-binary::before { content: "\f35c"; } +.bi-file-earmark-break-fill::before { content: "\f35d"; } +.bi-file-earmark-break::before { content: "\f35e"; } +.bi-file-earmark-check-fill::before { content: "\f35f"; } +.bi-file-earmark-check::before { content: "\f360"; } +.bi-file-earmark-code-fill::before { content: "\f361"; } +.bi-file-earmark-code::before { content: "\f362"; } +.bi-file-earmark-diff-fill::before { content: "\f363"; } +.bi-file-earmark-diff::before { content: "\f364"; } +.bi-file-earmark-easel-fill::before { content: "\f365"; } +.bi-file-earmark-easel::before { content: "\f366"; } +.bi-file-earmark-excel-fill::before { content: "\f367"; } +.bi-file-earmark-excel::before { content: "\f368"; } +.bi-file-earmark-fill::before { content: "\f369"; } +.bi-file-earmark-font-fill::before { content: "\f36a"; } +.bi-file-earmark-font::before { content: "\f36b"; } +.bi-file-earmark-image-fill::before { content: "\f36c"; } +.bi-file-earmark-image::before { content: "\f36d"; } +.bi-file-earmark-lock-fill::before { content: "\f36e"; } +.bi-file-earmark-lock::before { content: "\f36f"; } +.bi-file-earmark-lock2-fill::before { content: "\f370"; } +.bi-file-earmark-lock2::before { content: "\f371"; } +.bi-file-earmark-medical-fill::before { content: "\f372"; } +.bi-file-earmark-medical::before { content: "\f373"; } +.bi-file-earmark-minus-fill::before { content: "\f374"; } +.bi-file-earmark-minus::before { content: "\f375"; } +.bi-file-earmark-music-fill::before { content: "\f376"; } +.bi-file-earmark-music::before { content: "\f377"; } +.bi-file-earmark-person-fill::before { content: "\f378"; } +.bi-file-earmark-person::before { content: "\f379"; } +.bi-file-earmark-play-fill::before { content: "\f37a"; } +.bi-file-earmark-play::before { content: "\f37b"; } +.bi-file-earmark-plus-fill::before { content: "\f37c"; } +.bi-file-earmark-plus::before { content: "\f37d"; } +.bi-file-earmark-post-fill::before { content: "\f37e"; } +.bi-file-earmark-post::before { content: "\f37f"; } +.bi-file-earmark-ppt-fill::before { content: "\f380"; } +.bi-file-earmark-ppt::before { content: "\f381"; } +.bi-file-earmark-richtext-fill::before { content: "\f382"; } +.bi-file-earmark-richtext::before { content: "\f383"; } +.bi-file-earmark-ruled-fill::before { content: "\f384"; } +.bi-file-earmark-ruled::before { content: "\f385"; } +.bi-file-earmark-slides-fill::before { content: "\f386"; } +.bi-file-earmark-slides::before { content: "\f387"; } +.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } +.bi-file-earmark-spreadsheet::before { content: "\f389"; } +.bi-file-earmark-text-fill::before { content: "\f38a"; } +.bi-file-earmark-text::before { content: "\f38b"; } +.bi-file-earmark-word-fill::before { content: "\f38c"; } +.bi-file-earmark-word::before { content: "\f38d"; } +.bi-file-earmark-x-fill::before { content: "\f38e"; } +.bi-file-earmark-x::before { content: "\f38f"; } +.bi-file-earmark-zip-fill::before { content: "\f390"; } +.bi-file-earmark-zip::before { content: "\f391"; } +.bi-file-earmark::before { content: "\f392"; } +.bi-file-easel-fill::before { content: "\f393"; } +.bi-file-easel::before { content: "\f394"; } +.bi-file-excel-fill::before { content: "\f395"; } +.bi-file-excel::before { content: "\f396"; } +.bi-file-fill::before { content: "\f397"; } +.bi-file-font-fill::before { content: "\f398"; } +.bi-file-font::before { content: "\f399"; } +.bi-file-image-fill::before { content: "\f39a"; } +.bi-file-image::before { content: "\f39b"; } +.bi-file-lock-fill::before { content: "\f39c"; } +.bi-file-lock::before { content: "\f39d"; } +.bi-file-lock2-fill::before { content: "\f39e"; } +.bi-file-lock2::before { content: "\f39f"; } +.bi-file-medical-fill::before { content: "\f3a0"; } +.bi-file-medical::before { content: "\f3a1"; } +.bi-file-minus-fill::before { content: "\f3a2"; } +.bi-file-minus::before { content: "\f3a3"; } +.bi-file-music-fill::before { content: "\f3a4"; } +.bi-file-music::before { content: "\f3a5"; } +.bi-file-person-fill::before { content: "\f3a6"; } +.bi-file-person::before { content: "\f3a7"; } +.bi-file-play-fill::before { content: "\f3a8"; } +.bi-file-play::before { content: "\f3a9"; } +.bi-file-plus-fill::before { content: "\f3aa"; } +.bi-file-plus::before { content: "\f3ab"; } +.bi-file-post-fill::before { content: "\f3ac"; } +.bi-file-post::before { content: "\f3ad"; } +.bi-file-ppt-fill::before { content: "\f3ae"; } +.bi-file-ppt::before { content: "\f3af"; } +.bi-file-richtext-fill::before { content: "\f3b0"; } +.bi-file-richtext::before { content: "\f3b1"; } +.bi-file-ruled-fill::before { content: "\f3b2"; } +.bi-file-ruled::before { content: "\f3b3"; } +.bi-file-slides-fill::before { content: "\f3b4"; } +.bi-file-slides::before { content: "\f3b5"; } +.bi-file-spreadsheet-fill::before { content: "\f3b6"; } +.bi-file-spreadsheet::before { content: "\f3b7"; } +.bi-file-text-fill::before { content: "\f3b8"; } +.bi-file-text::before { content: "\f3b9"; } +.bi-file-word-fill::before { content: "\f3ba"; } +.bi-file-word::before { content: "\f3bb"; } +.bi-file-x-fill::before { content: "\f3bc"; } +.bi-file-x::before { content: "\f3bd"; } +.bi-file-zip-fill::before { content: "\f3be"; } +.bi-file-zip::before { content: "\f3bf"; } +.bi-file::before { content: "\f3c0"; } +.bi-files-alt::before { content: "\f3c1"; } +.bi-files::before { content: "\f3c2"; } +.bi-film::before { content: "\f3c3"; } +.bi-filter-circle-fill::before { content: "\f3c4"; } +.bi-filter-circle::before { content: "\f3c5"; } +.bi-filter-left::before { content: "\f3c6"; } +.bi-filter-right::before { content: "\f3c7"; } +.bi-filter-square-fill::before { content: "\f3c8"; } +.bi-filter-square::before { content: "\f3c9"; } +.bi-filter::before { content: "\f3ca"; } +.bi-flag-fill::before { content: "\f3cb"; } +.bi-flag::before { content: "\f3cc"; } +.bi-flower1::before { content: "\f3cd"; } +.bi-flower2::before { content: "\f3ce"; } +.bi-flower3::before { content: "\f3cf"; } +.bi-folder-check::before { content: "\f3d0"; } +.bi-folder-fill::before { content: "\f3d1"; } +.bi-folder-minus::before { content: "\f3d2"; } +.bi-folder-plus::before { content: "\f3d3"; } +.bi-folder-symlink-fill::before { content: "\f3d4"; } +.bi-folder-symlink::before { content: "\f3d5"; } +.bi-folder-x::before { content: "\f3d6"; } +.bi-folder::before { content: "\f3d7"; } +.bi-folder2-open::before { content: "\f3d8"; } +.bi-folder2::before { content: "\f3d9"; } +.bi-fonts::before { content: "\f3da"; } +.bi-forward-fill::before { content: "\f3db"; } +.bi-forward::before { content: "\f3dc"; } +.bi-front::before { content: "\f3dd"; } +.bi-fullscreen-exit::before { content: "\f3de"; } +.bi-fullscreen::before { content: "\f3df"; } +.bi-funnel-fill::before { content: "\f3e0"; } +.bi-funnel::before { content: "\f3e1"; } +.bi-gear-fill::before { content: "\f3e2"; } +.bi-gear-wide-connected::before { content: "\f3e3"; } +.bi-gear-wide::before { content: "\f3e4"; } +.bi-gear::before { content: "\f3e5"; } +.bi-gem::before { content: "\f3e6"; } +.bi-geo-alt-fill::before { content: "\f3e7"; } +.bi-geo-alt::before { content: "\f3e8"; } +.bi-geo-fill::before { content: "\f3e9"; } +.bi-geo::before { content: "\f3ea"; } +.bi-gift-fill::before { content: "\f3eb"; } +.bi-gift::before { content: "\f3ec"; } +.bi-github::before { content: "\f3ed"; } +.bi-globe::before { content: "\f3ee"; } +.bi-globe2::before { content: "\f3ef"; } +.bi-google::before { content: "\f3f0"; } +.bi-graph-down::before { content: "\f3f1"; } +.bi-graph-up::before { content: "\f3f2"; } +.bi-grid-1x2-fill::before { content: "\f3f3"; } +.bi-grid-1x2::before { content: "\f3f4"; } +.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } +.bi-grid-3x2-gap::before { content: "\f3f6"; } +.bi-grid-3x2::before { content: "\f3f7"; } +.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } +.bi-grid-3x3-gap::before { content: "\f3f9"; } +.bi-grid-3x3::before { content: "\f3fa"; } +.bi-grid-fill::before { content: "\f3fb"; } +.bi-grid::before { content: "\f3fc"; } +.bi-grip-horizontal::before { content: "\f3fd"; } +.bi-grip-vertical::before { content: "\f3fe"; } +.bi-hammer::before { content: "\f3ff"; } +.bi-hand-index-fill::before { content: "\f400"; } +.bi-hand-index-thumb-fill::before { content: "\f401"; } +.bi-hand-index-thumb::before { content: "\f402"; } +.bi-hand-index::before { content: "\f403"; } +.bi-hand-thumbs-down-fill::before { content: "\f404"; } +.bi-hand-thumbs-down::before { content: "\f405"; } +.bi-hand-thumbs-up-fill::before { content: "\f406"; } +.bi-hand-thumbs-up::before { content: "\f407"; } +.bi-handbag-fill::before { content: "\f408"; } +.bi-handbag::before { content: "\f409"; } +.bi-hash::before { content: "\f40a"; } +.bi-hdd-fill::before { content: "\f40b"; } +.bi-hdd-network-fill::before { content: "\f40c"; } +.bi-hdd-network::before { content: "\f40d"; } +.bi-hdd-rack-fill::before { content: "\f40e"; } +.bi-hdd-rack::before { content: "\f40f"; } +.bi-hdd-stack-fill::before { content: "\f410"; } +.bi-hdd-stack::before { content: "\f411"; } +.bi-hdd::before { content: "\f412"; } +.bi-headphones::before { content: "\f413"; } +.bi-headset::before { content: "\f414"; } +.bi-heart-fill::before { content: "\f415"; } +.bi-heart-half::before { content: "\f416"; } +.bi-heart::before { content: "\f417"; } +.bi-heptagon-fill::before { content: "\f418"; } +.bi-heptagon-half::before { content: "\f419"; } +.bi-heptagon::before { content: "\f41a"; } +.bi-hexagon-fill::before { content: "\f41b"; } +.bi-hexagon-half::before { content: "\f41c"; } +.bi-hexagon::before { content: "\f41d"; } +.bi-hourglass-bottom::before { content: "\f41e"; } +.bi-hourglass-split::before { content: "\f41f"; } +.bi-hourglass-top::before { content: "\f420"; } +.bi-hourglass::before { content: "\f421"; } +.bi-house-door-fill::before { content: "\f422"; } +.bi-house-door::before { content: "\f423"; } +.bi-house-fill::before { content: "\f424"; } +.bi-house::before { content: "\f425"; } +.bi-hr::before { content: "\f426"; } +.bi-hurricane::before { content: "\f427"; } +.bi-image-alt::before { content: "\f428"; } +.bi-image-fill::before { content: "\f429"; } +.bi-image::before { content: "\f42a"; } +.bi-images::before { content: "\f42b"; } +.bi-inbox-fill::before { content: "\f42c"; } +.bi-inbox::before { content: "\f42d"; } +.bi-inboxes-fill::before { content: "\f42e"; } +.bi-inboxes::before { content: "\f42f"; } +.bi-info-circle-fill::before { content: "\f430"; } +.bi-info-circle::before { content: "\f431"; } +.bi-info-square-fill::before { content: "\f432"; } +.bi-info-square::before { content: "\f433"; } +.bi-info::before { content: "\f434"; } +.bi-input-cursor-text::before { content: "\f435"; } +.bi-input-cursor::before { content: "\f436"; } +.bi-instagram::before { content: "\f437"; } +.bi-intersect::before { content: "\f438"; } +.bi-journal-album::before { content: "\f439"; } +.bi-journal-arrow-down::before { content: "\f43a"; } +.bi-journal-arrow-up::before { content: "\f43b"; } +.bi-journal-bookmark-fill::before { content: "\f43c"; } +.bi-journal-bookmark::before { content: "\f43d"; } +.bi-journal-check::before { content: "\f43e"; } +.bi-journal-code::before { content: "\f43f"; } +.bi-journal-medical::before { content: "\f440"; } +.bi-journal-minus::before { content: "\f441"; } +.bi-journal-plus::before { content: "\f442"; } +.bi-journal-richtext::before { content: "\f443"; } +.bi-journal-text::before { content: "\f444"; } +.bi-journal-x::before { content: "\f445"; } +.bi-journal::before { content: "\f446"; } +.bi-journals::before { content: "\f447"; } +.bi-joystick::before { content: "\f448"; } +.bi-justify-left::before { content: "\f449"; } +.bi-justify-right::before { content: "\f44a"; } +.bi-justify::before { content: "\f44b"; } +.bi-kanban-fill::before { content: "\f44c"; } +.bi-kanban::before { content: "\f44d"; } +.bi-key-fill::before { content: "\f44e"; } +.bi-key::before { content: "\f44f"; } +.bi-keyboard-fill::before { content: "\f450"; } +.bi-keyboard::before { content: "\f451"; } +.bi-ladder::before { content: "\f452"; } +.bi-lamp-fill::before { content: "\f453"; } +.bi-lamp::before { content: "\f454"; } +.bi-laptop-fill::before { content: "\f455"; } +.bi-laptop::before { content: "\f456"; } +.bi-layer-backward::before { content: "\f457"; } +.bi-layer-forward::before { content: "\f458"; } +.bi-layers-fill::before { content: "\f459"; } +.bi-layers-half::before { content: "\f45a"; } +.bi-layers::before { content: "\f45b"; } +.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } +.bi-layout-sidebar-inset::before { content: "\f45d"; } +.bi-layout-sidebar-reverse::before { content: "\f45e"; } +.bi-layout-sidebar::before { content: "\f45f"; } +.bi-layout-split::before { content: "\f460"; } +.bi-layout-text-sidebar-reverse::before { content: "\f461"; } +.bi-layout-text-sidebar::before { content: "\f462"; } +.bi-layout-text-window-reverse::before { content: "\f463"; } +.bi-layout-text-window::before { content: "\f464"; } +.bi-layout-three-columns::before { content: "\f465"; } +.bi-layout-wtf::before { content: "\f466"; } +.bi-life-preserver::before { content: "\f467"; } +.bi-lightbulb-fill::before { content: "\f468"; } +.bi-lightbulb-off-fill::before { content: "\f469"; } +.bi-lightbulb-off::before { content: "\f46a"; } +.bi-lightbulb::before { content: "\f46b"; } +.bi-lightning-charge-fill::before { content: "\f46c"; } +.bi-lightning-charge::before { content: "\f46d"; } +.bi-lightning-fill::before { content: "\f46e"; } +.bi-lightning::before { content: "\f46f"; } +.bi-link-45deg::before { content: "\f470"; } +.bi-link::before { content: "\f471"; } +.bi-linkedin::before { content: "\f472"; } +.bi-list-check::before { content: "\f473"; } +.bi-list-nested::before { content: "\f474"; } +.bi-list-ol::before { content: "\f475"; } +.bi-list-stars::before { content: "\f476"; } +.bi-list-task::before { content: "\f477"; } +.bi-list-ul::before { content: "\f478"; } +.bi-list::before { content: "\f479"; } +.bi-lock-fill::before { content: "\f47a"; } +.bi-lock::before { content: "\f47b"; } +.bi-mailbox::before { content: "\f47c"; } +.bi-mailbox2::before { content: "\f47d"; } +.bi-map-fill::before { content: "\f47e"; } +.bi-map::before { content: "\f47f"; } +.bi-markdown-fill::before { content: "\f480"; } +.bi-markdown::before { content: "\f481"; } +.bi-mask::before { content: "\f482"; } +.bi-megaphone-fill::before { content: "\f483"; } +.bi-megaphone::before { content: "\f484"; } +.bi-menu-app-fill::before { content: "\f485"; } +.bi-menu-app::before { content: "\f486"; } +.bi-menu-button-fill::before { content: "\f487"; } +.bi-menu-button-wide-fill::before { content: "\f488"; } +.bi-menu-button-wide::before { content: "\f489"; } +.bi-menu-button::before { content: "\f48a"; } +.bi-menu-down::before { content: "\f48b"; } +.bi-menu-up::before { content: "\f48c"; } +.bi-mic-fill::before { content: "\f48d"; } +.bi-mic-mute-fill::before { content: "\f48e"; } +.bi-mic-mute::before { content: "\f48f"; } +.bi-mic::before { content: "\f490"; } +.bi-minecart-loaded::before { content: "\f491"; } +.bi-minecart::before { content: "\f492"; } +.bi-moisture::before { content: "\f493"; } +.bi-moon-fill::before { content: "\f494"; } +.bi-moon-stars-fill::before { content: "\f495"; } +.bi-moon-stars::before { content: "\f496"; } +.bi-moon::before { content: "\f497"; } +.bi-mouse-fill::before { content: "\f498"; } +.bi-mouse::before { content: "\f499"; } +.bi-mouse2-fill::before { content: "\f49a"; } +.bi-mouse2::before { content: "\f49b"; } +.bi-mouse3-fill::before { content: "\f49c"; } +.bi-mouse3::before { content: "\f49d"; } +.bi-music-note-beamed::before { content: "\f49e"; } +.bi-music-note-list::before { content: "\f49f"; } +.bi-music-note::before { content: "\f4a0"; } +.bi-music-player-fill::before { content: "\f4a1"; } +.bi-music-player::before { content: "\f4a2"; } +.bi-newspaper::before { content: "\f4a3"; } +.bi-node-minus-fill::before { content: "\f4a4"; } +.bi-node-minus::before { content: "\f4a5"; } +.bi-node-plus-fill::before { content: "\f4a6"; } +.bi-node-plus::before { content: "\f4a7"; } +.bi-nut-fill::before { content: "\f4a8"; } +.bi-nut::before { content: "\f4a9"; } +.bi-octagon-fill::before { content: "\f4aa"; } +.bi-octagon-half::before { content: "\f4ab"; } +.bi-octagon::before { content: "\f4ac"; } +.bi-option::before { content: "\f4ad"; } +.bi-outlet::before { content: "\f4ae"; } +.bi-paint-bucket::before { content: "\f4af"; } +.bi-palette-fill::before { content: "\f4b0"; } +.bi-palette::before { content: "\f4b1"; } +.bi-palette2::before { content: "\f4b2"; } +.bi-paperclip::before { content: "\f4b3"; } +.bi-paragraph::before { content: "\f4b4"; } +.bi-patch-check-fill::before { content: "\f4b5"; } +.bi-patch-check::before { content: "\f4b6"; } +.bi-patch-exclamation-fill::before { content: "\f4b7"; } +.bi-patch-exclamation::before { content: "\f4b8"; } +.bi-patch-minus-fill::before { content: "\f4b9"; } +.bi-patch-minus::before { content: "\f4ba"; } +.bi-patch-plus-fill::before { content: "\f4bb"; } +.bi-patch-plus::before { content: "\f4bc"; } +.bi-patch-question-fill::before { content: "\f4bd"; } +.bi-patch-question::before { content: "\f4be"; } +.bi-pause-btn-fill::before { content: "\f4bf"; } +.bi-pause-btn::before { content: "\f4c0"; } +.bi-pause-circle-fill::before { content: "\f4c1"; } +.bi-pause-circle::before { content: "\f4c2"; } +.bi-pause-fill::before { content: "\f4c3"; } +.bi-pause::before { content: "\f4c4"; } +.bi-peace-fill::before { content: "\f4c5"; } +.bi-peace::before { content: "\f4c6"; } +.bi-pen-fill::before { content: "\f4c7"; } +.bi-pen::before { content: "\f4c8"; } +.bi-pencil-fill::before { content: "\f4c9"; } +.bi-pencil-square::before { content: "\f4ca"; } +.bi-pencil::before { content: "\f4cb"; } +.bi-pentagon-fill::before { content: "\f4cc"; } +.bi-pentagon-half::before { content: "\f4cd"; } +.bi-pentagon::before { content: "\f4ce"; } +.bi-people-fill::before { content: "\f4cf"; } +.bi-people::before { content: "\f4d0"; } +.bi-percent::before { content: "\f4d1"; } +.bi-person-badge-fill::before { content: "\f4d2"; } +.bi-person-badge::before { content: "\f4d3"; } +.bi-person-bounding-box::before { content: "\f4d4"; } +.bi-person-check-fill::before { content: "\f4d5"; } +.bi-person-check::before { content: "\f4d6"; } +.bi-person-circle::before { content: "\f4d7"; } +.bi-person-dash-fill::before { content: "\f4d8"; } +.bi-person-dash::before { content: "\f4d9"; } +.bi-person-fill::before { content: "\f4da"; } +.bi-person-lines-fill::before { content: "\f4db"; } +.bi-person-plus-fill::before { content: "\f4dc"; } +.bi-person-plus::before { content: "\f4dd"; } +.bi-person-square::before { content: "\f4de"; } +.bi-person-x-fill::before { content: "\f4df"; } +.bi-person-x::before { content: "\f4e0"; } +.bi-person::before { content: "\f4e1"; } +.bi-phone-fill::before { content: "\f4e2"; } +.bi-phone-landscape-fill::before { content: "\f4e3"; } +.bi-phone-landscape::before { content: "\f4e4"; } +.bi-phone-vibrate-fill::before { content: "\f4e5"; } +.bi-phone-vibrate::before { content: "\f4e6"; } +.bi-phone::before { content: "\f4e7"; } +.bi-pie-chart-fill::before { content: "\f4e8"; } +.bi-pie-chart::before { content: "\f4e9"; } +.bi-pin-angle-fill::before { content: "\f4ea"; } +.bi-pin-angle::before { content: "\f4eb"; } +.bi-pin-fill::before { content: "\f4ec"; } +.bi-pin::before { content: "\f4ed"; } +.bi-pip-fill::before { content: "\f4ee"; } +.bi-pip::before { content: "\f4ef"; } +.bi-play-btn-fill::before { content: "\f4f0"; } +.bi-play-btn::before { content: "\f4f1"; } +.bi-play-circle-fill::before { content: "\f4f2"; } +.bi-play-circle::before { content: "\f4f3"; } +.bi-play-fill::before { content: "\f4f4"; } +.bi-play::before { content: "\f4f5"; } +.bi-plug-fill::before { content: "\f4f6"; } +.bi-plug::before { content: "\f4f7"; } +.bi-plus-circle-dotted::before { content: "\f4f8"; } +.bi-plus-circle-fill::before { content: "\f4f9"; } +.bi-plus-circle::before { content: "\f4fa"; } +.bi-plus-square-dotted::before { content: "\f4fb"; } +.bi-plus-square-fill::before { content: "\f4fc"; } +.bi-plus-square::before { content: "\f4fd"; } +.bi-plus::before { content: "\f4fe"; } +.bi-power::before { content: "\f4ff"; } +.bi-printer-fill::before { content: "\f500"; } +.bi-printer::before { content: "\f501"; } +.bi-puzzle-fill::before { content: "\f502"; } +.bi-puzzle::before { content: "\f503"; } +.bi-question-circle-fill::before { content: "\f504"; } +.bi-question-circle::before { content: "\f505"; } +.bi-question-diamond-fill::before { content: "\f506"; } +.bi-question-diamond::before { content: "\f507"; } +.bi-question-octagon-fill::before { content: "\f508"; } +.bi-question-octagon::before { content: "\f509"; } +.bi-question-square-fill::before { content: "\f50a"; } +.bi-question-square::before { content: "\f50b"; } +.bi-question::before { content: "\f50c"; } +.bi-rainbow::before { content: "\f50d"; } +.bi-receipt-cutoff::before { content: "\f50e"; } +.bi-receipt::before { content: "\f50f"; } +.bi-reception-0::before { content: "\f510"; } +.bi-reception-1::before { content: "\f511"; } +.bi-reception-2::before { content: "\f512"; } +.bi-reception-3::before { content: "\f513"; } +.bi-reception-4::before { content: "\f514"; } +.bi-record-btn-fill::before { content: "\f515"; } +.bi-record-btn::before { content: "\f516"; } +.bi-record-circle-fill::before { content: "\f517"; } +.bi-record-circle::before { content: "\f518"; } +.bi-record-fill::before { content: "\f519"; } +.bi-record::before { content: "\f51a"; } +.bi-record2-fill::before { content: "\f51b"; } +.bi-record2::before { content: "\f51c"; } +.bi-reply-all-fill::before { content: "\f51d"; } +.bi-reply-all::before { content: "\f51e"; } +.bi-reply-fill::before { content: "\f51f"; } +.bi-reply::before { content: "\f520"; } +.bi-rss-fill::before { content: "\f521"; } +.bi-rss::before { content: "\f522"; } +.bi-rulers::before { content: "\f523"; } +.bi-save-fill::before { content: "\f524"; } +.bi-save::before { content: "\f525"; } +.bi-save2-fill::before { content: "\f526"; } +.bi-save2::before { content: "\f527"; } +.bi-scissors::before { content: "\f528"; } +.bi-screwdriver::before { content: "\f529"; } +.bi-search::before { content: "\f52a"; } +.bi-segmented-nav::before { content: "\f52b"; } +.bi-server::before { content: "\f52c"; } +.bi-share-fill::before { content: "\f52d"; } +.bi-share::before { content: "\f52e"; } +.bi-shield-check::before { content: "\f52f"; } +.bi-shield-exclamation::before { content: "\f530"; } +.bi-shield-fill-check::before { content: "\f531"; } +.bi-shield-fill-exclamation::before { content: "\f532"; } +.bi-shield-fill-minus::before { content: "\f533"; } +.bi-shield-fill-plus::before { content: "\f534"; } +.bi-shield-fill-x::before { content: "\f535"; } +.bi-shield-fill::before { content: "\f536"; } +.bi-shield-lock-fill::before { content: "\f537"; } +.bi-shield-lock::before { content: "\f538"; } +.bi-shield-minus::before { content: "\f539"; } +.bi-shield-plus::before { content: "\f53a"; } +.bi-shield-shaded::before { content: "\f53b"; } +.bi-shield-slash-fill::before { content: "\f53c"; } +.bi-shield-slash::before { content: "\f53d"; } +.bi-shield-x::before { content: "\f53e"; } +.bi-shield::before { content: "\f53f"; } +.bi-shift-fill::before { content: "\f540"; } +.bi-shift::before { content: "\f541"; } +.bi-shop-window::before { content: "\f542"; } +.bi-shop::before { content: "\f543"; } +.bi-shuffle::before { content: "\f544"; } +.bi-signpost-2-fill::before { content: "\f545"; } +.bi-signpost-2::before { content: "\f546"; } +.bi-signpost-fill::before { content: "\f547"; } +.bi-signpost-split-fill::before { content: "\f548"; } +.bi-signpost-split::before { content: "\f549"; } +.bi-signpost::before { content: "\f54a"; } +.bi-sim-fill::before { content: "\f54b"; } +.bi-sim::before { content: "\f54c"; } +.bi-skip-backward-btn-fill::before { content: "\f54d"; } +.bi-skip-backward-btn::before { content: "\f54e"; } +.bi-skip-backward-circle-fill::before { content: "\f54f"; } +.bi-skip-backward-circle::before { content: "\f550"; } +.bi-skip-backward-fill::before { content: "\f551"; } +.bi-skip-backward::before { content: "\f552"; } +.bi-skip-end-btn-fill::before { content: "\f553"; } +.bi-skip-end-btn::before { content: "\f554"; } +.bi-skip-end-circle-fill::before { content: "\f555"; } +.bi-skip-end-circle::before { content: "\f556"; } +.bi-skip-end-fill::before { content: "\f557"; } +.bi-skip-end::before { content: "\f558"; } +.bi-skip-forward-btn-fill::before { content: "\f559"; } +.bi-skip-forward-btn::before { content: "\f55a"; } +.bi-skip-forward-circle-fill::before { content: "\f55b"; } +.bi-skip-forward-circle::before { content: "\f55c"; } +.bi-skip-forward-fill::before { content: "\f55d"; } +.bi-skip-forward::before { content: "\f55e"; } +.bi-skip-start-btn-fill::before { content: "\f55f"; } +.bi-skip-start-btn::before { content: "\f560"; } +.bi-skip-start-circle-fill::before { content: "\f561"; } +.bi-skip-start-circle::before { content: "\f562"; } +.bi-skip-start-fill::before { content: "\f563"; } +.bi-skip-start::before { content: "\f564"; } +.bi-slack::before { content: "\f565"; } +.bi-slash-circle-fill::before { content: "\f566"; } +.bi-slash-circle::before { content: "\f567"; } +.bi-slash-square-fill::before { content: "\f568"; } +.bi-slash-square::before { content: "\f569"; } +.bi-slash::before { content: "\f56a"; } +.bi-sliders::before { content: "\f56b"; } +.bi-smartwatch::before { content: "\f56c"; } +.bi-snow::before { content: "\f56d"; } +.bi-snow2::before { content: "\f56e"; } +.bi-snow3::before { content: "\f56f"; } +.bi-sort-alpha-down-alt::before { content: "\f570"; } +.bi-sort-alpha-down::before { content: "\f571"; } +.bi-sort-alpha-up-alt::before { content: "\f572"; } +.bi-sort-alpha-up::before { content: "\f573"; } +.bi-sort-down-alt::before { content: "\f574"; } +.bi-sort-down::before { content: "\f575"; } +.bi-sort-numeric-down-alt::before { content: "\f576"; } +.bi-sort-numeric-down::before { content: "\f577"; } +.bi-sort-numeric-up-alt::before { content: "\f578"; } +.bi-sort-numeric-up::before { content: "\f579"; } +.bi-sort-up-alt::before { content: "\f57a"; } +.bi-sort-up::before { content: "\f57b"; } +.bi-soundwave::before { content: "\f57c"; } +.bi-speaker-fill::before { content: "\f57d"; } +.bi-speaker::before { content: "\f57e"; } +.bi-speedometer::before { content: "\f57f"; } +.bi-speedometer2::before { content: "\f580"; } +.bi-spellcheck::before { content: "\f581"; } +.bi-square-fill::before { content: "\f582"; } +.bi-square-half::before { content: "\f583"; } +.bi-square::before { content: "\f584"; } +.bi-stack::before { content: "\f585"; } +.bi-star-fill::before { content: "\f586"; } +.bi-star-half::before { content: "\f587"; } +.bi-star::before { content: "\f588"; } +.bi-stars::before { content: "\f589"; } +.bi-stickies-fill::before { content: "\f58a"; } +.bi-stickies::before { content: "\f58b"; } +.bi-sticky-fill::before { content: "\f58c"; } +.bi-sticky::before { content: "\f58d"; } +.bi-stop-btn-fill::before { content: "\f58e"; } +.bi-stop-btn::before { content: "\f58f"; } +.bi-stop-circle-fill::before { content: "\f590"; } +.bi-stop-circle::before { content: "\f591"; } +.bi-stop-fill::before { content: "\f592"; } +.bi-stop::before { content: "\f593"; } +.bi-stoplights-fill::before { content: "\f594"; } +.bi-stoplights::before { content: "\f595"; } +.bi-stopwatch-fill::before { content: "\f596"; } +.bi-stopwatch::before { content: "\f597"; } +.bi-subtract::before { content: "\f598"; } +.bi-suit-club-fill::before { content: "\f599"; } +.bi-suit-club::before { content: "\f59a"; } +.bi-suit-diamond-fill::before { content: "\f59b"; } +.bi-suit-diamond::before { content: "\f59c"; } +.bi-suit-heart-fill::before { content: "\f59d"; } +.bi-suit-heart::before { content: "\f59e"; } +.bi-suit-spade-fill::before { content: "\f59f"; } +.bi-suit-spade::before { content: "\f5a0"; } +.bi-sun-fill::before { content: "\f5a1"; } +.bi-sun::before { content: "\f5a2"; } +.bi-sunglasses::before { content: "\f5a3"; } +.bi-sunrise-fill::before { content: "\f5a4"; } +.bi-sunrise::before { content: "\f5a5"; } +.bi-sunset-fill::before { content: "\f5a6"; } +.bi-sunset::before { content: "\f5a7"; } +.bi-symmetry-horizontal::before { content: "\f5a8"; } +.bi-symmetry-vertical::before { content: "\f5a9"; } +.bi-table::before { content: "\f5aa"; } +.bi-tablet-fill::before { content: "\f5ab"; } +.bi-tablet-landscape-fill::before { content: "\f5ac"; } +.bi-tablet-landscape::before { content: "\f5ad"; } +.bi-tablet::before { content: "\f5ae"; } +.bi-tag-fill::before { content: "\f5af"; } +.bi-tag::before { content: "\f5b0"; } +.bi-tags-fill::before { content: "\f5b1"; } +.bi-tags::before { content: "\f5b2"; } +.bi-telegram::before { content: "\f5b3"; } +.bi-telephone-fill::before { content: "\f5b4"; } +.bi-telephone-forward-fill::before { content: "\f5b5"; } +.bi-telephone-forward::before { content: "\f5b6"; } +.bi-telephone-inbound-fill::before { content: "\f5b7"; } +.bi-telephone-inbound::before { content: "\f5b8"; } +.bi-telephone-minus-fill::before { content: "\f5b9"; } +.bi-telephone-minus::before { content: "\f5ba"; } +.bi-telephone-outbound-fill::before { content: "\f5bb"; } +.bi-telephone-outbound::before { content: "\f5bc"; } +.bi-telephone-plus-fill::before { content: "\f5bd"; } +.bi-telephone-plus::before { content: "\f5be"; } +.bi-telephone-x-fill::before { content: "\f5bf"; } +.bi-telephone-x::before { content: "\f5c0"; } +.bi-telephone::before { content: "\f5c1"; } +.bi-terminal-fill::before { content: "\f5c2"; } +.bi-terminal::before { content: "\f5c3"; } +.bi-text-center::before { content: "\f5c4"; } +.bi-text-indent-left::before { content: "\f5c5"; } +.bi-text-indent-right::before { content: "\f5c6"; } +.bi-text-left::before { content: "\f5c7"; } +.bi-text-paragraph::before { content: "\f5c8"; } +.bi-text-right::before { content: "\f5c9"; } +.bi-textarea-resize::before { content: "\f5ca"; } +.bi-textarea-t::before { content: "\f5cb"; } +.bi-textarea::before { content: "\f5cc"; } +.bi-thermometer-half::before { content: "\f5cd"; } +.bi-thermometer-high::before { content: "\f5ce"; } +.bi-thermometer-low::before { content: "\f5cf"; } +.bi-thermometer-snow::before { content: "\f5d0"; } +.bi-thermometer-sun::before { content: "\f5d1"; } +.bi-thermometer::before { content: "\f5d2"; } +.bi-three-dots-vertical::before { content: "\f5d3"; } +.bi-three-dots::before { content: "\f5d4"; } +.bi-toggle-off::before { content: "\f5d5"; } +.bi-toggle-on::before { content: "\f5d6"; } +.bi-toggle2-off::before { content: "\f5d7"; } +.bi-toggle2-on::before { content: "\f5d8"; } +.bi-toggles::before { content: "\f5d9"; } +.bi-toggles2::before { content: "\f5da"; } +.bi-tools::before { content: "\f5db"; } +.bi-tornado::before { content: "\f5dc"; } +.bi-trash-fill::before { content: "\f5dd"; } +.bi-trash::before { content: "\f5de"; } +.bi-trash2-fill::before { content: "\f5df"; } +.bi-trash2::before { content: "\f5e0"; } +.bi-tree-fill::before { content: "\f5e1"; } +.bi-tree::before { content: "\f5e2"; } +.bi-triangle-fill::before { content: "\f5e3"; } +.bi-triangle-half::before { content: "\f5e4"; } +.bi-triangle::before { content: "\f5e5"; } +.bi-trophy-fill::before { content: "\f5e6"; } +.bi-trophy::before { content: "\f5e7"; } +.bi-tropical-storm::before { content: "\f5e8"; } +.bi-truck-flatbed::before { content: "\f5e9"; } +.bi-truck::before { content: "\f5ea"; } +.bi-tsunami::before { content: "\f5eb"; } +.bi-tv-fill::before { content: "\f5ec"; } +.bi-tv::before { content: "\f5ed"; } +.bi-twitch::before { content: "\f5ee"; } +.bi-twitter::before { content: "\f5ef"; } +.bi-type-bold::before { content: "\f5f0"; } +.bi-type-h1::before { content: "\f5f1"; } +.bi-type-h2::before { content: "\f5f2"; } +.bi-type-h3::before { content: "\f5f3"; } +.bi-type-italic::before { content: "\f5f4"; } +.bi-type-strikethrough::before { content: "\f5f5"; } +.bi-type-underline::before { content: "\f5f6"; } +.bi-type::before { content: "\f5f7"; } +.bi-ui-checks-grid::before { content: "\f5f8"; } +.bi-ui-checks::before { content: "\f5f9"; } +.bi-ui-radios-grid::before { content: "\f5fa"; } +.bi-ui-radios::before { content: "\f5fb"; } +.bi-umbrella-fill::before { content: "\f5fc"; } +.bi-umbrella::before { content: "\f5fd"; } +.bi-union::before { content: "\f5fe"; } +.bi-unlock-fill::before { content: "\f5ff"; } +.bi-unlock::before { content: "\f600"; } +.bi-upc-scan::before { content: "\f601"; } +.bi-upc::before { content: "\f602"; } +.bi-upload::before { content: "\f603"; } +.bi-vector-pen::before { content: "\f604"; } +.bi-view-list::before { content: "\f605"; } +.bi-view-stacked::before { content: "\f606"; } +.bi-vinyl-fill::before { content: "\f607"; } +.bi-vinyl::before { content: "\f608"; } +.bi-voicemail::before { content: "\f609"; } +.bi-volume-down-fill::before { content: "\f60a"; } +.bi-volume-down::before { content: "\f60b"; } +.bi-volume-mute-fill::before { content: "\f60c"; } +.bi-volume-mute::before { content: "\f60d"; } +.bi-volume-off-fill::before { content: "\f60e"; } +.bi-volume-off::before { content: "\f60f"; } +.bi-volume-up-fill::before { content: "\f610"; } +.bi-volume-up::before { content: "\f611"; } +.bi-vr::before { content: "\f612"; } +.bi-wallet-fill::before { content: "\f613"; } +.bi-wallet::before { content: "\f614"; } +.bi-wallet2::before { content: "\f615"; } +.bi-watch::before { content: "\f616"; } +.bi-water::before { content: "\f617"; } +.bi-whatsapp::before { content: "\f618"; } +.bi-wifi-1::before { content: "\f619"; } +.bi-wifi-2::before { content: "\f61a"; } +.bi-wifi-off::before { content: "\f61b"; } +.bi-wifi::before { content: "\f61c"; } +.bi-wind::before { content: "\f61d"; } +.bi-window-dock::before { content: "\f61e"; } +.bi-window-sidebar::before { content: "\f61f"; } +.bi-window::before { content: "\f620"; } +.bi-wrench::before { content: "\f621"; } +.bi-x-circle-fill::before { content: "\f622"; } +.bi-x-circle::before { content: "\f623"; } +.bi-x-diamond-fill::before { content: "\f624"; } +.bi-x-diamond::before { content: "\f625"; } +.bi-x-octagon-fill::before { content: "\f626"; } +.bi-x-octagon::before { content: "\f627"; } +.bi-x-square-fill::before { content: "\f628"; } +.bi-x-square::before { content: "\f629"; } +.bi-x::before { content: "\f62a"; } +.bi-youtube::before { content: "\f62b"; } +.bi-zoom-in::before { content: "\f62c"; } +.bi-zoom-out::before { content: "\f62d"; } +.bi-bank::before { content: "\f62e"; } +.bi-bank2::before { content: "\f62f"; } +.bi-bell-slash-fill::before { content: "\f630"; } +.bi-bell-slash::before { content: "\f631"; } +.bi-cash-coin::before { content: "\f632"; } +.bi-check-lg::before { content: "\f633"; } +.bi-coin::before { content: "\f634"; } +.bi-currency-bitcoin::before { content: "\f635"; } +.bi-currency-dollar::before { content: "\f636"; } +.bi-currency-euro::before { content: "\f637"; } +.bi-currency-exchange::before { content: "\f638"; } +.bi-currency-pound::before { content: "\f639"; } +.bi-currency-yen::before { content: "\f63a"; } +.bi-dash-lg::before { content: "\f63b"; } +.bi-exclamation-lg::before { content: "\f63c"; } +.bi-file-earmark-pdf-fill::before { content: "\f63d"; } +.bi-file-earmark-pdf::before { content: "\f63e"; } +.bi-file-pdf-fill::before { content: "\f63f"; } +.bi-file-pdf::before { content: "\f640"; } +.bi-gender-ambiguous::before { content: "\f641"; } +.bi-gender-female::before { content: "\f642"; } +.bi-gender-male::before { content: "\f643"; } +.bi-gender-trans::before { content: "\f644"; } +.bi-headset-vr::before { content: "\f645"; } +.bi-info-lg::before { content: "\f646"; } +.bi-mastodon::before { content: "\f647"; } +.bi-messenger::before { content: "\f648"; } +.bi-piggy-bank-fill::before { content: "\f649"; } +.bi-piggy-bank::before { content: "\f64a"; } +.bi-pin-map-fill::before { content: "\f64b"; } +.bi-pin-map::before { content: "\f64c"; } +.bi-plus-lg::before { content: "\f64d"; } +.bi-question-lg::before { content: "\f64e"; } +.bi-recycle::before { content: "\f64f"; } +.bi-reddit::before { content: "\f650"; } +.bi-safe-fill::before { content: "\f651"; } +.bi-safe2-fill::before { content: "\f652"; } +.bi-safe2::before { content: "\f653"; } +.bi-sd-card-fill::before { content: "\f654"; } +.bi-sd-card::before { content: "\f655"; } +.bi-skype::before { content: "\f656"; } +.bi-slash-lg::before { content: "\f657"; } +.bi-translate::before { content: "\f658"; } +.bi-x-lg::before { content: "\f659"; } +.bi-safe::before { content: "\f65a"; } +.bi-apple::before { content: "\f65b"; } +.bi-microsoft::before { content: "\f65d"; } +.bi-windows::before { content: "\f65e"; } +.bi-behance::before { content: "\f65c"; } +.bi-dribbble::before { content: "\f65f"; } +.bi-line::before { content: "\f660"; } +.bi-medium::before { content: "\f661"; } +.bi-paypal::before { content: "\f662"; } +.bi-pinterest::before { content: "\f663"; } +.bi-signal::before { content: "\f664"; } +.bi-snapchat::before { content: "\f665"; } +.bi-spotify::before { content: "\f666"; } +.bi-stack-overflow::before { content: "\f667"; } +.bi-strava::before { content: "\f668"; } +.bi-wordpress::before { content: "\f669"; } +.bi-vimeo::before { content: "\f66a"; } +.bi-activity::before { content: "\f66b"; } +.bi-easel2-fill::before { content: "\f66c"; } +.bi-easel2::before { content: "\f66d"; } +.bi-easel3-fill::before { content: "\f66e"; } +.bi-easel3::before { content: "\f66f"; } +.bi-fan::before { content: "\f670"; } +.bi-fingerprint::before { content: "\f671"; } +.bi-graph-down-arrow::before { content: "\f672"; } +.bi-graph-up-arrow::before { content: "\f673"; } +.bi-hypnotize::before { content: "\f674"; } +.bi-magic::before { content: "\f675"; } +.bi-person-rolodex::before { content: "\f676"; } +.bi-person-video::before { content: "\f677"; } +.bi-person-video2::before { content: "\f678"; } +.bi-person-video3::before { content: "\f679"; } +.bi-person-workspace::before { content: "\f67a"; } +.bi-radioactive::before { content: "\f67b"; } +.bi-webcam-fill::before { content: "\f67c"; } +.bi-webcam::before { content: "\f67d"; } +.bi-yin-yang::before { content: "\f67e"; } +.bi-bandaid-fill::before { content: "\f680"; } +.bi-bandaid::before { content: "\f681"; } +.bi-bluetooth::before { content: "\f682"; } +.bi-body-text::before { content: "\f683"; } +.bi-boombox::before { content: "\f684"; } +.bi-boxes::before { content: "\f685"; } +.bi-dpad-fill::before { content: "\f686"; } +.bi-dpad::before { content: "\f687"; } +.bi-ear-fill::before { content: "\f688"; } +.bi-ear::before { content: "\f689"; } +.bi-envelope-check-fill::before { content: "\f68b"; } +.bi-envelope-check::before { content: "\f68c"; } +.bi-envelope-dash-fill::before { content: "\f68e"; } +.bi-envelope-dash::before { content: "\f68f"; } +.bi-envelope-exclamation-fill::before { content: "\f691"; } +.bi-envelope-exclamation::before { content: "\f692"; } +.bi-envelope-plus-fill::before { content: "\f693"; } +.bi-envelope-plus::before { content: "\f694"; } +.bi-envelope-slash-fill::before { content: "\f696"; } +.bi-envelope-slash::before { content: "\f697"; } +.bi-envelope-x-fill::before { content: "\f699"; } +.bi-envelope-x::before { content: "\f69a"; } +.bi-explicit-fill::before { content: "\f69b"; } +.bi-explicit::before { content: "\f69c"; } +.bi-git::before { content: "\f69d"; } +.bi-infinity::before { content: "\f69e"; } +.bi-list-columns-reverse::before { content: "\f69f"; } +.bi-list-columns::before { content: "\f6a0"; } +.bi-meta::before { content: "\f6a1"; } +.bi-nintendo-switch::before { content: "\f6a4"; } +.bi-pc-display-horizontal::before { content: "\f6a5"; } +.bi-pc-display::before { content: "\f6a6"; } +.bi-pc-horizontal::before { content: "\f6a7"; } +.bi-pc::before { content: "\f6a8"; } +.bi-playstation::before { content: "\f6a9"; } +.bi-plus-slash-minus::before { content: "\f6aa"; } +.bi-projector-fill::before { content: "\f6ab"; } +.bi-projector::before { content: "\f6ac"; } +.bi-qr-code-scan::before { content: "\f6ad"; } +.bi-qr-code::before { content: "\f6ae"; } +.bi-quora::before { content: "\f6af"; } +.bi-quote::before { content: "\f6b0"; } +.bi-robot::before { content: "\f6b1"; } +.bi-send-check-fill::before { content: "\f6b2"; } +.bi-send-check::before { content: "\f6b3"; } +.bi-send-dash-fill::before { content: "\f6b4"; } +.bi-send-dash::before { content: "\f6b5"; } +.bi-send-exclamation-fill::before { content: "\f6b7"; } +.bi-send-exclamation::before { content: "\f6b8"; } +.bi-send-fill::before { content: "\f6b9"; } +.bi-send-plus-fill::before { content: "\f6ba"; } +.bi-send-plus::before { content: "\f6bb"; } +.bi-send-slash-fill::before { content: "\f6bc"; } +.bi-send-slash::before { content: "\f6bd"; } +.bi-send-x-fill::before { content: "\f6be"; } +.bi-send-x::before { content: "\f6bf"; } +.bi-send::before { content: "\f6c0"; } +.bi-steam::before { content: "\f6c1"; } +.bi-terminal-dash::before { content: "\f6c3"; } +.bi-terminal-plus::before { content: "\f6c4"; } +.bi-terminal-split::before { content: "\f6c5"; } +.bi-ticket-detailed-fill::before { content: "\f6c6"; } +.bi-ticket-detailed::before { content: "\f6c7"; } +.bi-ticket-fill::before { content: "\f6c8"; } +.bi-ticket-perforated-fill::before { content: "\f6c9"; } +.bi-ticket-perforated::before { content: "\f6ca"; } +.bi-ticket::before { content: "\f6cb"; } +.bi-tiktok::before { content: "\f6cc"; } +.bi-window-dash::before { content: "\f6cd"; } +.bi-window-desktop::before { content: "\f6ce"; } +.bi-window-fullscreen::before { content: "\f6cf"; } +.bi-window-plus::before { content: "\f6d0"; } +.bi-window-split::before { content: "\f6d1"; } +.bi-window-stack::before { content: "\f6d2"; } +.bi-window-x::before { content: "\f6d3"; } +.bi-xbox::before { content: "\f6d4"; } +.bi-ethernet::before { content: "\f6d5"; } +.bi-hdmi-fill::before { content: "\f6d6"; } +.bi-hdmi::before { content: "\f6d7"; } +.bi-usb-c-fill::before { content: "\f6d8"; } +.bi-usb-c::before { content: "\f6d9"; } +.bi-usb-fill::before { content: "\f6da"; } +.bi-usb-plug-fill::before { content: "\f6db"; } +.bi-usb-plug::before { content: "\f6dc"; } +.bi-usb-symbol::before { content: "\f6dd"; } +.bi-usb::before { content: "\f6de"; } +.bi-boombox-fill::before { content: "\f6df"; } +.bi-displayport::before { content: "\f6e1"; } +.bi-gpu-card::before { content: "\f6e2"; } +.bi-memory::before { content: "\f6e3"; } +.bi-modem-fill::before { content: "\f6e4"; } +.bi-modem::before { content: "\f6e5"; } +.bi-motherboard-fill::before { content: "\f6e6"; } +.bi-motherboard::before { content: "\f6e7"; } +.bi-optical-audio-fill::before { content: "\f6e8"; } +.bi-optical-audio::before { content: "\f6e9"; } +.bi-pci-card::before { content: "\f6ea"; } +.bi-router-fill::before { content: "\f6eb"; } +.bi-router::before { content: "\f6ec"; } +.bi-thunderbolt-fill::before { content: "\f6ef"; } +.bi-thunderbolt::before { content: "\f6f0"; } +.bi-usb-drive-fill::before { content: "\f6f1"; } +.bi-usb-drive::before { content: "\f6f2"; } +.bi-usb-micro-fill::before { content: "\f6f3"; } +.bi-usb-micro::before { content: "\f6f4"; } +.bi-usb-mini-fill::before { content: "\f6f5"; } +.bi-usb-mini::before { content: "\f6f6"; } +.bi-cloud-haze2::before { content: "\f6f7"; } +.bi-device-hdd-fill::before { content: "\f6f8"; } +.bi-device-hdd::before { content: "\f6f9"; } +.bi-device-ssd-fill::before { content: "\f6fa"; } +.bi-device-ssd::before { content: "\f6fb"; } +.bi-displayport-fill::before { content: "\f6fc"; } +.bi-mortarboard-fill::before { content: "\f6fd"; } +.bi-mortarboard::before { content: "\f6fe"; } +.bi-terminal-x::before { content: "\f6ff"; } +.bi-arrow-through-heart-fill::before { content: "\f700"; } +.bi-arrow-through-heart::before { content: "\f701"; } +.bi-badge-sd-fill::before { content: "\f702"; } +.bi-badge-sd::before { content: "\f703"; } +.bi-bag-heart-fill::before { content: "\f704"; } +.bi-bag-heart::before { content: "\f705"; } +.bi-balloon-fill::before { content: "\f706"; } +.bi-balloon-heart-fill::before { content: "\f707"; } +.bi-balloon-heart::before { content: "\f708"; } +.bi-balloon::before { content: "\f709"; } +.bi-box2-fill::before { content: "\f70a"; } +.bi-box2-heart-fill::before { content: "\f70b"; } +.bi-box2-heart::before { content: "\f70c"; } +.bi-box2::before { content: "\f70d"; } +.bi-braces-asterisk::before { content: "\f70e"; } +.bi-calendar-heart-fill::before { content: "\f70f"; } +.bi-calendar-heart::before { content: "\f710"; } +.bi-calendar2-heart-fill::before { content: "\f711"; } +.bi-calendar2-heart::before { content: "\f712"; } +.bi-chat-heart-fill::before { content: "\f713"; } +.bi-chat-heart::before { content: "\f714"; } +.bi-chat-left-heart-fill::before { content: "\f715"; } +.bi-chat-left-heart::before { content: "\f716"; } +.bi-chat-right-heart-fill::before { content: "\f717"; } +.bi-chat-right-heart::before { content: "\f718"; } +.bi-chat-square-heart-fill::before { content: "\f719"; } +.bi-chat-square-heart::before { content: "\f71a"; } +.bi-clipboard-check-fill::before { content: "\f71b"; } +.bi-clipboard-data-fill::before { content: "\f71c"; } +.bi-clipboard-fill::before { content: "\f71d"; } +.bi-clipboard-heart-fill::before { content: "\f71e"; } +.bi-clipboard-heart::before { content: "\f71f"; } +.bi-clipboard-minus-fill::before { content: "\f720"; } +.bi-clipboard-plus-fill::before { content: "\f721"; } +.bi-clipboard-pulse::before { content: "\f722"; } +.bi-clipboard-x-fill::before { content: "\f723"; } +.bi-clipboard2-check-fill::before { content: "\f724"; } +.bi-clipboard2-check::before { content: "\f725"; } +.bi-clipboard2-data-fill::before { content: "\f726"; } +.bi-clipboard2-data::before { content: "\f727"; } +.bi-clipboard2-fill::before { content: "\f728"; } +.bi-clipboard2-heart-fill::before { content: "\f729"; } +.bi-clipboard2-heart::before { content: "\f72a"; } +.bi-clipboard2-minus-fill::before { content: "\f72b"; } +.bi-clipboard2-minus::before { content: "\f72c"; } +.bi-clipboard2-plus-fill::before { content: "\f72d"; } +.bi-clipboard2-plus::before { content: "\f72e"; } +.bi-clipboard2-pulse-fill::before { content: "\f72f"; } +.bi-clipboard2-pulse::before { content: "\f730"; } +.bi-clipboard2-x-fill::before { content: "\f731"; } +.bi-clipboard2-x::before { content: "\f732"; } +.bi-clipboard2::before { content: "\f733"; } +.bi-emoji-kiss-fill::before { content: "\f734"; } +.bi-emoji-kiss::before { content: "\f735"; } +.bi-envelope-heart-fill::before { content: "\f736"; } +.bi-envelope-heart::before { content: "\f737"; } +.bi-envelope-open-heart-fill::before { content: "\f738"; } +.bi-envelope-open-heart::before { content: "\f739"; } +.bi-envelope-paper-fill::before { content: "\f73a"; } +.bi-envelope-paper-heart-fill::before { content: "\f73b"; } +.bi-envelope-paper-heart::before { content: "\f73c"; } +.bi-envelope-paper::before { content: "\f73d"; } +.bi-filetype-aac::before { content: "\f73e"; } +.bi-filetype-ai::before { content: "\f73f"; } +.bi-filetype-bmp::before { content: "\f740"; } +.bi-filetype-cs::before { content: "\f741"; } +.bi-filetype-css::before { content: "\f742"; } +.bi-filetype-csv::before { content: "\f743"; } +.bi-filetype-doc::before { content: "\f744"; } +.bi-filetype-docx::before { content: "\f745"; } +.bi-filetype-exe::before { content: "\f746"; } +.bi-filetype-gif::before { content: "\f747"; } +.bi-filetype-heic::before { content: "\f748"; } +.bi-filetype-html::before { content: "\f749"; } +.bi-filetype-java::before { content: "\f74a"; } +.bi-filetype-jpg::before { content: "\f74b"; } +.bi-filetype-js::before { content: "\f74c"; } +.bi-filetype-jsx::before { content: "\f74d"; } +.bi-filetype-key::before { content: "\f74e"; } +.bi-filetype-m4p::before { content: "\f74f"; } +.bi-filetype-md::before { content: "\f750"; } +.bi-filetype-mdx::before { content: "\f751"; } +.bi-filetype-mov::before { content: "\f752"; } +.bi-filetype-mp3::before { content: "\f753"; } +.bi-filetype-mp4::before { content: "\f754"; } +.bi-filetype-otf::before { content: "\f755"; } +.bi-filetype-pdf::before { content: "\f756"; } +.bi-filetype-php::before { content: "\f757"; } +.bi-filetype-png::before { content: "\f758"; } +.bi-filetype-ppt::before { content: "\f75a"; } +.bi-filetype-psd::before { content: "\f75b"; } +.bi-filetype-py::before { content: "\f75c"; } +.bi-filetype-raw::before { content: "\f75d"; } +.bi-filetype-rb::before { content: "\f75e"; } +.bi-filetype-sass::before { content: "\f75f"; } +.bi-filetype-scss::before { content: "\f760"; } +.bi-filetype-sh::before { content: "\f761"; } +.bi-filetype-svg::before { content: "\f762"; } +.bi-filetype-tiff::before { content: "\f763"; } +.bi-filetype-tsx::before { content: "\f764"; } +.bi-filetype-ttf::before { content: "\f765"; } +.bi-filetype-txt::before { content: "\f766"; } +.bi-filetype-wav::before { content: "\f767"; } +.bi-filetype-woff::before { content: "\f768"; } +.bi-filetype-xls::before { content: "\f76a"; } +.bi-filetype-xml::before { content: "\f76b"; } +.bi-filetype-yml::before { content: "\f76c"; } +.bi-heart-arrow::before { content: "\f76d"; } +.bi-heart-pulse-fill::before { content: "\f76e"; } +.bi-heart-pulse::before { content: "\f76f"; } +.bi-heartbreak-fill::before { content: "\f770"; } +.bi-heartbreak::before { content: "\f771"; } +.bi-hearts::before { content: "\f772"; } +.bi-hospital-fill::before { content: "\f773"; } +.bi-hospital::before { content: "\f774"; } +.bi-house-heart-fill::before { content: "\f775"; } +.bi-house-heart::before { content: "\f776"; } +.bi-incognito::before { content: "\f777"; } +.bi-magnet-fill::before { content: "\f778"; } +.bi-magnet::before { content: "\f779"; } +.bi-person-heart::before { content: "\f77a"; } +.bi-person-hearts::before { content: "\f77b"; } +.bi-phone-flip::before { content: "\f77c"; } +.bi-plugin::before { content: "\f77d"; } +.bi-postage-fill::before { content: "\f77e"; } +.bi-postage-heart-fill::before { content: "\f77f"; } +.bi-postage-heart::before { content: "\f780"; } +.bi-postage::before { content: "\f781"; } +.bi-postcard-fill::before { content: "\f782"; } +.bi-postcard-heart-fill::before { content: "\f783"; } +.bi-postcard-heart::before { content: "\f784"; } +.bi-postcard::before { content: "\f785"; } +.bi-search-heart-fill::before { content: "\f786"; } +.bi-search-heart::before { content: "\f787"; } +.bi-sliders2-vertical::before { content: "\f788"; } +.bi-sliders2::before { content: "\f789"; } +.bi-trash3-fill::before { content: "\f78a"; } +.bi-trash3::before { content: "\f78b"; } +.bi-valentine::before { content: "\f78c"; } +.bi-valentine2::before { content: "\f78d"; } +.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; } +.bi-wrench-adjustable-circle::before { content: "\f78f"; } +.bi-wrench-adjustable::before { content: "\f790"; } +.bi-filetype-json::before { content: "\f791"; } +.bi-filetype-pptx::before { content: "\f792"; } +.bi-filetype-xlsx::before { content: "\f793"; } +.bi-1-circle-fill::before { content: "\f796"; } +.bi-1-circle::before { content: "\f797"; } +.bi-1-square-fill::before { content: "\f798"; } +.bi-1-square::before { content: "\f799"; } +.bi-2-circle-fill::before { content: "\f79c"; } +.bi-2-circle::before { content: "\f79d"; } +.bi-2-square-fill::before { content: "\f79e"; } +.bi-2-square::before { content: "\f79f"; } +.bi-3-circle-fill::before { content: "\f7a2"; } +.bi-3-circle::before { content: "\f7a3"; } +.bi-3-square-fill::before { content: "\f7a4"; } +.bi-3-square::before { content: "\f7a5"; } +.bi-4-circle-fill::before { content: "\f7a8"; } +.bi-4-circle::before { content: "\f7a9"; } +.bi-4-square-fill::before { content: "\f7aa"; } +.bi-4-square::before { content: "\f7ab"; } +.bi-5-circle-fill::before { content: "\f7ae"; } +.bi-5-circle::before { content: "\f7af"; } +.bi-5-square-fill::before { content: "\f7b0"; } +.bi-5-square::before { content: "\f7b1"; } +.bi-6-circle-fill::before { content: "\f7b4"; } +.bi-6-circle::before { content: "\f7b5"; } +.bi-6-square-fill::before { content: "\f7b6"; } +.bi-6-square::before { content: "\f7b7"; } +.bi-7-circle-fill::before { content: "\f7ba"; } +.bi-7-circle::before { content: "\f7bb"; } +.bi-7-square-fill::before { content: "\f7bc"; } +.bi-7-square::before { content: "\f7bd"; } +.bi-8-circle-fill::before { content: "\f7c0"; } +.bi-8-circle::before { content: "\f7c1"; } +.bi-8-square-fill::before { content: "\f7c2"; } +.bi-8-square::before { content: "\f7c3"; } +.bi-9-circle-fill::before { content: "\f7c6"; } +.bi-9-circle::before { content: "\f7c7"; } +.bi-9-square-fill::before { content: "\f7c8"; } +.bi-9-square::before { content: "\f7c9"; } +.bi-airplane-engines-fill::before { content: "\f7ca"; } +.bi-airplane-engines::before { content: "\f7cb"; } +.bi-airplane-fill::before { content: "\f7cc"; } +.bi-airplane::before { content: "\f7cd"; } +.bi-alexa::before { content: "\f7ce"; } +.bi-alipay::before { content: "\f7cf"; } +.bi-android::before { content: "\f7d0"; } +.bi-android2::before { content: "\f7d1"; } +.bi-box-fill::before { content: "\f7d2"; } +.bi-box-seam-fill::before { content: "\f7d3"; } +.bi-browser-chrome::before { content: "\f7d4"; } +.bi-browser-edge::before { content: "\f7d5"; } +.bi-browser-firefox::before { content: "\f7d6"; } +.bi-browser-safari::before { content: "\f7d7"; } +.bi-c-circle-fill::before { content: "\f7da"; } +.bi-c-circle::before { content: "\f7db"; } +.bi-c-square-fill::before { content: "\f7dc"; } +.bi-c-square::before { content: "\f7dd"; } +.bi-capsule-pill::before { content: "\f7de"; } +.bi-capsule::before { content: "\f7df"; } +.bi-car-front-fill::before { content: "\f7e0"; } +.bi-car-front::before { content: "\f7e1"; } +.bi-cassette-fill::before { content: "\f7e2"; } +.bi-cassette::before { content: "\f7e3"; } +.bi-cc-circle-fill::before { content: "\f7e6"; } +.bi-cc-circle::before { content: "\f7e7"; } +.bi-cc-square-fill::before { content: "\f7e8"; } +.bi-cc-square::before { content: "\f7e9"; } +.bi-cup-hot-fill::before { content: "\f7ea"; } +.bi-cup-hot::before { content: "\f7eb"; } +.bi-currency-rupee::before { content: "\f7ec"; } +.bi-dropbox::before { content: "\f7ed"; } +.bi-escape::before { content: "\f7ee"; } +.bi-fast-forward-btn-fill::before { content: "\f7ef"; } +.bi-fast-forward-btn::before { content: "\f7f0"; } +.bi-fast-forward-circle-fill::before { content: "\f7f1"; } +.bi-fast-forward-circle::before { content: "\f7f2"; } +.bi-fast-forward-fill::before { content: "\f7f3"; } +.bi-fast-forward::before { content: "\f7f4"; } +.bi-filetype-sql::before { content: "\f7f5"; } +.bi-fire::before { content: "\f7f6"; } +.bi-google-play::before { content: "\f7f7"; } +.bi-h-circle-fill::before { content: "\f7fa"; } +.bi-h-circle::before { content: "\f7fb"; } +.bi-h-square-fill::before { content: "\f7fc"; } +.bi-h-square::before { content: "\f7fd"; } +.bi-indent::before { content: "\f7fe"; } +.bi-lungs-fill::before { content: "\f7ff"; } +.bi-lungs::before { content: "\f800"; } +.bi-microsoft-teams::before { content: "\f801"; } +.bi-p-circle-fill::before { content: "\f804"; } +.bi-p-circle::before { content: "\f805"; } +.bi-p-square-fill::before { content: "\f806"; } +.bi-p-square::before { content: "\f807"; } +.bi-pass-fill::before { content: "\f808"; } +.bi-pass::before { content: "\f809"; } +.bi-prescription::before { content: "\f80a"; } +.bi-prescription2::before { content: "\f80b"; } +.bi-r-circle-fill::before { content: "\f80e"; } +.bi-r-circle::before { content: "\f80f"; } +.bi-r-square-fill::before { content: "\f810"; } +.bi-r-square::before { content: "\f811"; } +.bi-repeat-1::before { content: "\f812"; } +.bi-repeat::before { content: "\f813"; } +.bi-rewind-btn-fill::before { content: "\f814"; } +.bi-rewind-btn::before { content: "\f815"; } +.bi-rewind-circle-fill::before { content: "\f816"; } +.bi-rewind-circle::before { content: "\f817"; } +.bi-rewind-fill::before { content: "\f818"; } +.bi-rewind::before { content: "\f819"; } +.bi-train-freight-front-fill::before { content: "\f81a"; } +.bi-train-freight-front::before { content: "\f81b"; } +.bi-train-front-fill::before { content: "\f81c"; } +.bi-train-front::before { content: "\f81d"; } +.bi-train-lightrail-front-fill::before { content: "\f81e"; } +.bi-train-lightrail-front::before { content: "\f81f"; } +.bi-truck-front-fill::before { content: "\f820"; } +.bi-truck-front::before { content: "\f821"; } +.bi-ubuntu::before { content: "\f822"; } +.bi-unindent::before { content: "\f823"; } +.bi-unity::before { content: "\f824"; } +.bi-universal-access-circle::before { content: "\f825"; } +.bi-universal-access::before { content: "\f826"; } +.bi-virus::before { content: "\f827"; } +.bi-virus2::before { content: "\f828"; } +.bi-wechat::before { content: "\f829"; } +.bi-yelp::before { content: "\f82a"; } +.bi-sign-stop-fill::before { content: "\f82b"; } +.bi-sign-stop-lights-fill::before { content: "\f82c"; } +.bi-sign-stop-lights::before { content: "\f82d"; } +.bi-sign-stop::before { content: "\f82e"; } +.bi-sign-turn-left-fill::before { content: "\f82f"; } +.bi-sign-turn-left::before { content: "\f830"; } +.bi-sign-turn-right-fill::before { content: "\f831"; } +.bi-sign-turn-right::before { content: "\f832"; } +.bi-sign-turn-slight-left-fill::before { content: "\f833"; } +.bi-sign-turn-slight-left::before { content: "\f834"; } +.bi-sign-turn-slight-right-fill::before { content: "\f835"; } +.bi-sign-turn-slight-right::before { content: "\f836"; } +.bi-sign-yield-fill::before { content: "\f837"; } +.bi-sign-yield::before { content: "\f838"; } +.bi-ev-station-fill::before { content: "\f839"; } +.bi-ev-station::before { content: "\f83a"; } +.bi-fuel-pump-diesel-fill::before { content: "\f83b"; } +.bi-fuel-pump-diesel::before { content: "\f83c"; } +.bi-fuel-pump-fill::before { content: "\f83d"; } +.bi-fuel-pump::before { content: "\f83e"; } +.bi-0-circle-fill::before { content: "\f83f"; } +.bi-0-circle::before { content: "\f840"; } +.bi-0-square-fill::before { content: "\f841"; } +.bi-0-square::before { content: "\f842"; } +.bi-rocket-fill::before { content: "\f843"; } +.bi-rocket-takeoff-fill::before { content: "\f844"; } +.bi-rocket-takeoff::before { content: "\f845"; } +.bi-rocket::before { content: "\f846"; } +.bi-stripe::before { content: "\f847"; } +.bi-subscript::before { content: "\f848"; } +.bi-superscript::before { content: "\f849"; } +.bi-trello::before { content: "\f84a"; } +.bi-envelope-at-fill::before { content: "\f84b"; } +.bi-envelope-at::before { content: "\f84c"; } +.bi-regex::before { content: "\f84d"; } +.bi-text-wrap::before { content: "\f84e"; } +.bi-sign-dead-end-fill::before { content: "\f84f"; } +.bi-sign-dead-end::before { content: "\f850"; } +.bi-sign-do-not-enter-fill::before { content: "\f851"; } +.bi-sign-do-not-enter::before { content: "\f852"; } +.bi-sign-intersection-fill::before { content: "\f853"; } +.bi-sign-intersection-side-fill::before { content: "\f854"; } +.bi-sign-intersection-side::before { content: "\f855"; } +.bi-sign-intersection-t-fill::before { content: "\f856"; } +.bi-sign-intersection-t::before { content: "\f857"; } +.bi-sign-intersection-y-fill::before { content: "\f858"; } +.bi-sign-intersection-y::before { content: "\f859"; } +.bi-sign-intersection::before { content: "\f85a"; } +.bi-sign-merge-left-fill::before { content: "\f85b"; } +.bi-sign-merge-left::before { content: "\f85c"; } +.bi-sign-merge-right-fill::before { content: "\f85d"; } +.bi-sign-merge-right::before { content: "\f85e"; } +.bi-sign-no-left-turn-fill::before { content: "\f85f"; } +.bi-sign-no-left-turn::before { content: "\f860"; } +.bi-sign-no-parking-fill::before { content: "\f861"; } +.bi-sign-no-parking::before { content: "\f862"; } +.bi-sign-no-right-turn-fill::before { content: "\f863"; } +.bi-sign-no-right-turn::before { content: "\f864"; } +.bi-sign-railroad-fill::before { content: "\f865"; } +.bi-sign-railroad::before { content: "\f866"; } +.bi-building-add::before { content: "\f867"; } +.bi-building-check::before { content: "\f868"; } +.bi-building-dash::before { content: "\f869"; } +.bi-building-down::before { content: "\f86a"; } +.bi-building-exclamation::before { content: "\f86b"; } +.bi-building-fill-add::before { content: "\f86c"; } +.bi-building-fill-check::before { content: "\f86d"; } +.bi-building-fill-dash::before { content: "\f86e"; } +.bi-building-fill-down::before { content: "\f86f"; } +.bi-building-fill-exclamation::before { content: "\f870"; } +.bi-building-fill-gear::before { content: "\f871"; } +.bi-building-fill-lock::before { content: "\f872"; } +.bi-building-fill-slash::before { content: "\f873"; } +.bi-building-fill-up::before { content: "\f874"; } +.bi-building-fill-x::before { content: "\f875"; } +.bi-building-fill::before { content: "\f876"; } +.bi-building-gear::before { content: "\f877"; } +.bi-building-lock::before { content: "\f878"; } +.bi-building-slash::before { content: "\f879"; } +.bi-building-up::before { content: "\f87a"; } +.bi-building-x::before { content: "\f87b"; } +.bi-buildings-fill::before { content: "\f87c"; } +.bi-buildings::before { content: "\f87d"; } +.bi-bus-front-fill::before { content: "\f87e"; } +.bi-bus-front::before { content: "\f87f"; } +.bi-ev-front-fill::before { content: "\f880"; } +.bi-ev-front::before { content: "\f881"; } +.bi-globe-americas::before { content: "\f882"; } +.bi-globe-asia-australia::before { content: "\f883"; } +.bi-globe-central-south-asia::before { content: "\f884"; } +.bi-globe-europe-africa::before { content: "\f885"; } +.bi-house-add-fill::before { content: "\f886"; } +.bi-house-add::before { content: "\f887"; } +.bi-house-check-fill::before { content: "\f888"; } +.bi-house-check::before { content: "\f889"; } +.bi-house-dash-fill::before { content: "\f88a"; } +.bi-house-dash::before { content: "\f88b"; } +.bi-house-down-fill::before { content: "\f88c"; } +.bi-house-down::before { content: "\f88d"; } +.bi-house-exclamation-fill::before { content: "\f88e"; } +.bi-house-exclamation::before { content: "\f88f"; } +.bi-house-gear-fill::before { content: "\f890"; } +.bi-house-gear::before { content: "\f891"; } +.bi-house-lock-fill::before { content: "\f892"; } +.bi-house-lock::before { content: "\f893"; } +.bi-house-slash-fill::before { content: "\f894"; } +.bi-house-slash::before { content: "\f895"; } +.bi-house-up-fill::before { content: "\f896"; } +.bi-house-up::before { content: "\f897"; } +.bi-house-x-fill::before { content: "\f898"; } +.bi-house-x::before { content: "\f899"; } +.bi-person-add::before { content: "\f89a"; } +.bi-person-down::before { content: "\f89b"; } +.bi-person-exclamation::before { content: "\f89c"; } +.bi-person-fill-add::before { content: "\f89d"; } +.bi-person-fill-check::before { content: "\f89e"; } +.bi-person-fill-dash::before { content: "\f89f"; } +.bi-person-fill-down::before { content: "\f8a0"; } +.bi-person-fill-exclamation::before { content: "\f8a1"; } +.bi-person-fill-gear::before { content: "\f8a2"; } +.bi-person-fill-lock::before { content: "\f8a3"; } +.bi-person-fill-slash::before { content: "\f8a4"; } +.bi-person-fill-up::before { content: "\f8a5"; } +.bi-person-fill-x::before { content: "\f8a6"; } +.bi-person-gear::before { content: "\f8a7"; } +.bi-person-lock::before { content: "\f8a8"; } +.bi-person-slash::before { content: "\f8a9"; } +.bi-person-up::before { content: "\f8aa"; } +.bi-scooter::before { content: "\f8ab"; } +.bi-taxi-front-fill::before { content: "\f8ac"; } +.bi-taxi-front::before { content: "\f8ad"; } +.bi-amd::before { content: "\f8ae"; } +.bi-database-add::before { content: "\f8af"; } +.bi-database-check::before { content: "\f8b0"; } +.bi-database-dash::before { content: "\f8b1"; } +.bi-database-down::before { content: "\f8b2"; } +.bi-database-exclamation::before { content: "\f8b3"; } +.bi-database-fill-add::before { content: "\f8b4"; } +.bi-database-fill-check::before { content: "\f8b5"; } +.bi-database-fill-dash::before { content: "\f8b6"; } +.bi-database-fill-down::before { content: "\f8b7"; } +.bi-database-fill-exclamation::before { content: "\f8b8"; } +.bi-database-fill-gear::before { content: "\f8b9"; } +.bi-database-fill-lock::before { content: "\f8ba"; } +.bi-database-fill-slash::before { content: "\f8bb"; } +.bi-database-fill-up::before { content: "\f8bc"; } +.bi-database-fill-x::before { content: "\f8bd"; } +.bi-database-fill::before { content: "\f8be"; } +.bi-database-gear::before { content: "\f8bf"; } +.bi-database-lock::before { content: "\f8c0"; } +.bi-database-slash::before { content: "\f8c1"; } +.bi-database-up::before { content: "\f8c2"; } +.bi-database-x::before { content: "\f8c3"; } +.bi-database::before { content: "\f8c4"; } +.bi-houses-fill::before { content: "\f8c5"; } +.bi-houses::before { content: "\f8c6"; } +.bi-nvidia::before { content: "\f8c7"; } +.bi-person-vcard-fill::before { content: "\f8c8"; } +.bi-person-vcard::before { content: "\f8c9"; } +.bi-sina-weibo::before { content: "\f8ca"; } +.bi-tencent-qq::before { content: "\f8cb"; } +.bi-wikipedia::before { content: "\f8cc"; } +.bi-alphabet-uppercase::before { content: "\f2a5"; } +.bi-alphabet::before { content: "\f68a"; } +.bi-amazon::before { content: "\f68d"; } +.bi-arrows-collapse-vertical::before { content: "\f690"; } +.bi-arrows-expand-vertical::before { content: "\f695"; } +.bi-arrows-vertical::before { content: "\f698"; } +.bi-arrows::before { content: "\f6a2"; } +.bi-ban-fill::before { content: "\f6a3"; } +.bi-ban::before { content: "\f6b6"; } +.bi-bing::before { content: "\f6c2"; } +.bi-cake::before { content: "\f6e0"; } +.bi-cake2::before { content: "\f6ed"; } +.bi-cookie::before { content: "\f6ee"; } +.bi-copy::before { content: "\f759"; } +.bi-crosshair::before { content: "\f769"; } +.bi-crosshair2::before { content: "\f794"; } +.bi-emoji-astonished-fill::before { content: "\f795"; } +.bi-emoji-astonished::before { content: "\f79a"; } +.bi-emoji-grimace-fill::before { content: "\f79b"; } +.bi-emoji-grimace::before { content: "\f7a0"; } +.bi-emoji-grin-fill::before { content: "\f7a1"; } +.bi-emoji-grin::before { content: "\f7a6"; } +.bi-emoji-surprise-fill::before { content: "\f7a7"; } +.bi-emoji-surprise::before { content: "\f7ac"; } +.bi-emoji-tear-fill::before { content: "\f7ad"; } +.bi-emoji-tear::before { content: "\f7b2"; } +.bi-envelope-arrow-down-fill::before { content: "\f7b3"; } +.bi-envelope-arrow-down::before { content: "\f7b8"; } +.bi-envelope-arrow-up-fill::before { content: "\f7b9"; } +.bi-envelope-arrow-up::before { content: "\f7be"; } +.bi-feather::before { content: "\f7bf"; } +.bi-feather2::before { content: "\f7c4"; } +.bi-floppy-fill::before { content: "\f7c5"; } +.bi-floppy::before { content: "\f7d8"; } +.bi-floppy2-fill::before { content: "\f7d9"; } +.bi-floppy2::before { content: "\f7e4"; } +.bi-gitlab::before { content: "\f7e5"; } +.bi-highlighter::before { content: "\f7f8"; } +.bi-marker-tip::before { content: "\f802"; } +.bi-nvme-fill::before { content: "\f803"; } +.bi-nvme::before { content: "\f80c"; } +.bi-opencollective::before { content: "\f80d"; } +.bi-pci-card-network::before { content: "\f8cd"; } +.bi-pci-card-sound::before { content: "\f8ce"; } +.bi-radar::before { content: "\f8cf"; } +.bi-send-arrow-down-fill::before { content: "\f8d0"; } +.bi-send-arrow-down::before { content: "\f8d1"; } +.bi-send-arrow-up-fill::before { content: "\f8d2"; } +.bi-send-arrow-up::before { content: "\f8d3"; } +.bi-sim-slash-fill::before { content: "\f8d4"; } +.bi-sim-slash::before { content: "\f8d5"; } +.bi-sourceforge::before { content: "\f8d6"; } +.bi-substack::before { content: "\f8d7"; } +.bi-threads-fill::before { content: "\f8d8"; } +.bi-threads::before { content: "\f8d9"; } +.bi-transparency::before { content: "\f8da"; } +.bi-twitter-x::before { content: "\f8db"; } +.bi-type-h4::before { content: "\f8dc"; } +.bi-type-h5::before { content: "\f8dd"; } +.bi-type-h6::before { content: "\f8de"; } +.bi-backpack-fill::before { content: "\f8df"; } +.bi-backpack::before { content: "\f8e0"; } +.bi-backpack2-fill::before { content: "\f8e1"; } +.bi-backpack2::before { content: "\f8e2"; } +.bi-backpack3-fill::before { content: "\f8e3"; } +.bi-backpack3::before { content: "\f8e4"; } +.bi-backpack4-fill::before { content: "\f8e5"; } +.bi-backpack4::before { content: "\f8e6"; } +.bi-brilliance::before { content: "\f8e7"; } +.bi-cake-fill::before { content: "\f8e8"; } +.bi-cake2-fill::before { content: "\f8e9"; } +.bi-duffle-fill::before { content: "\f8ea"; } +.bi-duffle::before { content: "\f8eb"; } +.bi-exposure::before { content: "\f8ec"; } +.bi-gender-neuter::before { content: "\f8ed"; } +.bi-highlights::before { content: "\f8ee"; } +.bi-luggage-fill::before { content: "\f8ef"; } +.bi-luggage::before { content: "\f8f0"; } +.bi-mailbox-flag::before { content: "\f8f1"; } +.bi-mailbox2-flag::before { content: "\f8f2"; } +.bi-noise-reduction::before { content: "\f8f3"; } +.bi-passport-fill::before { content: "\f8f4"; } +.bi-passport::before { content: "\f8f5"; } +.bi-person-arms-up::before { content: "\f8f6"; } +.bi-person-raised-hand::before { content: "\f8f7"; } +.bi-person-standing-dress::before { content: "\f8f8"; } +.bi-person-standing::before { content: "\f8f9"; } +.bi-person-walking::before { content: "\f8fa"; } +.bi-person-wheelchair::before { content: "\f8fb"; } +.bi-shadows::before { content: "\f8fc"; } +.bi-suitcase-fill::before { content: "\f8fd"; } +.bi-suitcase-lg-fill::before { content: "\f8fe"; } +.bi-suitcase-lg::before { content: "\f8ff"; } +.bi-suitcase::before { content: "\f900"; } +.bi-suitcase2-fill::before { content: "\f901"; } +.bi-suitcase2::before { content: "\f902"; } +.bi-vignette::before { content: "\f903"; } diff --git a/site_libs/bootstrap/bootstrap-icons.woff b/site_libs/bootstrap/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..dbeeb055674125ad78fda0f3d166b36e5cc92336 GIT binary patch literal 176200 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ʤYZdgDwJ|*z-FjUtnoZ-g*wsV(jP4X=(5B{6xS)N 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πR(XEyYV3az<GpzI{N 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�Sf9<Cdw(i`acF%Gy!xxbR|(FU0Fh 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 F?~0aZ)an2L literal 0 HcmV?d00001 diff --git a/site_libs/bootstrap/bootstrap.min.css b/site_libs/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..e4dd6d4 --- /dev/null +++ b/site_libs/bootstrap/bootstrap.min.css @@ -0,0 +1,12 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */@import"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;700&display=swap";:root,[data-bs-theme=light]{--bs-blue: #2780e3;--bs-indigo: #6610f2;--bs-purple: #613d7c;--bs-pink: #e83e8c;--bs-red: #ff0039;--bs-orange: #f0ad4e;--bs-yellow: #ff7518;--bs-green: #3fb618;--bs-teal: #20c997;--bs-cyan: #9954bb;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #343a40;--bs-primary: #2780e3;--bs-secondary: #343a40;--bs-success: #3fb618;--bs-info: #9954bb;--bs-warning: #ff7518;--bs-danger: #ff0039;--bs-light: #f8f9fa;--bs-dark: #343a40;--bs-default-rgb: 52, 58, 64;--bs-primary-rgb: 39, 128, 227;--bs-secondary-rgb: 52, 58, 64;--bs-success-rgb: 63, 182, 24;--bs-info-rgb: 153, 84, 187;--bs-warning-rgb: 255, 117, 24;--bs-danger-rgb: 255, 0, 57;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 52, 58, 64;--bs-primary-text-emphasis: #10335b;--bs-secondary-text-emphasis: #15171a;--bs-success-text-emphasis: #19490a;--bs-info-text-emphasis: #3d224b;--bs-warning-text-emphasis: #662f0a;--bs-danger-text-emphasis: #660017;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #d4e6f9;--bs-secondary-bg-subtle: #d6d8d9;--bs-success-bg-subtle: #d9f0d1;--bs-info-bg-subtle: #ebddf1;--bs-warning-bg-subtle: #ffe3d1;--bs-danger-bg-subtle: #ffccd7;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #a9ccf4;--bs-secondary-border-subtle: #aeb0b3;--bs-success-border-subtle: #b2e2a3;--bs-info-border-subtle: #d6bbe4;--bs-warning-border-subtle: #ffc8a3;--bs-danger-border-subtle: #ff99b0;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size: 17px;--bs-body-font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #343a40;--bs-body-color-rgb: 52, 58, 64;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(52, 58, 64, 0.75);--bs-secondary-color-rgb: 52, 58, 64;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(52, 58, 64, 0.5);--bs-tertiary-color-rgb: 52, 58, 64;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #2761e3;--bs-link-color-rgb: 39, 97, 227;--bs-link-decoration: underline;--bs-link-hover-color: #1f4eb6;--bs-link-hover-color-rgb: 31, 78, 182;--bs-code-color: #7d12ba;--bs-highlight-bg: #ffe3d1;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.25rem;--bs-border-radius-sm: 0.2em;--bs-border-radius-lg: 0.5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(39, 128, 227, 0.25);--bs-form-valid-color: #3fb618;--bs-form-valid-border-color: #3fb618;--bs-form-invalid-color: #ff0039;--bs-form-invalid-border-color: #ff0039}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #7db3ee;--bs-secondary-text-emphasis: #85898c;--bs-success-text-emphasis: #8cd374;--bs-info-text-emphasis: #c298d6;--bs-warning-text-emphasis: #ffac74;--bs-danger-text-emphasis: #ff6688;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #081a2d;--bs-secondary-bg-subtle: #0a0c0d;--bs-success-bg-subtle: #0d2405;--bs-info-bg-subtle: #1f1125;--bs-warning-bg-subtle: #331705;--bs-danger-bg-subtle: #33000b;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #174d88;--bs-secondary-border-subtle: #1f2326;--bs-success-border-subtle: #266d0e;--bs-info-border-subtle: #5c3270;--bs-warning-border-subtle: #99460e;--bs-danger-border-subtle: #990022;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #7db3ee;--bs-link-hover-color: #97c2f1;--bs-link-color-rgb: 125, 179, 238;--bs-link-hover-color-rgb: 151, 194, 241;--bs-code-color: white;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, 0.15);--bs-form-valid-color: #8cd374;--bs-form-valid-border-color: #8cd374;--bs-form-invalid-color: #ff6688;--bs-form-invalid-border-color: #ff6688}*,*::before,*::after{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h1,.h1{font-size:2rem}}h2,.h2{font-size:calc(1.29rem + 0.48vw)}@media(min-width: 1200px){h2,.h2{font-size:1.65rem}}h3,.h3{font-size:calc(1.27rem + 0.24vw)}@media(min-width: 1200px){h3,.h3{font-size:1.45rem}}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.1rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em;color:#000;background-color:#f8f9fa;padding:.5rem;border:1px solid var(--bs-border-color, #dee2e6)}pre code{background-color:rgba(0,0,0,0);font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);background-color:#f8f9fa;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.4rem .4rem;font-size:0.875em;color:#fff;background-color:#343a40}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:rgba(52,58,64,.75);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:rgba(52,58,64,.75)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media(min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media(min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media(min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media(min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media(min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: #343a40;--bs-table-bg: #fff;--bs-table-border-color: #dee2e6;--bs-table-accent-bg: transparent;--bs-table-striped-color: #343a40;--bs-table-striped-bg: rgba(0, 0, 0, 0.05);--bs-table-active-color: #343a40;--bs-table-active-bg: rgba(0, 0, 0, 0.1);--bs-table-hover-color: #343a40;--bs-table-hover-bg: rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(1px*2) solid #b2bac1}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #d4e6f9;--bs-table-border-color: #bfcfe0;--bs-table-striped-bg: #c9dbed;--bs-table-striped-color: #000;--bs-table-active-bg: #bfcfe0;--bs-table-active-color: #000;--bs-table-hover-bg: #c4d5e6;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #d6d8d9;--bs-table-border-color: #c1c2c3;--bs-table-striped-bg: #cbcdce;--bs-table-striped-color: #000;--bs-table-active-bg: #c1c2c3;--bs-table-active-color: #000;--bs-table-hover-bg: #c6c8c9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d9f0d1;--bs-table-border-color: #c3d8bc;--bs-table-striped-bg: #cee4c7;--bs-table-striped-color: #000;--bs-table-active-bg: #c3d8bc;--bs-table-active-color: #000;--bs-table-hover-bg: #c9dec1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #ebddf1;--bs-table-border-color: #d4c7d9;--bs-table-striped-bg: #dfd2e5;--bs-table-striped-color: #000;--bs-table-active-bg: #d4c7d9;--bs-table-active-color: #000;--bs-table-hover-bg: #d9ccdf;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #ffe3d1;--bs-table-border-color: #e6ccbc;--bs-table-striped-bg: #f2d8c7;--bs-table-striped-color: #000;--bs-table-active-bg: #e6ccbc;--bs-table-active-color: #000;--bs-table-hover-bg: #ecd2c1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #ffccd7;--bs-table-border-color: #e6b8c2;--bs-table-striped-bg: #f2c2cc;--bs-table-striped-color: #000;--bs-table-active-bg: #e6b8c2;--bs-table-active-color: #000;--bs-table-hover-bg: #ecbdc7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #343a40;--bs-table-border-color: #484e53;--bs-table-striped-bg: #3e444a;--bs-table-striped-color: #fff;--bs-table-active-bg: #484e53;--bs-table-active-color: #fff;--bs-table-hover-bg: #43494e;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:rgba(52,58,64,.75)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#343a40;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#fff;background-clip:padding-box;border:1px solid #dee2e6;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#343a40;background-color:#fff;border-color:#93c0f1;outline:0;box-shadow:0 0 0 .25rem rgba(39,128,227,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:rgba(52,58,64,.75);opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:#343a40;background-color:#f8f9fa;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#e9ecef}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#343a40;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(1px * 2));padding:.25rem .5rem;font-size:0.875rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2));padding:.5rem 1rem;font-size:1.25rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + calc(1px * 2))}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(1px * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2))}.form-control-color{width:3rem;height:calc(1.5em + 0.75rem + calc(1px * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important}.form-control-color::-webkit-color-swatch{border:0 !important}.form-control-color.form-control-sm{height:calc(1.5em + 0.5rem + calc(1px * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(1px * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#343a40;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#fff;background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #dee2e6;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#93c0f1;outline:0;box-shadow:0 0 0 .25rem rgba(39,128,227,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #343a40}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{--bs-form-check-bg: #fff;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid #dee2e6;print-color-adjust:exact}.form-check-input[type=radio],.shiny-input-container .checkbox input[type=radio],.shiny-input-container .checkbox-inline input[type=radio],.shiny-input-container .radio input[type=radio],.shiny-input-container .radio-inline input[type=radio]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#93c0f1;outline:0;box-shadow:0 0 0 .25rem rgba(39,128,227,.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#2780e3;border-color:#2780e3}.form-check-input:checked[type=checkbox],.shiny-input-container .checkbox input:checked[type=checkbox],.shiny-input-container .checkbox-inline input:checked[type=checkbox],.shiny-input-container .radio input:checked[type=checkbox],.shiny-input-container .radio-inline input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio],.shiny-input-container .checkbox input:checked[type=radio],.shiny-input-container .checkbox-inline input:checked[type=radio],.shiny-input-container .radio input:checked[type=radio],.shiny-input-container .radio-inline input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate,.shiny-input-container .checkbox input[type=checkbox]:indeterminate,.shiny-input-container .checkbox-inline input[type=checkbox]:indeterminate,.shiny-input-container .radio input[type=checkbox]:indeterminate,.shiny-input-container .radio-inline input[type=checkbox]:indeterminate{background-color:#2780e3;border-color:#2780e3;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2393c0f1'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:rgba(0,0,0,0)}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(39,128,227,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(39,128,227,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#2780e3;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bed9f7}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#f8f9fa;border-color:rgba(0,0,0,0)}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#2780e3;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#bed9f7}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#f8f9fa;border-color:rgba(0,0,0,0)}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:rgba(52,58,64,.75)}.form-range:disabled::-moz-range-thumb{background-color:rgba(52,58,64,.75)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(1px * 2));min-height:calc(3.5rem + calc(1px * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:#fff}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:#e9ecef}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#343a40;text-align:center;white-space:nowrap;background-color:#f8f9fa;border:1px solid #dee2e6}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(1px*-1)}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#3fb618}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:#3fb618}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#3fb618;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233fb618' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#3fb618;box-shadow:0 0 0 .25rem rgba(63,182,24,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#3fb618}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233fb618' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#3fb618;box-shadow:0 0 0 .25rem rgba(63,182,24,.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#3fb618}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#3fb618}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(63,182,24,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#3fb618}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#ff0039}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:#ff0039}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ff0039;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ff0039'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ff0039' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#ff0039;box-shadow:0 0 0 .25rem rgba(255,0,57,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#ff0039}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ff0039'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ff0039' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#ff0039;box-shadow:0 0 0 .25rem rgba(255,0,57,.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#ff0039}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#ff0039}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(255,0,57,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#ff0039}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 0.75rem;--bs-btn-padding-y: 0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #343a40;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: 0.25rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #fff;--bs-btn-bg: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #2c3136;--bs-btn-hover-border-color: #2a2e33;--bs-btn-focus-shadow-rgb: 82, 88, 93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2a2e33;--bs-btn-active-border-color: #272c30;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343a40;--bs-btn-disabled-border-color: #343a40}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #2780e3;--bs-btn-border-color: #2780e3;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #216dc1;--bs-btn-hover-border-color: #1f66b6;--bs-btn-focus-shadow-rgb: 71, 147, 231;--bs-btn-active-color: #fff;--bs-btn-active-bg: #1f66b6;--bs-btn-active-border-color: #1d60aa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #2780e3;--bs-btn-disabled-border-color: #2780e3}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #2c3136;--bs-btn-hover-border-color: #2a2e33;--bs-btn-focus-shadow-rgb: 82, 88, 93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2a2e33;--bs-btn-active-border-color: #272c30;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343a40;--bs-btn-disabled-border-color: #343a40}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #3fb618;--bs-btn-border-color: #3fb618;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #369b14;--bs-btn-hover-border-color: #329213;--bs-btn-focus-shadow-rgb: 92, 193, 59;--bs-btn-active-color: #fff;--bs-btn-active-bg: #329213;--bs-btn-active-border-color: #2f8912;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #3fb618;--bs-btn-disabled-border-color: #3fb618}.btn-info{--bs-btn-color: #fff;--bs-btn-bg: #9954bb;--bs-btn-border-color: #9954bb;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #82479f;--bs-btn-hover-border-color: #7a4396;--bs-btn-focus-shadow-rgb: 168, 110, 197;--bs-btn-active-color: #fff;--bs-btn-active-bg: #7a4396;--bs-btn-active-border-color: #733f8c;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #9954bb;--bs-btn-disabled-border-color: #9954bb}.btn-warning{--bs-btn-color: #fff;--bs-btn-bg: #ff7518;--bs-btn-border-color: #ff7518;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d96314;--bs-btn-hover-border-color: #cc5e13;--bs-btn-focus-shadow-rgb: 255, 138, 59;--bs-btn-active-color: #fff;--bs-btn-active-bg: #cc5e13;--bs-btn-active-border-color: #bf5812;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #ff7518;--bs-btn-disabled-border-color: #ff7518}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #ff0039;--bs-btn-border-color: #ff0039;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d90030;--bs-btn-hover-border-color: #cc002e;--bs-btn-focus-shadow-rgb: 255, 38, 87;--bs-btn-active-color: #fff;--bs-btn-active-bg: #cc002e;--bs-btn-active-border-color: #bf002b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #ff0039;--bs-btn-disabled-border-color: #ff0039}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #52585d;--bs-btn-hover-border-color: #484e53;--bs-btn-focus-shadow-rgb: 82, 88, 93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5d6166;--bs-btn-active-border-color: #484e53;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343a40;--bs-btn-disabled-border-color: #343a40}.btn-outline-default{--bs-btn-color: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343a40;--bs-btn-hover-border-color: #343a40;--bs-btn-focus-shadow-rgb: 52, 58, 64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343a40;--bs-btn-active-border-color: #343a40;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #343a40;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343a40;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #2780e3;--bs-btn-border-color: #2780e3;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #2780e3;--bs-btn-hover-border-color: #2780e3;--bs-btn-focus-shadow-rgb: 39, 128, 227;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2780e3;--bs-btn-active-border-color: #2780e3;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #2780e3;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2780e3;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343a40;--bs-btn-hover-border-color: #343a40;--bs-btn-focus-shadow-rgb: 52, 58, 64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343a40;--bs-btn-active-border-color: #343a40;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #343a40;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343a40;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #3fb618;--bs-btn-border-color: #3fb618;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #3fb618;--bs-btn-hover-border-color: #3fb618;--bs-btn-focus-shadow-rgb: 63, 182, 24;--bs-btn-active-color: #fff;--bs-btn-active-bg: #3fb618;--bs-btn-active-border-color: #3fb618;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #3fb618;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #3fb618;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #9954bb;--bs-btn-border-color: #9954bb;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #9954bb;--bs-btn-hover-border-color: #9954bb;--bs-btn-focus-shadow-rgb: 153, 84, 187;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9954bb;--bs-btn-active-border-color: #9954bb;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #9954bb;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #9954bb;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ff7518;--bs-btn-border-color: #ff7518;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #ff7518;--bs-btn-hover-border-color: #ff7518;--bs-btn-focus-shadow-rgb: 255, 117, 24;--bs-btn-active-color: #fff;--bs-btn-active-bg: #ff7518;--bs-btn-active-border-color: #ff7518;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ff7518;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ff7518;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #ff0039;--bs-btn-border-color: #ff0039;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #ff0039;--bs-btn-hover-border-color: #ff0039;--bs-btn-focus-shadow-rgb: 255, 0, 57;--bs-btn-active-color: #fff;--bs-btn-active-bg: #ff0039;--bs-btn-active-border-color: #ff0039;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ff0039;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ff0039;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343a40;--bs-btn-hover-border-color: #343a40;--bs-btn-focus-shadow-rgb: 52, 58, 64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343a40;--bs-btn-active-border-color: #343a40;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #343a40;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343a40;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: #2761e3;--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: #1f4eb6;--bs-btn-hover-border-color: transparent;--bs-btn-active-color: #1f4eb6;--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 71, 121, 231;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: 0.5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: 0.2em}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .2s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: 0.5rem;--bs-dropdown-spacer: 0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: #343a40;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: rgba(0, 0, 0, 0.175);--bs-dropdown-border-radius: 0.25rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(0.25rem - 1px);--bs-dropdown-divider-bg: rgba(0, 0, 0, 0.175);--bs-dropdown-divider-margin-y: 0.5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color: #343a40;--bs-dropdown-link-hover-color: #343a40;--bs-dropdown-link-hover-bg: #f8f9fa;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #2780e3;--bs-dropdown-link-disabled-color: rgba(52, 58, 64, 0.5);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: 0.25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: 0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:0.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: rgba(0, 0, 0, 0.175);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: rgba(0, 0, 0, 0.175);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #2780e3;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(1px*-1)}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(1px*-1)}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: #2761e3;--bs-nav-link-hover-color: #1f4eb6;--bs-nav-link-disabled-color: rgba(52, 58, 64, 0.75);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(39,128,227,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: 0.25rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #000;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid rgba(0,0,0,0)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width))}.nav-pills{--bs-nav-pills-border-radius: 0.25rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #2780e3}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: #000;gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid rgba(0,0,0,0)}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: 0.5rem;--bs-navbar-color: #fdfeff;--bs-navbar-hover-color: rgba(253, 253, 255, 0.8);--bs-navbar-disabled-color: rgba(253, 254, 255, 0.75);--bs-navbar-active-color: #fdfdff;--bs-navbar-brand-padding-y: 0.3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: #fdfeff;--bs-navbar-brand-hover-color: #fdfdff;--bs-navbar-nav-link-padding-x: 0.5rem;--bs-navbar-toggler-padding-y: 0.25;--bs-navbar-toggler-padding-x: 0;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fdfeff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(253, 254, 255, 0);--bs-navbar-toggler-border-radius: 0.25rem;--bs-navbar-toggler-focus-width: 0.25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:rgba(0,0,0,0);border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: #fdfeff;--bs-navbar-hover-color: rgba(253, 253, 255, 0.8);--bs-navbar-disabled-color: rgba(253, 254, 255, 0.75);--bs-navbar-active-color: #fdfdff;--bs-navbar-brand-color: #fdfeff;--bs-navbar-brand-hover-color: #fdfdff;--bs-navbar-toggler-border-color: rgba(253, 254, 255, 0);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fdfeff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fdfeff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: 1px;--bs-card-border-color: rgba(0, 0, 0, 0.175);--bs-card-border-radius: 0.25rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(0.25rem - 1px);--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(52, 58, 64, 0.25);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0.75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-0.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header-tabs{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-bottom:calc(-1*var(--bs-card-cap-padding-y));margin-left:calc(-0.5*var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-left:calc(-0.5*var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}}.accordion{--bs-accordion-color: #343a40;--bs-accordion-bg: #fff;--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;--bs-accordion-border-color: #dee2e6;--bs-accordion-border-width: 1px;--bs-accordion-border-radius: 0.25rem;--bs-accordion-inner-border-radius: calc(0.25rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #343a40;--bs-accordion-btn-bg: #fff;--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23343a40'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2310335b'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #93c0f1;--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(39, 128, 227, 0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: #10335b;--bs-accordion-active-bg: #d4e6f9}.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:not(:first-of-type){border-top:0}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%237db3ee'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%237db3ee'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: rgba(52, 58, 64, 0.75);--bs-breadcrumb-item-padding-x: 0.5rem;--bs-breadcrumb-item-active-color: rgba(52, 58, 64, 0.75);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, ">") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: 0.75rem;--bs-pagination-padding-y: 0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: #2761e3;--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: 0.25rem;--bs-pagination-hover-color: #1f4eb6;--bs-pagination-hover-bg: #f8f9fa;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: #1f4eb6;--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(39, 128, 227, 0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #2780e3;--bs-pagination-active-border-color: #2780e3;--bs-pagination-disabled-color: rgba(52, 58, 64, 0.75);--bs-pagination-disabled-bg: #e9ecef;--bs-pagination-disabled-border-color: #dee2e6;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(1px*-1)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: 0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: 0.5rem}.pagination-sm{--bs-pagination-padding-x: 0.5rem;--bs-pagination-padding-y: 0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius: 0.2em}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: 0.25rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 0 solid var(--bs-alert-border-color);--bs-alert-border-radius: 0.25rem;--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: var(--bs-default-text-emphasis);--bs-alert-bg: var(--bs-default-bg-subtle);--bs-alert-border-color: var(--bs-default-border-subtle);--bs-alert-link-color: var(--bs-default-text-emphasis)}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:.5rem}}.progress,.progress-stacked{--bs-progress-height: 0.5rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: 0.25rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #2780e3;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #343a40;--bs-list-group-bg: #fff;--bs-list-group-border-color: #dee2e6;--bs-list-group-border-width: 1px;--bs-list-group-border-radius: 0.25rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: rgba(52, 58, 64, 0.75);--bs-list-group-action-hover-color: #000;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #343a40;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: rgba(52, 58, 64, 0.75);--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #2780e3;--bs-list-group-active-border-color: #2780e3;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{--bs-list-group-color: var(--bs-default-text-emphasis);--bs-list-group-bg: var(--bs-default-bg-subtle);--bs-list-group-border-color: var(--bs-default-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-default-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-default-border-subtle);--bs-list-group-active-color: var(--bs-default-bg-subtle);--bs-list-group-active-bg: var(--bs-default-text-emphasis);--bs-list-group-active-border-color: var(--bs-default-text-emphasis)}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: 0.5;--bs-btn-close-hover-opacity: 0.75;--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(39, 128, 227, 0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: 0.25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:rgba(0,0,0,0) var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: 0.75rem;--bs-toast-padding-y: 0.5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255, 255, 255, 0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: rgba(0, 0, 0, 0.175);--bs-toast-border-radius: 0.25rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color: rgba(52, 58, 64, 0.75);--bs-toast-header-bg: rgba(255, 255, 255, 0.85);--bs-toast-header-border-color: rgba(0, 0, 0, 0.175);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color)}.toast-header .btn-close{margin-right:calc(-0.5*var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: 0.5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: rgba(0, 0, 0, 0.175);--bs-modal-border-width: 1px;--bs-modal-border-radius: 0.5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius: calc(0.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: #dee2e6;--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: 0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: #dee2e6;--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: 0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5);margin:calc(-0.5*var(--bs-modal-header-padding-y)) calc(-0.5*var(--bs-modal-header-padding-x)) calc(-0.5*var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media(min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media(min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: 0.5rem;--bs-tooltip-padding-y: 0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: 0.25rem;--bs-tooltip-opacity: 0.9;--bs-tooltip-arrow-width: 0.8rem;--bs-tooltip-arrow-height: 0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: rgba(0, 0, 0, 0.175);--bs-popover-border-radius: 0.5rem;--bs-popover-inner-border-radius: calc(0.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: #e9ecef;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #343a40;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-0.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-border-width: 0.25em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:rgba(0,0,0,0)}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: 0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: #343a40;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: rgba(0, 0, 0, 0.175);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-offcanvas-transition: transform 0.3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media(max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 575.98px)and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media(max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 767.98px)and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media(max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 991.98px)and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media(max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1199.98px)and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media(max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1399.98px)and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media(max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-0.5*var(--bs-offcanvas-padding-y));margin-right:calc(-0.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-0.5*var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#fff !important;background-color:RGBA(var(--bs-default-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#fff !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#fff !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-default{color:RGBA(var(--bs-default-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-default-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-default:hover,.link-default:focus{color:RGBA(42, 46, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(42, 46, 51, var(--bs-link-underline-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(31, 102, 182, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(31, 102, 182, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(42, 46, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(42, 46, 51, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(50, 146, 19, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(50, 146, 19, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(122, 67, 150, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(122, 67, 150, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(204, 94, 19, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(204, 94, 19, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(204, 0, 46, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(204, 0, 46, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(42, 46, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(42, 46, 51, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;-webkit-flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.focus-ring-default{--bs-focus-ring-color: rgba(var(--bs-default-rgb), var(--bs-focus-ring-opacity))}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:.25rem !important}.column-gap-2{column-gap:.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.325rem + 0.9vw) !important}.fs-2{font-size:calc(1.29rem + 0.48vw) !important}.fs-3{font-size:calc(1.27rem + 0.24vw) !important}.fs-4{font-size:1.25rem !important}.fs-5{font-size:1.1rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-default{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-default-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:.25rem !important}.column-gap-sm-2{column-gap:.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:.25rem !important}.column-gap-md-2{column-gap:.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:.25rem !important}.column-gap-lg-2{column-gap:.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:.25rem !important}.column-gap-xl-2{column-gap:.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:.25rem !important}.column-gap-xxl-2{column-gap:.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#fff}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#fff}.bg-warning{color:#fff}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media(min-width: 1200px){.fs-1{font-size:2rem !important}.fs-2{font-size:1.65rem !important}.fs-3{font-size:1.45rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bg-blue{--bslib-color-bg: #2780e3;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-blue{--bslib-color-fg: #2780e3;color:var(--bslib-color-fg)}.bg-indigo{--bslib-color-bg: #6610f2;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-indigo{--bslib-color-fg: #6610f2;color:var(--bslib-color-fg)}.bg-purple{--bslib-color-bg: #613d7c;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-purple{--bslib-color-fg: #613d7c;color:var(--bslib-color-fg)}.bg-pink{--bslib-color-bg: #e83e8c;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-pink{--bslib-color-fg: #e83e8c;color:var(--bslib-color-fg)}.bg-red{--bslib-color-bg: #ff0039;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-red{--bslib-color-fg: #ff0039;color:var(--bslib-color-fg)}.bg-orange{--bslib-color-bg: #f0ad4e;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-orange{--bslib-color-fg: #f0ad4e;color:var(--bslib-color-fg)}.bg-yellow{--bslib-color-bg: #ff7518;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-yellow{--bslib-color-fg: #ff7518;color:var(--bslib-color-fg)}.bg-green{--bslib-color-bg: #3fb618;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-green{--bslib-color-fg: #3fb618;color:var(--bslib-color-fg)}.bg-teal{--bslib-color-bg: #20c997;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-teal{--bslib-color-fg: #20c997;color:var(--bslib-color-fg)}.bg-cyan{--bslib-color-bg: #9954bb;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-cyan{--bslib-color-fg: #9954bb;color:var(--bslib-color-fg)}.text-default{--bslib-color-fg: #343a40}.bg-default{--bslib-color-bg: #343a40;--bslib-color-fg: #fff}.text-primary{--bslib-color-fg: #2780e3}.bg-primary{--bslib-color-bg: #2780e3;--bslib-color-fg: #fff}.text-secondary{--bslib-color-fg: #343a40}.bg-secondary{--bslib-color-bg: #343a40;--bslib-color-fg: #fff}.text-success{--bslib-color-fg: #3fb618}.bg-success{--bslib-color-bg: #3fb618;--bslib-color-fg: #fff}.text-info{--bslib-color-fg: #9954bb}.bg-info{--bslib-color-bg: #9954bb;--bslib-color-fg: #fff}.text-warning{--bslib-color-fg: #ff7518}.bg-warning{--bslib-color-bg: #ff7518;--bslib-color-fg: #fff}.text-danger{--bslib-color-fg: #ff0039}.bg-danger{--bslib-color-bg: #ff0039;--bslib-color-fg: #fff}.text-light{--bslib-color-fg: #f8f9fa}.bg-light{--bslib-color-bg: #f8f9fa;--bslib-color-fg: #000}.text-dark{--bslib-color-fg: #343a40}.bg-dark{--bslib-color-bg: #343a40;--bslib-color-fg: #fff}.bg-gradient-blue-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #4053e9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #4053e9;color:#fff}.bg-gradient-blue-purple{--bslib-color-fg: #fff;--bslib-color-bg: #3e65ba;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #3e65ba;color:#fff}.bg-gradient-blue-pink{--bslib-color-fg: #fff;--bslib-color-bg: #7466c0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #7466c0;color:#fff}.bg-gradient-blue-red{--bslib-color-fg: #fff;--bslib-color-bg: #7d4d9f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #7d4d9f;color:#fff}.bg-gradient-blue-orange{--bslib-color-fg: #fff;--bslib-color-bg: #7792a7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #7792a7;color:#fff}.bg-gradient-blue-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #7d7c92;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #7d7c92;color:#fff}.bg-gradient-blue-green{--bslib-color-fg: #fff;--bslib-color-bg: #319692;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #319692;color:#fff}.bg-gradient-blue-teal{--bslib-color-fg: #fff;--bslib-color-bg: #249dc5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #249dc5;color:#fff}.bg-gradient-blue-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #556ed3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #556ed3;color:#fff}.bg-gradient-indigo-blue{--bslib-color-fg: #fff;--bslib-color-bg: #4d3dec;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #4d3dec;color:#fff}.bg-gradient-indigo-purple{--bslib-color-fg: #fff;--bslib-color-bg: #6422c3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #6422c3;color:#fff}.bg-gradient-indigo-pink{--bslib-color-fg: #fff;--bslib-color-bg: #9a22c9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #9a22c9;color:#fff}.bg-gradient-indigo-red{--bslib-color-fg: #fff;--bslib-color-bg: #a30aa8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #a30aa8;color:#fff}.bg-gradient-indigo-orange{--bslib-color-fg: #fff;--bslib-color-bg: #9d4fb0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #9d4fb0;color:#fff}.bg-gradient-indigo-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #a3389b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #a3389b;color:#fff}.bg-gradient-indigo-green{--bslib-color-fg: #fff;--bslib-color-bg: #56529b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #56529b;color:#fff}.bg-gradient-indigo-teal{--bslib-color-fg: #fff;--bslib-color-bg: #4a5ace;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4a5ace;color:#fff}.bg-gradient-indigo-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #7a2bdc;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #7a2bdc;color:#fff}.bg-gradient-purple-blue{--bslib-color-fg: #fff;--bslib-color-bg: #4a58a5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #4a58a5;color:#fff}.bg-gradient-purple-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #632bab;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #632bab;color:#fff}.bg-gradient-purple-pink{--bslib-color-fg: #fff;--bslib-color-bg: #973d82;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #973d82;color:#fff}.bg-gradient-purple-red{--bslib-color-fg: #fff;--bslib-color-bg: #a02561;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #a02561;color:#fff}.bg-gradient-purple-orange{--bslib-color-fg: #fff;--bslib-color-bg: #9a6a6a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #9a6a6a;color:#fff}.bg-gradient-purple-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #a05354;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #a05354;color:#fff}.bg-gradient-purple-green{--bslib-color-fg: #fff;--bslib-color-bg: #536d54;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #536d54;color:#fff}.bg-gradient-purple-teal{--bslib-color-fg: #fff;--bslib-color-bg: #477587;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #477587;color:#fff}.bg-gradient-purple-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #774695;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #774695;color:#fff}.bg-gradient-pink-blue{--bslib-color-fg: #fff;--bslib-color-bg: #9b58af;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #9b58af;color:#fff}.bg-gradient-pink-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #b42cb5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #b42cb5;color:#fff}.bg-gradient-pink-purple{--bslib-color-fg: #fff;--bslib-color-bg: #b23e86;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #b23e86;color:#fff}.bg-gradient-pink-red{--bslib-color-fg: #fff;--bslib-color-bg: #f1256b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #f1256b;color:#fff}.bg-gradient-pink-orange{--bslib-color-fg: #fff;--bslib-color-bg: #eb6a73;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #eb6a73;color:#fff}.bg-gradient-pink-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #f1545e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #f1545e;color:#fff}.bg-gradient-pink-green{--bslib-color-fg: #fff;--bslib-color-bg: #a46e5e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #a46e5e;color:#fff}.bg-gradient-pink-teal{--bslib-color-fg: #fff;--bslib-color-bg: #987690;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #987690;color:#fff}.bg-gradient-pink-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #c8479f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #c8479f;color:#fff}.bg-gradient-red-blue{--bslib-color-fg: #fff;--bslib-color-bg: #a9337d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #a9337d;color:#fff}.bg-gradient-red-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #c20683;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c20683;color:#fff}.bg-gradient-red-purple{--bslib-color-fg: #fff;--bslib-color-bg: #c01854;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #c01854;color:#fff}.bg-gradient-red-pink{--bslib-color-fg: #fff;--bslib-color-bg: #f6195a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #f6195a;color:#fff}.bg-gradient-red-orange{--bslib-color-fg: #fff;--bslib-color-bg: #f94541;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #f94541;color:#fff}.bg-gradient-red-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #ff2f2c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #ff2f2c;color:#fff}.bg-gradient-red-green{--bslib-color-fg: #fff;--bslib-color-bg: #b2492c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #b2492c;color:#fff}.bg-gradient-red-teal{--bslib-color-fg: #fff;--bslib-color-bg: #a6505f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a6505f;color:#fff}.bg-gradient-red-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #d6226d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #d6226d;color:#fff}.bg-gradient-orange-blue{--bslib-color-fg: #fff;--bslib-color-bg: #a09b8a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #a09b8a;color:#fff}.bg-gradient-orange-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #b96e90;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #b96e90;color:#fff}.bg-gradient-orange-purple{--bslib-color-fg: #fff;--bslib-color-bg: #b78060;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #b78060;color:#fff}.bg-gradient-orange-pink{--bslib-color-fg: #fff;--bslib-color-bg: #ed8167;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #ed8167;color:#fff}.bg-gradient-orange-red{--bslib-color-fg: #fff;--bslib-color-bg: #f66846;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #f66846;color:#fff}.bg-gradient-orange-yellow{--bslib-color-fg: #000;--bslib-color-bg: #f69738;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #f69738;color:#000}.bg-gradient-orange-green{--bslib-color-fg: #000;--bslib-color-bg: #a9b138;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #a9b138;color:#000}.bg-gradient-orange-teal{--bslib-color-fg: #000;--bslib-color-bg: #9db86b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #9db86b;color:#000}.bg-gradient-orange-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #cd897a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #cd897a;color:#fff}.bg-gradient-yellow-blue{--bslib-color-fg: #fff;--bslib-color-bg: #a97969;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #a97969;color:#fff}.bg-gradient-yellow-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #c24d6f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c24d6f;color:#fff}.bg-gradient-yellow-purple{--bslib-color-fg: #fff;--bslib-color-bg: #c05f40;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #c05f40;color:#fff}.bg-gradient-yellow-pink{--bslib-color-fg: #fff;--bslib-color-bg: #f65f46;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #f65f46;color:#fff}.bg-gradient-yellow-red{--bslib-color-fg: #fff;--bslib-color-bg: #ff4625;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #ff4625;color:#fff}.bg-gradient-yellow-orange{--bslib-color-fg: #000;--bslib-color-bg: #f98b2e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #f98b2e;color:#000}.bg-gradient-yellow-green{--bslib-color-fg: #fff;--bslib-color-bg: #b28f18;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #b28f18;color:#fff}.bg-gradient-yellow-teal{--bslib-color-fg: #fff;--bslib-color-bg: #a6974b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a6974b;color:#fff}.bg-gradient-yellow-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #d66859;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #d66859;color:#fff}.bg-gradient-green-blue{--bslib-color-fg: #fff;--bslib-color-bg: #35a069;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #35a069;color:#fff}.bg-gradient-green-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #4f746f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #4f746f;color:#fff}.bg-gradient-green-purple{--bslib-color-fg: #fff;--bslib-color-bg: #4d8640;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #4d8640;color:#fff}.bg-gradient-green-pink{--bslib-color-fg: #fff;--bslib-color-bg: #838646;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #838646;color:#fff}.bg-gradient-green-red{--bslib-color-fg: #fff;--bslib-color-bg: #8c6d25;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #8c6d25;color:#fff}.bg-gradient-green-orange{--bslib-color-fg: #000;--bslib-color-bg: #86b22e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #86b22e;color:#000}.bg-gradient-green-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #8c9c18;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #8c9c18;color:#fff}.bg-gradient-green-teal{--bslib-color-fg: #000;--bslib-color-bg: #33be4b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #33be4b;color:#000}.bg-gradient-green-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #638f59;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #638f59;color:#fff}.bg-gradient-teal-blue{--bslib-color-fg: #fff;--bslib-color-bg: #23acb5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #23acb5;color:#fff}.bg-gradient-teal-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #3c7fbb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3c7fbb;color:#fff}.bg-gradient-teal-purple{--bslib-color-fg: #fff;--bslib-color-bg: #3a918c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #3a918c;color:#fff}.bg-gradient-teal-pink{--bslib-color-fg: #fff;--bslib-color-bg: #709193;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #709193;color:#fff}.bg-gradient-teal-red{--bslib-color-fg: #fff;--bslib-color-bg: #797971;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #797971;color:#fff}.bg-gradient-teal-orange{--bslib-color-fg: #000;--bslib-color-bg: #73be7a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #73be7a;color:#000}.bg-gradient-teal-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #79a764;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #79a764;color:#fff}.bg-gradient-teal-green{--bslib-color-fg: #000;--bslib-color-bg: #2cc164;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #2cc164;color:#000}.bg-gradient-teal-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #509aa5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #509aa5;color:#fff}.bg-gradient-cyan-blue{--bslib-color-fg: #fff;--bslib-color-bg: #6b66cb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #6b66cb;color:#fff}.bg-gradient-cyan-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #8539d1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #8539d1;color:#fff}.bg-gradient-cyan-purple{--bslib-color-fg: #fff;--bslib-color-bg: #834ba2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #834ba2;color:#fff}.bg-gradient-cyan-pink{--bslib-color-fg: #fff;--bslib-color-bg: #b94ba8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #b94ba8;color:#fff}.bg-gradient-cyan-red{--bslib-color-fg: #fff;--bslib-color-bg: #c23287;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #c23287;color:#fff}.bg-gradient-cyan-orange{--bslib-color-fg: #fff;--bslib-color-bg: #bc788f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #bc788f;color:#fff}.bg-gradient-cyan-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #c2617a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #c2617a;color:#fff}.bg-gradient-cyan-green{--bslib-color-fg: #fff;--bslib-color-bg: #757b7a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #757b7a;color:#fff}.bg-gradient-cyan-teal{--bslib-color-fg: #fff;--bslib-color-bg: #6983ad;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #6983ad;color:#fff}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.bg-blue{--bslib-color-bg: #2780e3;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-blue{--bslib-color-fg: #2780e3;color:var(--bslib-color-fg)}.bg-indigo{--bslib-color-bg: #6610f2;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-indigo{--bslib-color-fg: #6610f2;color:var(--bslib-color-fg)}.bg-purple{--bslib-color-bg: #613d7c;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-purple{--bslib-color-fg: #613d7c;color:var(--bslib-color-fg)}.bg-pink{--bslib-color-bg: #e83e8c;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-pink{--bslib-color-fg: #e83e8c;color:var(--bslib-color-fg)}.bg-red{--bslib-color-bg: #ff0039;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-red{--bslib-color-fg: #ff0039;color:var(--bslib-color-fg)}.bg-orange{--bslib-color-bg: #f0ad4e;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-orange{--bslib-color-fg: #f0ad4e;color:var(--bslib-color-fg)}.bg-yellow{--bslib-color-bg: #ff7518;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-yellow{--bslib-color-fg: #ff7518;color:var(--bslib-color-fg)}.bg-green{--bslib-color-bg: #3fb618;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-green{--bslib-color-fg: #3fb618;color:var(--bslib-color-fg)}.bg-teal{--bslib-color-bg: #20c997;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-teal{--bslib-color-fg: #20c997;color:var(--bslib-color-fg)}.bg-cyan{--bslib-color-bg: #9954bb;--bslib-color-fg: #fff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-cyan{--bslib-color-fg: #9954bb;color:var(--bslib-color-fg)}.text-default{--bslib-color-fg: #343a40}.bg-default{--bslib-color-bg: #343a40;--bslib-color-fg: #fff}.text-primary{--bslib-color-fg: #2780e3}.bg-primary{--bslib-color-bg: #2780e3;--bslib-color-fg: #fff}.text-secondary{--bslib-color-fg: #343a40}.bg-secondary{--bslib-color-bg: #343a40;--bslib-color-fg: #fff}.text-success{--bslib-color-fg: #3fb618}.bg-success{--bslib-color-bg: #3fb618;--bslib-color-fg: #fff}.text-info{--bslib-color-fg: #9954bb}.bg-info{--bslib-color-bg: #9954bb;--bslib-color-fg: #fff}.text-warning{--bslib-color-fg: #ff7518}.bg-warning{--bslib-color-bg: #ff7518;--bslib-color-fg: #fff}.text-danger{--bslib-color-fg: #ff0039}.bg-danger{--bslib-color-bg: #ff0039;--bslib-color-fg: #fff}.text-light{--bslib-color-fg: #f8f9fa}.bg-light{--bslib-color-bg: #f8f9fa;--bslib-color-fg: #000}.text-dark{--bslib-color-fg: #343a40}.bg-dark{--bslib-color-bg: #343a40;--bslib-color-fg: #fff}.bg-gradient-blue-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #4053e9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #4053e9;color:#fff}.bg-gradient-blue-purple{--bslib-color-fg: #fff;--bslib-color-bg: #3e65ba;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #3e65ba;color:#fff}.bg-gradient-blue-pink{--bslib-color-fg: #fff;--bslib-color-bg: #7466c0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #7466c0;color:#fff}.bg-gradient-blue-red{--bslib-color-fg: #fff;--bslib-color-bg: #7d4d9f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #7d4d9f;color:#fff}.bg-gradient-blue-orange{--bslib-color-fg: #fff;--bslib-color-bg: #7792a7;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #7792a7;color:#fff}.bg-gradient-blue-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #7d7c92;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #7d7c92;color:#fff}.bg-gradient-blue-green{--bslib-color-fg: #fff;--bslib-color-bg: #319692;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #319692;color:#fff}.bg-gradient-blue-teal{--bslib-color-fg: #fff;--bslib-color-bg: #249dc5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #249dc5;color:#fff}.bg-gradient-blue-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #556ed3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #2780e3 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #556ed3;color:#fff}.bg-gradient-indigo-blue{--bslib-color-fg: #fff;--bslib-color-bg: #4d3dec;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #4d3dec;color:#fff}.bg-gradient-indigo-purple{--bslib-color-fg: #fff;--bslib-color-bg: #6422c3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #6422c3;color:#fff}.bg-gradient-indigo-pink{--bslib-color-fg: #fff;--bslib-color-bg: #9a22c9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #9a22c9;color:#fff}.bg-gradient-indigo-red{--bslib-color-fg: #fff;--bslib-color-bg: #a30aa8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #a30aa8;color:#fff}.bg-gradient-indigo-orange{--bslib-color-fg: #fff;--bslib-color-bg: #9d4fb0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #9d4fb0;color:#fff}.bg-gradient-indigo-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #a3389b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #a3389b;color:#fff}.bg-gradient-indigo-green{--bslib-color-fg: #fff;--bslib-color-bg: #56529b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #56529b;color:#fff}.bg-gradient-indigo-teal{--bslib-color-fg: #fff;--bslib-color-bg: #4a5ace;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4a5ace;color:#fff}.bg-gradient-indigo-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #7a2bdc;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #7a2bdc;color:#fff}.bg-gradient-purple-blue{--bslib-color-fg: #fff;--bslib-color-bg: #4a58a5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #4a58a5;color:#fff}.bg-gradient-purple-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #632bab;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #632bab;color:#fff}.bg-gradient-purple-pink{--bslib-color-fg: #fff;--bslib-color-bg: #973d82;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #973d82;color:#fff}.bg-gradient-purple-red{--bslib-color-fg: #fff;--bslib-color-bg: #a02561;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #a02561;color:#fff}.bg-gradient-purple-orange{--bslib-color-fg: #fff;--bslib-color-bg: #9a6a6a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #9a6a6a;color:#fff}.bg-gradient-purple-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #a05354;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #a05354;color:#fff}.bg-gradient-purple-green{--bslib-color-fg: #fff;--bslib-color-bg: #536d54;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #536d54;color:#fff}.bg-gradient-purple-teal{--bslib-color-fg: #fff;--bslib-color-bg: #477587;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #477587;color:#fff}.bg-gradient-purple-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #774695;background:linear-gradient(var(--bg-gradient-deg, 140deg), #613d7c var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #774695;color:#fff}.bg-gradient-pink-blue{--bslib-color-fg: #fff;--bslib-color-bg: #9b58af;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #9b58af;color:#fff}.bg-gradient-pink-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #b42cb5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #b42cb5;color:#fff}.bg-gradient-pink-purple{--bslib-color-fg: #fff;--bslib-color-bg: #b23e86;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #b23e86;color:#fff}.bg-gradient-pink-red{--bslib-color-fg: #fff;--bslib-color-bg: #f1256b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #f1256b;color:#fff}.bg-gradient-pink-orange{--bslib-color-fg: #fff;--bslib-color-bg: #eb6a73;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #eb6a73;color:#fff}.bg-gradient-pink-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #f1545e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #f1545e;color:#fff}.bg-gradient-pink-green{--bslib-color-fg: #fff;--bslib-color-bg: #a46e5e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #a46e5e;color:#fff}.bg-gradient-pink-teal{--bslib-color-fg: #fff;--bslib-color-bg: #987690;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #987690;color:#fff}.bg-gradient-pink-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #c8479f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #e83e8c var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #c8479f;color:#fff}.bg-gradient-red-blue{--bslib-color-fg: #fff;--bslib-color-bg: #a9337d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #a9337d;color:#fff}.bg-gradient-red-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #c20683;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c20683;color:#fff}.bg-gradient-red-purple{--bslib-color-fg: #fff;--bslib-color-bg: #c01854;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #c01854;color:#fff}.bg-gradient-red-pink{--bslib-color-fg: #fff;--bslib-color-bg: #f6195a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #f6195a;color:#fff}.bg-gradient-red-orange{--bslib-color-fg: #fff;--bslib-color-bg: #f94541;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #f94541;color:#fff}.bg-gradient-red-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #ff2f2c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #ff2f2c;color:#fff}.bg-gradient-red-green{--bslib-color-fg: #fff;--bslib-color-bg: #b2492c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #b2492c;color:#fff}.bg-gradient-red-teal{--bslib-color-fg: #fff;--bslib-color-bg: #a6505f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a6505f;color:#fff}.bg-gradient-red-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #d6226d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff0039 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #d6226d;color:#fff}.bg-gradient-orange-blue{--bslib-color-fg: #fff;--bslib-color-bg: #a09b8a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #a09b8a;color:#fff}.bg-gradient-orange-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #b96e90;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #b96e90;color:#fff}.bg-gradient-orange-purple{--bslib-color-fg: #fff;--bslib-color-bg: #b78060;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #b78060;color:#fff}.bg-gradient-orange-pink{--bslib-color-fg: #fff;--bslib-color-bg: #ed8167;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #ed8167;color:#fff}.bg-gradient-orange-red{--bslib-color-fg: #fff;--bslib-color-bg: #f66846;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #f66846;color:#fff}.bg-gradient-orange-yellow{--bslib-color-fg: #000;--bslib-color-bg: #f69738;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #f69738;color:#000}.bg-gradient-orange-green{--bslib-color-fg: #000;--bslib-color-bg: #a9b138;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #a9b138;color:#000}.bg-gradient-orange-teal{--bslib-color-fg: #000;--bslib-color-bg: #9db86b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #9db86b;color:#000}.bg-gradient-orange-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #cd897a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #f0ad4e var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #cd897a;color:#fff}.bg-gradient-yellow-blue{--bslib-color-fg: #fff;--bslib-color-bg: #a97969;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #a97969;color:#fff}.bg-gradient-yellow-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #c24d6f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c24d6f;color:#fff}.bg-gradient-yellow-purple{--bslib-color-fg: #fff;--bslib-color-bg: #c05f40;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #c05f40;color:#fff}.bg-gradient-yellow-pink{--bslib-color-fg: #fff;--bslib-color-bg: #f65f46;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #f65f46;color:#fff}.bg-gradient-yellow-red{--bslib-color-fg: #fff;--bslib-color-bg: #ff4625;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #ff4625;color:#fff}.bg-gradient-yellow-orange{--bslib-color-fg: #000;--bslib-color-bg: #f98b2e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #f98b2e;color:#000}.bg-gradient-yellow-green{--bslib-color-fg: #fff;--bslib-color-bg: #b28f18;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #b28f18;color:#fff}.bg-gradient-yellow-teal{--bslib-color-fg: #fff;--bslib-color-bg: #a6974b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a6974b;color:#fff}.bg-gradient-yellow-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #d66859;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ff7518 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #d66859;color:#fff}.bg-gradient-green-blue{--bslib-color-fg: #fff;--bslib-color-bg: #35a069;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #35a069;color:#fff}.bg-gradient-green-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #4f746f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #4f746f;color:#fff}.bg-gradient-green-purple{--bslib-color-fg: #fff;--bslib-color-bg: #4d8640;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #4d8640;color:#fff}.bg-gradient-green-pink{--bslib-color-fg: #fff;--bslib-color-bg: #838646;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #838646;color:#fff}.bg-gradient-green-red{--bslib-color-fg: #fff;--bslib-color-bg: #8c6d25;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #8c6d25;color:#fff}.bg-gradient-green-orange{--bslib-color-fg: #000;--bslib-color-bg: #86b22e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #86b22e;color:#000}.bg-gradient-green-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #8c9c18;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #8c9c18;color:#fff}.bg-gradient-green-teal{--bslib-color-fg: #000;--bslib-color-bg: #33be4b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #33be4b;color:#000}.bg-gradient-green-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #638f59;background:linear-gradient(var(--bg-gradient-deg, 140deg), #3fb618 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #638f59;color:#fff}.bg-gradient-teal-blue{--bslib-color-fg: #fff;--bslib-color-bg: #23acb5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #23acb5;color:#fff}.bg-gradient-teal-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #3c7fbb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3c7fbb;color:#fff}.bg-gradient-teal-purple{--bslib-color-fg: #fff;--bslib-color-bg: #3a918c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #3a918c;color:#fff}.bg-gradient-teal-pink{--bslib-color-fg: #fff;--bslib-color-bg: #709193;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #709193;color:#fff}.bg-gradient-teal-red{--bslib-color-fg: #fff;--bslib-color-bg: #797971;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #797971;color:#fff}.bg-gradient-teal-orange{--bslib-color-fg: #000;--bslib-color-bg: #73be7a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #73be7a;color:#000}.bg-gradient-teal-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #79a764;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #79a764;color:#fff}.bg-gradient-teal-green{--bslib-color-fg: #000;--bslib-color-bg: #2cc164;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #2cc164;color:#000}.bg-gradient-teal-cyan{--bslib-color-fg: #fff;--bslib-color-bg: #509aa5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #9954bb var(--bg-gradient-end, 180%)) #509aa5;color:#fff}.bg-gradient-cyan-blue{--bslib-color-fg: #fff;--bslib-color-bg: #6b66cb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #2780e3 var(--bg-gradient-end, 180%)) #6b66cb;color:#fff}.bg-gradient-cyan-indigo{--bslib-color-fg: #fff;--bslib-color-bg: #8539d1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #8539d1;color:#fff}.bg-gradient-cyan-purple{--bslib-color-fg: #fff;--bslib-color-bg: #834ba2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #613d7c var(--bg-gradient-end, 180%)) #834ba2;color:#fff}.bg-gradient-cyan-pink{--bslib-color-fg: #fff;--bslib-color-bg: #b94ba8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #e83e8c var(--bg-gradient-end, 180%)) #b94ba8;color:#fff}.bg-gradient-cyan-red{--bslib-color-fg: #fff;--bslib-color-bg: #c23287;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #ff0039 var(--bg-gradient-end, 180%)) #c23287;color:#fff}.bg-gradient-cyan-orange{--bslib-color-fg: #fff;--bslib-color-bg: #bc788f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #f0ad4e var(--bg-gradient-end, 180%)) #bc788f;color:#fff}.bg-gradient-cyan-yellow{--bslib-color-fg: #fff;--bslib-color-bg: #c2617a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #ff7518 var(--bg-gradient-end, 180%)) #c2617a;color:#fff}.bg-gradient-cyan-green{--bslib-color-fg: #fff;--bslib-color-bg: #757b7a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #3fb618 var(--bg-gradient-end, 180%)) #757b7a;color:#fff}.bg-gradient-cyan-teal{--bslib-color-fg: #fff;--bslib-color-bg: #6983ad;background:linear-gradient(var(--bg-gradient-deg, 140deg), #9954bb var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #6983ad;color:#fff}.bslib-grid{display:grid !important;gap:var(--bslib-spacer, 1rem);height:var(--bslib-grid-height)}.bslib-grid.grid{grid-template-columns:repeat(var(--bs-columns, 12), minmax(0, 1fr));grid-template-rows:unset;grid-auto-rows:var(--bslib-grid--row-heights);--bslib-grid--row-heights--xs: unset;--bslib-grid--row-heights--sm: unset;--bslib-grid--row-heights--md: unset;--bslib-grid--row-heights--lg: unset;--bslib-grid--row-heights--xl: unset;--bslib-grid--row-heights--xxl: unset}.bslib-grid.grid.bslib-grid--row-heights--xs{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xs)}@media(min-width: 576px){.bslib-grid.grid.bslib-grid--row-heights--sm{--bslib-grid--row-heights: var(--bslib-grid--row-heights--sm)}}@media(min-width: 768px){.bslib-grid.grid.bslib-grid--row-heights--md{--bslib-grid--row-heights: var(--bslib-grid--row-heights--md)}}@media(min-width: 992px){.bslib-grid.grid.bslib-grid--row-heights--lg{--bslib-grid--row-heights: var(--bslib-grid--row-heights--lg)}}@media(min-width: 1200px){.bslib-grid.grid.bslib-grid--row-heights--xl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xl)}}@media(min-width: 1400px){.bslib-grid.grid.bslib-grid--row-heights--xxl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xxl)}}.bslib-grid>*>.shiny-input-container{width:100%}.bslib-grid-item{grid-column:auto/span 1}@media(max-width: 767.98px){.bslib-grid-item{grid-column:1/-1}}@media(max-width: 575.98px){.bslib-grid{grid-template-columns:1fr !important;height:var(--bslib-grid-height-mobile)}.bslib-grid.grid{height:unset !important;grid-auto-rows:var(--bslib-grid--row-heights--xs, auto)}}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-sm:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-md:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-lg:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xl:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active.html-fill-container){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container{padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child){padding:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]){border-left:none;border-right:none;border-bottom:none}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]){border-radius:0}.navbar+div>.bslib-sidebar-layout{border-top:var(--bslib-sidebar-border)}@media(min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}}.accordion .accordion-header{font-size:calc(1.29rem + 0.48vw);margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2;color:var(--bs-heading-color);margin-bottom:0}@media(min-width: 1200px){.accordion .accordion-header{font-size:1.65rem}}.accordion .accordion-icon:not(:empty){margin-right:.75rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.bslib-card{overflow:auto}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card[data-full-screen=true]>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border=true]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius=true]){border-top-left-radius:0;border-top-right-radius:0}[data-full-screen=true]{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:var(--bslib-full-screen-enter-bottom, 0.2rem);right:var(--bslib-full-screen-enter-right, 0);top:var(--bslib-full-screen-enter-top);left:var(--bslib-full-screen-enter-left);color:var(--bslib-color-fg, var(--bs-card-color));background-color:var(--bslib-color-bg, var(--bs-card-bg, var(--bs-body-bg)));border:var(--bs-card-border-width) solid var(--bslib-color-fg, var(--bs-card-border-color));box-shadow:0 2px 4px rgba(0,0,0,.15);margin:.2rem .4rem;padding:.55rem !important;font-size:.8rem;cursor:pointer;opacity:.7;z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card[data-full-screen=false]:hover>*>.bslib-full-screen-enter{display:block}.bslib-has-full-screen .card:hover>*>.bslib-full-screen-enter{display:none}@media(max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1069;animation:bslib-full-screen-overlay-enter 400ms cubic-bezier(0.6, 0.02, 0.65, 1) forwards}@keyframes bslib-full-screen-overlay-enter{0%{opacity:0}100%{opacity:1}}:root{--bslib-value-box-shadow: none;--bslib-value-box-border-width-auto-yes: var(--bslib-value-box-border-width-baseline);--bslib-value-box-border-width-auto-no: 0;--bslib-value-box-border-width-baseline: 1px}.bslib-value-box{border-width:var(--bslib-value-box-border-width-auto-no, var(--bslib-value-box-border-width-baseline));container-name:bslib-value-box;container-type:inline-size}.bslib-value-box.card{box-shadow:var(--bslib-value-box-shadow)}.bslib-value-box.border-auto{border-width:var(--bslib-value-box-border-width-auto-yes, var(--bslib-value-box-border-width-baseline))}.bslib-value-box.default{--bslib-value-box-bg-default: var(--bs-card-bg, #fff);--bslib-value-box-border-color-default: var(--bs-card-border-color, rgba(0, 0, 0, 0.175));color:var(--bslib-value-box-color);background-color:var(--bslib-value-box-bg, var(--bslib-value-box-bg-default));border-color:var(--bslib-value-box-border-color, var(--bslib-value-box-border-color-default))}.bslib-value-box .value-box-grid{display:grid;grid-template-areas:"left right";align-items:center;overflow:hidden}.bslib-value-box .value-box-showcase{height:100%;max-height:var(---bslib-value-box-showcase-max-h, 100%)}.bslib-value-box .value-box-showcase,.bslib-value-box .value-box-showcase>.html-fill-item{width:100%}.bslib-value-box[data-full-screen=true] .value-box-showcase{max-height:var(---bslib-value-box-showcase-max-h-fs, 100%)}@media screen and (min-width: 575.98px){@container bslib-value-box (max-width: 300px){.bslib-value-box:not(.showcase-bottom) .value-box-grid{grid-template-columns:1fr !important;grid-template-rows:auto auto;grid-template-areas:"top" "bottom"}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-showcase{grid-area:top !important}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-area{grid-area:bottom !important;justify-content:end}}}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{margin-bottom:0;margin-top:0}.bslib-value-box .value-box-title{font-size:1rem;margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2}.bslib-value-box .value-box-title:empty::after{content:" "}.bslib-value-box .value-box-value{font-size:calc(1.29rem + 0.48vw);margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2}@media(min-width: 1200px){.bslib-value-box .value-box-value{font-size:1.65rem}}.bslib-value-box .value-box-value:empty::after{content:" "}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{opacity:.85;min-width:50px;max-width:125%}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{font-size:4rem}.bslib-value-box.showcase-top-right .value-box-grid{grid-template-columns:1fr var(---bslib-value-box-showcase-w, 50%)}.bslib-value-box.showcase-top-right .value-box-grid .value-box-showcase{grid-area:right;margin-left:auto;align-self:start;align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box.showcase-top-right .value-box-grid .value-box-area{grid-area:left;align-self:end}.bslib-value-box.showcase-top-right[data-full-screen=true] .value-box-grid{grid-template-columns:auto var(---bslib-value-box-showcase-w-fs, 1fr)}.bslib-value-box.showcase-top-right[data-full-screen=true] .value-box-grid>div{align-self:center}.bslib-value-box.showcase-top-right:not([data-full-screen=true]) .value-box-showcase{margin-top:0}@container bslib-value-box (max-width: 300px){.bslib-value-box.showcase-top-right:not([data-full-screen=true]) .value-box-grid .value-box-showcase{padding-left:1rem}}.bslib-value-box.showcase-left-center .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w, 30%) auto}.bslib-value-box.showcase-left-center[data-full-screen=true] .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w-fs, 1fr) auto}.bslib-value-box.showcase-left-center:not([data-fill-screen=true]) .value-box-grid .value-box-showcase{grid-area:left}.bslib-value-box.showcase-left-center:not([data-fill-screen=true]) .value-box-grid .value-box-area{grid-area:right}.bslib-value-box.showcase-bottom .value-box-grid{grid-template-columns:1fr;grid-template-rows:1fr var(---bslib-value-box-showcase-h, auto);grid-template-areas:"top" "bottom";overflow:hidden}.bslib-value-box.showcase-bottom .value-box-grid .value-box-showcase{grid-area:bottom;padding:0;margin:0}.bslib-value-box.showcase-bottom .value-box-grid .value-box-area{grid-area:top}.bslib-value-box.showcase-bottom[data-full-screen=true] .value-box-grid{grid-template-rows:1fr var(---bslib-value-box-showcase-h-fs, 2fr)}.bslib-value-box.showcase-bottom[data-full-screen=true] .value-box-grid .value-box-showcase{padding:1rem}[data-bs-theme=dark] .bslib-value-box{--bslib-value-box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 50%)}html{height:100%}.bslib-page-fill{width:100%;height:100%;margin:0;padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}@media(max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}:root{--bslib-page-sidebar-title-bg: #2780e3;--bslib-page-sidebar-title-color: #fff}.bslib-page-title{background-color:var(--bslib-page-sidebar-title-bg);color:var(--bslib-page-sidebar-title-color);font-size:1.25rem;font-weight:300;padding:var(--bslib-spacer, 1rem);padding-left:1.5rem;margin-bottom:0;border-bottom:1px solid #dee2e6}.bslib-sidebar-layout{--bslib-sidebar-transition-duration: 500ms;--bslib-sidebar-transition-easing-x: cubic-bezier(0.8, 0.78, 0.22, 1.07);--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, rgba(0, 0, 0, 0.175));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, rgba(0, 0, 0, 0.175));--bslib-sidebar-bg: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05);--bslib-sidebar-fg: var(--bs-emphasis-color, black);--bslib-sidebar-main-fg: var(--bs-card-color, var(--bs-body-color));--bslib-sidebar-main-bg: var(--bs-card-bg, var(--bs-body-bg));--bslib-sidebar-toggle-bg: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.1);--bslib-sidebar-padding: calc(var(--bslib-spacer) * 1.5);--bslib-sidebar-icon-size: var(--bslib-spacer, 1rem);--bslib-sidebar-icon-button-size: calc(var(--bslib-sidebar-icon-size, 1rem) * 2);--bslib-sidebar-padding-icon: calc(var(--bslib-sidebar-icon-button-size, 2rem) * 1.5);--bslib-collapse-toggle-border-radius: var(--bs-border-radius, 0.25rem);--bslib-collapse-toggle-transform: 0deg;--bslib-sidebar-toggle-transition-easing: cubic-bezier(1, 0, 0, 1);--bslib-collapse-toggle-right-transform: 180deg;--bslib-sidebar-column-main: minmax(0, 1fr);display:grid !important;grid-template-columns:min(100% - var(--bslib-sidebar-icon-size),var(--bslib-sidebar-width, 250px)) var(--bslib-sidebar-column-main);position:relative;transition:grid-template-columns ease-in-out var(--bslib-sidebar-transition-duration);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media(prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border=false]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius=false]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1/2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2/3;border-top-left-radius:0;border-bottom-left-radius:0;padding:var(--bslib-sidebar-padding);transition:padding var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration);color:var(--bslib-sidebar-main-fg);background-color:var(--bslib-sidebar-main-bg)}.bslib-sidebar-layout>.sidebar{grid-column:1/2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;color:var(--bslib-sidebar-fg);background-color:var(--bslib-sidebar-bg);backdrop-filter:blur(5px)}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;gap:var(--bslib-spacer, 1rem);padding:var(--bslib-sidebar-padding);padding-top:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:calc(-1*var(--bslib-sidebar-padding));margin-right:calc(-1*var(--bslib-sidebar-padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:calc(-1*var(--bslib-sidebar-padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content.has-accordion>.sidebar-title{border-bottom:none;padding-bottom:0}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout[data-bslib-sidebar-open=always]>.sidebar>.sidebar-content{padding-top:var(--bslib-sidebar-padding)}.bslib-sidebar-layout>.collapse-toggle{grid-row:1/2;grid-column:1/2;display:inline-flex;align-items:center;position:absolute;right:calc(var(--bslib-sidebar-icon-size));top:calc(var(--bslib-sidebar-icon-size, 1rem)/2);border:none;border-radius:var(--bslib-collapse-toggle-border-radius);height:var(--bslib-sidebar-icon-button-size, 2rem);width:var(--bslib-sidebar-icon-button-size, 2rem);display:flex;align-items:center;justify-content:center;padding:0;color:var(--bslib-sidebar-fg);background-color:unset;transition:color var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),top var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),right var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),left var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover{background-color:var(--bslib-sidebar-toggle-bg)}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:.8;width:var(--bslib-sidebar-icon-size);height:var(--bslib-sidebar-icon-size);transform:rotateY(var(--bslib-collapse-toggle-transform));transition:transform var(--bslib-sidebar-toggle-transition-easing) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:var(--bslib-sidebar-column-main) min(100% - var(--bslib-sidebar-icon-size),var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1/2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2/3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2/3;left:var(--bslib-sidebar-icon-size);right:unset;border:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotateY(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: 180deg;--bslib-collapse-toggle-right-transform: 0deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed:not(.sidebar-right)>.main{padding-left:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.main{padding-right:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{color:var(--bslib-sidebar-main-fg);top:calc(var(--bslib-sidebar-overlap-counter, 0)*(var(--bslib-sidebar-icon-size) + var(--bslib-sidebar-padding)) + var(--bslib-sidebar-icon-size, 1rem)/2);right:calc(-2.5*var(--bslib-sidebar-icon-size) - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-2.5*var(--bslib-sidebar-icon-size) - var(--bs-card-border-width, 1px));right:unset}@media(min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media(max-width: 575.98px){.bslib-sidebar-layout[data-bslib-sidebar-open=desktop]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{border:none}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-column:1/3}.bslib-sidebar-layout[data-bslib-sidebar-open=always]{display:block !important}.bslib-sidebar-layout[data-bslib-sidebar-open=always]>.sidebar{max-height:var(--bslib-sidebar-max-height-mobile);overflow-y:auto;border-top:var(--bslib-sidebar-vert-border)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]){grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-collapsed)>.sidebar{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-collapsed)>.collapse-toggle{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-right{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed.sidebar-right{grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-right)>.main{padding-left:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-right>.main{padding-right:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always])>.main{opacity:0;transition:opacity var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed>.main{opacity:1}}.html-fill-container{display:flex;flex-direction:column;min-height:0;min-width:0}.html-fill-container>.html-fill-item{flex:1 1 auto;min-height:0;min-width:0}.html-fill-container>:not(.html-fill-item){flex:0 0 auto}.quarto-container{min-height:calc(100vh - 132px)}body.hypothesis-enabled #quarto-header{margin-right:16px}footer.footer .nav-footer,#quarto-header>nav{padding-left:1em;padding-right:1em}footer.footer div.nav-footer p:first-child{margin-top:0}footer.footer div.nav-footer p:last-child{margin-bottom:0}#quarto-content>*{padding-top:14px}#quarto-content>#quarto-sidebar-glass{padding-top:0px}@media(max-width: 991.98px){#quarto-content>*{padding-top:0}#quarto-content .subtitle{padding-top:14px}#quarto-content section:first-of-type h2:first-of-type,#quarto-content section:first-of-type .h2:first-of-type{margin-top:1rem}}.headroom-target,header.headroom{will-change:transform;transition:position 200ms linear;transition:all 200ms linear}header.headroom--pinned{transform:translateY(0%)}header.headroom--unpinned{transform:translateY(-100%)}.navbar-container{width:100%}.navbar-brand{overflow:hidden;text-overflow:ellipsis}.navbar-brand-container{max-width:calc(100% - 115px);min-width:0;display:flex;align-items:center}@media(min-width: 992px){.navbar-brand-container{margin-right:1em}}.navbar-brand.navbar-brand-logo{margin-right:4px;display:inline-flex}.navbar-toggler{flex-basis:content;flex-shrink:0}.navbar .navbar-brand-container{order:2}.navbar .navbar-toggler{order:1}.navbar .navbar-container>.navbar-nav{order:20}.navbar .navbar-container>.navbar-brand-container{margin-left:0 !important;margin-right:0 !important}.navbar .navbar-collapse{order:20}.navbar #quarto-search{order:4;margin-left:auto}.navbar .navbar-toggler{margin-right:.5em}.navbar-logo{max-height:24px;width:auto;padding-right:4px}nav .nav-item:not(.compact){padding-top:1px}nav .nav-link i,nav .dropdown-item i{padding-right:1px}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.6rem;padding-right:.6rem}nav .nav-item.compact .nav-link{padding-left:.5rem;padding-right:.5rem;font-size:1.1rem}.navbar .quarto-navbar-tools{order:3}.navbar .quarto-navbar-tools div.dropdown{display:inline-block}.navbar .quarto-navbar-tools .quarto-navigation-tool{color:#fdfeff}.navbar .quarto-navbar-tools .quarto-navigation-tool:hover{color:#fdfdff}.navbar-nav .dropdown-menu{min-width:220px;font-size:.9rem}.navbar .navbar-nav .nav-link.dropdown-toggle::after{opacity:.75;vertical-align:.175em}.navbar ul.dropdown-menu{padding-top:0;padding-bottom:0}.navbar .dropdown-header{text-transform:uppercase;font-size:.8rem;padding:0 .5rem}.navbar .dropdown-item{padding:.4rem .5rem}.navbar .dropdown-item>i.bi{margin-left:.1rem;margin-right:.25em}.sidebar #quarto-search{margin-top:-1px}.sidebar #quarto-search svg.aa-SubmitIcon{width:16px;height:16px}.sidebar-navigation a{color:inherit}.sidebar-title{margin-top:.25rem;padding-bottom:.5rem;font-size:1.3rem;line-height:1.6rem;visibility:visible}.sidebar-title>a{font-size:inherit;text-decoration:none}.sidebar-title .sidebar-tools-main{margin-top:-6px}@media(max-width: 991.98px){#quarto-sidebar div.sidebar-header{padding-top:.2em}}.sidebar-header-stacked .sidebar-title{margin-top:.6rem}.sidebar-logo{max-width:90%;padding-bottom:.5rem}.sidebar-logo-link{text-decoration:none}.sidebar-navigation li a{text-decoration:none}.sidebar-navigation .quarto-navigation-tool{opacity:.7;font-size:.875rem}#quarto-sidebar>nav>.sidebar-tools-main{margin-left:14px}.sidebar-tools-main{display:inline-flex;margin-left:0px;order:2}.sidebar-tools-main:not(.tools-wide){vertical-align:middle}.sidebar-navigation .quarto-navigation-tool.dropdown-toggle::after{display:none}.sidebar.sidebar-navigation>*{padding-top:1em}.sidebar-item{margin-bottom:.2em;line-height:1rem;margin-top:.4rem}.sidebar-section{padding-left:.5em;padding-bottom:.2em}.sidebar-item .sidebar-item-container{display:flex;justify-content:space-between;cursor:pointer}.sidebar-item-toggle:hover{cursor:pointer}.sidebar-item .sidebar-item-toggle .bi{font-size:.7rem;text-align:center}.sidebar-item .sidebar-item-toggle .bi-chevron-right::before{transition:transform 200ms ease}.sidebar-item .sidebar-item-toggle[aria-expanded=false] .bi-chevron-right::before{transform:none}.sidebar-item .sidebar-item-toggle[aria-expanded=true] .bi-chevron-right::before{transform:rotate(90deg)}.sidebar-item-text{width:100%}.sidebar-navigation .sidebar-divider{margin-left:0;margin-right:0;margin-top:.5rem;margin-bottom:.5rem}@media(max-width: 991.98px){.quarto-secondary-nav{display:block}.quarto-secondary-nav button.quarto-search-button{padding-right:0em;padding-left:2em}.quarto-secondary-nav button.quarto-btn-toggle{margin-left:-0.75rem;margin-right:.15rem}.quarto-secondary-nav nav.quarto-title-breadcrumbs{display:none}.quarto-secondary-nav nav.quarto-page-breadcrumbs{display:flex;align-items:center;padding-right:1em;margin-left:-0.25em}.quarto-secondary-nav nav.quarto-page-breadcrumbs a{text-decoration:none}.quarto-secondary-nav nav.quarto-page-breadcrumbs ol.breadcrumb{margin-bottom:0}}@media(min-width: 992px){.quarto-secondary-nav{display:none}}.quarto-title-breadcrumbs .breadcrumb{margin-bottom:.5em;font-size:.9rem}.quarto-title-breadcrumbs .breadcrumb li:last-of-type a{color:#6c757d}.quarto-secondary-nav .quarto-btn-toggle{color:#595959}.quarto-secondary-nav[aria-expanded=false] .quarto-btn-toggle .bi-chevron-right::before{transform:none}.quarto-secondary-nav[aria-expanded=true] .quarto-btn-toggle .bi-chevron-right::before{transform:rotate(90deg)}.quarto-secondary-nav .quarto-btn-toggle .bi-chevron-right::before{transition:transform 200ms ease}.quarto-secondary-nav{cursor:pointer}.no-decor{text-decoration:none}.quarto-secondary-nav-title{margin-top:.3em;color:#595959;padding-top:4px}.quarto-secondary-nav nav.quarto-page-breadcrumbs{color:#595959}.quarto-secondary-nav nav.quarto-page-breadcrumbs a{color:#595959}.quarto-secondary-nav nav.quarto-page-breadcrumbs a:hover{color:rgba(33,81,191,.8)}.quarto-secondary-nav nav.quarto-page-breadcrumbs .breadcrumb-item::before{color:#8c8c8c}.breadcrumb-item{line-height:1.2rem}div.sidebar-item-container{color:#595959}div.sidebar-item-container:hover,div.sidebar-item-container:focus{color:rgba(33,81,191,.8)}div.sidebar-item-container.disabled{color:rgba(89,89,89,.75)}div.sidebar-item-container .active,div.sidebar-item-container .show>.nav-link,div.sidebar-item-container .sidebar-link>code{color:#2151bf}div.sidebar.sidebar-navigation.rollup.quarto-sidebar-toggle-contents,nav.sidebar.sidebar-navigation:not(.rollup){background-color:#fff}@media(max-width: 991.98px){.sidebar-navigation .sidebar-item a,.nav-page .nav-page-text,.sidebar-navigation{font-size:1rem}.sidebar-navigation ul.sidebar-section.depth1 .sidebar-section-item{font-size:1.1rem}.sidebar-logo{display:none}.sidebar.sidebar-navigation{position:static;border-bottom:1px solid #dee2e6}.sidebar.sidebar-navigation.collapsing{position:fixed;z-index:1000}.sidebar.sidebar-navigation.show{position:fixed;z-index:1000}.sidebar.sidebar-navigation{min-height:100%}nav.quarto-secondary-nav{background-color:#fff;border-bottom:1px solid #dee2e6}.quarto-banner nav.quarto-secondary-nav{background-color:#2780e3;color:#fdfeff;border-top:1px solid #dee2e6}.sidebar .sidebar-footer{visibility:visible;padding-top:1rem;position:inherit}.sidebar-tools-collapse{display:block}}#quarto-sidebar{transition:width .15s ease-in}#quarto-sidebar>*{padding-right:1em}@media(max-width: 991.98px){#quarto-sidebar .sidebar-menu-container{white-space:nowrap;min-width:225px}#quarto-sidebar.show{transition:width .15s ease-out}}@media(min-width: 992px){#quarto-sidebar{display:flex;flex-direction:column}.nav-page .nav-page-text,.sidebar-navigation .sidebar-section .sidebar-item{font-size:.875rem}.sidebar-navigation .sidebar-item{font-size:.925rem}.sidebar.sidebar-navigation{display:block;position:sticky}.sidebar-search{width:100%}.sidebar .sidebar-footer{visibility:visible}}@media(max-width: 991.98px){#quarto-sidebar-glass{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(255,255,255,0);transition:background-color .15s ease-in;z-index:-1}#quarto-sidebar-glass.collapsing{z-index:1000}#quarto-sidebar-glass.show{transition:background-color .15s ease-out;background-color:rgba(102,102,102,.4);z-index:1000}}.sidebar .sidebar-footer{padding:.5rem 1rem;align-self:flex-end;color:#6c757d;width:100%}.quarto-page-breadcrumbs .breadcrumb-item+.breadcrumb-item,.quarto-page-breadcrumbs .breadcrumb-item{padding-right:.33em;padding-left:0}.quarto-page-breadcrumbs .breadcrumb-item::before{padding-right:.33em}.quarto-sidebar-footer{font-size:.875em}.sidebar-section .bi-chevron-right{vertical-align:middle}.sidebar-section .bi-chevron-right::before{font-size:.9em}.notransition{-webkit-transition:none !important;-moz-transition:none !important;-o-transition:none !important;transition:none !important}.btn:focus:not(:focus-visible){box-shadow:none}.page-navigation{display:flex;justify-content:space-between}.nav-page{padding-bottom:.75em}.nav-page .bi{font-size:1.8rem;vertical-align:middle}.nav-page .nav-page-text{padding-left:.25em;padding-right:.25em}.nav-page a{color:#6c757d;text-decoration:none;display:flex;align-items:center}.nav-page a:hover{color:#1f4eb6}.nav-footer .toc-actions{padding-bottom:.5em;padding-top:.5em}.nav-footer .toc-actions a,.nav-footer .toc-actions a:hover{text-decoration:none}.nav-footer .toc-actions ul{display:flex;list-style:none}.nav-footer .toc-actions ul :first-child{margin-left:auto}.nav-footer .toc-actions ul :last-child{margin-right:auto}.nav-footer .toc-actions ul li{padding-right:1.5em}.nav-footer .toc-actions ul li i.bi{padding-right:.4em}.nav-footer .toc-actions ul li:last-of-type{padding-right:0}.nav-footer{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:baseline;text-align:center;padding-top:.5rem;padding-bottom:.5rem;background-color:#fff}body.nav-fixed{padding-top:64px}.nav-footer-contents{color:#6c757d;margin-top:.25rem}.nav-footer{min-height:3.5em;color:#757575}.nav-footer a{color:#757575}.nav-footer .nav-footer-left{font-size:.825em}.nav-footer .nav-footer-center{font-size:.825em}.nav-footer .nav-footer-right{font-size:.825em}.nav-footer-left .footer-items,.nav-footer-center .footer-items,.nav-footer-right .footer-items{display:inline-flex;padding-top:.3em;padding-bottom:.3em;margin-bottom:0em}.nav-footer-left .footer-items .nav-link,.nav-footer-center .footer-items .nav-link,.nav-footer-right .footer-items .nav-link{padding-left:.6em;padding-right:.6em}.nav-footer-left{flex:1 1 0px;text-align:left}.nav-footer-right{flex:1 1 0px;text-align:right}.nav-footer-center{flex:1 1 0px;min-height:3em;text-align:center}.nav-footer-center .footer-items{justify-content:center}@media(max-width: 767.98px){.nav-footer-center{margin-top:3em}}.navbar .quarto-reader-toggle.reader .quarto-reader-toggle-btn{background-color:#fdfeff;border-radius:3px}@media(max-width: 991.98px){.quarto-reader-toggle{display:none}}.quarto-reader-toggle.reader.quarto-navigation-tool .quarto-reader-toggle-btn{background-color:#595959;border-radius:3px}.quarto-reader-toggle .quarto-reader-toggle-btn{display:inline-flex;padding-left:.2em;padding-right:.2em;margin-left:-0.2em;margin-right:-0.2em;text-align:center}.navbar .quarto-reader-toggle:not(.reader) .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(253, 254, 255, 1)" class="bi bi-body-text" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M0 .5A.5.5 0 0 1 .5 0h4a.5.5 0 0 1 0 1h-4A.5.5 0 0 1 0 .5Zm0 2A.5.5 0 0 1 .5 2h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm9 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-9 2A.5.5 0 0 1 .5 4h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm5 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm-12 2A.5.5 0 0 1 .5 6h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm8 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-8 2A.5.5 0 0 1 .5 8h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm-7 2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z"/></svg>')}.navbar .quarto-reader-toggle.reader .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(39, 128, 227, 1)" class="bi bi-body-text" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M0 .5A.5.5 0 0 1 .5 0h4a.5.5 0 0 1 0 1h-4A.5.5 0 0 1 0 .5Zm0 2A.5.5 0 0 1 .5 2h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm9 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-9 2A.5.5 0 0 1 .5 4h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm5 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm-12 2A.5.5 0 0 1 .5 6h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm8 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-8 2A.5.5 0 0 1 .5 8h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm-7 2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z"/></svg>')}.sidebar-navigation .quarto-reader-toggle:not(.reader) .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(89, 89, 89, 1)" class="bi bi-body-text" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M0 .5A.5.5 0 0 1 .5 0h4a.5.5 0 0 1 0 1h-4A.5.5 0 0 1 0 .5Zm0 2A.5.5 0 0 1 .5 2h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm9 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-9 2A.5.5 0 0 1 .5 4h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm5 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm-12 2A.5.5 0 0 1 .5 6h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm8 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-8 2A.5.5 0 0 1 .5 8h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm-7 2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z"/></svg>')}.sidebar-navigation .quarto-reader-toggle.reader .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(255, 255, 255, 1)" class="bi bi-body-text" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M0 .5A.5.5 0 0 1 .5 0h4a.5.5 0 0 1 0 1h-4A.5.5 0 0 1 0 .5Zm0 2A.5.5 0 0 1 .5 2h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm9 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-9 2A.5.5 0 0 1 .5 4h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm5 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm-12 2A.5.5 0 0 1 .5 6h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm8 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-8 2A.5.5 0 0 1 .5 8h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm-7 2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z"/></svg>')}#quarto-back-to-top{display:none;position:fixed;bottom:50px;background-color:#fff;border-radius:.25rem;box-shadow:0 .2rem .5rem #6c757d,0 0 .05rem #6c757d;color:#6c757d;text-decoration:none;font-size:.9em;text-align:center;left:50%;padding:.4rem .8rem;transform:translate(-50%, 0)}.aa-DetachedSearchButtonQuery{display:none}.aa-DetachedOverlay ul.aa-List,#quarto-search-results ul.aa-List{list-style:none;padding-left:0}.aa-DetachedOverlay .aa-Panel,#quarto-search-results .aa-Panel{background-color:#fff;position:absolute;z-index:2000}#quarto-search-results .aa-Panel{max-width:400px}#quarto-search input{font-size:.925rem}@media(min-width: 992px){.navbar #quarto-search{margin-left:.25rem;order:999}}.navbar.navbar-expand-sm #quarto-search,.navbar.navbar-expand-md #quarto-search{order:999}@media(min-width: 992px){.navbar .quarto-navbar-tools{order:900}}@media(min-width: 992px){.navbar .quarto-navbar-tools.tools-end{margin-left:auto !important}}@media(max-width: 991.98px){#quarto-sidebar .sidebar-search{display:none}}#quarto-sidebar .sidebar-search .aa-Autocomplete{width:100%}.navbar .aa-Autocomplete .aa-Form{width:180px}.navbar #quarto-search.type-overlay .aa-Autocomplete{width:40px}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form{background-color:inherit;border:none}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form:focus-within{box-shadow:none;outline:none}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-InputWrapper{display:none}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-InputWrapper:focus-within{display:inherit}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-Label svg,.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-LoadingIndicator svg{width:26px;height:26px;color:#fdfeff;opacity:1}.navbar #quarto-search.type-overlay .aa-Autocomplete svg.aa-SubmitIcon{width:26px;height:26px;color:#fdfeff;opacity:1}.aa-Autocomplete .aa-Form,.aa-DetachedFormContainer .aa-Form{align-items:center;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;color:#343a40;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Autocomplete .aa-Form:focus-within,.aa-DetachedFormContainer .aa-Form:focus-within{box-shadow:rgba(39,128,227,.6) 0 0 0 1px;outline:currentColor none medium}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;order:1}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-Label,.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-Label,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator{cursor:initial;flex-shrink:0;padding:0;text-align:left}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-Label svg,.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator svg,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-Label svg,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator svg{color:#343a40;opacity:.5}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-SubmitButton,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-SubmitButton{appearance:none;background:none;border:0;margin:0}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator[hidden],.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator[hidden]{display:none}.aa-Autocomplete .aa-Form .aa-InputWrapper,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper{order:3;position:relative;width:100%}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input{appearance:none;background:none;border:0;color:#343a40;font:inherit;height:calc(1.5em + .1rem + 2px);padding:0;width:100%}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::placeholder,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::placeholder{color:#343a40;opacity:.8}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input:focus,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input:focus{border-color:none;box-shadow:none;outline:none}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-decoration,.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-cancel-button,.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-button,.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-decoration,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-decoration,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-cancel-button,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-button,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-decoration{display:none}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix{align-items:center;display:flex;order:4}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton{align-items:center;background:none;border:0;color:#343a40;opacity:.8;cursor:pointer;display:flex;margin:0;width:calc(1.5em + .1rem + 2px)}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:hover,.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:focus,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:hover,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:focus{color:#343a40;opacity:.8}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton[hidden],.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton[hidden]{display:none}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton svg,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton svg{width:calc(1.5em + 0.75rem + calc(1px * 2))}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton{border:none;align-items:center;background:none;color:#343a40;opacity:.4;font-size:.7rem;cursor:pointer;display:none;margin:0;width:calc(1em + .1rem + 2px)}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:hover,.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:focus,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:hover,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:focus{color:#343a40;opacity:.8}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton[hidden],.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton[hidden]{display:none}.aa-PanelLayout:empty{display:none}.quarto-search-no-results.no-query{display:none}.aa-Source:has(.no-query){display:none}#quarto-search-results .aa-Panel{border:solid #dee2e6 1px}#quarto-search-results .aa-SourceNoResults{width:398px}.aa-DetachedOverlay .aa-Panel,#quarto-search-results .aa-Panel{max-height:65vh;overflow-y:auto;font-size:.925rem}.aa-DetachedOverlay .aa-SourceNoResults,#quarto-search-results .aa-SourceNoResults{height:60px;display:flex;justify-content:center;align-items:center}.aa-DetachedOverlay .search-error,#quarto-search-results .search-error{padding-top:10px;padding-left:20px;padding-right:20px;cursor:default}.aa-DetachedOverlay .search-error .search-error-title,#quarto-search-results .search-error .search-error-title{font-size:1.1rem;margin-bottom:.5rem}.aa-DetachedOverlay .search-error .search-error-title .search-error-icon,#quarto-search-results .search-error .search-error-title .search-error-icon{margin-right:8px}.aa-DetachedOverlay .search-error .search-error-text,#quarto-search-results .search-error .search-error-text{font-weight:300}.aa-DetachedOverlay .search-result-text,#quarto-search-results .search-result-text{font-weight:300;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2rem;max-height:2.4rem}.aa-DetachedOverlay .aa-SourceHeader .search-result-header,#quarto-search-results .aa-SourceHeader .search-result-header{font-size:.875rem;background-color:#f2f2f2;padding-left:14px;padding-bottom:4px;padding-top:4px}.aa-DetachedOverlay .aa-SourceHeader .search-result-header-no-results,#quarto-search-results .aa-SourceHeader .search-result-header-no-results{display:none}.aa-DetachedOverlay .aa-SourceFooter .algolia-search-logo,#quarto-search-results .aa-SourceFooter .algolia-search-logo{width:110px;opacity:.85;margin:8px;float:right}.aa-DetachedOverlay .search-result-section,#quarto-search-results .search-result-section{font-size:.925em}.aa-DetachedOverlay a.search-result-link,#quarto-search-results a.search-result-link{color:inherit;text-decoration:none}.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item,#quarto-search-results li.aa-Item[aria-selected=true] .search-item{background-color:#2780e3}.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item.search-result-more,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-section,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-text,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-title-container,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-text-container,#quarto-search-results li.aa-Item[aria-selected=true] .search-item.search-result-more,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-section,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-text,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-title-container,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-text-container{color:#fff;background-color:#2780e3}.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item mark.search-match,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-match.mark,#quarto-search-results li.aa-Item[aria-selected=true] .search-item mark.search-match,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-match.mark{color:#fff;background-color:#4b95e8}.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item,#quarto-search-results li.aa-Item[aria-selected=false] .search-item{background-color:#fff}.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item.search-result-more,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-section,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-text,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-title-container,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-text-container,#quarto-search-results li.aa-Item[aria-selected=false] .search-item.search-result-more,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-section,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-text,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-title-container,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-text-container{color:#343a40}.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item mark.search-match,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-match.mark,#quarto-search-results li.aa-Item[aria-selected=false] .search-item mark.search-match,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-match.mark{color:inherit;background-color:#e5effc}.aa-DetachedOverlay .aa-Item .search-result-doc:not(.document-selectable) .search-result-title-container,#quarto-search-results .aa-Item .search-result-doc:not(.document-selectable) .search-result-title-container{background-color:#fff;color:#343a40}.aa-DetachedOverlay .aa-Item .search-result-doc:not(.document-selectable) .search-result-text-container,#quarto-search-results .aa-Item .search-result-doc:not(.document-selectable) .search-result-text-container{padding-top:0px}.aa-DetachedOverlay li.aa-Item .search-result-doc.document-selectable .search-result-text-container,#quarto-search-results li.aa-Item .search-result-doc.document-selectable .search-result-text-container{margin-top:-4px}.aa-DetachedOverlay .aa-Item,#quarto-search-results .aa-Item{cursor:pointer}.aa-DetachedOverlay .aa-Item .search-item,#quarto-search-results .aa-Item .search-item{border-left:none;border-right:none;border-top:none;background-color:#fff;border-color:#dee2e6;color:#343a40}.aa-DetachedOverlay .aa-Item .search-item p,#quarto-search-results .aa-Item .search-item p{margin-top:0;margin-bottom:0}.aa-DetachedOverlay .aa-Item .search-item i.bi,#quarto-search-results .aa-Item .search-item i.bi{padding-left:8px;padding-right:8px;font-size:1.3em}.aa-DetachedOverlay .aa-Item .search-item .search-result-title,#quarto-search-results .aa-Item .search-item .search-result-title{margin-top:.3em;margin-bottom:0em}.aa-DetachedOverlay .aa-Item .search-item .search-result-crumbs,#quarto-search-results .aa-Item .search-item .search-result-crumbs{white-space:nowrap;text-overflow:ellipsis;font-size:.8em;font-weight:300;margin-right:1em}.aa-DetachedOverlay .aa-Item .search-item .search-result-crumbs:not(.search-result-crumbs-wrap),#quarto-search-results .aa-Item .search-item .search-result-crumbs:not(.search-result-crumbs-wrap){max-width:30%;margin-left:auto;margin-top:.5em;margin-bottom:.1rem}.aa-DetachedOverlay .aa-Item .search-item .search-result-crumbs.search-result-crumbs-wrap,#quarto-search-results .aa-Item .search-item .search-result-crumbs.search-result-crumbs-wrap{flex-basis:100%;margin-top:0em;margin-bottom:.2em;margin-left:37px}.aa-DetachedOverlay .aa-Item .search-result-title-container,#quarto-search-results .aa-Item .search-result-title-container{font-size:1em;display:flex;flex-wrap:wrap;padding:6px 4px 6px 4px}.aa-DetachedOverlay .aa-Item .search-result-text-container,#quarto-search-results .aa-Item .search-result-text-container{padding-bottom:8px;padding-right:8px;margin-left:42px}.aa-DetachedOverlay .aa-Item .search-result-doc-section,.aa-DetachedOverlay .aa-Item .search-result-more,#quarto-search-results .aa-Item .search-result-doc-section,#quarto-search-results .aa-Item .search-result-more{padding-top:8px;padding-bottom:8px;padding-left:44px}.aa-DetachedOverlay .aa-Item .search-result-more,#quarto-search-results .aa-Item .search-result-more{font-size:.8em;font-weight:400}.aa-DetachedOverlay .aa-Item .search-result-doc,#quarto-search-results .aa-Item .search-result-doc{border-top:1px solid #dee2e6}.aa-DetachedSearchButton{background:none;border:none}.aa-DetachedSearchButton .aa-DetachedSearchButtonPlaceholder{display:none}.navbar .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon{color:#fdfeff}.sidebar-tools-collapse #quarto-search,.sidebar-tools-main #quarto-search{display:inline}.sidebar-tools-collapse #quarto-search .aa-Autocomplete,.sidebar-tools-main #quarto-search .aa-Autocomplete{display:inline}.sidebar-tools-collapse #quarto-search .aa-DetachedSearchButton,.sidebar-tools-main #quarto-search .aa-DetachedSearchButton{padding-left:4px;padding-right:4px}.sidebar-tools-collapse #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon,.sidebar-tools-main #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon{color:#595959}.sidebar-tools-collapse #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon .aa-SubmitIcon,.sidebar-tools-main #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon .aa-SubmitIcon{margin-top:-3px}.aa-DetachedContainer{background:rgba(255,255,255,.65);width:90%;bottom:0;box-shadow:rgba(222,226,230,.6) 0 0 0 1px;outline:currentColor none medium;display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:1101}.aa-DetachedContainer::after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{background-color:#fff;border-bottom:1px solid #dee2e6;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:.5em}.aa-DetachedCancelButton{background:none;font-size:.8em;border:0;border-radius:3px;color:#343a40;cursor:pointer;margin:0 0 0 .5em;padding:0 .5em}.aa-DetachedCancelButton:hover,.aa-DetachedCancelButton:focus{box-shadow:rgba(39,128,227,.6) 0 0 0 1px;outline:currentColor none medium}.aa-DetachedContainer--modal{bottom:inherit;height:auto;margin:0 auto;position:absolute;top:100px;border-radius:6px;max-width:850px}@media(max-width: 575.98px){.aa-DetachedContainer--modal{width:100%;top:0px;border-radius:0px;border:none}}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:var(--aa-detached-modal-max-height);padding-bottom:var(--aa-spacing-half);position:static}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(52,58,64,.4);position:fixed;left:0;right:0;top:0;margin:0;padding:0;height:100vh;z-index:1100}.quarto-dashboard.nav-fixed.dashboard-sidebar #quarto-content.quarto-dashboard-content{padding:0em}.quarto-dashboard #quarto-content.quarto-dashboard-content{padding:1em}.quarto-dashboard #quarto-content.quarto-dashboard-content>*{padding-top:0}@media(min-width: 576px){.quarto-dashboard{height:100%}}.quarto-dashboard .card.valuebox.bslib-card.bg-primary{background-color:#5397e9 !important}.quarto-dashboard .card.valuebox.bslib-card.bg-secondary{background-color:#343a40 !important}.quarto-dashboard .card.valuebox.bslib-card.bg-success{background-color:#3aa716 !important}.quarto-dashboard .card.valuebox.bslib-card.bg-info{background-color:rgba(153,84,187,.7019607843) !important}.quarto-dashboard .card.valuebox.bslib-card.bg-warning{background-color:#fa6400 !important}.quarto-dashboard .card.valuebox.bslib-card.bg-danger{background-color:rgba(255,0,57,.7019607843) !important}.quarto-dashboard .card.valuebox.bslib-card.bg-light{background-color:#f8f9fa !important}.quarto-dashboard .card.valuebox.bslib-card.bg-dark{background-color:#343a40 !important}.quarto-dashboard.dashboard-fill{display:flex;flex-direction:column}.quarto-dashboard #quarto-appendix{display:none}.quarto-dashboard #quarto-header #quarto-dashboard-header{border-top:solid 1px #549be9;border-bottom:solid 1px #549be9}.quarto-dashboard #quarto-header #quarto-dashboard-header>nav{padding-left:1em;padding-right:1em}.quarto-dashboard #quarto-header #quarto-dashboard-header>nav .navbar-brand-container{padding-left:0}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-toggler{margin-right:0}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-toggler-icon{height:1em;width:1em;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(253, 254, 255)" class="bi bi-menu-button-wide" viewBox="0 0 16 16"><path d="M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v2A1.5 1.5 0 0 1 14.5 5h-13A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-13z"/><path d="M2 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm10.823.323-.396-.396A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z"/></svg>')}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-brand-container{padding-right:1em}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-title{font-size:1.1em}.quarto-dashboard #quarto-header #quarto-dashboard-header .navbar-nav{font-size:.9em}.quarto-dashboard #quarto-dashboard-header .navbar{padding:0}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-container{padding-left:1em}.quarto-dashboard #quarto-dashboard-header .navbar.slim .navbar-brand-container .nav-link,.quarto-dashboard #quarto-dashboard-header .navbar.slim .navbar-nav .nav-link{padding:.7em}.quarto-dashboard #quarto-dashboard-header .navbar .quarto-color-scheme-toggle{order:9}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-toggler{margin-left:.5em;order:10}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-nav .nav-link{padding:.5em;height:100%;display:flex;align-items:center}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-nav .active{background-color:#4b95e8}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-brand-container{padding:.5em .5em .5em 0;display:flex;flex-direction:row;margin-right:2em;align-items:center}@media(max-width: 767.98px){.quarto-dashboard #quarto-dashboard-header .navbar .navbar-brand-container{margin-right:auto}}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-collapse{align-self:stretch}@media(min-width: 768px){.quarto-dashboard #quarto-dashboard-header .navbar .navbar-collapse{order:8}}@media(max-width: 767.98px){.quarto-dashboard #quarto-dashboard-header .navbar .navbar-collapse{order:1000;padding-bottom:.5em}}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-collapse .navbar-nav{align-self:stretch}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-title{font-size:1.25em;line-height:1.1em;display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-title .navbar-title-text{margin-right:.4em}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-title a{text-decoration:none;color:inherit}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-subtitle,.quarto-dashboard #quarto-dashboard-header .navbar .navbar-author{font-size:.9rem;margin-right:.5em}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-author{margin-left:auto}.quarto-dashboard #quarto-dashboard-header .navbar .navbar-logo{max-height:48px;min-height:30px;object-fit:cover;margin-right:1em}.quarto-dashboard #quarto-dashboard-header .navbar .quarto-dashboard-links{order:9;padding-right:1em}.quarto-dashboard #quarto-dashboard-header .navbar .quarto-dashboard-link-text{margin-left:.25em}.quarto-dashboard #quarto-dashboard-header .navbar .quarto-dashboard-link{padding-right:0em;padding-left:.7em;text-decoration:none;color:#fdfeff}.quarto-dashboard .page-layout-custom .tab-content{padding:0;border:none}.quarto-dashboard-img-contain{height:100%;width:100%;object-fit:contain}@media(max-width: 575.98px){.quarto-dashboard .bslib-grid{grid-template-rows:minmax(1em, max-content) !important}.quarto-dashboard .sidebar-content{height:inherit}.quarto-dashboard .page-layout-custom{min-height:100vh}}.quarto-dashboard.dashboard-toolbar>.page-layout-custom,.quarto-dashboard.dashboard-sidebar>.page-layout-custom{padding:0}.quarto-dashboard .quarto-dashboard-content.quarto-dashboard-pages{padding:0}.quarto-dashboard .callout{margin-bottom:0;margin-top:0}.quarto-dashboard .html-fill-container figure{overflow:hidden}.quarto-dashboard bslib-tooltip .rounded-pill{border:solid #6c757d 1px}.quarto-dashboard bslib-tooltip .rounded-pill .svg{fill:#343a40}.quarto-dashboard .tabset .dashboard-card-no-title .nav-tabs{margin-left:0;margin-right:auto}.quarto-dashboard .tabset .tab-content{border:none}.quarto-dashboard .tabset .card-header .nav-link[role=tab]{margin-top:-6px;padding-top:6px;padding-bottom:6px}.quarto-dashboard .card.valuebox,.quarto-dashboard .card.bslib-value-box{min-height:3rem}.quarto-dashboard .card.valuebox .card-body,.quarto-dashboard .card.bslib-value-box .card-body{padding:0}.quarto-dashboard .bslib-value-box .value-box-value{font-size:clamp(.1em,15cqw,5em)}.quarto-dashboard .bslib-value-box .value-box-showcase .bi{font-size:clamp(.1em,max(18cqw,5.2cqh),5em);text-align:center;height:1em}.quarto-dashboard .bslib-value-box .value-box-showcase .bi::before{vertical-align:1em}.quarto-dashboard .bslib-value-box .value-box-area{margin-top:auto;margin-bottom:auto}.quarto-dashboard .card figure.quarto-float{display:flex;flex-direction:column;align-items:center}.quarto-dashboard .dashboard-scrolling{padding:1em}.quarto-dashboard .full-height{height:100%}.quarto-dashboard .showcase-bottom .value-box-grid{display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:"top" "bottom"}.quarto-dashboard .showcase-bottom .value-box-grid .value-box-showcase{grid-area:bottom;padding:0;margin:0}.quarto-dashboard .showcase-bottom .value-box-grid .value-box-showcase i.bi{font-size:4rem}.quarto-dashboard .showcase-bottom .value-box-grid .value-box-area{grid-area:top}.quarto-dashboard .tab-content{margin-bottom:0}.quarto-dashboard .bslib-card .bslib-navs-card-title{justify-content:stretch;align-items:end}.quarto-dashboard .card-header{display:flex;flex-wrap:wrap;justify-content:space-between}.quarto-dashboard .card-header .card-title{display:flex;flex-direction:column;justify-content:center;margin-bottom:0}.quarto-dashboard .tabset .card-toolbar{margin-bottom:1em}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout{border:none;gap:var(--bslib-spacer, 1rem)}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout>.main{padding:0}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout>.sidebar{border-radius:.25rem;border:1px solid rgba(0,0,0,.175)}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout>.collapse-toggle{display:none}@media(max-width: 767.98px){.quarto-dashboard .bslib-grid>.bslib-sidebar-layout{grid-template-columns:1fr;grid-template-rows:max-content 1fr}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout>.main{grid-column:1;grid-row:2}.quarto-dashboard .bslib-grid>.bslib-sidebar-layout .sidebar{grid-column:1;grid-row:1}}.quarto-dashboard .sidebar-right .sidebar{padding-left:2.5em}.quarto-dashboard .sidebar-right .collapse-toggle{left:2px}.quarto-dashboard .quarto-dashboard .sidebar-right button.collapse-toggle:not(.transitioning){left:unset}.quarto-dashboard aside.sidebar{padding-left:1em;padding-right:1em;background-color:rgba(52,58,64,.25);color:#343a40}.quarto-dashboard .bslib-sidebar-layout>div.main{padding:.7em}.quarto-dashboard .bslib-sidebar-layout button.collapse-toggle{margin-top:.3em}.quarto-dashboard .bslib-sidebar-layout .collapse-toggle{top:0}.quarto-dashboard .bslib-sidebar-layout.sidebar-collapsed:not(.transitioning):not(.sidebar-right) .collapse-toggle{left:2px}.quarto-dashboard .sidebar>section>.h3:first-of-type{margin-top:0em}.quarto-dashboard .sidebar .h3,.quarto-dashboard .sidebar .h4,.quarto-dashboard .sidebar .h5,.quarto-dashboard .sidebar .h6{margin-top:.5em}.quarto-dashboard .sidebar form{flex-direction:column;align-items:start;margin-bottom:1em}.quarto-dashboard .sidebar form div[class*=oi-][class$=-input]{flex-direction:column}.quarto-dashboard .sidebar form[class*=oi-][class$=-toggle]{flex-direction:row-reverse;align-items:center;justify-content:start}.quarto-dashboard .sidebar form input[type=range]{margin-top:.5em;margin-right:.8em;margin-left:1em}.quarto-dashboard .sidebar label{width:fit-content}.quarto-dashboard .sidebar .card-body{margin-bottom:2em}.quarto-dashboard .sidebar .shiny-input-container{margin-bottom:1em}.quarto-dashboard .sidebar .shiny-options-group{margin-top:0}.quarto-dashboard .sidebar .control-label{margin-bottom:.3em}.quarto-dashboard .card .card-body .quarto-layout-row{align-items:stretch}.quarto-dashboard .toolbar{font-size:.9em;display:flex;flex-direction:row;border-top:solid 1px #bcbfc0;padding:1em;flex-wrap:wrap;background-color:rgba(52,58,64,.25)}.quarto-dashboard .toolbar .cell-output-display{display:flex}.quarto-dashboard .toolbar .shiny-input-container{padding-bottom:.5em;margin-bottom:.5em;width:inherit}.quarto-dashboard .toolbar .shiny-input-container>.checkbox:first-child{margin-top:6px}.quarto-dashboard .toolbar>*:last-child{margin-right:0}.quarto-dashboard .toolbar>*>*{margin-right:1em;align-items:baseline}.quarto-dashboard .toolbar>*>*>a{text-decoration:none;margin-top:auto;margin-bottom:auto}.quarto-dashboard .toolbar .shiny-input-container{padding-bottom:0;margin-bottom:0}.quarto-dashboard .toolbar .shiny-input-container>*{flex-shrink:0;flex-grow:0}.quarto-dashboard .toolbar .form-group.shiny-input-container:not([role=group])>label{margin-bottom:0}.quarto-dashboard .toolbar .shiny-input-container.no-baseline{align-items:start;padding-top:6px}.quarto-dashboard .toolbar .shiny-input-container{display:flex;align-items:baseline}.quarto-dashboard .toolbar .shiny-input-container label{padding-right:.4em}.quarto-dashboard .toolbar .shiny-input-container .bslib-input-switch{margin-top:6px}.quarto-dashboard .toolbar input[type=text]{line-height:1;width:inherit}.quarto-dashboard .toolbar .input-daterange{width:inherit}.quarto-dashboard .toolbar .input-daterange input[type=text]{height:2.4em;width:10em}.quarto-dashboard .toolbar .input-daterange .input-group-addon{height:auto;padding:0;margin-left:-5px !important;margin-right:-5px}.quarto-dashboard .toolbar .input-daterange .input-group-addon .input-group-text{padding-top:0;padding-bottom:0;height:100%}.quarto-dashboard .toolbar span.irs.irs--shiny{width:10em}.quarto-dashboard .toolbar span.irs.irs--shiny .irs-line{top:9px}.quarto-dashboard .toolbar span.irs.irs--shiny .irs-min,.quarto-dashboard .toolbar span.irs.irs--shiny .irs-max,.quarto-dashboard .toolbar span.irs.irs--shiny .irs-from,.quarto-dashboard .toolbar span.irs.irs--shiny .irs-to,.quarto-dashboard .toolbar span.irs.irs--shiny .irs-single{top:20px}.quarto-dashboard .toolbar span.irs.irs--shiny .irs-bar{top:8px}.quarto-dashboard .toolbar span.irs.irs--shiny .irs-handle{top:0px}.quarto-dashboard .toolbar .shiny-input-checkboxgroup>label{margin-top:6px}.quarto-dashboard .toolbar .shiny-input-checkboxgroup>.shiny-options-group{margin-top:0;align-items:baseline}.quarto-dashboard .toolbar .shiny-input-radiogroup>label{margin-top:6px}.quarto-dashboard .toolbar .shiny-input-radiogroup>.shiny-options-group{align-items:baseline;margin-top:0}.quarto-dashboard .toolbar .shiny-input-radiogroup>.shiny-options-group>.radio{margin-right:.3em}.quarto-dashboard .toolbar .form-select{padding-top:.2em;padding-bottom:.2em}.quarto-dashboard .toolbar .shiny-input-select{min-width:6em}.quarto-dashboard .toolbar div.checkbox{margin-bottom:0px}.quarto-dashboard .toolbar>.checkbox:first-child{margin-top:6px}.quarto-dashboard .toolbar form{width:fit-content}.quarto-dashboard .toolbar form label{padding-top:.2em;padding-bottom:.2em;width:fit-content}.quarto-dashboard .toolbar form input[type=date]{width:fit-content}.quarto-dashboard .toolbar form input[type=color]{width:3em}.quarto-dashboard .toolbar form button{padding:.4em}.quarto-dashboard .toolbar form select{width:fit-content}.quarto-dashboard .toolbar>*{font-size:.9em;flex-grow:0}.quarto-dashboard .toolbar .shiny-input-container label{margin-bottom:1px}.quarto-dashboard .toolbar-bottom{margin-top:1em;margin-bottom:0 !important;order:2}.quarto-dashboard .quarto-dashboard-content>.dashboard-toolbar-container>.toolbar-content>.tab-content>.tab-pane>*:not(.bslib-sidebar-layout){padding:1em}.quarto-dashboard .quarto-dashboard-content>.dashboard-toolbar-container>.toolbar-content>*:not(.tab-content){padding:1em}.quarto-dashboard .quarto-dashboard-content>.tab-content>.dashboard-page>.dashboard-toolbar-container>.toolbar-content,.quarto-dashboard .quarto-dashboard-content>.tab-content>.dashboard-page:not(.dashboard-sidebar-container)>*:not(.dashboard-toolbar-container){padding:1em}.quarto-dashboard .toolbar-content{padding:0}.quarto-dashboard .quarto-dashboard-content.quarto-dashboard-pages .tab-pane>.dashboard-toolbar-container .toolbar{border-radius:0;margin-bottom:0}.quarto-dashboard .dashboard-toolbar-container.toolbar-toplevel .toolbar{border-bottom:1px solid rgba(0,0,0,.175)}.quarto-dashboard .dashboard-toolbar-container.toolbar-toplevel .toolbar-bottom{margin-top:0}.quarto-dashboard .dashboard-toolbar-container:not(.toolbar-toplevel) .toolbar{margin-bottom:1em;border-top:none;border-radius:.25rem;border:1px solid rgba(0,0,0,.175)}.quarto-dashboard .vega-embed.has-actions details{width:1.7em;height:2em;position:absolute !important;top:0;right:0}.quarto-dashboard .dashboard-toolbar-container{padding:0}.quarto-dashboard .card .card-header p:last-child,.quarto-dashboard .card .card-footer p:last-child{margin-bottom:0}.quarto-dashboard .card .card-body>.h4:first-child{margin-top:0}.quarto-dashboard .card .card-body{z-index:4}@media(max-width: 767.98px){.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_length,.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_info,.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_paginate{text-align:initial}.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_filter{text-align:right}.quarto-dashboard .card .card-body .itables div.dataTables_wrapper div.dataTables_paginate ul.pagination{justify-content:initial}}.quarto-dashboard .card .card-body .itables .dataTables_wrapper{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding-top:0}.quarto-dashboard .card .card-body .itables .dataTables_wrapper table{flex-shrink:0}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dt-buttons{margin-bottom:.5em;margin-left:auto;width:fit-content;float:right}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dt-buttons.btn-group{background:#fff;border:none}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dt-buttons .btn-secondary{background-color:#fff;background-image:none;border:solid #dee2e6 1px;padding:.2em .7em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dt-buttons .btn span{font-size:.8em;color:#343a40}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_info{margin-left:.5em;margin-bottom:.5em;padding-top:0}@media(min-width: 768px){.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_info{font-size:.875em}}@media(max-width: 767.98px){.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_info{font-size:.8em}}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_filter{margin-bottom:.5em;font-size:.875em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_filter input[type=search]{padding:1px 5px 1px 5px;font-size:.875em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_length{flex-basis:1 1 50%;margin-bottom:.5em;font-size:.875em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_length select{padding:.4em 3em .4em .5em;font-size:.875em;margin-left:.2em;margin-right:.2em}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_paginate{flex-shrink:0}@media(min-width: 768px){.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_paginate{margin-left:auto}}.quarto-dashboard .card .card-body .itables .dataTables_wrapper .dataTables_paginate ul.pagination .paginate_button .page-link{font-size:.8em}.quarto-dashboard .card .card-footer{font-size:.9em}.quarto-dashboard .card .card-toolbar{display:flex;flex-grow:1;flex-direction:row;width:100%;flex-wrap:wrap}.quarto-dashboard .card .card-toolbar>*{font-size:.8em;flex-grow:0}.quarto-dashboard .card .card-toolbar>.card-title{font-size:1em;flex-grow:1;align-self:flex-start;margin-top:.1em}.quarto-dashboard .card .card-toolbar .cell-output-display{display:flex}.quarto-dashboard .card .card-toolbar .shiny-input-container{padding-bottom:.5em;margin-bottom:.5em;width:inherit}.quarto-dashboard .card .card-toolbar .shiny-input-container>.checkbox:first-child{margin-top:6px}.quarto-dashboard .card .card-toolbar>*:last-child{margin-right:0}.quarto-dashboard .card .card-toolbar>*>*{margin-right:1em;align-items:baseline}.quarto-dashboard .card .card-toolbar>*>*>a{text-decoration:none;margin-top:auto;margin-bottom:auto}.quarto-dashboard .card .card-toolbar form{width:fit-content}.quarto-dashboard .card .card-toolbar form label{padding-top:.2em;padding-bottom:.2em;width:fit-content}.quarto-dashboard .card .card-toolbar form input[type=date]{width:fit-content}.quarto-dashboard .card .card-toolbar form input[type=color]{width:3em}.quarto-dashboard .card .card-toolbar form button{padding:.4em}.quarto-dashboard .card .card-toolbar form select{width:fit-content}.quarto-dashboard .card .card-toolbar .cell-output-display{display:flex}.quarto-dashboard .card .card-toolbar .shiny-input-container{padding-bottom:.5em;margin-bottom:.5em;width:inherit}.quarto-dashboard .card .card-toolbar .shiny-input-container>.checkbox:first-child{margin-top:6px}.quarto-dashboard .card .card-toolbar>*:last-child{margin-right:0}.quarto-dashboard .card .card-toolbar>*>*{margin-right:1em;align-items:baseline}.quarto-dashboard .card .card-toolbar>*>*>a{text-decoration:none;margin-top:auto;margin-bottom:auto}.quarto-dashboard .card .card-toolbar .shiny-input-container{padding-bottom:0;margin-bottom:0}.quarto-dashboard .card .card-toolbar .shiny-input-container>*{flex-shrink:0;flex-grow:0}.quarto-dashboard .card .card-toolbar .form-group.shiny-input-container:not([role=group])>label{margin-bottom:0}.quarto-dashboard .card .card-toolbar .shiny-input-container.no-baseline{align-items:start;padding-top:6px}.quarto-dashboard .card .card-toolbar .shiny-input-container{display:flex;align-items:baseline}.quarto-dashboard .card .card-toolbar .shiny-input-container label{padding-right:.4em}.quarto-dashboard .card .card-toolbar .shiny-input-container .bslib-input-switch{margin-top:6px}.quarto-dashboard .card .card-toolbar input[type=text]{line-height:1;width:inherit}.quarto-dashboard .card .card-toolbar .input-daterange{width:inherit}.quarto-dashboard .card .card-toolbar .input-daterange input[type=text]{height:2.4em;width:10em}.quarto-dashboard .card .card-toolbar .input-daterange .input-group-addon{height:auto;padding:0;margin-left:-5px !important;margin-right:-5px}.quarto-dashboard .card .card-toolbar .input-daterange .input-group-addon .input-group-text{padding-top:0;padding-bottom:0;height:100%}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny{width:10em}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-line{top:9px}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-min,.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-max,.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-from,.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-to,.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-single{top:20px}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-bar{top:8px}.quarto-dashboard .card .card-toolbar span.irs.irs--shiny .irs-handle{top:0px}.quarto-dashboard .card .card-toolbar .shiny-input-checkboxgroup>label{margin-top:6px}.quarto-dashboard .card .card-toolbar .shiny-input-checkboxgroup>.shiny-options-group{margin-top:0;align-items:baseline}.quarto-dashboard .card .card-toolbar .shiny-input-radiogroup>label{margin-top:6px}.quarto-dashboard .card .card-toolbar .shiny-input-radiogroup>.shiny-options-group{align-items:baseline;margin-top:0}.quarto-dashboard .card .card-toolbar .shiny-input-radiogroup>.shiny-options-group>.radio{margin-right:.3em}.quarto-dashboard .card .card-toolbar .form-select{padding-top:.2em;padding-bottom:.2em}.quarto-dashboard .card .card-toolbar .shiny-input-select{min-width:6em}.quarto-dashboard .card .card-toolbar div.checkbox{margin-bottom:0px}.quarto-dashboard .card .card-toolbar>.checkbox:first-child{margin-top:6px}.quarto-dashboard .card-body>table>thead{border-top:none}.quarto-dashboard .card-body>.table>:not(caption)>*>*{background-color:#fff}.tableFloatingHeaderOriginal{background-color:#fff;position:sticky !important;top:0 !important}.dashboard-data-table{margin-top:-1px}.quarto-listing{padding-bottom:1em}.listing-pagination{padding-top:.5em}ul.pagination{float:right;padding-left:8px;padding-top:.5em}ul.pagination li{padding-right:.75em}ul.pagination li.disabled a,ul.pagination li.active a{color:#fff;text-decoration:none}ul.pagination li:last-of-type{padding-right:0}.listing-actions-group{display:flex}.quarto-listing-filter{margin-bottom:1em;width:200px;margin-left:auto}.quarto-listing-sort{margin-bottom:1em;margin-right:auto;width:auto}.quarto-listing-sort .input-group-text{font-size:.8em}.input-group-text{border-right:none}.quarto-listing-sort select.form-select{font-size:.8em}.listing-no-matching{text-align:center;padding-top:2em;padding-bottom:3em;font-size:1em}#quarto-margin-sidebar .quarto-listing-category{padding-top:0;font-size:1rem}#quarto-margin-sidebar .quarto-listing-category-title{cursor:pointer;font-weight:600;font-size:1rem}.quarto-listing-category .category{cursor:pointer}.quarto-listing-category .category.active{font-weight:600}.quarto-listing-category.category-cloud{display:flex;flex-wrap:wrap;align-items:baseline}.quarto-listing-category.category-cloud .category{padding-right:5px}.quarto-listing-category.category-cloud .category-cloud-1{font-size:.75em}.quarto-listing-category.category-cloud .category-cloud-2{font-size:.95em}.quarto-listing-category.category-cloud .category-cloud-3{font-size:1.15em}.quarto-listing-category.category-cloud .category-cloud-4{font-size:1.35em}.quarto-listing-category.category-cloud .category-cloud-5{font-size:1.55em}.quarto-listing-category.category-cloud .category-cloud-6{font-size:1.75em}.quarto-listing-category.category-cloud .category-cloud-7{font-size:1.95em}.quarto-listing-category.category-cloud .category-cloud-8{font-size:2.15em}.quarto-listing-category.category-cloud .category-cloud-9{font-size:2.35em}.quarto-listing-category.category-cloud .category-cloud-10{font-size:2.55em}.quarto-listing-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-1{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-2{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-3{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-3{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-4{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-4{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-5{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-5{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-6{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-6{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-7{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-7{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-8{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-8{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-9{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-9{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-10{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-10{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-11{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-11{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-12{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-12{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-grid{gap:1.5em}.quarto-grid-item.borderless{border:none}.quarto-grid-item.borderless .listing-categories .listing-category:last-of-type,.quarto-grid-item.borderless .listing-categories .listing-category:first-of-type{padding-left:0}.quarto-grid-item.borderless .listing-categories .listing-category{border:0}.quarto-grid-link{text-decoration:none;color:inherit}.quarto-grid-link:hover{text-decoration:none;color:inherit}.quarto-grid-item h5.title,.quarto-grid-item .title.h5{margin-top:0;margin-bottom:0}.quarto-grid-item .card-footer{display:flex;justify-content:space-between;font-size:.8em}.quarto-grid-item .card-footer p{margin-bottom:0}.quarto-grid-item p.card-img-top{margin-bottom:0}.quarto-grid-item p.card-img-top>img{object-fit:cover}.quarto-grid-item .card-other-values{margin-top:.5em;font-size:.8em}.quarto-grid-item .card-other-values tr{margin-bottom:.5em}.quarto-grid-item .card-other-values tr>td:first-of-type{font-weight:600;padding-right:1em;padding-left:1em;vertical-align:top}.quarto-grid-item div.post-contents{display:flex;flex-direction:column;text-decoration:none;height:100%}.quarto-grid-item .listing-item-img-placeholder{background-color:rgba(52,58,64,.25);flex-shrink:0}.quarto-grid-item .card-attribution{padding-top:1em;display:flex;gap:1em;text-transform:uppercase;color:#6c757d;font-weight:500;flex-grow:10;align-items:flex-end}.quarto-grid-item .description{padding-bottom:1em}.quarto-grid-item .card-attribution .date{align-self:flex-end}.quarto-grid-item .card-attribution.justify{justify-content:space-between}.quarto-grid-item .card-attribution.start{justify-content:flex-start}.quarto-grid-item .card-attribution.end{justify-content:flex-end}.quarto-grid-item .card-title{margin-bottom:.1em}.quarto-grid-item .card-subtitle{padding-top:.25em}.quarto-grid-item .card-text{font-size:.9em}.quarto-grid-item .listing-reading-time{padding-bottom:.25em}.quarto-grid-item .card-text-small{font-size:.8em}.quarto-grid-item .card-subtitle.subtitle{font-size:.9em;font-weight:600;padding-bottom:.5em}.quarto-grid-item .listing-categories{display:flex;flex-wrap:wrap;padding-bottom:5px}.quarto-grid-item .listing-categories .listing-category{color:#6c757d;border:solid 1px #dee2e6;border-radius:.25rem;text-transform:uppercase;font-size:.65em;padding-left:.5em;padding-right:.5em;padding-top:.15em;padding-bottom:.15em;cursor:pointer;margin-right:4px;margin-bottom:4px}.quarto-grid-item.card-right{text-align:right}.quarto-grid-item.card-right .listing-categories{justify-content:flex-end}.quarto-grid-item.card-left{text-align:left}.quarto-grid-item.card-center{text-align:center}.quarto-grid-item.card-center .listing-description{text-align:justify}.quarto-grid-item.card-center .listing-categories{justify-content:center}table.quarto-listing-table td.image{padding:0px}table.quarto-listing-table td.image img{width:100%;max-width:50px;object-fit:contain}table.quarto-listing-table a{text-decoration:none;word-break:keep-all}table.quarto-listing-table th a{color:inherit}table.quarto-listing-table th a.asc:after{margin-bottom:-2px;margin-left:5px;display:inline-block;height:1rem;width:1rem;background-repeat:no-repeat;background-size:1rem 1rem;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-sort-up" viewBox="0 0 16 16"><path d="M3.5 12.5a.5.5 0 0 1-1 0V3.707L1.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 3.707V12.5zm3.5-9a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z"/></svg>');content:""}table.quarto-listing-table th a.desc:after{margin-bottom:-2px;margin-left:5px;display:inline-block;height:1rem;width:1rem;background-repeat:no-repeat;background-size:1rem 1rem;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-sort-down" viewBox="0 0 16 16"><path d="M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z"/></svg>');content:""}table.quarto-listing-table.table-hover td{cursor:pointer}.quarto-post.image-left{flex-direction:row}.quarto-post.image-right{flex-direction:row-reverse}@media(max-width: 767.98px){.quarto-post.image-right,.quarto-post.image-left{gap:0em;flex-direction:column}.quarto-post .metadata{padding-bottom:1em;order:2}.quarto-post .body{order:1}.quarto-post .thumbnail{order:3}}.list.quarto-listing-default div:last-of-type{border-bottom:none}@media(min-width: 992px){.quarto-listing-container-default{margin-right:2em}}div.quarto-post{display:flex;gap:2em;margin-bottom:1.5em;border-bottom:1px solid #dee2e6}@media(max-width: 767.98px){div.quarto-post{padding-bottom:1em}}div.quarto-post .metadata{flex-basis:20%;flex-grow:0;margin-top:.2em;flex-shrink:10}div.quarto-post .thumbnail{flex-basis:30%;flex-grow:0;flex-shrink:0}div.quarto-post .thumbnail img{margin-top:.4em;width:100%;object-fit:cover}div.quarto-post .body{flex-basis:45%;flex-grow:1;flex-shrink:0}div.quarto-post .body h3.listing-title,div.quarto-post .body .listing-title.h3{margin-top:0px;margin-bottom:0px;border-bottom:none}div.quarto-post .body .listing-subtitle{font-size:.875em;margin-bottom:.5em;margin-top:.2em}div.quarto-post .body .description{font-size:.9em}div.quarto-post .body pre code{white-space:pre-wrap}div.quarto-post a{color:#343a40;text-decoration:none}div.quarto-post .metadata{display:flex;flex-direction:column;font-size:.8em;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";flex-basis:33%}div.quarto-post .listing-categories{display:flex;flex-wrap:wrap;padding-bottom:5px}div.quarto-post .listing-categories .listing-category{color:#6c757d;border:solid 1px #dee2e6;border-radius:.25rem;text-transform:uppercase;font-size:.65em;padding-left:.5em;padding-right:.5em;padding-top:.15em;padding-bottom:.15em;cursor:pointer;margin-right:4px;margin-bottom:4px}div.quarto-post .listing-description{margin-bottom:.5em}div.quarto-about-jolla{display:flex !important;flex-direction:column;align-items:center;margin-top:10%;padding-bottom:1em}div.quarto-about-jolla .about-image{object-fit:cover;margin-left:auto;margin-right:auto;margin-bottom:1.5em}div.quarto-about-jolla img.round{border-radius:50%}div.quarto-about-jolla img.rounded{border-radius:10px}div.quarto-about-jolla .quarto-title h1.title,div.quarto-about-jolla .quarto-title .title.h1{text-align:center}div.quarto-about-jolla .quarto-title .description{text-align:center}div.quarto-about-jolla h2,div.quarto-about-jolla .h2{border-bottom:none}div.quarto-about-jolla .about-sep{width:60%}div.quarto-about-jolla main{text-align:center}div.quarto-about-jolla .about-links{display:flex}@media(min-width: 992px){div.quarto-about-jolla .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-jolla .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-jolla .about-link{color:#626d78;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-jolla .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-jolla .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-jolla .about-link:hover{color:#2761e3}div.quarto-about-jolla .about-link i.bi{margin-right:.15em}div.quarto-about-solana{display:flex !important;flex-direction:column;padding-top:3em !important;padding-bottom:1em}div.quarto-about-solana .about-entity{display:flex !important;align-items:start;justify-content:space-between}@media(min-width: 992px){div.quarto-about-solana .about-entity{flex-direction:row}}@media(max-width: 991.98px){div.quarto-about-solana .about-entity{flex-direction:column-reverse;align-items:center;text-align:center}}div.quarto-about-solana .about-entity .entity-contents{display:flex;flex-direction:column}@media(max-width: 767.98px){div.quarto-about-solana .about-entity .entity-contents{width:100%}}div.quarto-about-solana .about-entity .about-image{object-fit:cover}@media(max-width: 991.98px){div.quarto-about-solana .about-entity .about-image{margin-bottom:1.5em}}div.quarto-about-solana .about-entity img.round{border-radius:50%}div.quarto-about-solana .about-entity img.rounded{border-radius:10px}div.quarto-about-solana .about-entity .about-links{display:flex;justify-content:left;padding-bottom:1.2em}@media(min-width: 992px){div.quarto-about-solana .about-entity .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-solana .about-entity .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-solana .about-entity .about-link{color:#626d78;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-solana .about-entity .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-solana .about-entity .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-solana .about-entity .about-link:hover{color:#2761e3}div.quarto-about-solana .about-entity .about-link i.bi{margin-right:.15em}div.quarto-about-solana .about-contents{padding-right:1.5em;flex-basis:0;flex-grow:1}div.quarto-about-solana .about-contents main.content{margin-top:0}div.quarto-about-solana .about-contents h2,div.quarto-about-solana .about-contents .h2{border-bottom:none}div.quarto-about-trestles{display:flex !important;flex-direction:row;padding-top:3em !important;padding-bottom:1em}@media(max-width: 991.98px){div.quarto-about-trestles{flex-direction:column;padding-top:0em !important}}div.quarto-about-trestles .about-entity{display:flex !important;flex-direction:column;align-items:center;text-align:center;padding-right:1em}@media(min-width: 992px){div.quarto-about-trestles .about-entity{flex:0 0 42%}}div.quarto-about-trestles .about-entity .about-image{object-fit:cover;margin-bottom:1.5em}div.quarto-about-trestles .about-entity img.round{border-radius:50%}div.quarto-about-trestles .about-entity img.rounded{border-radius:10px}div.quarto-about-trestles .about-entity .about-links{display:flex;justify-content:center}@media(min-width: 992px){div.quarto-about-trestles .about-entity .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-trestles .about-entity .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-trestles .about-entity .about-link{color:#626d78;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-trestles .about-entity .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-trestles .about-entity .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-trestles .about-entity .about-link:hover{color:#2761e3}div.quarto-about-trestles .about-entity .about-link i.bi{margin-right:.15em}div.quarto-about-trestles .about-contents{flex-basis:0;flex-grow:1}div.quarto-about-trestles .about-contents h2,div.quarto-about-trestles .about-contents .h2{border-bottom:none}@media(min-width: 992px){div.quarto-about-trestles .about-contents{border-left:solid 1px #dee2e6;padding-left:1.5em}}div.quarto-about-trestles .about-contents main.content{margin-top:0}div.quarto-about-marquee{padding-bottom:1em}div.quarto-about-marquee .about-contents{display:flex;flex-direction:column}div.quarto-about-marquee .about-image{max-height:550px;margin-bottom:1.5em;object-fit:cover}div.quarto-about-marquee img.round{border-radius:50%}div.quarto-about-marquee img.rounded{border-radius:10px}div.quarto-about-marquee h2,div.quarto-about-marquee .h2{border-bottom:none}div.quarto-about-marquee .about-links{display:flex;justify-content:center;padding-top:1.5em}@media(min-width: 992px){div.quarto-about-marquee .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-marquee .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-marquee .about-link{color:#626d78;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-marquee .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-marquee .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-marquee .about-link:hover{color:#2761e3}div.quarto-about-marquee .about-link i.bi{margin-right:.15em}@media(min-width: 992px){div.quarto-about-marquee .about-link{border:none}}div.quarto-about-broadside{display:flex;flex-direction:column;padding-bottom:1em}div.quarto-about-broadside .about-main{display:flex !important;padding-top:0 !important}@media(min-width: 992px){div.quarto-about-broadside .about-main{flex-direction:row;align-items:flex-start}}@media(max-width: 991.98px){div.quarto-about-broadside .about-main{flex-direction:column}}@media(max-width: 991.98px){div.quarto-about-broadside .about-main .about-entity{flex-shrink:0;width:100%;height:450px;margin-bottom:1.5em;background-size:cover;background-repeat:no-repeat}}@media(min-width: 992px){div.quarto-about-broadside .about-main .about-entity{flex:0 10 50%;margin-right:1.5em;width:100%;height:100%;background-size:100%;background-repeat:no-repeat}}div.quarto-about-broadside .about-main .about-contents{padding-top:14px;flex:0 0 50%}div.quarto-about-broadside h2,div.quarto-about-broadside .h2{border-bottom:none}div.quarto-about-broadside .about-sep{margin-top:1.5em;width:60%;align-self:center}div.quarto-about-broadside .about-links{display:flex;justify-content:center;column-gap:20px;padding-top:1.5em}@media(min-width: 992px){div.quarto-about-broadside .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-broadside .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-broadside .about-link{color:#626d78;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-broadside .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-broadside .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-broadside .about-link:hover{color:#2761e3}div.quarto-about-broadside .about-link i.bi{margin-right:.15em}@media(min-width: 992px){div.quarto-about-broadside .about-link{border:none}}.tippy-box[data-theme~=quarto]{background-color:#fff;border:solid 1px #dee2e6;border-radius:.25rem;color:#343a40;font-size:.875rem}.tippy-box[data-theme~=quarto]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=quarto]>.tippy-arrow:after,.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=quarto]>.tippy-arrow:after{border-color:rgba(0,0,0,0);border-style:solid}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-6px}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-6px}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-6px}.tippy-box[data-placement^=left]>.tippy-arrow:before{right:-6px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:after{border-top-color:#dee2e6;border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:#dee2e6;border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:15px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:after{border-left-color:#dee2e6;border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:#dee2e6}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow{fill:#343a40}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px}.top-right{position:absolute;top:1em;right:1em}.visually-hidden{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}figure.figure{display:block}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}.quarto-figure>figure>div.cell-annotation,.quarto-figure>figure>div code{text-align:left}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption.quarto-float-caption-bottom{margin-bottom:.5em}figure>figcaption.quarto-float-caption-top{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,.h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,.h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,.h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,.h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1,#title-block-header .quarto-title-block>div>.h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}@media(min-width: 992px){#title-block-header .quarto-title-block>div>button{margin-top:5px}}tr.header>th>p:last-of-type{margin-bottom:0px}table,table.table{margin-top:.5rem;margin-bottom:.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-top{margin-top:.5rem;margin-bottom:.25rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-bottom{padding-top:.25rem;margin-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#6c757d}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.footnote-back{margin-left:.2em}.tippy-content{overflow-x:auto}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}a{text-underline-offset:3px}div.ansi-escaped-output{font-family:monospace;display:block}/*! +* +* ansi colors from IPython notebook's +* +* we also add `bright-[color]-` synonyms for the `-[color]-intense` classes since +* that seems to be what ansi_up emits +* +*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-black,.ansi-bright-black-fg{color:#282c36}.ansi-black-intense-black,.ansi-bright-black-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-red,.ansi-bright-red-fg{color:#b22b31}.ansi-red-intense-red,.ansi-bright-red-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-green,.ansi-bright-green-fg{color:#007427}.ansi-green-intense-green,.ansi-bright-green-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-yellow,.ansi-bright-yellow-fg{color:#b27d12}.ansi-yellow-intense-yellow,.ansi-bright-yellow-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-blue,.ansi-bright-blue-fg{color:#0065ca}.ansi-blue-intense-blue,.ansi-bright-blue-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-magenta,.ansi-bright-magenta-fg{color:#a03196}.ansi-magenta-intense-magenta,.ansi-bright-magenta-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-cyan,.ansi-bright-cyan-fg{color:#258f8f}.ansi-cyan-intense-cyan,.ansi-bright-cyan-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-white,.ansi-bright-white-fg{color:#a1a6b2}.ansi-white-intense-white,.ansi-bright-white-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #fff;--quarto-body-color: #343a40;--quarto-text-muted: #6c757d;--quarto-border-color: #dee2e6;--quarto-border-width: 1px;--quarto-border-radius: 0.25rem}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:relative;float:right;background-color:rgba(0,0,0,0)}input[type=checkbox]{margin-right:.5ch}:root{--mermaid-bg-color: #fff;--mermaid-edge-color: #343a40;--mermaid-node-fg-color: #343a40;--mermaid-fg-color: #343a40;--mermaid-fg-color--lighter: #4b545c;--mermaid-fg-color--lightest: #626d78;--mermaid-font-family: Source Sans Pro, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;--mermaid-label-bg-color: #fff;--mermaid-label-fg-color: #2780e3;--mermaid-node-bg-color: rgba(39, 128, 227, 0.1);--mermaid-node-fg-color: #343a40}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(94, 94, 94)" viewBox="0 0 16 16"><path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/><path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/></svg>');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(94, 94, 94)" viewBox="0 0 16 16"><path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/></svg>')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(71, 88, 171)" viewBox="0 0 16 16"><path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/><path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/></svg>')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(71, 88, 171)" viewBox="0 0 16 16"><path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/></svg>')}main ol ol,main ul ul,main ol ul,main ul ol{margin-bottom:1em}ul>li:not(:has(>p))>ul,ol>li:not(:has(>p))>ul,ul>li:not(:has(>p))>ol,ol>li:not(:has(>p))>ol{margin-bottom:0}ul>li:not(:has(>p))>ul>li:has(>p),ol>li:not(:has(>p))>ul>li:has(>p),ul>li:not(:has(>p))>ol>li:has(>p),ol>li:not(:has(>p))>ol>li:has(>p){margin-top:1rem}body{margin:0}main.page-columns>header>h1.title,main.page-columns>header>.title.h1{margin-bottom:0}@media(min-width: 992px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start page-start-inset] 25.2px [body-start-outset] 25.2px [body-start] 1rem [body-content-start] minmax(500px, calc(1850px - 2rem)) [body-content-end] 1rem [body-end] 21px [body-end-outset] minmax(45px, 87px) [page-end-inset] 21px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start page-start-inset] 25.2px [body-start-outset] 25.2px [body-start] 1rem [body-content-start] minmax(500px, calc(1850px - 2rem)) [body-content-end] 1rem [body-end] 21px [body-end-outset] 21px [page-end-inset page-end] 5fr [screen-end-inset] 1rem}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start page-start-inset] 25.2px [body-start-outset] 25.2px [body-start] 1rem [body-content-start] minmax(500px, calc(1850px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(0px, 120px) [page-end-inset] 25.2px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start] minmax(36px, 72px) [page-start-inset] 36px [body-start-outset] 36px [body-start] 1rem [body-content-start] minmax(500px, calc(1850px - 2rem)) [body-content-end] 2rem [body-end] 36px [body-end-outset] minmax(0px, 150px) [page-end-inset] minmax(36px, 72px) [page-end] 1fr [screen-end-inset] 1rem [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start] 25.2px [page-start-inset] minmax(0px, 126px) [body-start-outset] 25.2px [body-start] 1rem [body-content-start] minmax(450px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(0px, 120px) [page-end-inset] 30px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start] 25.2px [page-start-inset] minmax(0px, 126px) [body-start-outset] 25.2px [body-start] 1rem [body-content-start] minmax(450px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(0px, 120px) [page-end-inset] 30px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start] minmax(18px, 36px) [page-start-inset] minmax(36px, 108px) [body-start-outset] minmax(18px, 36px) [body-start] 1rem [body-content-start] minmax(500px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end] minmax(15px, 30px) [body-end-outset] minmax(30px, 90px) [page-end-inset] minmax(15px, 30px) [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start] minmax(36px, 72px) [page-start-inset] 36px [body-start-outset] 36px [body-start] 1rem [body-content-start] minmax(500px, calc(2000px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(30px, 60px) [page-end-inset] 30px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start] minmax(36px, 72px) [page-start-inset] 36px [body-start-outset] 36px [body-start] 1rem [body-content-start] minmax(500px, calc(2000px - 2rem)) [body-content-end] 1rem [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start] 36px [page-start-inset] minmax(36px, 108px) [body-start-outset] 36px [body-start] 1rem [body-content-start] minmax(500px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start] minmax(36px, 72px) [page-start-inset] 36px [body-start-outset] 36px [body-start] 1rem [body-content-start] minmax(450px, calc(1750px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(0px, 120px) [page-end-inset] 30px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start] minmax(36px, 72px) [page-start-inset] 36px [body-start-outset] 36px [body-start] 1rem [body-content-start] minmax(500px, calc(2000px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(0px, 120px) [page-end-inset] 30px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start] 36px [page-start-inset] minmax(36px, 108px) [body-start-outset] 36px [body-start] 1rem [body-content-start] minmax(450px, calc(1750px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(30px, 90px) [page-end-inset] 30px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start] minmax(18px, 36px) [page-start-inset] minmax(36px, 108px) [body-start-outset] minmax(18px, 36px) [body-start] 1rem [body-content-start] minmax(500px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end] minmax(15px, 30px) [body-end-outset] minmax(30px, 90px) [page-end-inset] minmax(15px, 30px) [page-end] 5fr [screen-end-inset] 1rem [screen-end]}}@media(max-width: 991.98px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1rem [body-content-start] minmax(500px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end] 21px [body-end-outset] minmax(45px, 87px) [page-end-inset] 21px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1rem [body-content-start] minmax(500px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1rem [body-content-start] minmax(500px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end] 21px [body-end-outset] minmax(45px, 87px) [page-end-inset] 21px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1rem [body-content-start] minmax(500px, calc(2250px - 2rem)) [body-content-end body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1rem [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start] 25.2px [page-start-inset] minmax(0px, 104.4px) [body-start-outset] 25.2px [body-start] 1rem [body-content-start] minmax(450px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1rem [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start] 25.2px [page-start-inset] minmax(0px, 104.4px) [body-start-outset] 25.2px [body-start] 1rem [body-content-start] minmax(450px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1rem [body-content-start] minmax(500px, calc(1750px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(45px, 90px) [page-end-inset] 15px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(1750px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(15px, 30px) [page-end-inset] 30px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(2000px - 2rem)) [body-content-end] 1rem [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] .6666666667rem [body-content-start] minmax(500px, calc(1800px - 2rem)) [body-content-end] 1rem [body-end body-end-outset page-end-inset page-end] 4fr [screen-end-inset] 1rem [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(1750px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(15px, 30px) [page-end-inset] 30px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(1750px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(15px, 30px) [page-end-inset] 30px [page-end] 5fr [screen-end-inset] 1rem [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] .6666666667rem [body-content-start] minmax(500px, calc(1750px - 2rem)) [body-content-end] 1rem [body-end] 21px [body-end-outset] minmax(45px, 87px) [page-end-inset] 21px [page-end] 4fr [screen-end-inset] 1rem [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] .6666666667rem [body-content-start] minmax(500px, calc(1750px - 2rem)) [body-content-end] 1rem [body-end] 30px [body-end-outset] minmax(45px, 90px) [page-end-inset] 15px [page-end] 4fr [screen-end-inset] 1rem [screen-end]}}@media(max-width: 767.98px){body .page-columns,body.fullcontent:not(.floating):not(.docked) .page-columns,body.slimcontent:not(.floating):not(.docked) .page-columns,body.docked .page-columns,body.docked.slimcontent .page-columns,body.docked.fullcontent .page-columns,body.floating .page-columns,body.floating.slimcontent .page-columns,body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1rem [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1rem [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1rem [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1rem [screen-end]}nav[role=doc-toc]{display:none}}body,.page-row-navigation{grid-template-rows:[page-top] max-content [contents-top] max-content [contents-bottom] max-content [page-bottom]}.page-rows-contents{grid-template-rows:[content-top] minmax(max-content, 1fr) [content-bottom] minmax(60px, max-content) [page-bottom]}.page-full{grid-column:screen-start/screen-end !important}.page-columns>*{grid-column:body-content-start/body-content-end}.page-columns.column-page>*{grid-column:page-start/page-end}.page-columns.column-page-left .page-columns.page-full>*,.page-columns.column-page-left>*{grid-column:page-start/body-content-end}.page-columns.column-page-right .page-columns.page-full>*,.page-columns.column-page-right>*{grid-column:body-content-start/page-end}.page-rows{grid-auto-rows:auto}.header{grid-column:screen-start/screen-end;grid-row:page-top/contents-top}#quarto-content{padding:0;grid-column:screen-start/screen-end;grid-row:contents-top/contents-bottom}body.floating .sidebar.sidebar-navigation{grid-column:page-start/body-start;grid-row:content-top/page-bottom}body.docked .sidebar.sidebar-navigation{grid-column:screen-start/body-start;grid-row:content-top/page-bottom}.sidebar.toc-left{grid-column:page-start/body-start;grid-row:content-top/page-bottom}.sidebar.margin-sidebar{grid-column:body-end/page-end;grid-row:content-top/page-bottom}.page-columns .content{grid-column:body-content-start/body-content-end;grid-row:content-top/content-bottom;align-content:flex-start}.page-columns .page-navigation{grid-column:body-content-start/body-content-end;grid-row:content-bottom/page-bottom}.page-columns .footer{grid-column:screen-start/screen-end;grid-row:contents-bottom/page-bottom}.page-columns .column-body{grid-column:body-content-start/body-content-end}.page-columns .column-body-fullbleed{grid-column:body-start/body-end}.page-columns .column-body-outset{grid-column:body-start-outset/body-end-outset;z-index:998;opacity:.999}.page-columns .column-body-outset table{background:#fff}.page-columns .column-body-outset-left{grid-column:body-start-outset/body-content-end;z-index:998;opacity:.999}.page-columns .column-body-outset-left table{background:#fff}.page-columns .column-body-outset-right{grid-column:body-content-start/body-end-outset;z-index:998;opacity:.999}.page-columns .column-body-outset-right table{background:#fff}.page-columns .column-page{grid-column:page-start/page-end;z-index:998;opacity:.999}.page-columns .column-page table{background:#fff}.page-columns .column-page-inset{grid-column:page-start-inset/page-end-inset;z-index:998;opacity:.999}.page-columns .column-page-inset table{background:#fff}.page-columns .column-page-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-page-inset-left table{background:#fff}.page-columns .column-page-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;opacity:.999}.page-columns .column-page-inset-right figcaption table{background:#fff}.page-columns .column-page-left{grid-column:page-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-page-left table{background:#fff}.page-columns .column-page-right{grid-column:body-content-start/page-end;z-index:998;opacity:.999}.page-columns .column-page-right figcaption table{background:#fff}#quarto-content.page-columns #quarto-margin-sidebar,#quarto-content.page-columns #quarto-sidebar{z-index:1}@media(max-width: 991.98px){#quarto-content.page-columns #quarto-margin-sidebar.collapse,#quarto-content.page-columns #quarto-sidebar.collapse,#quarto-content.page-columns #quarto-margin-sidebar.collapsing,#quarto-content.page-columns #quarto-sidebar.collapsing{z-index:1055}}#quarto-content.page-columns main.column-page,#quarto-content.page-columns main.column-page-right,#quarto-content.page-columns main.column-page-left{z-index:0}.page-columns .column-screen-inset{grid-column:screen-start-inset/screen-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:screen-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/screen-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:screen-start/screen-end;z-index:998;opacity:.999}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:screen-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/screen-end;z-index:998;opacity:.999}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:screen-start/screen-end;padding:1em;background:#f8f9fa;z-index:998;opacity:.999;margin-bottom:1em}.zindex-content{z-index:998;opacity:.999}.zindex-modal{z-index:1055;opacity:.999}.zindex-over-content{z-index:999;opacity:.999}img.img-fluid.column-screen,img.img-fluid.column-screen-inset-shaded,img.img-fluid.column-screen-inset,img.img-fluid.column-screen-inset-left,img.img-fluid.column-screen-inset-right,img.img-fluid.column-screen-left,img.img-fluid.column-screen-right{width:100%}@media(min-width: 992px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-end/page-end !important;z-index:998}.column-sidebar{grid-column:page-start/body-start !important;z-index:998}.column-leftmargin{grid-column:screen-start-inset/body-start !important;z-index:998}.no-row-height{height:1em;overflow:visible}}@media(max-width: 991.98px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-end/page-end !important;z-index:998}.no-row-height{height:1em;overflow:visible}.page-columns.page-full{overflow:visible}.page-columns.toc-left .margin-caption,.page-columns.toc-left div.aside,.page-columns.toc-left aside:not(.footnotes):not(.sidebar),.page-columns.toc-left .column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;opacity:.999}.page-columns.toc-left .no-row-height{height:initial;overflow:initial}}@media(max-width: 767.98px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;opacity:.999}.no-row-height{height:initial;overflow:initial}#quarto-margin-sidebar{display:none}#quarto-sidebar-toc-left{display:none}.hidden-sm{display:none}}.panel-grid{display:grid;grid-template-rows:repeat(1, 1fr);grid-template-columns:repeat(24, 1fr);gap:1em}.panel-grid .g-col-1{grid-column:auto/span 1}.panel-grid .g-col-2{grid-column:auto/span 2}.panel-grid .g-col-3{grid-column:auto/span 3}.panel-grid .g-col-4{grid-column:auto/span 4}.panel-grid .g-col-5{grid-column:auto/span 5}.panel-grid .g-col-6{grid-column:auto/span 6}.panel-grid .g-col-7{grid-column:auto/span 7}.panel-grid .g-col-8{grid-column:auto/span 8}.panel-grid .g-col-9{grid-column:auto/span 9}.panel-grid .g-col-10{grid-column:auto/span 10}.panel-grid .g-col-11{grid-column:auto/span 11}.panel-grid .g-col-12{grid-column:auto/span 12}.panel-grid .g-col-13{grid-column:auto/span 13}.panel-grid .g-col-14{grid-column:auto/span 14}.panel-grid .g-col-15{grid-column:auto/span 15}.panel-grid .g-col-16{grid-column:auto/span 16}.panel-grid .g-col-17{grid-column:auto/span 17}.panel-grid .g-col-18{grid-column:auto/span 18}.panel-grid .g-col-19{grid-column:auto/span 19}.panel-grid .g-col-20{grid-column:auto/span 20}.panel-grid .g-col-21{grid-column:auto/span 21}.panel-grid .g-col-22{grid-column:auto/span 22}.panel-grid .g-col-23{grid-column:auto/span 23}.panel-grid .g-col-24{grid-column:auto/span 24}.panel-grid .g-start-1{grid-column-start:1}.panel-grid .g-start-2{grid-column-start:2}.panel-grid .g-start-3{grid-column-start:3}.panel-grid .g-start-4{grid-column-start:4}.panel-grid .g-start-5{grid-column-start:5}.panel-grid .g-start-6{grid-column-start:6}.panel-grid .g-start-7{grid-column-start:7}.panel-grid .g-start-8{grid-column-start:8}.panel-grid .g-start-9{grid-column-start:9}.panel-grid .g-start-10{grid-column-start:10}.panel-grid .g-start-11{grid-column-start:11}.panel-grid .g-start-12{grid-column-start:12}.panel-grid .g-start-13{grid-column-start:13}.panel-grid .g-start-14{grid-column-start:14}.panel-grid .g-start-15{grid-column-start:15}.panel-grid .g-start-16{grid-column-start:16}.panel-grid .g-start-17{grid-column-start:17}.panel-grid .g-start-18{grid-column-start:18}.panel-grid .g-start-19{grid-column-start:19}.panel-grid .g-start-20{grid-column-start:20}.panel-grid .g-start-21{grid-column-start:21}.panel-grid .g-start-22{grid-column-start:22}.panel-grid .g-start-23{grid-column-start:23}@media(min-width: 576px){.panel-grid .g-col-sm-1{grid-column:auto/span 1}.panel-grid .g-col-sm-2{grid-column:auto/span 2}.panel-grid .g-col-sm-3{grid-column:auto/span 3}.panel-grid .g-col-sm-4{grid-column:auto/span 4}.panel-grid .g-col-sm-5{grid-column:auto/span 5}.panel-grid .g-col-sm-6{grid-column:auto/span 6}.panel-grid .g-col-sm-7{grid-column:auto/span 7}.panel-grid .g-col-sm-8{grid-column:auto/span 8}.panel-grid .g-col-sm-9{grid-column:auto/span 9}.panel-grid .g-col-sm-10{grid-column:auto/span 10}.panel-grid .g-col-sm-11{grid-column:auto/span 11}.panel-grid .g-col-sm-12{grid-column:auto/span 12}.panel-grid .g-col-sm-13{grid-column:auto/span 13}.panel-grid .g-col-sm-14{grid-column:auto/span 14}.panel-grid .g-col-sm-15{grid-column:auto/span 15}.panel-grid .g-col-sm-16{grid-column:auto/span 16}.panel-grid .g-col-sm-17{grid-column:auto/span 17}.panel-grid .g-col-sm-18{grid-column:auto/span 18}.panel-grid .g-col-sm-19{grid-column:auto/span 19}.panel-grid .g-col-sm-20{grid-column:auto/span 20}.panel-grid .g-col-sm-21{grid-column:auto/span 21}.panel-grid .g-col-sm-22{grid-column:auto/span 22}.panel-grid .g-col-sm-23{grid-column:auto/span 23}.panel-grid .g-col-sm-24{grid-column:auto/span 24}.panel-grid .g-start-sm-1{grid-column-start:1}.panel-grid .g-start-sm-2{grid-column-start:2}.panel-grid .g-start-sm-3{grid-column-start:3}.panel-grid .g-start-sm-4{grid-column-start:4}.panel-grid .g-start-sm-5{grid-column-start:5}.panel-grid .g-start-sm-6{grid-column-start:6}.panel-grid .g-start-sm-7{grid-column-start:7}.panel-grid .g-start-sm-8{grid-column-start:8}.panel-grid .g-start-sm-9{grid-column-start:9}.panel-grid .g-start-sm-10{grid-column-start:10}.panel-grid .g-start-sm-11{grid-column-start:11}.panel-grid .g-start-sm-12{grid-column-start:12}.panel-grid .g-start-sm-13{grid-column-start:13}.panel-grid .g-start-sm-14{grid-column-start:14}.panel-grid .g-start-sm-15{grid-column-start:15}.panel-grid .g-start-sm-16{grid-column-start:16}.panel-grid .g-start-sm-17{grid-column-start:17}.panel-grid .g-start-sm-18{grid-column-start:18}.panel-grid .g-start-sm-19{grid-column-start:19}.panel-grid .g-start-sm-20{grid-column-start:20}.panel-grid .g-start-sm-21{grid-column-start:21}.panel-grid .g-start-sm-22{grid-column-start:22}.panel-grid .g-start-sm-23{grid-column-start:23}}@media(min-width: 768px){.panel-grid .g-col-md-1{grid-column:auto/span 1}.panel-grid .g-col-md-2{grid-column:auto/span 2}.panel-grid .g-col-md-3{grid-column:auto/span 3}.panel-grid .g-col-md-4{grid-column:auto/span 4}.panel-grid .g-col-md-5{grid-column:auto/span 5}.panel-grid .g-col-md-6{grid-column:auto/span 6}.panel-grid .g-col-md-7{grid-column:auto/span 7}.panel-grid .g-col-md-8{grid-column:auto/span 8}.panel-grid .g-col-md-9{grid-column:auto/span 9}.panel-grid .g-col-md-10{grid-column:auto/span 10}.panel-grid .g-col-md-11{grid-column:auto/span 11}.panel-grid .g-col-md-12{grid-column:auto/span 12}.panel-grid .g-col-md-13{grid-column:auto/span 13}.panel-grid .g-col-md-14{grid-column:auto/span 14}.panel-grid .g-col-md-15{grid-column:auto/span 15}.panel-grid .g-col-md-16{grid-column:auto/span 16}.panel-grid .g-col-md-17{grid-column:auto/span 17}.panel-grid .g-col-md-18{grid-column:auto/span 18}.panel-grid .g-col-md-19{grid-column:auto/span 19}.panel-grid .g-col-md-20{grid-column:auto/span 20}.panel-grid .g-col-md-21{grid-column:auto/span 21}.panel-grid .g-col-md-22{grid-column:auto/span 22}.panel-grid .g-col-md-23{grid-column:auto/span 23}.panel-grid .g-col-md-24{grid-column:auto/span 24}.panel-grid .g-start-md-1{grid-column-start:1}.panel-grid .g-start-md-2{grid-column-start:2}.panel-grid .g-start-md-3{grid-column-start:3}.panel-grid .g-start-md-4{grid-column-start:4}.panel-grid .g-start-md-5{grid-column-start:5}.panel-grid .g-start-md-6{grid-column-start:6}.panel-grid .g-start-md-7{grid-column-start:7}.panel-grid .g-start-md-8{grid-column-start:8}.panel-grid .g-start-md-9{grid-column-start:9}.panel-grid .g-start-md-10{grid-column-start:10}.panel-grid .g-start-md-11{grid-column-start:11}.panel-grid .g-start-md-12{grid-column-start:12}.panel-grid .g-start-md-13{grid-column-start:13}.panel-grid .g-start-md-14{grid-column-start:14}.panel-grid .g-start-md-15{grid-column-start:15}.panel-grid .g-start-md-16{grid-column-start:16}.panel-grid .g-start-md-17{grid-column-start:17}.panel-grid .g-start-md-18{grid-column-start:18}.panel-grid .g-start-md-19{grid-column-start:19}.panel-grid .g-start-md-20{grid-column-start:20}.panel-grid .g-start-md-21{grid-column-start:21}.panel-grid .g-start-md-22{grid-column-start:22}.panel-grid .g-start-md-23{grid-column-start:23}}@media(min-width: 992px){.panel-grid .g-col-lg-1{grid-column:auto/span 1}.panel-grid .g-col-lg-2{grid-column:auto/span 2}.panel-grid .g-col-lg-3{grid-column:auto/span 3}.panel-grid .g-col-lg-4{grid-column:auto/span 4}.panel-grid .g-col-lg-5{grid-column:auto/span 5}.panel-grid .g-col-lg-6{grid-column:auto/span 6}.panel-grid .g-col-lg-7{grid-column:auto/span 7}.panel-grid .g-col-lg-8{grid-column:auto/span 8}.panel-grid .g-col-lg-9{grid-column:auto/span 9}.panel-grid .g-col-lg-10{grid-column:auto/span 10}.panel-grid .g-col-lg-11{grid-column:auto/span 11}.panel-grid .g-col-lg-12{grid-column:auto/span 12}.panel-grid .g-col-lg-13{grid-column:auto/span 13}.panel-grid .g-col-lg-14{grid-column:auto/span 14}.panel-grid .g-col-lg-15{grid-column:auto/span 15}.panel-grid .g-col-lg-16{grid-column:auto/span 16}.panel-grid .g-col-lg-17{grid-column:auto/span 17}.panel-grid .g-col-lg-18{grid-column:auto/span 18}.panel-grid .g-col-lg-19{grid-column:auto/span 19}.panel-grid .g-col-lg-20{grid-column:auto/span 20}.panel-grid .g-col-lg-21{grid-column:auto/span 21}.panel-grid .g-col-lg-22{grid-column:auto/span 22}.panel-grid .g-col-lg-23{grid-column:auto/span 23}.panel-grid .g-col-lg-24{grid-column:auto/span 24}.panel-grid .g-start-lg-1{grid-column-start:1}.panel-grid .g-start-lg-2{grid-column-start:2}.panel-grid .g-start-lg-3{grid-column-start:3}.panel-grid .g-start-lg-4{grid-column-start:4}.panel-grid .g-start-lg-5{grid-column-start:5}.panel-grid .g-start-lg-6{grid-column-start:6}.panel-grid .g-start-lg-7{grid-column-start:7}.panel-grid .g-start-lg-8{grid-column-start:8}.panel-grid .g-start-lg-9{grid-column-start:9}.panel-grid .g-start-lg-10{grid-column-start:10}.panel-grid .g-start-lg-11{grid-column-start:11}.panel-grid .g-start-lg-12{grid-column-start:12}.panel-grid .g-start-lg-13{grid-column-start:13}.panel-grid .g-start-lg-14{grid-column-start:14}.panel-grid .g-start-lg-15{grid-column-start:15}.panel-grid .g-start-lg-16{grid-column-start:16}.panel-grid .g-start-lg-17{grid-column-start:17}.panel-grid .g-start-lg-18{grid-column-start:18}.panel-grid .g-start-lg-19{grid-column-start:19}.panel-grid .g-start-lg-20{grid-column-start:20}.panel-grid .g-start-lg-21{grid-column-start:21}.panel-grid .g-start-lg-22{grid-column-start:22}.panel-grid .g-start-lg-23{grid-column-start:23}}@media(min-width: 1200px){.panel-grid .g-col-xl-1{grid-column:auto/span 1}.panel-grid .g-col-xl-2{grid-column:auto/span 2}.panel-grid .g-col-xl-3{grid-column:auto/span 3}.panel-grid .g-col-xl-4{grid-column:auto/span 4}.panel-grid .g-col-xl-5{grid-column:auto/span 5}.panel-grid .g-col-xl-6{grid-column:auto/span 6}.panel-grid .g-col-xl-7{grid-column:auto/span 7}.panel-grid .g-col-xl-8{grid-column:auto/span 8}.panel-grid .g-col-xl-9{grid-column:auto/span 9}.panel-grid .g-col-xl-10{grid-column:auto/span 10}.panel-grid .g-col-xl-11{grid-column:auto/span 11}.panel-grid .g-col-xl-12{grid-column:auto/span 12}.panel-grid .g-col-xl-13{grid-column:auto/span 13}.panel-grid .g-col-xl-14{grid-column:auto/span 14}.panel-grid .g-col-xl-15{grid-column:auto/span 15}.panel-grid .g-col-xl-16{grid-column:auto/span 16}.panel-grid .g-col-xl-17{grid-column:auto/span 17}.panel-grid .g-col-xl-18{grid-column:auto/span 18}.panel-grid .g-col-xl-19{grid-column:auto/span 19}.panel-grid .g-col-xl-20{grid-column:auto/span 20}.panel-grid .g-col-xl-21{grid-column:auto/span 21}.panel-grid .g-col-xl-22{grid-column:auto/span 22}.panel-grid .g-col-xl-23{grid-column:auto/span 23}.panel-grid .g-col-xl-24{grid-column:auto/span 24}.panel-grid .g-start-xl-1{grid-column-start:1}.panel-grid .g-start-xl-2{grid-column-start:2}.panel-grid .g-start-xl-3{grid-column-start:3}.panel-grid .g-start-xl-4{grid-column-start:4}.panel-grid .g-start-xl-5{grid-column-start:5}.panel-grid .g-start-xl-6{grid-column-start:6}.panel-grid .g-start-xl-7{grid-column-start:7}.panel-grid .g-start-xl-8{grid-column-start:8}.panel-grid .g-start-xl-9{grid-column-start:9}.panel-grid .g-start-xl-10{grid-column-start:10}.panel-grid .g-start-xl-11{grid-column-start:11}.panel-grid .g-start-xl-12{grid-column-start:12}.panel-grid .g-start-xl-13{grid-column-start:13}.panel-grid .g-start-xl-14{grid-column-start:14}.panel-grid .g-start-xl-15{grid-column-start:15}.panel-grid .g-start-xl-16{grid-column-start:16}.panel-grid .g-start-xl-17{grid-column-start:17}.panel-grid .g-start-xl-18{grid-column-start:18}.panel-grid .g-start-xl-19{grid-column-start:19}.panel-grid .g-start-xl-20{grid-column-start:20}.panel-grid .g-start-xl-21{grid-column-start:21}.panel-grid .g-start-xl-22{grid-column-start:22}.panel-grid .g-start-xl-23{grid-column-start:23}}@media(min-width: 1400px){.panel-grid .g-col-xxl-1{grid-column:auto/span 1}.panel-grid .g-col-xxl-2{grid-column:auto/span 2}.panel-grid .g-col-xxl-3{grid-column:auto/span 3}.panel-grid .g-col-xxl-4{grid-column:auto/span 4}.panel-grid .g-col-xxl-5{grid-column:auto/span 5}.panel-grid .g-col-xxl-6{grid-column:auto/span 6}.panel-grid .g-col-xxl-7{grid-column:auto/span 7}.panel-grid .g-col-xxl-8{grid-column:auto/span 8}.panel-grid .g-col-xxl-9{grid-column:auto/span 9}.panel-grid .g-col-xxl-10{grid-column:auto/span 10}.panel-grid .g-col-xxl-11{grid-column:auto/span 11}.panel-grid .g-col-xxl-12{grid-column:auto/span 12}.panel-grid .g-col-xxl-13{grid-column:auto/span 13}.panel-grid .g-col-xxl-14{grid-column:auto/span 14}.panel-grid .g-col-xxl-15{grid-column:auto/span 15}.panel-grid .g-col-xxl-16{grid-column:auto/span 16}.panel-grid .g-col-xxl-17{grid-column:auto/span 17}.panel-grid .g-col-xxl-18{grid-column:auto/span 18}.panel-grid .g-col-xxl-19{grid-column:auto/span 19}.panel-grid .g-col-xxl-20{grid-column:auto/span 20}.panel-grid .g-col-xxl-21{grid-column:auto/span 21}.panel-grid .g-col-xxl-22{grid-column:auto/span 22}.panel-grid .g-col-xxl-23{grid-column:auto/span 23}.panel-grid .g-col-xxl-24{grid-column:auto/span 24}.panel-grid .g-start-xxl-1{grid-column-start:1}.panel-grid .g-start-xxl-2{grid-column-start:2}.panel-grid .g-start-xxl-3{grid-column-start:3}.panel-grid .g-start-xxl-4{grid-column-start:4}.panel-grid .g-start-xxl-5{grid-column-start:5}.panel-grid .g-start-xxl-6{grid-column-start:6}.panel-grid .g-start-xxl-7{grid-column-start:7}.panel-grid .g-start-xxl-8{grid-column-start:8}.panel-grid .g-start-xxl-9{grid-column-start:9}.panel-grid .g-start-xxl-10{grid-column-start:10}.panel-grid .g-start-xxl-11{grid-column-start:11}.panel-grid .g-start-xxl-12{grid-column-start:12}.panel-grid .g-start-xxl-13{grid-column-start:13}.panel-grid .g-start-xxl-14{grid-column-start:14}.panel-grid .g-start-xxl-15{grid-column-start:15}.panel-grid .g-start-xxl-16{grid-column-start:16}.panel-grid .g-start-xxl-17{grid-column-start:17}.panel-grid .g-start-xxl-18{grid-column-start:18}.panel-grid .g-start-xxl-19{grid-column-start:19}.panel-grid .g-start-xxl-20{grid-column-start:20}.panel-grid .g-start-xxl-21{grid-column-start:21}.panel-grid .g-start-xxl-22{grid-column-start:22}.panel-grid .g-start-xxl-23{grid-column-start:23}}main{margin-top:1em;margin-bottom:1em}h1,.h1,h2,.h2{color:inherit;margin-top:2rem;margin-bottom:1rem;font-weight:600}h1.title,.title.h1{margin-top:0}main.content>section:first-of-type>h2:first-child,main.content>section:first-of-type>.h2:first-child{margin-top:0}h2,.h2{border-bottom:1px solid #dee2e6;padding-bottom:.5rem}h3,.h3{font-weight:600}h3,.h3,h4,.h4{opacity:.9;margin-top:1.5rem}h5,.h5,h6,.h6{opacity:.9}.header-section-number{color:#6d7a86}.nav-link.active .header-section-number{color:inherit}mark,.mark{padding:0em}.panel-caption,.figure-caption,.subfigure-caption,.table-caption,figcaption,caption{font-size:.9rem;color:#6d7a86}.quarto-layout-cell[data-ref-parent] caption{color:#6d7a86}.column-margin figcaption,.margin-caption,div.aside,aside,.column-margin{color:#6d7a86;font-size:.825rem}.panel-caption.margin-caption{text-align:inherit}.column-margin.column-container p{margin-bottom:0}.column-margin.column-container>*:not(.collapse):first-child{padding-bottom:.5em;display:block}.column-margin.column-container>*:not(.collapse):not(:first-child){padding-top:.5em;padding-bottom:.5em;display:block}.column-margin.column-container>*.collapse:not(.show){display:none}@media(min-width: 768px){.column-margin.column-container .callout-margin-content:first-child{margin-top:4.5em}.column-margin.column-container .callout-margin-content-simple:first-child{margin-top:3.5em}}.margin-caption>*{padding-top:.5em;padding-bottom:.5em}@media(max-width: 767.98px){.quarto-layout-row{flex-direction:column}}.nav-tabs .nav-item{margin-top:1px;cursor:pointer}.tab-content{margin-top:0px;border-left:#dee2e6 1px solid;border-right:#dee2e6 1px solid;border-bottom:#dee2e6 1px solid;margin-left:0;padding:1em;margin-bottom:1em}@media(max-width: 767.98px){.layout-sidebar{margin-left:0;margin-right:0}}.panel-sidebar,.panel-sidebar .form-control,.panel-input,.panel-input .form-control,.selectize-dropdown{font-size:.9rem}.panel-sidebar .form-control,.panel-input .form-control{padding-top:.1rem}.tab-pane div.sourceCode{margin-top:0px}.tab-pane>p{padding-top:0}.tab-pane>p:nth-child(1){padding-top:0}.tab-pane>p:last-child{margin-bottom:0}.tab-pane>pre:last-child{margin-bottom:0}.tab-content>.tab-pane:not(.active){display:none !important}div.sourceCode{background-color:rgba(233,236,239,.65);border:1px solid rgba(233,236,239,.65);border-radius:.25rem}pre.sourceCode{background-color:rgba(0,0,0,0)}pre.sourceCode{border-left:3px;border-left-style:solid;border-left-color:#31bae9;padding-left:.6em;border-right:none;border-top:none;border-bottom:none;font-size:.875em;overflow:visible !important;padding:.4em}.callout pre.sourceCode{padding-left:0}div.sourceCode{overflow-y:hidden}.callout div.sourceCode{margin-left:initial}.blockquote{font-size:inherit;padding-left:1rem;padding-right:1.5rem;color:#6d7a86}.blockquote h1:first-child,.blockquote .h1:first-child,.blockquote h2:first-child,.blockquote .h2:first-child,.blockquote h3:first-child,.blockquote .h3:first-child,.blockquote h4:first-child,.blockquote .h4:first-child,.blockquote h5:first-child,.blockquote .h5:first-child{margin-top:0}pre{background-color:initial;padding:initial;border:initial}p pre code:not(.sourceCode),li pre code:not(.sourceCode),pre code:not(.sourceCode){background-color:initial}p code:not(.sourceCode),li code:not(.sourceCode),td code:not(.sourceCode){background-color:#f8f9fa;padding:.2em}nav p code:not(.sourceCode),nav li code:not(.sourceCode),nav td code:not(.sourceCode){background-color:rgba(0,0,0,0);padding:0}td code:not(.sourceCode){white-space:pre-wrap}#quarto-embedded-source-code-modal>.modal-dialog{max-width:1000px;padding-left:1.75rem;padding-right:1.75rem}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body{padding:0}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body div.sourceCode{margin:0;padding:.2rem .2rem;border-radius:0px;border:none}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-header{padding:.7rem}.code-tools-button{font-size:1rem;padding:.15rem .15rem;margin-left:5px;color:#6c757d;background-color:rgba(0,0,0,0);transition:initial;cursor:pointer}.code-tools-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(108, 117, 125)" viewBox="0 0 16 16"><path d="M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z"/></svg>');background-repeat:no-repeat;background-size:1rem 1rem}.code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(52, 58, 64)" viewBox="0 0 16 16"><path d="M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z"/></svg>')}#quarto-embedded-source-code-modal .code-copy-button>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(108, 117, 125)" viewBox="0 0 16 16"><path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/><path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/></svg>')}#quarto-embedded-source-code-modal .code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(108, 117, 125)" viewBox="0 0 16 16"><path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/></svg>')}.sidebar{will-change:top;transition:top 200ms linear;position:sticky;overflow-y:auto;padding-top:1.2em;max-height:100vh}.sidebar.toc-left,.sidebar.margin-sidebar{top:0px;padding-top:1em}.sidebar.quarto-banner-title-block-sidebar>*{padding-top:1.65em}figure .quarto-notebook-link{margin-top:.5em}.quarto-notebook-link{font-size:.75em;color:#6c757d;margin-bottom:1em;text-decoration:none;display:block}.quarto-notebook-link:hover{text-decoration:underline;color:#2761e3}.quarto-notebook-link::before{display:inline-block;height:.75rem;width:.75rem;margin-bottom:0em;margin-right:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(108, 117, 125)" class="bi bi-journal-code" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.646 5.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 0 1 0-.708zm-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 8l1.647-1.646a.5.5 0 0 0 0-.708z"/><path d="M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z"/><path d="M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z"/></svg>');background-repeat:no-repeat;background-size:.75rem .75rem}.toc-actions i.bi,.quarto-code-links i.bi,.quarto-other-links i.bi,.quarto-alternate-notebooks i.bi,.quarto-alternate-formats i.bi{margin-right:.4em;font-size:.8rem}.quarto-other-links-text-target .quarto-code-links i.bi,.quarto-other-links-text-target .quarto-other-links i.bi{margin-right:.2em}.quarto-other-formats-text-target .quarto-alternate-formats i.bi{margin-right:.1em}.toc-actions i.bi.empty,.quarto-code-links i.bi.empty,.quarto-other-links i.bi.empty,.quarto-alternate-notebooks i.bi.empty,.quarto-alternate-formats i.bi.empty{padding-left:1em}.quarto-notebook h2,.quarto-notebook .h2{border-bottom:none}.quarto-notebook .cell-container{display:flex}.quarto-notebook .cell-container .cell{flex-grow:4}.quarto-notebook .cell-container .cell-decorator{padding-top:1.5em;padding-right:1em;text-align:right}.quarto-notebook .cell-container.code-fold .cell-decorator{padding-top:3em}.quarto-notebook .cell-code code{white-space:pre-wrap}.quarto-notebook .cell .cell-output-stderr pre code,.quarto-notebook .cell .cell-output-stdout pre code{white-space:pre-wrap;overflow-wrap:anywhere}.toc-actions,.quarto-alternate-formats,.quarto-other-links,.quarto-code-links,.quarto-alternate-notebooks{padding-left:0em}.sidebar .toc-actions a,.sidebar .quarto-alternate-formats a,.sidebar .quarto-other-links a,.sidebar .quarto-code-links a,.sidebar .quarto-alternate-notebooks a,.sidebar nav[role=doc-toc] a{text-decoration:none}.sidebar .toc-actions a:hover,.sidebar .quarto-other-links a:hover,.sidebar .quarto-code-links a:hover,.sidebar .quarto-alternate-formats a:hover,.sidebar .quarto-alternate-notebooks a:hover{color:#2761e3}.sidebar .toc-actions h2,.sidebar .toc-actions .h2,.sidebar .quarto-code-links h2,.sidebar .quarto-code-links .h2,.sidebar .quarto-other-links h2,.sidebar .quarto-other-links .h2,.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2,.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-weight:500;margin-bottom:.2rem;margin-top:.3rem;font-family:inherit;border-bottom:0;padding-bottom:0;padding-top:0px}.sidebar .toc-actions>h2,.sidebar .toc-actions>.h2,.sidebar .quarto-code-links>h2,.sidebar .quarto-code-links>.h2,.sidebar .quarto-other-links>h2,.sidebar .quarto-other-links>.h2,.sidebar .quarto-alternate-notebooks>h2,.sidebar .quarto-alternate-notebooks>.h2,.sidebar .quarto-alternate-formats>h2,.sidebar .quarto-alternate-formats>.h2{font-size:.8rem}.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-size:.875rem}.sidebar nav[role=doc-toc]>ul a{border-left:1px solid #e9ecef;padding-left:.6rem}.sidebar .toc-actions h2>ul a,.sidebar .toc-actions .h2>ul a,.sidebar .quarto-code-links h2>ul a,.sidebar .quarto-code-links .h2>ul a,.sidebar .quarto-other-links h2>ul a,.sidebar .quarto-other-links .h2>ul a,.sidebar .quarto-alternate-notebooks h2>ul a,.sidebar .quarto-alternate-notebooks .h2>ul a,.sidebar .quarto-alternate-formats h2>ul a,.sidebar .quarto-alternate-formats .h2>ul a{border-left:none;padding-left:.6rem}.sidebar .toc-actions ul a:empty,.sidebar .quarto-code-links ul a:empty,.sidebar .quarto-other-links ul a:empty,.sidebar .quarto-alternate-notebooks ul a:empty,.sidebar .quarto-alternate-formats ul a:empty,.sidebar nav[role=doc-toc]>ul a:empty{display:none}.sidebar .toc-actions ul,.sidebar .quarto-code-links ul,.sidebar .quarto-other-links ul,.sidebar .quarto-alternate-notebooks ul,.sidebar .quarto-alternate-formats ul{padding-left:0;list-style:none}.sidebar nav[role=doc-toc] ul{list-style:none;padding-left:0;list-style:none}.sidebar nav[role=doc-toc]>ul{margin-left:.45em}.quarto-margin-sidebar nav[role=doc-toc]{padding-left:.5em}.sidebar .toc-actions>ul,.sidebar .quarto-code-links>ul,.sidebar .quarto-other-links>ul,.sidebar .quarto-alternate-notebooks>ul,.sidebar .quarto-alternate-formats>ul{font-size:.8rem}.sidebar nav[role=doc-toc]>ul{font-size:.875rem}.sidebar .toc-actions ul li a,.sidebar .quarto-code-links ul li a,.sidebar .quarto-other-links ul li a,.sidebar .quarto-alternate-notebooks ul li a,.sidebar .quarto-alternate-formats ul li a,.sidebar nav[role=doc-toc]>ul li a{line-height:1.1rem;padding-bottom:.2rem;padding-top:.2rem;color:inherit}.sidebar nav[role=doc-toc] ul>li>ul>li>a{padding-left:1.2em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>a{padding-left:2.4em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>a{padding-left:3.6em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:4.8em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:6em}.sidebar nav[role=doc-toc] ul>li>a.active,.sidebar nav[role=doc-toc] ul>li>ul>li>a.active{border-left:1px solid #2761e3;color:#2761e3 !important}.sidebar nav[role=doc-toc] ul>li>a:hover,.sidebar nav[role=doc-toc] ul>li>ul>li>a:hover{color:#2761e3 !important}kbd,.kbd{color:#343a40;background-color:#f8f9fa;border:1px solid;border-radius:5px;border-color:#dee2e6}.quarto-appendix-contents div.hanging-indent{margin-left:0em}.quarto-appendix-contents div.hanging-indent div.csl-entry{margin-left:1em;text-indent:-1em}.citation a,.footnote-ref{text-decoration:none}.footnotes ol{padding-left:1em}.tippy-content>*{margin-bottom:.7em}.tippy-content>*:last-child{margin-bottom:0}@media(min-width: 992px){.callout:not(.no-icon){margin-left:calc(calc(-0.4em + -5px) + -1px)}.callout{margin-left:calc(-0.4em + -5px)}div.sourceCode{margin-left:calc(calc(-0.6em + -3px) + 2px)}}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:.4em .7em;border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout.callout-style-default{border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:.9rem;font-weight:400}.callout.callout-style-default .callout-body{font-size:.9rem;font-weight:400}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:.2em;margin-bottom:-0.2em}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:.9rem;padding-left:.5em;padding-right:.5em}.callout.callout-style-default .callout-body{padding-left:.5em;padding-right:.5em}.callout.callout-style-default .callout-body>:first-child{padding-top:.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle=collapse]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded=false],.callout.callout-style-default .callout-header[aria-expanded=true]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:.2rem}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:.9rem;width:.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:.9rem .9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform .2s linear}.callout .callout-header[aria-expanded=false] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded=true] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:.2em;padding-right:.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:.1em;padding-right:.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:.3em;padding-right:.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:#6c757d}div.callout.callout-style-default>.callout-header{background-color:#6c757d}div.callout-note.callout{border-left-color:#2780e3}div.callout-note.callout-style-default>.callout-header{background-color:#e9f2fc}div.callout-note:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %232373cc" class="bi bi-info-circle" viewBox="0 0 16 16"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/></svg>');}div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %232373cc" class="bi bi-info-circle" viewBox="0 0 16 16"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/></svg>');}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(52, 58, 64)" class="bi bi-chevron-down" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>')}div.callout-tip.callout{border-left-color:#3fb618}div.callout-tip.callout-style-default>.callout-header{background-color:#ecf8e8}div.callout-tip:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %2339a416" class="bi bi-lightbulb" viewBox="0 0 16 16"><path d="M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13a.5.5 0 0 1 0 1 .5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1 0-1 .5.5 0 0 1 0-1 .5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm6-5a5 5 0 0 0-3.479 8.592c.263.254.514.564.676.941L5.83 12h4.342l.632-1.467c.162-.377.413-.687.676-.941A5 5 0 0 0 8 1z"/></svg>');}div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %2339a416" class="bi bi-lightbulb" viewBox="0 0 16 16"><path d="M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13a.5.5 0 0 1 0 1 .5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1 0-1 .5.5 0 0 1 0-1 .5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm6-5a5 5 0 0 0-3.479 8.592c.263.254.514.564.676.941L5.83 12h4.342l.632-1.467c.162-.377.413-.687.676-.941A5 5 0 0 0 8 1z"/></svg>');}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(52, 58, 64)" class="bi bi-chevron-down" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>')}div.callout-warning.callout{border-left-color:#ff7518}div.callout-warning.callout-style-default>.callout-header{background-color:#fff1e8}div.callout-warning:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %23e66916" class="bi bi-exclamation-triangle" viewBox="0 0 16 16"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017.163.163 0 0 1-.054-.06.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z"/><path d="M7.002 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z"/></svg>');}div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %23e66916" class="bi bi-exclamation-triangle" viewBox="0 0 16 16"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017.163.163 0 0 1-.054-.06.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z"/><path d="M7.002 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z"/></svg>');}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(52, 58, 64)" class="bi bi-chevron-down" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>')}div.callout-caution.callout{border-left-color:#f0ad4e}div.callout-caution.callout-style-default>.callout-header{background-color:#fef7ed}div.callout-caution:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %23d89c46" class="bi bi-cone-striped" viewBox="0 0 16 16"><path d="M9.97 4.88l.953 3.811C10.158 8.878 9.14 9 8 9c-1.14 0-2.159-.122-2.923-.309L6.03 4.88C6.635 4.957 7.3 5 8 5s1.365-.043 1.97-.12zm-.245-.978L8.97.88C8.718-.13 7.282-.13 7.03.88L6.274 3.9C6.8 3.965 7.382 4 8 4c.618 0 1.2-.036 1.725-.098zm4.396 8.613a.5.5 0 0 1 .037.96l-6 2a.5.5 0 0 1-.316 0l-6-2a.5.5 0 0 1 .037-.96l2.391-.598.565-2.257c.862.212 1.964.339 3.165.339s2.303-.127 3.165-.339l.565 2.257 2.391.598z"/></svg>');}div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %23d89c46" class="bi bi-cone-striped" viewBox="0 0 16 16"><path d="M9.97 4.88l.953 3.811C10.158 8.878 9.14 9 8 9c-1.14 0-2.159-.122-2.923-.309L6.03 4.88C6.635 4.957 7.3 5 8 5s1.365-.043 1.97-.12zm-.245-.978L8.97.88C8.718-.13 7.282-.13 7.03.88L6.274 3.9C6.8 3.965 7.382 4 8 4c.618 0 1.2-.036 1.725-.098zm4.396 8.613a.5.5 0 0 1 .037.96l-6 2a.5.5 0 0 1-.316 0l-6-2a.5.5 0 0 1 .037-.96l2.391-.598.565-2.257c.862.212 1.964.339 3.165.339s2.303-.127 3.165-.339l.565 2.257 2.391.598z"/></svg>');}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(52, 58, 64)" class="bi bi-chevron-down" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>')}div.callout-important.callout{border-left-color:#ff0039}div.callout-important.callout-style-default>.callout-header{background-color:#ffe6eb}div.callout-important:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %23e60033" class="bi bi-exclamation-circle" viewBox="0 0 16 16"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z"/></svg>');}div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" style="fill: %23e60033" class="bi bi-exclamation-circle" viewBox="0 0 16 16"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z"/></svg>');}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(52, 58, 64)" class="bi bi-chevron-down" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>')}.quarto-toggle-container{display:flex;align-items:center}.quarto-reader-toggle .bi::before,.quarto-color-scheme-toggle .bi::before{display:inline-block;height:1rem;width:1rem;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.sidebar-navigation{padding-left:20px}.navbar{background-color:#2780e3;color:#fdfeff}.navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(253, 254, 255, 1)" class="bi bi-toggle-off" viewBox="0 0 16 16"><path d="M11 4a4 4 0 0 1 0 8H8a4.992 4.992 0 0 0 2-4 4.992 4.992 0 0 0-2-4h3zm-6 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM0 8a5 5 0 0 0 5 5h6a5 5 0 0 0 0-10H5a5 5 0 0 0-5 5z"/></svg>')}.navbar .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(253, 254, 255, 1)" class="bi bi-toggle-on" viewBox="0 0 16 16"><path d="M5 3a5 5 0 0 0 0 10h6a5 5 0 0 0 0-10H5zm6 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"/></svg>')}.sidebar-navigation .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(75, 84, 92, 1)" class="bi bi-toggle-off" viewBox="0 0 16 16"><path d="M11 4a4 4 0 0 1 0 8H8a4.992 4.992 0 0 0 2-4 4.992 4.992 0 0 0-2-4h3zm-6 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM0 8a5 5 0 0 0 5 5h6a5 5 0 0 0 0-10H5a5 5 0 0 0-5 5z"/></svg>')}.sidebar-navigation .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(75, 84, 92, 1)" class="bi bi-toggle-on" viewBox="0 0 16 16"><path d="M5 3a5 5 0 0 0 0 10h6a5 5 0 0 0 0-10H5zm6 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"/></svg>')}.quarto-sidebar-toggle{border-color:#dee2e6;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-style:solid;border-width:1px;overflow:hidden;border-top-width:0px;padding-top:0px !important}.quarto-sidebar-toggle-title{cursor:pointer;padding-bottom:2px;margin-left:.25em;text-align:center;font-weight:400;font-size:.775em}#quarto-content .quarto-sidebar-toggle{background:#fafafa}#quarto-content .quarto-sidebar-toggle-title{color:#343a40}.quarto-sidebar-toggle-icon{color:#dee2e6;margin-right:.5em;float:right;transition:transform .2s ease}.quarto-sidebar-toggle-icon::before{padding-top:5px}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-icon{transform:rotate(-180deg)}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-title{border-bottom:solid #dee2e6 1px}.quarto-sidebar-toggle-contents{background-color:#fff;padding-right:10px;padding-left:10px;margin-top:0px !important;transition:max-height .5s ease}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-contents{padding-top:1em;padding-bottom:10px}@media(max-width: 767.98px){.sidebar-menu-container{padding-bottom:5em}}.quarto-sidebar-toggle:not(.expanded) .quarto-sidebar-toggle-contents{padding-top:0px !important;padding-bottom:0px}nav[role=doc-toc]{z-index:1020}#quarto-sidebar>*,nav[role=doc-toc]>*{transition:opacity .1s ease,border .1s ease}#quarto-sidebar.slow>*,nav[role=doc-toc].slow>*{transition:opacity .4s ease,border .4s ease}.quarto-color-scheme-toggle:not(.alternate).top-right .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(136, 147, 158, 1)" class="bi bi-toggle-off" viewBox="0 0 16 16"><path d="M11 4a4 4 0 0 1 0 8H8a4.992 4.992 0 0 0 2-4 4.992 4.992 0 0 0-2-4h3zm-6 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM0 8a5 5 0 0 0 5 5h6a5 5 0 0 0 0-10H5a5 5 0 0 0-5 5z"/></svg>')}.quarto-color-scheme-toggle.alternate.top-right .bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgba(98, 109, 120, 1)" class="bi bi-toggle-on" viewBox="0 0 16 16"><path d="M5 3a5 5 0 0 0 0 10h6a5 5 0 0 0 0-10H5zm6 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"/></svg>')}#quarto-appendix.default{border-top:1px solid #dee2e6}#quarto-appendix.default{background-color:#fff;padding-top:1.5em;margin-top:2em;z-index:998}#quarto-appendix.default .quarto-appendix-heading{margin-top:0;line-height:1.4em;font-weight:600;opacity:.9;border-bottom:none;margin-bottom:0}#quarto-appendix.default .footnotes ol,#quarto-appendix.default .footnotes ol li>p:last-of-type,#quarto-appendix.default .quarto-appendix-contents>p:last-of-type{margin-bottom:0}#quarto-appendix.default .footnotes ol{margin-left:.5em}#quarto-appendix.default .quarto-appendix-secondary-label{margin-bottom:.4em}#quarto-appendix.default .quarto-appendix-bibtex{font-size:.7em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-bibtex code.sourceCode{white-space:pre-wrap}#quarto-appendix.default .quarto-appendix-citeas{font-size:.9em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-heading{font-size:1em !important}#quarto-appendix.default *[role=doc-endnotes]>ol,#quarto-appendix.default .quarto-appendix-contents>*:not(h2):not(.h2){font-size:.9em}#quarto-appendix.default section{padding-bottom:1.5em}#quarto-appendix.default section *[role=doc-endnotes],#quarto-appendix.default section>*:not(a){opacity:.9;word-wrap:break-word}.btn.btn-quarto,div.cell-output-display .btn-quarto{--bs-btn-color: #cacccd;--bs-btn-bg: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #cacccd;--bs-btn-hover-bg: #52585d;--bs-btn-hover-border-color: #484e53;--bs-btn-focus-shadow-rgb: 75, 80, 85;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5d6166;--bs-btn-active-border-color: #484e53;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343a40;--bs-btn-disabled-border-color: #343a40}nav.quarto-secondary-nav.color-navbar{background-color:#2780e3;color:#fdfeff}nav.quarto-secondary-nav.color-navbar h1,nav.quarto-secondary-nav.color-navbar .h1,nav.quarto-secondary-nav.color-navbar .quarto-btn-toggle{color:#fdfeff}@media(max-width: 991.98px){body.nav-sidebar .quarto-title-banner{margin-bottom:0;padding-bottom:1em}body.nav-sidebar #title-block-header{margin-block-end:0}}p.subtitle{margin-top:.25em;margin-bottom:.5em}code a:any-link{color:inherit;text-decoration-color:#6c757d}/*! light */div.observablehq table thead tr th{background-color:var(--bs-body-bg)}input,button,select,optgroup,textarea{background-color:var(--bs-body-bg)}.code-annotated .code-copy-button{margin-right:1.25em;margin-top:0;padding-bottom:0;padding-top:3px}.code-annotation-gutter-bg{background-color:#fff}.code-annotation-gutter{background-color:rgba(233,236,239,.65)}.code-annotation-gutter,.code-annotation-gutter-bg{height:100%;width:calc(20px + .5em);position:absolute;top:0;right:0}dl.code-annotation-container-grid dt{margin-right:1em;margin-top:.25rem}dl.code-annotation-container-grid dt{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:#4b545c;border:solid #4b545c 1px;border-radius:50%;height:22px;width:22px;line-height:22px;font-size:11px;text-align:center;vertical-align:middle;text-decoration:none}dl.code-annotation-container-grid dt[data-target-cell]{cursor:pointer}dl.code-annotation-container-grid dt[data-target-cell].code-annotation-active{color:#fff;border:solid #aaa 1px;background-color:#aaa}pre.code-annotation-code{padding-top:0;padding-bottom:0}pre.code-annotation-code code{z-index:3}#code-annotation-line-highlight-gutter{width:100%;border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}#code-annotation-line-highlight{margin-left:-4em;width:calc(100% + 4em);border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#e9ecef;font-weight:bolder}code.sourceCode .code-annotation-anchor{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;height:18px;width:18px;font-size:9px;margin-top:2px}code.sourceCode button.code-annotation-anchor{padding:2px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none}code.sourceCode a.code-annotation-anchor{line-height:18px;text-align:center;vertical-align:middle;cursor:default;text-decoration:none}@media print{.page-columns .column-screen-inset{grid-column:page-start-inset/page-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:page-start/page-end;z-index:998;opacity:.999}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:page-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/page-end;z-index:998;opacity:.999}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:page-start-inset/page-end-inset;padding:1em;background:#f8f9fa;z-index:998;opacity:.999;margin-bottom:1em}}.quarto-video{margin-bottom:1em}.table{border-top:1px solid #ebedee;border-bottom:1px solid #ebedee}.table>thead{border-top-width:0;border-bottom:1px solid #b2bac1}.table a{word-break:break-word}.table>:not(caption)>*>*{background-color:unset;color:unset}#quarto-document-content .crosstalk-input .checkbox input[type=checkbox],#quarto-document-content .crosstalk-input .checkbox-inline input[type=checkbox]{position:unset;margin-top:unset;margin-left:unset}#quarto-document-content .row{margin-left:unset;margin-right:unset}.quarto-xref{white-space:nowrap}a.external:after{content:"";background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(39, 97, 227)" class="bi bi-box-arrow-up-right" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z"/><path fill-rule="evenodd" d="M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z"/></svg>');background-size:contain;background-repeat:no-repeat;background-position:center center;margin-left:.2em;padding-right:.75em}div.sourceCode code a.external:after{content:none}a.external:after:hover{cursor:pointer}.quarto-ext-icon{display:inline-block;font-size:.75em;padding-left:.3em}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.quarto-title-banner{margin-bottom:1em;color:#fdfeff;background:#2780e3}.quarto-title-banner a{color:#fdfeff}.quarto-title-banner h1,.quarto-title-banner .h1,.quarto-title-banner h2,.quarto-title-banner .h2{color:#fdfeff}.quarto-title-banner .code-tools-button{color:#97cbff}.quarto-title-banner .code-tools-button:hover{color:#fdfeff}.quarto-title-banner .code-tools-button>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(151, 203, 255)" viewBox="0 0 16 16"><path d="M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z"/></svg>')}.quarto-title-banner .code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="rgb(253, 254, 255)" viewBox="0 0 16 16"><path d="M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z"/></svg>')}.quarto-title-banner .quarto-title .title{font-weight:600}.quarto-title-banner .quarto-categories{margin-top:.75em}@media(min-width: 992px){.quarto-title-banner{padding-top:2.5em;padding-bottom:2.5em}}@media(max-width: 991.98px){.quarto-title-banner{padding-top:1em;padding-bottom:1em}}@media(max-width: 767.98px){body.hypothesis-enabled #title-block-header>*{padding-right:20px}}main.quarto-banner-title-block>section:first-child>h2,main.quarto-banner-title-block>section:first-child>.h2,main.quarto-banner-title-block>section:first-child>h3,main.quarto-banner-title-block>section:first-child>.h3,main.quarto-banner-title-block>section:first-child>h4,main.quarto-banner-title-block>section:first-child>.h4{margin-top:0}.quarto-title .quarto-categories{display:flex;flex-wrap:wrap;row-gap:.5em;column-gap:.4em;padding-bottom:.5em;margin-top:.75em}.quarto-title .quarto-categories .quarto-category{padding:.25em .75em;font-size:.65em;text-transform:uppercase;border:solid 1px;border-radius:.25rem;opacity:.6}.quarto-title .quarto-categories .quarto-category a{color:inherit}.quarto-title-meta-container{display:grid;grid-template-columns:1fr auto}.quarto-title-meta-column-end{display:flex;flex-direction:column;padding-left:1em}.quarto-title-meta-column-end a .bi{margin-right:.3em}#title-block-header.quarto-title-block.default .quarto-title-meta{display:grid;grid-template-columns:minmax(max-content, 1fr) 1fr;grid-column-gap:1em}#title-block-header.quarto-title-block.default .quarto-title .title{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-author-orcid img{margin-top:-0.2em;height:.8em;width:.8em}#title-block-header.quarto-title-block.default .quarto-title-author-email{opacity:.7}#title-block-header.quarto-title-block.default .quarto-description p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p,#title-block-header.quarto-title-block.default .quarto-title-authors p,#title-block-header.quarto-title-block.default .quarto-title-affiliations p{margin-bottom:.1em}#title-block-header.quarto-title-block.default .quarto-title-meta-heading{text-transform:uppercase;margin-top:1em;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-contents{font-size:.9em}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p.affiliation:last-of-type{margin-bottom:.1em}#title-block-header.quarto-title-block.default p.affiliation{margin-bottom:.1em}#title-block-header.quarto-title-block.default .keywords,#title-block-header.quarto-title-block.default .description,#title-block-header.quarto-title-block.default .abstract{margin-top:0}#title-block-header.quarto-title-block.default .keywords>p,#title-block-header.quarto-title-block.default .description>p,#title-block-header.quarto-title-block.default .abstract>p{font-size:.9em}#title-block-header.quarto-title-block.default .keywords>p:last-of-type,#title-block-header.quarto-title-block.default .description>p:last-of-type,#title-block-header.quarto-title-block.default .abstract>p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .keywords .block-title,#title-block-header.quarto-title-block.default .description .block-title,#title-block-header.quarto-title-block.default .abstract .block-title{margin-top:1em;text-transform:uppercase;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-author{display:grid;grid-template-columns:minmax(max-content, 1fr) 1fr;grid-column-gap:1em}.quarto-title-tools-only{display:flex;justify-content:right}body{-webkit-font-smoothing:antialiased}.badge.bg-light{color:#343a40}.progress .progress-bar{font-size:8px;line-height:8px} diff --git a/site_libs/bootstrap/bootstrap.min.js b/site_libs/bootstrap/bootstrap.min.js new file mode 100644 index 0000000..e8f21f7 --- /dev/null +++ b/site_libs/bootstrap/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.1"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return n(e)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C<v.length;C++){var O=v[C],x=be(O),k=Fe(O)===Xt,L=[zt,Rt].indexOf(x)>=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function mi(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?fi:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},fi,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){var s="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,s),a.scrollParents={reference:pe(t)?Je(t):t.contextElement?Je(t.contextElement):[],popper:Je(e)};var r,c,u=function(t){var e=ui(t);return de.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((r=[].concat(n,a.options.modifiers),c=r.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers=u.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(pi(e,i)){a.rects={reference:di(e,$e(i),"fixed"===a.options.strategy),popper:Ce(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!pi(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var gi=mi(),_i=mi({defaultModifiers:[Re,ci,Be,_e]}),bi=mi({defaultModifiers:[Re,ci,Be,_e,li,si,hi,je,ai]});const vi=Object.freeze(Object.defineProperty({__proto__:null,afterMain:ae,afterRead:se,afterWrite:he,applyStyles:_e,arrow:je,auto:Kt,basePlacements:Qt,beforeMain:oe,beforeRead:ie,beforeWrite:le,bottom:Rt,clippingParents:Ut,computeStyles:Be,createPopper:bi,createPopperBase:gi,createPopperLite:_i,detectOverflow:ii,end:Yt,eventListeners:Re,flip:si,hide:ai,left:Vt,main:re,modifierPhases:de,offset:li,placements:ee,popper:Jt,popperGenerator:mi,popperOffsets:ci,preventOverflow:hi,read:ne,reference:Zt,right:qt,start:Xt,top:zt,variationPlacements:te,viewport:Gt,write:ce},Symbol.toStringTag,{value:"Module"})),yi="dropdown",wi=".bs.dropdown",Ai=".data-api",Ei="ArrowUp",Ti="ArrowDown",Ci=`hide${wi}`,Oi=`hidden${wi}`,xi=`show${wi}`,ki=`shown${wi}`,Li=`click${wi}${Ai}`,Si=`keydown${wi}${Ai}`,Di=`keyup${wi}${Ai}`,$i="show",Ii='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Ni=`${Ii}.${$i}`,Pi=".dropdown-menu",Mi=p()?"top-end":"top-start",ji=p()?"top-start":"top-end",Fi=p()?"bottom-end":"bottom-start",Hi=p()?"bottom-start":"bottom-end",Wi=p()?"left-start":"right-start",Bi=p()?"right-start":"left-start",zi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ri={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class qi extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=z.next(this._element,Pi)[0]||z.prev(this._element,Pi)[0]||z.findOne(Pi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return zi}static get DefaultType(){return Ri}static get NAME(){return yi}toggle(){return this._isShown()?this.hide():this.show()}show(){if(l(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!N.trigger(this._element,xi,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add($i),this._element.classList.add($i),N.trigger(this._element,ki,t)}}hide(){if(l(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!N.trigger(this._element,Ci,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._popper&&this._popper.destroy(),this._menu.classList.remove($i),this._element.classList.remove($i),this._element.setAttribute("aria-expanded","false"),F.removeDataAttribute(this._menu,"popper"),N.trigger(this._element,Oi,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${yi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===vi)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:o(this._config.reference)?t=r(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=bi(t,this._menu,e)}_isShown(){return this._menu.classList.contains($i)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Wi;if(t.classList.contains("dropstart"))return Bi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ji:Mi:e?Hi:Fi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Rs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,qs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Vs extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return z.find(Rs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Rs)?t:z.findOne(Rs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Vs.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(qs))Vs.getOrCreateInstance(t)})),m(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){N.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),d(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),N.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),N.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Qs,(t=>this._onInteraction(t,!0))),N.on(this._element,Xs,(t=>this._onInteraction(t,!1))),N.on(this._element,Ys,(t=>this._onInteraction(t,!0))),N.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ro),m(ro),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Vs,Toast:ro,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/site_libs/clipboard/clipboard.min.js b/site_libs/clipboard/clipboard.min.js new file mode 100644 index 0000000..1103f81 --- /dev/null +++ b/site_libs/clipboard/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.container.appendChild(t),e=r()(t),c("copy"),t.remove(),e}var f=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof t?n=o(t,e):t instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==t?void 0:t.type)?n=o(t.value,e):(n=r()(t),c("copy")),n};function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var s=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=t.action,n=void 0===e?"copy":e,o=t.container,e=t.target,t=t.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==e){if(!e||"object"!==l(e)||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return t?f(t,{container:o}):e?"cut"===n?a(e):f(e,{container:o}):void 0};function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function y(t,e){return(y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(n){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=v(n);return t=o?(t=v(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||"object"!==p(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){t="data-clipboard-".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var b=function(){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y(t,e)}(r,i());var t,e,n,o=h(r);function r(t,e){var n;return function(t){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this),(n=o.call(this)).resolveOptions(e),n.listenClick(t),n}return t=r,n=[{key:"copy",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body};return f(t,e)}},{key:"cut",value:function(t){return a(t)}},{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===p(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=u()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,n=this.action(e)||"copy",t=s({action:n,container:this.container,target:this.target(e),text:this.text(e)});this.emit(t?"success":"error",{action:n,text:t,trigger:e,clearSelection:function(){e&&e.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return m("action",t)}},{key:"defaultTarget",value:function(t){t=m("target",t);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(t){return m("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}])&&d(t.prototype,e),n&&d(t,n),r}()},828:function(t){var e;"undefined"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var u=n(828);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=u(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var f=n(879),l=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!f.string(e))throw new TypeError("Second argument must be a String");if(!f.fn(n))throw new TypeError("Third argument must be a Function");if(f.node(t))return c=e,a=n,(u=t).addEventListener(c,a),{destroy:function(){u.removeEventListener(c,a)}};if(f.nodeList(t))return o=t,r=e,i=n,Array.prototype.forEach.call(o,function(t){t.addEventListener(r,i)}),{destroy:function(){Array.prototype.forEach.call(o,function(t){t.removeEventListener(r,i)})}};if(f.string(t))return t=t,e=e,n=n,l(document.body,t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,u,c,a}},817:function(t){t.exports=function(t){var e,n="SELECT"===t.nodeName?(t.focus(),t.value):"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName?((e=t.hasAttribute("readonly"))||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute("readonly"),t.value):(t.hasAttribute("contenteditable")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,u=o.length;i<u;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},r={},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o(686).default;function o(t){if(r[t])return r[t].exports;var e=r[t]={exports:{}};return n[t](e,e.exports,o),e.exports}var n,r}); \ No newline at end of file diff --git a/site_libs/quarto-html/anchor.min.js b/site_libs/quarto-html/anchor.min.js new file mode 100644 index 0000000..5ac814d --- /dev/null +++ b/site_libs/quarto-html/anchor.min.js @@ -0,0 +1,9 @@ +// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat +// +// AnchorJS - v5.0.0 - 2023-01-18 +// https://www.bryanbraun.com/anchorjs/ +// Copyright (c) 2023 Bryan Braun; Licensed MIT +// +// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat +!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(globalThis,function(){"use strict";return function(A){function u(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function d(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],u(this.options),this.add=function(A){var e,t,o,i,n,s,a,r,l,c,h,p=[];if(u(this.options),0!==(e=d(A=A||"h2, h3, h4, h5, h6")).length){for(null===document.head.querySelector("style.anchorjs")&&((A=document.createElement("style")).className="anchorjs",A.appendChild(document.createTextNode("")),void 0===(h=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(A):document.head.insertBefore(A,h),A.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",A.sheet.cssRules.length),A.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",A.sheet.cssRules.length),A.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",A.sheet.cssRules.length),A.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',A.sheet.cssRules.length)),h=document.querySelectorAll("[id]"),t=[].map.call(h,function(A){return A.id}),i=0;i<e.length;i++)if(this.hasAnchorJSLink(e[i]))p.push(i);else{if(e[i].hasAttribute("id"))o=e[i].getAttribute("id");else if(e[i].hasAttribute("data-anchor-id"))o=e[i].getAttribute("data-anchor-id");else{for(r=a=this.urlify(e[i].textContent),s=0;n=t.indexOf(r=void 0!==n?a+"-"+s:r),s+=1,-1!==n;);n=void 0,t.push(r),e[i].setAttribute("id",r),o=r}(l=document.createElement("a")).className="anchorjs-link "+this.options.class,l.setAttribute("aria-label",this.options.ariaLabel),l.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(l.title=this.options.titleText),c=document.querySelector("base")?window.location.pathname+window.location.search:"",c=this.options.base||c,l.href=c+"#"+o,"always"===this.options.visible&&(l.style.opacity="1"),""===this.options.icon&&(l.style.font="1em/1 anchorjs-icons","left"===this.options.placement)&&(l.style.lineHeight="inherit"),"left"===this.options.placement?(l.style.position="absolute",l.style.marginLeft="-1.25em",l.style.paddingRight=".25em",l.style.paddingLeft=".25em",e[i].insertBefore(l,e[i].firstChild)):(l.style.marginLeft=".1875em",l.style.paddingRight=".1875em",l.style.paddingLeft=".1875em",e[i].appendChild(l))}for(i=0;i<p.length;i++)e.splice(p[i]-i,1);this.elements=this.elements.concat(e)}return this},this.remove=function(A){for(var e,t,o=d(A),i=0;i<o.length;i++)(t=o[i].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(o[i]))&&this.elements.splice(e,1),o[i].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){var e=document.createElement("textarea");return e.innerHTML=A,A=e.value,this.options.truncate||u(this.options),A.trim().replace(/'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}}); +// @license-end \ No newline at end of file diff --git a/site_libs/quarto-html/popper.min.js b/site_libs/quarto-html/popper.min.js new file mode 100644 index 0000000..e3726d7 --- /dev/null +++ b/site_libs/quarto-html/popper.min.js @@ -0,0 +1,6 @@ +/** + * @popperjs/core v2.11.7 - MIT License + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function c(){return!/^((?!chrome|android).)*safari/i.test(f())}function p(e,o,i){void 0===o&&(o=!1),void 0===i&&(i=!1);var a=e.getBoundingClientRect(),f=1,p=1;o&&r(e)&&(f=e.offsetWidth>0&&s(a.width)/e.offsetWidth||1,p=e.offsetHeight>0&&s(a.height)/e.offsetHeight||1);var u=(n(e)?t(e):window).visualViewport,l=!c()&&i,d=(a.left+(l&&u?u.offsetLeft:0))/f,h=(a.top+(l&&u?u.offsetTop:0))/p,m=a.width/f,v=a.height/p;return{width:m,height:v,top:h,right:d+m,bottom:h+v,left:d,x:d,y:h}}function u(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function l(e){return e?(e.nodeName||"").toLowerCase():null}function d(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function h(e){return p(d(e)).left+u(e).scrollLeft}function m(e){return t(e).getComputedStyle(e)}function v(e){var t=m(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function y(e,n,o){void 0===o&&(o=!1);var i,a,f=r(n),c=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),m=d(n),y=p(e,c,o),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(f||!f&&!o)&&(("body"!==l(n)||v(m))&&(g=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:u(i)),r(n)?((b=p(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):m&&(b.x=h(m))),{x:y.left+g.scrollLeft-b.x,y:y.top+g.scrollTop-b.y,width:y.width,height:y.height}}function g(e){var t=p(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function b(e){return"html"===l(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||d(e)}function x(e){return["html","body","#document"].indexOf(l(e))>=0?e.ownerDocument.body:r(e)&&v(e)?e:x(b(e))}function w(e,n){var r;void 0===n&&(n=[]);var o=x(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],v(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(w(b(s)))}function O(e){return["table","td","th"].indexOf(l(e))>=0}function j(e){return r(e)&&"fixed"!==m(e).position?e.offsetParent:null}function E(e){for(var n=t(e),i=j(e);i&&O(i)&&"static"===m(i).position;)i=j(i);return i&&("html"===l(i)||"body"===l(i)&&"static"===m(i).position)?n:i||function(e){var t=/firefox/i.test(f());if(/Trident/i.test(f())&&r(e)&&"fixed"===m(e).position)return null;var n=b(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(l(n))<0;){var i=m(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var D="top",A="bottom",L="right",P="left",M="auto",k=[D,A,L,P],W="start",B="end",H="viewport",T="popper",R=k.reduce((function(e,t){return e.concat([t+"-"+W,t+"-"+B])}),[]),S=[].concat(k,[M]).reduce((function(e,t){return e.concat([t,t+"-"+W,t+"-"+B])}),[]),V=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function q(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function N(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function I(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function _(e,r,o){return r===H?I(function(e,n){var r=t(e),o=d(e),i=r.visualViewport,a=o.clientWidth,s=o.clientHeight,f=0,p=0;if(i){a=i.width,s=i.height;var u=c();(u||!u&&"fixed"===n)&&(f=i.offsetLeft,p=i.offsetTop)}return{width:a,height:s,x:f+h(e),y:p}}(e,o)):n(r)?function(e,t){var n=p(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(r,o):I(function(e){var t,n=d(e),r=u(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+h(e),c=-r.scrollTop;return"rtl"===m(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:c}}(d(e)))}function F(e,t,o,s){var f="clippingParents"===t?function(e){var t=w(b(e)),o=["absolute","fixed"].indexOf(m(e).position)>=0&&r(e)?E(e):e;return n(o)?t.filter((function(e){return n(e)&&N(e,o)&&"body"!==l(e)})):[]}(e):[].concat(t),c=[].concat(f,[o]),p=c[0],u=c.reduce((function(t,n){var r=_(e,n,s);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),_(e,p,s));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function U(e){return e.split("-")[1]}function z(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function X(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?U(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case D:t={x:s,y:n.y-r.height};break;case A:t={x:s,y:n.y+n.height};break;case L:t={x:n.x+n.width,y:f};break;case P:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?z(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case W:t[c]=t[c]-(n[p]/2-r[p]/2);break;case B:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function Y(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function G(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function J(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.strategy,s=void 0===a?e.strategy:a,f=r.boundary,c=void 0===f?"clippingParents":f,u=r.rootBoundary,l=void 0===u?H:u,h=r.elementContext,m=void 0===h?T:h,v=r.altBoundary,y=void 0!==v&&v,g=r.padding,b=void 0===g?0:g,x=Y("number"!=typeof b?b:G(b,k)),w=m===T?"reference":T,O=e.rects.popper,j=e.elements[y?w:m],E=F(n(j)?j:j.contextElement||d(e.elements.popper),c,l,s),P=p(e.elements.reference),M=X({reference:P,element:O,strategy:"absolute",placement:i}),W=I(Object.assign({},O,M)),B=m===T?W:P,R={top:E.top-B.top+x.top,bottom:B.bottom-E.bottom+x.bottom,left:E.left-B.left+x.left,right:B.right-E.right+x.right},S=e.modifiersData.offset;if(m===T&&S){var V=S[i];Object.keys(R).forEach((function(e){var t=[L,A].indexOf(e)>=0?1:-1,n=[D,A].indexOf(e)>=0?"y":"x";R[e]+=V[n]*t}))}return R}var K={placement:"bottom",modifiers:[],strategy:"absolute"};function Q(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"==typeof e.getBoundingClientRect)}))}function Z(e){void 0===e&&(e={});var t=e,r=t.defaultModifiers,o=void 0===r?[]:r,i=t.defaultOptions,a=void 0===i?K:i;return function(e,t,r){void 0===r&&(r=a);var i,s,f={placement:"bottom",orderedModifiers:[],options:Object.assign({},K,a),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},c=[],p=!1,u={state:f,setOptions:function(r){var i="function"==typeof r?r(f.options):r;l(),f.options=Object.assign({},a,f.options,i),f.scrollParents={reference:n(e)?w(e):e.contextElement?w(e.contextElement):[],popper:w(t)};var s,p,d=function(e){var t=q(e);return V.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}((s=[].concat(o,f.options.modifiers),p=s.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{}),Object.keys(p).map((function(e){return p[e]}))));return f.orderedModifiers=d.filter((function(e){return e.enabled})),f.orderedModifiers.forEach((function(e){var t=e.name,n=e.options,r=void 0===n?{}:n,o=e.effect;if("function"==typeof o){var i=o({state:f,name:t,instance:u,options:r}),a=function(){};c.push(i||a)}})),u.update()},forceUpdate:function(){if(!p){var e=f.elements,t=e.reference,n=e.popper;if(Q(t,n)){f.rects={reference:y(t,E(n),"fixed"===f.options.strategy),popper:g(n)},f.reset=!1,f.placement=f.options.placement,f.orderedModifiers.forEach((function(e){return f.modifiersData[e.name]=Object.assign({},e.data)}));for(var r=0;r<f.orderedModifiers.length;r++)if(!0!==f.reset){var o=f.orderedModifiers[r],i=o.fn,a=o.options,s=void 0===a?{}:a,c=o.name;"function"==typeof i&&(f=i({state:f,options:s,name:c,instance:u})||f)}else f.reset=!1,r=-1}}},update:(i=function(){return new Promise((function(e){u.forceUpdate(),e(f)}))},function(){return s||(s=new Promise((function(e){Promise.resolve().then((function(){s=void 0,e(i())}))}))),s}),destroy:function(){l(),p=!0}};if(!Q(e,t))return u;function l(){c.forEach((function(e){return e()})),c=[]}return u.setOptions(r).then((function(e){!p&&r.onFirstUpdate&&r.onFirstUpdate(e)})),u}}var $={passive:!0};var ee={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var n=e.state,r=e.instance,o=e.options,i=o.scroll,a=void 0===i||i,s=o.resize,f=void 0===s||s,c=t(n.elements.popper),p=[].concat(n.scrollParents.reference,n.scrollParents.popper);return a&&p.forEach((function(e){e.addEventListener("scroll",r.update,$)})),f&&c.addEventListener("resize",r.update,$),function(){a&&p.forEach((function(e){e.removeEventListener("scroll",r.update,$)})),f&&c.removeEventListener("resize",r.update,$)}},data:{}};var te={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=X({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},ne={top:"auto",right:"auto",bottom:"auto",left:"auto"};function re(e){var n,r=e.popper,o=e.popperRect,i=e.placement,a=e.variation,f=e.offsets,c=e.position,p=e.gpuAcceleration,u=e.adaptive,l=e.roundOffsets,h=e.isFixed,v=f.x,y=void 0===v?0:v,g=f.y,b=void 0===g?0:g,x="function"==typeof l?l({x:y,y:b}):{x:y,y:b};y=x.x,b=x.y;var w=f.hasOwnProperty("x"),O=f.hasOwnProperty("y"),j=P,M=D,k=window;if(u){var W=E(r),H="clientHeight",T="clientWidth";if(W===t(r)&&"static"!==m(W=d(r)).position&&"absolute"===c&&(H="scrollHeight",T="scrollWidth"),W=W,i===D||(i===P||i===L)&&a===B)M=A,b-=(h&&W===k&&k.visualViewport?k.visualViewport.height:W[H])-o.height,b*=p?1:-1;if(i===P||(i===D||i===A)&&a===B)j=L,y-=(h&&W===k&&k.visualViewport?k.visualViewport.width:W[T])-o.width,y*=p?1:-1}var R,S=Object.assign({position:c},u&&ne),V=!0===l?function(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:s(n*o)/o||0,y:s(r*o)/o||0}}({x:y,y:b},t(r)):{x:y,y:b};return y=V.x,b=V.y,p?Object.assign({},S,((R={})[M]=O?"0":"",R[j]=w?"0":"",R.transform=(k.devicePixelRatio||1)<=1?"translate("+y+"px, "+b+"px)":"translate3d("+y+"px, "+b+"px, 0)",R)):Object.assign({},S,((n={})[M]=O?b+"px":"",n[j]=w?y+"px":"",n.transform="",n))}var oe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,s=n.roundOffsets,f=void 0===s||s,c={placement:C(t.placement),variation:U(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,re(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:f})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,re(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:f})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};var ie={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},i=t.elements[e];r(i)&&l(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});r(o)&&l(o)&&(Object.assign(o.style,a),Object.keys(i).forEach((function(e){o.removeAttribute(e)})))}))}},requires:["computeStyles"]};var ae={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=void 0===o?[0,0]:o,a=S.reduce((function(e,n){return e[n]=function(e,t,n){var r=C(e),o=[P,D].indexOf(r)>=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[P,L].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},se={left:"right",right:"left",bottom:"top",top:"bottom"};function fe(e){return e.replace(/left|right|bottom|top/g,(function(e){return se[e]}))}var ce={start:"end",end:"start"};function pe(e){return e.replace(/start|end/g,(function(e){return ce[e]}))}function ue(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?S:f,p=U(r),u=p?s?R:R.filter((function(e){return U(e)===p})):k,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=J(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var le={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,y=C(v),g=f||(y===v||!h?[fe(v)]:function(e){if(C(e)===M)return[];var t=fe(e);return[pe(e),t,pe(t)]}(v)),b=[v].concat(g).reduce((function(e,n){return e.concat(C(n)===M?ue(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,j=!0,E=b[0],k=0;k<b.length;k++){var B=b[k],H=C(B),T=U(B)===W,R=[D,A].indexOf(H)>=0,S=R?"width":"height",V=J(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),q=R?T?L:P:T?A:D;x[S]>w[S]&&(q=fe(q));var N=fe(q),I=[];if(i&&I.push(V[H]<=0),s&&I.push(V[q]<=0,V[N]<=0),I.every((function(e){return e}))){E=B,j=!1;break}O.set(B,I)}if(j)for(var _=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},F=h?3:1;F>0;F--){if("break"===_(F))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function de(e,t,n){return i(e,a(t,n))}var he={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,v=n.tetherOffset,y=void 0===v?0:v,b=J(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=U(t.placement),O=!w,j=z(x),M="x"===j?"y":"x",k=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,V={x:0,y:0};if(k){if(s){var q,N="y"===j?D:P,I="y"===j?A:L,_="y"===j?"height":"width",F=k[j],X=F+b[N],Y=F-b[I],G=m?-H[_]/2:0,K=w===W?B[_]:H[_],Q=w===W?-H[_]:-B[_],Z=t.elements.arrow,$=m&&Z?g(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=de(0,B[_],$[_]),oe=O?B[_]/2-G-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=O?-B[_]/2+G+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&E(t.elements.arrow),se=ae?"y"===j?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(q=null==S?void 0:S[j])?q:0,ce=F+ie-fe,pe=de(m?a(X,F+oe-fe-se):X,F,m?i(Y,ce):Y);k[j]=pe,V[j]=pe-F}if(c){var ue,le="x"===j?D:P,he="x"===j?A:L,me=k[M],ve="y"===M?"height":"width",ye=me+b[le],ge=me-b[he],be=-1!==[D,P].indexOf(x),xe=null!=(ue=null==S?void 0:S[M])?ue:0,we=be?ye:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ge,je=m&&be?function(e,t,n){var r=de(e,t,n);return r>n?n:r}(we,me,Oe):de(m?we:ye,me,m?Oe:ge);k[M]=je,V[M]=je-me}t.modifiersData[r]=V}},requiresIfExists:["offset"]};var me={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=z(s),c=[P,L].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return Y("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:G(e,k))}(o.padding,n),u=g(i),l="y"===f?D:P,d="y"===f?A:L,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],v=E(i),y=v?"y"===f?v.clientHeight||0:v.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],O=y/2-u[c]/2+b,j=de(x,O,w),M=f;n.modifiersData[r]=((t={})[M]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&N(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ve(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ye(e){return[D,L,A,P].some((function(t){return e[t]>=0}))}var ge={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=J(t,{elementContext:"reference"}),s=J(t,{altBoundary:!0}),f=ve(a,r),c=ve(s,o,i),p=ye(f),u=ye(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},be=Z({defaultModifiers:[ee,te,oe,ie]}),xe=[ee,te,oe,ie,ae,le,he,me,ge],we=Z({defaultModifiers:xe});e.applyStyles=ie,e.arrow=me,e.computeStyles=oe,e.createPopper=we,e.createPopperLite=be,e.defaultModifiers=xe,e.detectOverflow=J,e.eventListeners=ee,e.flip=le,e.hide=ge,e.offset=ae,e.popperGenerator=Z,e.popperOffsets=te,e.preventOverflow=he,Object.defineProperty(e,"__esModule",{value:!0})})); + diff --git a/site_libs/quarto-html/quarto-syntax-highlighting.css b/site_libs/quarto-html/quarto-syntax-highlighting.css new file mode 100644 index 0000000..d9fd98f --- /dev/null +++ b/site_libs/quarto-html/quarto-syntax-highlighting.css @@ -0,0 +1,203 @@ +/* quarto syntax highlight colors */ +:root { + --quarto-hl-ot-color: #003B4F; + --quarto-hl-at-color: #657422; + --quarto-hl-ss-color: #20794D; + --quarto-hl-an-color: #5E5E5E; + --quarto-hl-fu-color: #4758AB; + --quarto-hl-st-color: #20794D; + --quarto-hl-cf-color: #003B4F; + --quarto-hl-op-color: #5E5E5E; + --quarto-hl-er-color: #AD0000; + --quarto-hl-bn-color: #AD0000; + --quarto-hl-al-color: #AD0000; + --quarto-hl-va-color: #111111; + --quarto-hl-bu-color: inherit; + --quarto-hl-ex-color: inherit; + --quarto-hl-pp-color: #AD0000; + --quarto-hl-in-color: #5E5E5E; + --quarto-hl-vs-color: #20794D; + --quarto-hl-wa-color: #5E5E5E; + --quarto-hl-do-color: #5E5E5E; + --quarto-hl-im-color: #00769E; + --quarto-hl-ch-color: #20794D; + --quarto-hl-dt-color: #AD0000; + --quarto-hl-fl-color: #AD0000; + --quarto-hl-co-color: #5E5E5E; + --quarto-hl-cv-color: #5E5E5E; + --quarto-hl-cn-color: #8f5902; + --quarto-hl-sc-color: #5E5E5E; + --quarto-hl-dv-color: #AD0000; + --quarto-hl-kw-color: #003B4F; +} + +/* other quarto variables */ +:root { + --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +pre > code.sourceCode > span { + color: #003B4F; +} + +code span { + color: #003B4F; +} + +code.sourceCode > span { + color: #003B4F; +} + +div.sourceCode, +div.sourceCode pre.sourceCode { + color: #003B4F; +} + +code span.ot { + color: #003B4F; + font-style: inherit; +} + +code span.at { + color: #657422; + font-style: inherit; +} + +code span.ss { + color: #20794D; + font-style: inherit; +} + +code span.an { + color: #5E5E5E; + font-style: inherit; +} + +code span.fu { + color: #4758AB; + font-style: inherit; +} + +code span.st { + color: #20794D; + font-style: inherit; +} + +code span.cf { + color: #003B4F; + font-style: inherit; +} + +code span.op { + color: #5E5E5E; + font-style: inherit; +} + +code span.er { + color: #AD0000; + font-style: inherit; +} + +code span.bn { + color: #AD0000; + font-style: inherit; +} + +code span.al { + color: #AD0000; + font-style: inherit; +} + +code span.va { + color: #111111; + font-style: inherit; +} + +code span.bu { + font-style: inherit; +} + +code span.ex { + font-style: inherit; +} + +code span.pp { + color: #AD0000; + font-style: inherit; +} + +code span.in { + color: #5E5E5E; + font-style: inherit; +} + +code span.vs { + color: #20794D; + font-style: inherit; +} + +code span.wa { + color: #5E5E5E; + font-style: italic; +} + +code span.do { + color: #5E5E5E; + font-style: italic; +} + +code span.im { + color: #00769E; + font-style: inherit; +} + +code span.ch { + color: #20794D; + font-style: inherit; +} + +code span.dt { + color: #AD0000; + font-style: inherit; +} + +code span.fl { + color: #AD0000; + font-style: inherit; +} + +code span.co { + color: #5E5E5E; + font-style: inherit; +} + +code span.cv { + color: #5E5E5E; + font-style: italic; +} + +code span.cn { + color: #8f5902; + font-style: inherit; +} + +code span.sc { + color: #5E5E5E; + font-style: inherit; +} + +code span.dv { + color: #AD0000; + font-style: inherit; +} + +code span.kw { + color: #003B4F; + font-style: inherit; +} + +.prevent-inlining { + content: "</"; +} + +/*# sourceMappingURL=debc5d5d77c3f9108843748ff7464032.css.map */ diff --git a/site_libs/quarto-html/quarto.js b/site_libs/quarto-html/quarto.js new file mode 100644 index 0000000..3ebd49c --- /dev/null +++ b/site_libs/quarto-html/quarto.js @@ -0,0 +1,899 @@ +const sectionChanged = new CustomEvent("quarto-sectionChanged", { + detail: {}, + bubbles: true, + cancelable: false, + composed: false, +}); + +const layoutMarginEls = () => { + // Find any conflicting margin elements and add margins to the + // top to prevent overlap + const marginChildren = window.document.querySelectorAll( + ".column-margin.column-container > *, .margin-caption, .aside" + ); + + let lastBottom = 0; + for (const marginChild of marginChildren) { + if (marginChild.offsetParent !== null) { + // clear the top margin so we recompute it + marginChild.style.marginTop = null; + const top = marginChild.getBoundingClientRect().top + window.scrollY; + if (top < lastBottom) { + const marginChildStyle = window.getComputedStyle(marginChild); + const marginBottom = parseFloat(marginChildStyle["marginBottom"]); + const margin = lastBottom - top + marginBottom; + marginChild.style.marginTop = `${margin}px`; + } + const styles = window.getComputedStyle(marginChild); + const marginTop = parseFloat(styles["marginTop"]); + lastBottom = top + marginChild.getBoundingClientRect().height + marginTop; + } + } +}; + +window.document.addEventListener("DOMContentLoaded", function (_event) { + // Recompute the position of margin elements anytime the body size changes + if (window.ResizeObserver) { + const resizeObserver = new window.ResizeObserver( + throttle(() => { + layoutMarginEls(); + if ( + window.document.body.getBoundingClientRect().width < 990 && + isReaderMode() + ) { + quartoToggleReader(); + } + }, 50) + ); + resizeObserver.observe(window.document.body); + } + + const tocEl = window.document.querySelector('nav.toc-active[role="doc-toc"]'); + const sidebarEl = window.document.getElementById("quarto-sidebar"); + const leftTocEl = window.document.getElementById("quarto-sidebar-toc-left"); + const marginSidebarEl = window.document.getElementById( + "quarto-margin-sidebar" + ); + // function to determine whether the element has a previous sibling that is active + const prevSiblingIsActiveLink = (el) => { + const sibling = el.previousElementSibling; + if (sibling && sibling.tagName === "A") { + return sibling.classList.contains("active"); + } else { + return false; + } + }; + + // fire slideEnter for bootstrap tab activations (for htmlwidget resize behavior) + function fireSlideEnter(e) { + const event = window.document.createEvent("Event"); + event.initEvent("slideenter", true, true); + window.document.dispatchEvent(event); + } + const tabs = window.document.querySelectorAll('a[data-bs-toggle="tab"]'); + tabs.forEach((tab) => { + tab.addEventListener("shown.bs.tab", fireSlideEnter); + }); + + // fire slideEnter for tabby tab activations (for htmlwidget resize behavior) + document.addEventListener("tabby", fireSlideEnter, false); + + // Track scrolling and mark TOC links as active + // get table of contents and sidebar (bail if we don't have at least one) + const tocLinks = tocEl + ? [...tocEl.querySelectorAll("a[data-scroll-target]")] + : []; + const makeActive = (link) => tocLinks[link].classList.add("active"); + const removeActive = (link) => tocLinks[link].classList.remove("active"); + const removeAllActive = () => + [...Array(tocLinks.length).keys()].forEach((link) => removeActive(link)); + + // activate the anchor for a section associated with this TOC entry + tocLinks.forEach((link) => { + link.addEventListener("click", () => { + if (link.href.indexOf("#") !== -1) { + const anchor = link.href.split("#")[1]; + const heading = window.document.querySelector( + `[data-anchor-id=${anchor}]` + ); + if (heading) { + // Add the class + heading.classList.add("reveal-anchorjs-link"); + + // function to show the anchor + const handleMouseout = () => { + heading.classList.remove("reveal-anchorjs-link"); + heading.removeEventListener("mouseout", handleMouseout); + }; + + // add a function to clear the anchor when the user mouses out of it + heading.addEventListener("mouseout", handleMouseout); + } + } + }); + }); + + const sections = tocLinks.map((link) => { + const target = link.getAttribute("data-scroll-target"); + if (target.startsWith("#")) { + return window.document.getElementById(decodeURI(`${target.slice(1)}`)); + } else { + return window.document.querySelector(decodeURI(`${target}`)); + } + }); + + const sectionMargin = 200; + let currentActive = 0; + // track whether we've initialized state the first time + let init = false; + + const updateActiveLink = () => { + // The index from bottom to top (e.g. reversed list) + let sectionIndex = -1; + if ( + window.innerHeight + window.pageYOffset >= + window.document.body.offsetHeight + ) { + sectionIndex = 0; + } else { + sectionIndex = [...sections].reverse().findIndex((section) => { + if (section) { + return window.pageYOffset >= section.offsetTop - sectionMargin; + } else { + return false; + } + }); + } + if (sectionIndex > -1) { + const current = sections.length - sectionIndex - 1; + if (current !== currentActive) { + removeAllActive(); + currentActive = current; + makeActive(current); + if (init) { + window.dispatchEvent(sectionChanged); + } + init = true; + } + } + }; + + const inHiddenRegion = (top, bottom, hiddenRegions) => { + for (const region of hiddenRegions) { + if (top <= region.bottom && bottom >= region.top) { + return true; + } + } + return false; + }; + + const categorySelector = "header.quarto-title-block .quarto-category"; + const activateCategories = (href) => { + // Find any categories + // Surround them with a link pointing back to: + // #category=Authoring + try { + const categoryEls = window.document.querySelectorAll(categorySelector); + for (const categoryEl of categoryEls) { + const categoryText = categoryEl.textContent; + if (categoryText) { + const link = `${href}#category=${encodeURIComponent(categoryText)}`; + const linkEl = window.document.createElement("a"); + linkEl.setAttribute("href", link); + for (const child of categoryEl.childNodes) { + linkEl.append(child); + } + categoryEl.appendChild(linkEl); + } + } + } catch { + // Ignore errors + } + }; + function hasTitleCategories() { + return window.document.querySelector(categorySelector) !== null; + } + + function offsetRelativeUrl(url) { + const offset = getMeta("quarto:offset"); + return offset ? offset + url : url; + } + + function offsetAbsoluteUrl(url) { + const offset = getMeta("quarto:offset"); + const baseUrl = new URL(offset, window.location); + + const projRelativeUrl = url.replace(baseUrl, ""); + if (projRelativeUrl.startsWith("/")) { + return projRelativeUrl; + } else { + return "/" + projRelativeUrl; + } + } + + // read a meta tag value + function getMeta(metaName) { + const metas = window.document.getElementsByTagName("meta"); + for (let i = 0; i < metas.length; i++) { + if (metas[i].getAttribute("name") === metaName) { + return metas[i].getAttribute("content"); + } + } + return ""; + } + + async function findAndActivateCategories() { + const currentPagePath = offsetAbsoluteUrl(window.location.href); + const response = await fetch(offsetRelativeUrl("listings.json")); + if (response.status == 200) { + return response.json().then(function (listingPaths) { + const listingHrefs = []; + for (const listingPath of listingPaths) { + const pathWithoutLeadingSlash = listingPath.listing.substring(1); + for (const item of listingPath.items) { + if ( + item === currentPagePath || + item === currentPagePath + "index.html" + ) { + // Resolve this path against the offset to be sure + // we already are using the correct path to the listing + // (this adjusts the listing urls to be rooted against + // whatever root the page is actually running against) + const relative = offsetRelativeUrl(pathWithoutLeadingSlash); + const baseUrl = window.location; + const resolvedPath = new URL(relative, baseUrl); + listingHrefs.push(resolvedPath.pathname); + break; + } + } + } + + // Look up the tree for a nearby linting and use that if we find one + const nearestListing = findNearestParentListing( + offsetAbsoluteUrl(window.location.pathname), + listingHrefs + ); + if (nearestListing) { + activateCategories(nearestListing); + } else { + // See if the referrer is a listing page for this item + const referredRelativePath = offsetAbsoluteUrl(document.referrer); + const referrerListing = listingHrefs.find((listingHref) => { + const isListingReferrer = + listingHref === referredRelativePath || + listingHref === referredRelativePath + "index.html"; + return isListingReferrer; + }); + + if (referrerListing) { + // Try to use the referrer if possible + activateCategories(referrerListing); + } else if (listingHrefs.length > 0) { + // Otherwise, just fall back to the first listing + activateCategories(listingHrefs[0]); + } + } + }); + } + } + if (hasTitleCategories()) { + findAndActivateCategories(); + } + + const findNearestParentListing = (href, listingHrefs) => { + if (!href || !listingHrefs) { + return undefined; + } + // Look up the tree for a nearby linting and use that if we find one + const relativeParts = href.substring(1).split("/"); + while (relativeParts.length > 0) { + const path = relativeParts.join("/"); + for (const listingHref of listingHrefs) { + if (listingHref.startsWith(path)) { + return listingHref; + } + } + relativeParts.pop(); + } + + return undefined; + }; + + const manageSidebarVisiblity = (el, placeholderDescriptor) => { + let isVisible = true; + let elRect; + + return (hiddenRegions) => { + if (el === null) { + return; + } + + // Find the last element of the TOC + const lastChildEl = el.lastElementChild; + + if (lastChildEl) { + // Converts the sidebar to a menu + const convertToMenu = () => { + for (const child of el.children) { + child.style.opacity = 0; + child.style.overflow = "hidden"; + } + + nexttick(() => { + const toggleContainer = window.document.createElement("div"); + toggleContainer.style.width = "100%"; + toggleContainer.classList.add("zindex-over-content"); + toggleContainer.classList.add("quarto-sidebar-toggle"); + toggleContainer.classList.add("headroom-target"); // Marks this to be managed by headeroom + toggleContainer.id = placeholderDescriptor.id; + toggleContainer.style.position = "fixed"; + + const toggleIcon = window.document.createElement("i"); + toggleIcon.classList.add("quarto-sidebar-toggle-icon"); + toggleIcon.classList.add("bi"); + toggleIcon.classList.add("bi-caret-down-fill"); + + const toggleTitle = window.document.createElement("div"); + const titleEl = window.document.body.querySelector( + placeholderDescriptor.titleSelector + ); + if (titleEl) { + toggleTitle.append( + titleEl.textContent || titleEl.innerText, + toggleIcon + ); + } + toggleTitle.classList.add("zindex-over-content"); + toggleTitle.classList.add("quarto-sidebar-toggle-title"); + toggleContainer.append(toggleTitle); + + const toggleContents = window.document.createElement("div"); + toggleContents.classList = el.classList; + toggleContents.classList.add("zindex-over-content"); + toggleContents.classList.add("quarto-sidebar-toggle-contents"); + for (const child of el.children) { + if (child.id === "toc-title") { + continue; + } + + const clone = child.cloneNode(true); + clone.style.opacity = 1; + clone.style.display = null; + toggleContents.append(clone); + } + toggleContents.style.height = "0px"; + const positionToggle = () => { + // position the element (top left of parent, same width as parent) + if (!elRect) { + elRect = el.getBoundingClientRect(); + } + toggleContainer.style.left = `${elRect.left}px`; + toggleContainer.style.top = `${elRect.top}px`; + toggleContainer.style.width = `${elRect.width}px`; + }; + positionToggle(); + + toggleContainer.append(toggleContents); + el.parentElement.prepend(toggleContainer); + + // Process clicks + let tocShowing = false; + // Allow the caller to control whether this is dismissed + // when it is clicked (e.g. sidebar navigation supports + // opening and closing the nav tree, so don't dismiss on click) + const clickEl = placeholderDescriptor.dismissOnClick + ? toggleContainer + : toggleTitle; + + const closeToggle = () => { + if (tocShowing) { + toggleContainer.classList.remove("expanded"); + toggleContents.style.height = "0px"; + tocShowing = false; + } + }; + + // Get rid of any expanded toggle if the user scrolls + window.document.addEventListener( + "scroll", + throttle(() => { + closeToggle(); + }, 50) + ); + + // Handle positioning of the toggle + window.addEventListener( + "resize", + throttle(() => { + elRect = undefined; + positionToggle(); + }, 50) + ); + + window.addEventListener("quarto-hrChanged", () => { + elRect = undefined; + }); + + // Process the click + clickEl.onclick = () => { + if (!tocShowing) { + toggleContainer.classList.add("expanded"); + toggleContents.style.height = null; + tocShowing = true; + } else { + closeToggle(); + } + }; + }); + }; + + // Converts a sidebar from a menu back to a sidebar + const convertToSidebar = () => { + for (const child of el.children) { + child.style.opacity = 1; + child.style.overflow = null; + } + + const placeholderEl = window.document.getElementById( + placeholderDescriptor.id + ); + if (placeholderEl) { + placeholderEl.remove(); + } + + el.classList.remove("rollup"); + }; + + if (isReaderMode()) { + convertToMenu(); + isVisible = false; + } else { + // Find the top and bottom o the element that is being managed + const elTop = el.offsetTop; + const elBottom = + elTop + lastChildEl.offsetTop + lastChildEl.offsetHeight; + + if (!isVisible) { + // If the element is current not visible reveal if there are + // no conflicts with overlay regions + if (!inHiddenRegion(elTop, elBottom, hiddenRegions)) { + convertToSidebar(); + isVisible = true; + } + } else { + // If the element is visible, hide it if it conflicts with overlay regions + // and insert a placeholder toggle (or if we're in reader mode) + if (inHiddenRegion(elTop, elBottom, hiddenRegions)) { + convertToMenu(); + isVisible = false; + } + } + } + } + }; + }; + + const tabEls = document.querySelectorAll('a[data-bs-toggle="tab"]'); + for (const tabEl of tabEls) { + const id = tabEl.getAttribute("data-bs-target"); + if (id) { + const columnEl = document.querySelector( + `${id} .column-margin, .tabset-margin-content` + ); + if (columnEl) + tabEl.addEventListener("shown.bs.tab", function (event) { + const el = event.srcElement; + if (el) { + const visibleCls = `${el.id}-margin-content`; + // walk up until we find a parent tabset + let panelTabsetEl = el.parentElement; + while (panelTabsetEl) { + if (panelTabsetEl.classList.contains("panel-tabset")) { + break; + } + panelTabsetEl = panelTabsetEl.parentElement; + } + + if (panelTabsetEl) { + const prevSib = panelTabsetEl.previousElementSibling; + if ( + prevSib && + prevSib.classList.contains("tabset-margin-container") + ) { + const childNodes = prevSib.querySelectorAll( + ".tabset-margin-content" + ); + for (const childEl of childNodes) { + if (childEl.classList.contains(visibleCls)) { + childEl.classList.remove("collapse"); + } else { + childEl.classList.add("collapse"); + } + } + } + } + } + + layoutMarginEls(); + }); + } + } + + // Manage the visibility of the toc and the sidebar + const marginScrollVisibility = manageSidebarVisiblity(marginSidebarEl, { + id: "quarto-toc-toggle", + titleSelector: "#toc-title", + dismissOnClick: true, + }); + const sidebarScrollVisiblity = manageSidebarVisiblity(sidebarEl, { + id: "quarto-sidebarnav-toggle", + titleSelector: ".title", + dismissOnClick: false, + }); + let tocLeftScrollVisibility; + if (leftTocEl) { + tocLeftScrollVisibility = manageSidebarVisiblity(leftTocEl, { + id: "quarto-lefttoc-toggle", + titleSelector: "#toc-title", + dismissOnClick: true, + }); + } + + // Find the first element that uses formatting in special columns + const conflictingEls = window.document.body.querySelectorAll( + '[class^="column-"], [class*=" column-"], aside, [class*="margin-caption"], [class*=" margin-caption"], [class*="margin-ref"], [class*=" margin-ref"]' + ); + + // Filter all the possibly conflicting elements into ones + // the do conflict on the left or ride side + const arrConflictingEls = Array.from(conflictingEls); + const leftSideConflictEls = arrConflictingEls.filter((el) => { + if (el.tagName === "ASIDE") { + return false; + } + return Array.from(el.classList).find((className) => { + return ( + className !== "column-body" && + className.startsWith("column-") && + !className.endsWith("right") && + !className.endsWith("container") && + className !== "column-margin" + ); + }); + }); + const rightSideConflictEls = arrConflictingEls.filter((el) => { + if (el.tagName === "ASIDE") { + return true; + } + + const hasMarginCaption = Array.from(el.classList).find((className) => { + return className == "margin-caption"; + }); + if (hasMarginCaption) { + return true; + } + + return Array.from(el.classList).find((className) => { + return ( + className !== "column-body" && + !className.endsWith("container") && + className.startsWith("column-") && + !className.endsWith("left") + ); + }); + }); + + const kOverlapPaddingSize = 10; + function toRegions(els) { + return els.map((el) => { + const boundRect = el.getBoundingClientRect(); + const top = + boundRect.top + + document.documentElement.scrollTop - + kOverlapPaddingSize; + return { + top, + bottom: top + el.scrollHeight + 2 * kOverlapPaddingSize, + }; + }); + } + + let hasObserved = false; + const visibleItemObserver = (els) => { + let visibleElements = [...els]; + const intersectionObserver = new IntersectionObserver( + (entries, _observer) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + if (visibleElements.indexOf(entry.target) === -1) { + visibleElements.push(entry.target); + } + } else { + visibleElements = visibleElements.filter((visibleEntry) => { + return visibleEntry !== entry; + }); + } + }); + + if (!hasObserved) { + hideOverlappedSidebars(); + } + hasObserved = true; + }, + {} + ); + els.forEach((el) => { + intersectionObserver.observe(el); + }); + + return { + getVisibleEntries: () => { + return visibleElements; + }, + }; + }; + + const rightElementObserver = visibleItemObserver(rightSideConflictEls); + const leftElementObserver = visibleItemObserver(leftSideConflictEls); + + const hideOverlappedSidebars = () => { + marginScrollVisibility(toRegions(rightElementObserver.getVisibleEntries())); + sidebarScrollVisiblity(toRegions(leftElementObserver.getVisibleEntries())); + if (tocLeftScrollVisibility) { + tocLeftScrollVisibility( + toRegions(leftElementObserver.getVisibleEntries()) + ); + } + }; + + window.quartoToggleReader = () => { + // Applies a slow class (or removes it) + // to update the transition speed + const slowTransition = (slow) => { + const manageTransition = (id, slow) => { + const el = document.getElementById(id); + if (el) { + if (slow) { + el.classList.add("slow"); + } else { + el.classList.remove("slow"); + } + } + }; + + manageTransition("TOC", slow); + manageTransition("quarto-sidebar", slow); + }; + const readerMode = !isReaderMode(); + setReaderModeValue(readerMode); + + // If we're entering reader mode, slow the transition + if (readerMode) { + slowTransition(readerMode); + } + highlightReaderToggle(readerMode); + hideOverlappedSidebars(); + + // If we're exiting reader mode, restore the non-slow transition + if (!readerMode) { + slowTransition(!readerMode); + } + }; + + const highlightReaderToggle = (readerMode) => { + const els = document.querySelectorAll(".quarto-reader-toggle"); + if (els) { + els.forEach((el) => { + if (readerMode) { + el.classList.add("reader"); + } else { + el.classList.remove("reader"); + } + }); + } + }; + + const setReaderModeValue = (val) => { + if (window.location.protocol !== "file:") { + window.localStorage.setItem("quarto-reader-mode", val); + } else { + localReaderMode = val; + } + }; + + const isReaderMode = () => { + if (window.location.protocol !== "file:") { + return window.localStorage.getItem("quarto-reader-mode") === "true"; + } else { + return localReaderMode; + } + }; + let localReaderMode = null; + + const tocOpenDepthStr = tocEl?.getAttribute("data-toc-expanded"); + const tocOpenDepth = tocOpenDepthStr ? Number(tocOpenDepthStr) : 1; + + // Walk the TOC and collapse/expand nodes + // Nodes are expanded if: + // - they are top level + // - they have children that are 'active' links + // - they are directly below an link that is 'active' + const walk = (el, depth) => { + // Tick depth when we enter a UL + if (el.tagName === "UL") { + depth = depth + 1; + } + + // It this is active link + let isActiveNode = false; + if (el.tagName === "A" && el.classList.contains("active")) { + isActiveNode = true; + } + + // See if there is an active child to this element + let hasActiveChild = false; + for (child of el.children) { + hasActiveChild = walk(child, depth) || hasActiveChild; + } + + // Process the collapse state if this is an UL + if (el.tagName === "UL") { + if (tocOpenDepth === -1 && depth > 1) { + el.classList.add("collapse"); + } else if ( + depth <= tocOpenDepth || + hasActiveChild || + prevSiblingIsActiveLink(el) + ) { + el.classList.remove("collapse"); + } else { + el.classList.add("collapse"); + } + + // untick depth when we leave a UL + depth = depth - 1; + } + return hasActiveChild || isActiveNode; + }; + + // walk the TOC and expand / collapse any items that should be shown + + if (tocEl) { + walk(tocEl, 0); + updateActiveLink(); + } + + // Throttle the scroll event and walk peridiocally + window.document.addEventListener( + "scroll", + throttle(() => { + if (tocEl) { + updateActiveLink(); + walk(tocEl, 0); + } + if (!isReaderMode()) { + hideOverlappedSidebars(); + } + }, 5) + ); + window.addEventListener( + "resize", + throttle(() => { + if (!isReaderMode()) { + hideOverlappedSidebars(); + } + }, 10) + ); + hideOverlappedSidebars(); + highlightReaderToggle(isReaderMode()); +}); + +// grouped tabsets +window.addEventListener("pageshow", (_event) => { + function getTabSettings() { + const data = localStorage.getItem("quarto-persistent-tabsets-data"); + if (!data) { + localStorage.setItem("quarto-persistent-tabsets-data", "{}"); + return {}; + } + if (data) { + return JSON.parse(data); + } + } + + function setTabSettings(data) { + localStorage.setItem( + "quarto-persistent-tabsets-data", + JSON.stringify(data) + ); + } + + function setTabState(groupName, groupValue) { + const data = getTabSettings(); + data[groupName] = groupValue; + setTabSettings(data); + } + + function toggleTab(tab, active) { + const tabPanelId = tab.getAttribute("aria-controls"); + const tabPanel = document.getElementById(tabPanelId); + if (active) { + tab.classList.add("active"); + tabPanel.classList.add("active"); + } else { + tab.classList.remove("active"); + tabPanel.classList.remove("active"); + } + } + + function toggleAll(selectedGroup, selectorsToSync) { + for (const [thisGroup, tabs] of Object.entries(selectorsToSync)) { + const active = selectedGroup === thisGroup; + for (const tab of tabs) { + toggleTab(tab, active); + } + } + } + + function findSelectorsToSyncByLanguage() { + const result = {}; + const tabs = Array.from( + document.querySelectorAll(`div[data-group] a[id^='tabset-']`) + ); + for (const item of tabs) { + const div = item.parentElement.parentElement.parentElement; + const group = div.getAttribute("data-group"); + if (!result[group]) { + result[group] = {}; + } + const selectorsToSync = result[group]; + const value = item.innerHTML; + if (!selectorsToSync[value]) { + selectorsToSync[value] = []; + } + selectorsToSync[value].push(item); + } + return result; + } + + function setupSelectorSync() { + const selectorsToSync = findSelectorsToSyncByLanguage(); + Object.entries(selectorsToSync).forEach(([group, tabSetsByValue]) => { + Object.entries(tabSetsByValue).forEach(([value, items]) => { + items.forEach((item) => { + item.addEventListener("click", (_event) => { + setTabState(group, value); + toggleAll(value, selectorsToSync[group]); + }); + }); + }); + }); + return selectorsToSync; + } + + const selectorsToSync = setupSelectorSync(); + for (const [group, selectedName] of Object.entries(getTabSettings())) { + const selectors = selectorsToSync[group]; + // it's possible that stale state gives us empty selections, so we explicitly check here. + if (selectors) { + toggleAll(selectedName, selectors); + } + } +}); + +function throttle(func, wait) { + let waiting = false; + return function () { + if (!waiting) { + func.apply(this, arguments); + waiting = true; + setTimeout(function () { + waiting = false; + }, wait); + } + }; +} + +function nexttick(func) { + return setTimeout(func, 0); +} diff --git a/site_libs/quarto-html/tippy.css b/site_libs/quarto-html/tippy.css new file mode 100644 index 0000000..e6ae635 --- /dev/null +++ b/site_libs/quarto-html/tippy.css @@ -0,0 +1 @@ +.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1} \ No newline at end of file diff --git a/site_libs/quarto-html/tippy.umd.min.js b/site_libs/quarto-html/tippy.umd.min.js new file mode 100644 index 0000000..ca292be --- /dev/null +++ b/site_libs/quarto-html/tippy.umd.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],t):(e=e||self).tippy=t(e.Popper)}(this,(function(e){"use strict";var t={passive:!0,capture:!0},n=function(){return document.body};function r(e,t,n){if(Array.isArray(e)){var r=e[t];return null==r?Array.isArray(n)?n[t]:n:r}return e}function o(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function i(e,t){return"function"==typeof e?e.apply(void 0,t):e}function a(e,t){return 0===t?e:function(r){clearTimeout(n),n=setTimeout((function(){e(r)}),t)};var n}function s(e,t){var n=Object.assign({},e);return t.forEach((function(e){delete n[e]})),n}function u(e){return[].concat(e)}function c(e,t){-1===e.indexOf(t)&&e.push(t)}function p(e){return e.split("-")[0]}function f(e){return[].slice.call(e)}function l(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function d(){return document.createElement("div")}function v(e){return["Element","Fragment"].some((function(t){return o(e,t)}))}function m(e){return o(e,"MouseEvent")}function g(e){return!(!e||!e._tippy||e._tippy.reference!==e)}function h(e){return v(e)?[e]:function(e){return o(e,"NodeList")}(e)?f(e):Array.isArray(e)?e:f(document.querySelectorAll(e))}function b(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function y(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function w(e){var t,n=u(e)[0];return null!=n&&null!=(t=n.ownerDocument)&&t.body?n.ownerDocument:document}function E(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[r](t,n)}))}function O(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var x={isTouch:!1},C=0;function T(){x.isTouch||(x.isTouch=!0,window.performance&&document.addEventListener("mousemove",A))}function A(){var e=performance.now();e-C<20&&(x.isTouch=!1,document.removeEventListener("mousemove",A)),C=e}function L(){var e=document.activeElement;if(g(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}var D=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto,R=Object.assign({appendTo:n,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(R);function P(e){var t=(e.plugins||[]).reduce((function(t,n){var r,o=n.name,i=n.defaultValue;o&&(t[o]=void 0!==e[o]?e[o]:null!=(r=R[o])?r:i);return t}),{});return Object.assign({},e,t)}function j(e,t){var n=Object.assign({},t,{content:i(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(P(Object.assign({},R,{plugins:t}))):k).reduce((function(t,n){var r=(e.getAttribute("data-tippy-"+n)||"").trim();if(!r)return t;if("content"===n)t[n]=r;else try{t[n]=JSON.parse(r)}catch(e){t[n]=r}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},R.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function M(e,t){e.innerHTML=t}function V(e){var t=d();return!0===e?t.className="tippy-arrow":(t.className="tippy-svg-arrow",v(e)?t.appendChild(e):M(t,e)),t}function I(e,t){v(t.content)?(M(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?M(e,t.content):e.textContent=t.content)}function S(e){var t=e.firstElementChild,n=f(t.children);return{box:t,content:n.find((function(e){return e.classList.contains("tippy-content")})),arrow:n.find((function(e){return e.classList.contains("tippy-arrow")||e.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function N(e){var t=d(),n=d();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=d();function o(n,r){var o=S(t),i=o.box,a=o.content,s=o.arrow;r.theme?i.setAttribute("data-theme",r.theme):i.removeAttribute("data-theme"),"string"==typeof r.animation?i.setAttribute("data-animation",r.animation):i.removeAttribute("data-animation"),r.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?i.setAttribute("role",r.role):i.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||I(a,e.props),r.arrow?s?n.arrow!==r.arrow&&(i.removeChild(s),i.appendChild(V(r.arrow))):i.appendChild(V(r.arrow)):s&&i.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),I(r,e.props),t.appendChild(n),n.appendChild(r),o(e.props,e.props),{popper:t,onUpdate:o}}N.$$tippy=!0;var B=1,H=[],U=[];function _(o,s){var v,g,h,C,T,A,L,k,M=j(o,Object.assign({},R,P(l(s)))),V=!1,I=!1,N=!1,_=!1,F=[],W=a(we,M.interactiveDebounce),X=B++,Y=(k=M.plugins).filter((function(e,t){return k.indexOf(e)===t})),$={id:X,reference:o,popper:d(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:Y,clearDelayTimeouts:function(){clearTimeout(v),clearTimeout(g),cancelAnimationFrame(h)},setProps:function(e){if($.state.isDestroyed)return;ae("onBeforeUpdate",[$,e]),be();var t=$.props,n=j(o,Object.assign({},t,l(e),{ignoreAttributes:!0}));$.props=n,he(),t.interactiveDebounce!==n.interactiveDebounce&&(ce(),W=a(we,n.interactiveDebounce));t.triggerTarget&&!n.triggerTarget?u(t.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):n.triggerTarget&&o.removeAttribute("aria-expanded");ue(),ie(),J&&J(t,n);$.popperInstance&&(Ce(),Ae().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));ae("onAfterUpdate",[$,e])},setContent:function(e){$.setProps({content:e})},show:function(){var e=$.state.isVisible,t=$.state.isDestroyed,o=!$.state.isEnabled,a=x.isTouch&&!$.props.touch,s=r($.props.duration,0,R.duration);if(e||t||o||a)return;if(te().hasAttribute("disabled"))return;if(ae("onShow",[$],!1),!1===$.props.onShow($))return;$.state.isVisible=!0,ee()&&(z.style.visibility="visible");ie(),de(),$.state.isMounted||(z.style.transition="none");if(ee()){var u=re(),p=u.box,f=u.content;b([p,f],0)}A=function(){var e;if($.state.isVisible&&!_){if(_=!0,z.offsetHeight,z.style.transition=$.props.moveTransition,ee()&&$.props.animation){var t=re(),n=t.box,r=t.content;b([n,r],s),y([n,r],"visible")}se(),ue(),c(U,$),null==(e=$.popperInstance)||e.forceUpdate(),ae("onMount",[$]),$.props.animation&&ee()&&function(e,t){me(e,t)}(s,(function(){$.state.isShown=!0,ae("onShown",[$])}))}},function(){var e,t=$.props.appendTo,r=te();e=$.props.interactive&&t===n||"parent"===t?r.parentNode:i(t,[r]);e.contains(z)||e.appendChild(z);$.state.isMounted=!0,Ce()}()},hide:function(){var e=!$.state.isVisible,t=$.state.isDestroyed,n=!$.state.isEnabled,o=r($.props.duration,1,R.duration);if(e||t||n)return;if(ae("onHide",[$],!1),!1===$.props.onHide($))return;$.state.isVisible=!1,$.state.isShown=!1,_=!1,V=!1,ee()&&(z.style.visibility="hidden");if(ce(),ve(),ie(!0),ee()){var i=re(),a=i.box,s=i.content;$.props.animation&&(b([a,s],o),y([a,s],"hidden"))}se(),ue(),$.props.animation?ee()&&function(e,t){me(e,(function(){!$.state.isVisible&&z.parentNode&&z.parentNode.contains(z)&&t()}))}(o,$.unmount):$.unmount()},hideWithInteractivity:function(e){ne().addEventListener("mousemove",W),c(H,W),W(e)},enable:function(){$.state.isEnabled=!0},disable:function(){$.hide(),$.state.isEnabled=!1},unmount:function(){$.state.isVisible&&$.hide();if(!$.state.isMounted)return;Te(),Ae().forEach((function(e){e._tippy.unmount()})),z.parentNode&&z.parentNode.removeChild(z);U=U.filter((function(e){return e!==$})),$.state.isMounted=!1,ae("onHidden",[$])},destroy:function(){if($.state.isDestroyed)return;$.clearDelayTimeouts(),$.unmount(),be(),delete o._tippy,$.state.isDestroyed=!0,ae("onDestroy",[$])}};if(!M.render)return $;var q=M.render($),z=q.popper,J=q.onUpdate;z.setAttribute("data-tippy-root",""),z.id="tippy-"+$.id,$.popper=z,o._tippy=$,z._tippy=$;var G=Y.map((function(e){return e.fn($)})),K=o.hasAttribute("aria-expanded");return he(),ue(),ie(),ae("onCreate",[$]),M.showOnCreate&&Le(),z.addEventListener("mouseenter",(function(){$.props.interactive&&$.state.isVisible&&$.clearDelayTimeouts()})),z.addEventListener("mouseleave",(function(){$.props.interactive&&$.props.trigger.indexOf("mouseenter")>=0&&ne().addEventListener("mousemove",W)})),$;function Q(){var e=$.props.touch;return Array.isArray(e)?e:[e,0]}function Z(){return"hold"===Q()[0]}function ee(){var e;return!(null==(e=$.props.render)||!e.$$tippy)}function te(){return L||o}function ne(){var e=te().parentNode;return e?w(e):document}function re(){return S(z)}function oe(e){return $.state.isMounted&&!$.state.isVisible||x.isTouch||C&&"focus"===C.type?0:r($.props.delay,e?0:1,R.delay)}function ie(e){void 0===e&&(e=!1),z.style.pointerEvents=$.props.interactive&&!e?"":"none",z.style.zIndex=""+$.props.zIndex}function ae(e,t,n){var r;(void 0===n&&(n=!0),G.forEach((function(n){n[e]&&n[e].apply(n,t)})),n)&&(r=$.props)[e].apply(r,t)}function se(){var e=$.props.aria;if(e.content){var t="aria-"+e.content,n=z.id;u($.props.triggerTarget||o).forEach((function(e){var r=e.getAttribute(t);if($.state.isVisible)e.setAttribute(t,r?r+" "+n:n);else{var o=r&&r.replace(n,"").trim();o?e.setAttribute(t,o):e.removeAttribute(t)}}))}}function ue(){!K&&$.props.aria.expanded&&u($.props.triggerTarget||o).forEach((function(e){$.props.interactive?e.setAttribute("aria-expanded",$.state.isVisible&&e===te()?"true":"false"):e.removeAttribute("aria-expanded")}))}function ce(){ne().removeEventListener("mousemove",W),H=H.filter((function(e){return e!==W}))}function pe(e){if(!x.isTouch||!N&&"mousedown"!==e.type){var t=e.composedPath&&e.composedPath()[0]||e.target;if(!$.props.interactive||!O(z,t)){if(u($.props.triggerTarget||o).some((function(e){return O(e,t)}))){if(x.isTouch)return;if($.state.isVisible&&$.props.trigger.indexOf("click")>=0)return}else ae("onClickOutside",[$,e]);!0===$.props.hideOnClick&&($.clearDelayTimeouts(),$.hide(),I=!0,setTimeout((function(){I=!1})),$.state.isMounted||ve())}}}function fe(){N=!0}function le(){N=!1}function de(){var e=ne();e.addEventListener("mousedown",pe,!0),e.addEventListener("touchend",pe,t),e.addEventListener("touchstart",le,t),e.addEventListener("touchmove",fe,t)}function ve(){var e=ne();e.removeEventListener("mousedown",pe,!0),e.removeEventListener("touchend",pe,t),e.removeEventListener("touchstart",le,t),e.removeEventListener("touchmove",fe,t)}function me(e,t){var n=re().box;function r(e){e.target===n&&(E(n,"remove",r),t())}if(0===e)return t();E(n,"remove",T),E(n,"add",r),T=r}function ge(e,t,n){void 0===n&&(n=!1),u($.props.triggerTarget||o).forEach((function(r){r.addEventListener(e,t,n),F.push({node:r,eventType:e,handler:t,options:n})}))}function he(){var e;Z()&&(ge("touchstart",ye,{passive:!0}),ge("touchend",Ee,{passive:!0})),(e=$.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(ge(e,ye),e){case"mouseenter":ge("mouseleave",Ee);break;case"focus":ge(D?"focusout":"blur",Oe);break;case"focusin":ge("focusout",Oe)}}))}function be(){F.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),F=[]}function ye(e){var t,n=!1;if($.state.isEnabled&&!xe(e)&&!I){var r="focus"===(null==(t=C)?void 0:t.type);C=e,L=e.currentTarget,ue(),!$.state.isVisible&&m(e)&&H.forEach((function(t){return t(e)})),"click"===e.type&&($.props.trigger.indexOf("mouseenter")<0||V)&&!1!==$.props.hideOnClick&&$.state.isVisible?n=!0:Le(e),"click"===e.type&&(V=!n),n&&!r&&De(e)}}function we(e){var t=e.target,n=te().contains(t)||z.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,r=t.clientY;return e.every((function(e){var t=e.popperRect,o=e.popperState,i=e.props.interactiveBorder,a=p(o.placement),s=o.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,f="right"===a?s.left.x:0,l="left"===a?s.right.x:0,d=t.top-r+u>i,v=r-t.bottom-c>i,m=t.left-n+f>i,g=n-t.right-l>i;return d||v||m||g}))}(Ae().concat(z).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),e)&&(ce(),De(e))}function Ee(e){xe(e)||$.props.trigger.indexOf("click")>=0&&V||($.props.interactive?$.hideWithInteractivity(e):De(e))}function Oe(e){$.props.trigger.indexOf("focusin")<0&&e.target!==te()||$.props.interactive&&e.relatedTarget&&z.contains(e.relatedTarget)||De(e)}function xe(e){return!!x.isTouch&&Z()!==e.type.indexOf("touch")>=0}function Ce(){Te();var t=$.props,n=t.popperOptions,r=t.placement,i=t.offset,a=t.getReferenceClientRect,s=t.moveTransition,u=ee()?S(z).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||te()}:o,p=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(ee()){var n=re().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];ee()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),$.popperInstance=e.createPopper(c,z,Object.assign({},n,{placement:r,onFirstUpdate:A,modifiers:p}))}function Te(){$.popperInstance&&($.popperInstance.destroy(),$.popperInstance=null)}function Ae(){return f(z.querySelectorAll("[data-tippy-root]"))}function Le(e){$.clearDelayTimeouts(),e&&ae("onTrigger",[$,e]),de();var t=oe(!0),n=Q(),r=n[0],o=n[1];x.isTouch&&"hold"===r&&o&&(t=o),t?v=setTimeout((function(){$.show()}),t):$.show()}function De(e){if($.clearDelayTimeouts(),ae("onUntrigger",[$,e]),$.state.isVisible){if(!($.props.trigger.indexOf("mouseenter")>=0&&$.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&V)){var t=oe(!1);t?g=setTimeout((function(){$.state.isVisible&&$.hide()}),t):h=requestAnimationFrame((function(){$.hide()}))}}else ve()}}function F(e,n){void 0===n&&(n={});var r=R.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",T,t),window.addEventListener("blur",L);var o=Object.assign({},n,{plugins:r}),i=h(e).reduce((function(e,t){var n=t&&_(t,o);return n&&e.push(n),e}),[]);return v(e)?i[0]:i}F.defaultProps=R,F.setDefaultProps=function(e){Object.keys(e).forEach((function(t){R[t]=e[t]}))},F.currentInput=x;var W=Object.assign({},e.applyStyles,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),X={mouseover:"mouseenter",focusin:"focus",click:"click"};var Y={name:"animateFill",defaultValue:!1,fn:function(e){var t;if(null==(t=e.props.render)||!t.$$tippy)return{};var n=S(e.popper),r=n.box,o=n.content,i=e.props.animateFill?function(){var e=d();return e.className="tippy-backdrop",y([e],"hidden"),e}():null;return{onCreate:function(){i&&(r.insertBefore(i,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",e.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(i){var e=r.style.transitionDuration,t=Number(e.replace("ms",""));o.style.transitionDelay=Math.round(t/10)+"ms",i.style.transitionDuration=e,y([i],"visible")}},onShow:function(){i&&(i.style.transitionDuration="0ms")},onHide:function(){i&&y([i],"hidden")}}}};var $={clientX:0,clientY:0},q=[];function z(e){var t=e.clientX,n=e.clientY;$={clientX:t,clientY:n}}var J={name:"followCursor",defaultValue:!1,fn:function(e){var t=e.reference,n=w(e.props.triggerTarget||t),r=!1,o=!1,i=!0,a=e.props;function s(){return"initial"===e.props.followCursor&&e.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,e.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||t.contains(n.target),o=e.props.followCursor,i=n.clientX,a=n.clientY,s=t.getBoundingClientRect(),u=i-s.left,c=a-s.top;!r&&e.props.interactive||e.setProps({getReferenceClientRect:function(){var e=t.getBoundingClientRect(),n=i,r=a;"initial"===o&&(n=e.left+u,r=e.top+c);var s="horizontal"===o?e.top:r,p="vertical"===o?e.right:n,f="horizontal"===o?e.bottom:r,l="vertical"===o?e.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){e.props.followCursor&&(q.push({instance:e,doc:n}),function(e){e.addEventListener("mousemove",z)}(n))}function d(){0===(q=q.filter((function(t){return t.instance!==e}))).filter((function(e){return e.doc===n})).length&&function(e){e.removeEventListener("mousemove",z)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=e.props},onAfterUpdate:function(t,n){var i=n.followCursor;r||void 0!==i&&a.followCursor!==i&&(d(),i?(l(),!e.state.isMounted||o||s()||u()):(c(),p()))},onMount:function(){e.props.followCursor&&!o&&(i&&(f($),i=!1),s()||u())},onTrigger:function(e,t){m(t)&&($={clientX:t.clientX,clientY:t.clientY}),o="focus"===t.type},onHidden:function(){e.props.followCursor&&(p(),c(),i=!0)}}}};var G={name:"inlinePositioning",defaultValue:!1,fn:function(e){var t,n=e.reference;var r=-1,o=!1,i=[],a={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(o){var a=o.state;e.props.inlinePositioning&&(-1!==i.indexOf(a.placement)&&(i=[]),t!==a.placement&&-1===i.indexOf(a.placement)&&(i.push(a.placement),e.setProps({getReferenceClientRect:function(){return function(e){return function(e,t,n,r){if(n.length<2||null===e)return t;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||t;switch(e){case"top":case"bottom":var o=n[0],i=n[n.length-1],a="top"===e,s=o.top,u=i.bottom,c=a?o.left:i.left,p=a?o.right:i.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(e){return e.left}))),l=Math.max.apply(Math,n.map((function(e){return e.right}))),d=n.filter((function(t){return"left"===e?t.left===f:t.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return t}}(p(e),n.getBoundingClientRect(),f(n.getClientRects()),r)}(a.placement)}})),t=a.placement)}};function s(){var t;o||(t=function(e,t){var n;return{popperOptions:Object.assign({},e.popperOptions,{modifiers:[].concat(((null==(n=e.popperOptions)?void 0:n.modifiers)||[]).filter((function(e){return e.name!==t.name})),[t])})}}(e.props,a),o=!0,e.setProps(t),o=!1)}return{onCreate:s,onAfterUpdate:s,onTrigger:function(t,n){if(m(n)){var o=f(e.reference.getClientRects()),i=o.find((function(e){return e.left-2<=n.clientX&&e.right+2>=n.clientX&&e.top-2<=n.clientY&&e.bottom+2>=n.clientY})),a=o.indexOf(i);r=a>-1?a:r}},onHidden:function(){r=-1}}}};var K={name:"sticky",defaultValue:!1,fn:function(e){var t=e.reference,n=e.popper;function r(t){return!0===e.props.sticky||e.props.sticky===t}var o=null,i=null;function a(){var s=r("reference")?(e.popperInstance?e.popperInstance.state.elements.reference:t).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&Q(o,s)||u&&Q(i,u))&&e.popperInstance&&e.popperInstance.update(),o=s,i=u,e.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){e.props.sticky&&a()}}}};function Q(e,t){return!e||!t||(e.top!==t.top||e.right!==t.right||e.bottom!==t.bottom||e.left!==t.left)}return F.setDefaultProps({plugins:[Y,J,G,K],render:N}),F.createSingleton=function(e,t){var n;void 0===t&&(t={});var r,o=e,i=[],a=[],c=t.overrides,p=[],f=!1;function l(){a=o.map((function(e){return u(e.props.triggerTarget||e.reference)})).reduce((function(e,t){return e.concat(t)}),[])}function v(){i=o.map((function(e){return e.reference}))}function m(e){o.forEach((function(t){e?t.enable():t.disable()}))}function g(e){return o.map((function(t){var n=t.setProps;return t.setProps=function(o){n(o),t.reference===r&&e.setProps(o)},function(){t.setProps=n}}))}function h(e,t){var n=a.indexOf(t);if(t!==r){r=t;var s=(c||[]).concat("content").reduce((function(e,t){return e[t]=o[n].props[t],e}),{});e.setProps(Object.assign({},s,{getReferenceClientRect:"function"==typeof s.getReferenceClientRect?s.getReferenceClientRect:function(){var e;return null==(e=i[n])?void 0:e.getBoundingClientRect()}}))}}m(!1),v(),l();var b={fn:function(){return{onDestroy:function(){m(!0)},onHidden:function(){r=null},onClickOutside:function(e){e.props.showOnCreate&&!f&&(f=!0,r=null)},onShow:function(e){e.props.showOnCreate&&!f&&(f=!0,h(e,i[0]))},onTrigger:function(e,t){h(e,t.currentTarget)}}}},y=F(d(),Object.assign({},s(t,["overrides"]),{plugins:[b].concat(t.plugins||[]),triggerTarget:a,popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat((null==(n=t.popperOptions)?void 0:n.modifiers)||[],[W])})})),w=y.show;y.show=function(e){if(w(),!r&&null==e)return h(y,i[0]);if(!r||null!=e){if("number"==typeof e)return i[e]&&h(y,i[e]);if(o.indexOf(e)>=0){var t=e.reference;return h(y,t)}return i.indexOf(e)>=0?h(y,e):void 0}},y.showNext=function(){var e=i[0];if(!r)return y.show(0);var t=i.indexOf(r);y.show(i[t+1]||e)},y.showPrevious=function(){var e=i[i.length-1];if(!r)return y.show(e);var t=i.indexOf(r),n=i[t-1]||e;y.show(n)};var E=y.setProps;return y.setProps=function(e){c=e.overrides||c,E(e)},y.setInstances=function(e){m(!0),p.forEach((function(e){return e()})),o=e,m(!1),v(),l(),p=g(y),y.setProps({triggerTarget:a})},p=g(y),y},F.delegate=function(e,n){var r=[],o=[],i=!1,a=n.target,c=s(n,["target"]),p=Object.assign({},c,{trigger:"manual",touch:!1}),f=Object.assign({touch:R.touch},c,{showOnCreate:!0}),l=F(e,p);function d(e){if(e.target&&!i){var t=e.target.closest(a);if(t){var r=t.getAttribute("data-tippy-trigger")||n.trigger||R.trigger;if(!t._tippy&&!("touchstart"===e.type&&"boolean"==typeof f.touch||"touchstart"!==e.type&&r.indexOf(X[e.type])<0)){var s=F(t,f);s&&(o=o.concat(s))}}}}function v(e,t,n,o){void 0===o&&(o=!1),e.addEventListener(t,n,o),r.push({node:e,eventType:t,handler:n,options:o})}return u(l).forEach((function(e){var n=e.destroy,a=e.enable,s=e.disable;e.destroy=function(e){void 0===e&&(e=!0),e&&o.forEach((function(e){e.destroy()})),o=[],r.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),r=[],n()},e.enable=function(){a(),o.forEach((function(e){return e.enable()})),i=!1},e.disable=function(){s(),o.forEach((function(e){return e.disable()})),i=!0},function(e){var n=e.reference;v(n,"touchstart",d,t),v(n,"mouseover",d),v(n,"focusin",d),v(n,"click",d)}(e)})),l},F.hideAll=function(e){var t=void 0===e?{}:e,n=t.exclude,r=t.duration;U.forEach((function(e){var t=!1;if(n&&(t=g(n)?e.reference===n:e.popper===n.popper),!t){var o=e.props.duration;e.setProps({duration:r}),e.hide(),e.state.isDestroyed||e.setProps({duration:o})}}))},F.roundArrow='<svg width="16" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z"></svg>',F})); + diff --git a/site_libs/quarto-nav/headroom.min.js b/site_libs/quarto-nav/headroom.min.js new file mode 100644 index 0000000..b08f1df --- /dev/null +++ b/site_libs/quarto-nav/headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.12.0 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).Headroom=n()}(this,function(){"use strict";function t(){return"undefined"!=typeof window}function d(t){return function(t){return t&&t.document&&function(t){return 9===t.nodeType}(t.document)}(t)?function(t){var n=t.document,o=n.body,s=n.documentElement;return{scrollHeight:function(){return Math.max(o.scrollHeight,s.scrollHeight,o.offsetHeight,s.offsetHeight,o.clientHeight,s.clientHeight)},height:function(){return t.innerHeight||s.clientHeight||o.clientHeight},scrollY:function(){return void 0!==t.pageYOffset?t.pageYOffset:(s||o.parentNode||o).scrollTop}}}(t):function(t){return{scrollHeight:function(){return Math.max(t.scrollHeight,t.offsetHeight,t.clientHeight)},height:function(){return Math.max(t.offsetHeight,t.clientHeight)},scrollY:function(){return t.scrollTop}}}(t)}function n(t,s,e){var n,o=function(){var n=!1;try{var t={get passive(){n=!0}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){n=!1}return n}(),i=!1,r=d(t),l=r.scrollY(),a={};function c(){var t=Math.round(r.scrollY()),n=r.height(),o=r.scrollHeight();a.scrollY=t,a.lastScrollY=l,a.direction=l<t?"down":"up",a.distance=Math.abs(t-l),a.isOutOfBounds=t<0||o<t+n,a.top=t<=s.offset[a.direction],a.bottom=o<=t+n,a.toleranceExceeded=a.distance>s.tolerance[a.direction],e(a),l=t,i=!1}function h(){i||(i=!0,n=requestAnimationFrame(c))}var u=!!o&&{passive:!0,capture:!1};return t.addEventListener("scroll",h,u),c(),{destroy:function(){cancelAnimationFrame(n),t.removeEventListener("scroll",h,u)}}}function o(t){return t===Object(t)?t:{down:t,up:t}}function s(t,n){n=n||{},Object.assign(this,s.options,n),this.classes=Object.assign({},s.options.classes,n.classes),this.elem=t,this.tolerance=o(this.tolerance),this.offset=o(this.offset),this.initialised=!1,this.frozen=!1}return s.prototype={constructor:s,init:function(){return s.cutsTheMustard&&!this.initialised&&(this.addClass("initial"),this.initialised=!0,setTimeout(function(t){t.scrollTracker=n(t.scroller,{offset:t.offset,tolerance:t.tolerance},t.update.bind(t))},100,this)),this},destroy:function(){this.initialised=!1,Object.keys(this.classes).forEach(this.removeClass,this),this.scrollTracker.destroy()},unpin:function(){!this.hasClass("pinned")&&this.hasClass("unpinned")||(this.addClass("unpinned"),this.removeClass("pinned"),this.onUnpin&&this.onUnpin.call(this))},pin:function(){this.hasClass("unpinned")&&(this.addClass("pinned"),this.removeClass("unpinned"),this.onPin&&this.onPin.call(this))},freeze:function(){this.frozen=!0,this.addClass("frozen")},unfreeze:function(){this.frozen=!1,this.removeClass("frozen")},top:function(){this.hasClass("top")||(this.addClass("top"),this.removeClass("notTop"),this.onTop&&this.onTop.call(this))},notTop:function(){this.hasClass("notTop")||(this.addClass("notTop"),this.removeClass("top"),this.onNotTop&&this.onNotTop.call(this))},bottom:function(){this.hasClass("bottom")||(this.addClass("bottom"),this.removeClass("notBottom"),this.onBottom&&this.onBottom.call(this))},notBottom:function(){this.hasClass("notBottom")||(this.addClass("notBottom"),this.removeClass("bottom"),this.onNotBottom&&this.onNotBottom.call(this))},shouldUnpin:function(t){return"down"===t.direction&&!t.top&&t.toleranceExceeded},shouldPin:function(t){return"up"===t.direction&&t.toleranceExceeded||t.top},addClass:function(t){this.elem.classList.add.apply(this.elem.classList,this.classes[t].split(" "))},removeClass:function(t){this.elem.classList.remove.apply(this.elem.classList,this.classes[t].split(" "))},hasClass:function(t){return this.classes[t].split(" ").every(function(t){return this.classList.contains(t)},this.elem)},update:function(t){t.isOutOfBounds||!0!==this.frozen&&(t.top?this.top():this.notTop(),t.bottom?this.bottom():this.notBottom(),this.shouldUnpin(t)?this.unpin():this.shouldPin(t)&&this.pin())}},s.options={tolerance:{up:0,down:0},offset:0,scroller:t()?window:null,classes:{frozen:"headroom--frozen",pinned:"headroom--pinned",unpinned:"headroom--unpinned",top:"headroom--top",notTop:"headroom--not-top",bottom:"headroom--bottom",notBottom:"headroom--not-bottom",initial:"headroom"}},s.cutsTheMustard=!!(t()&&function(){}.bind&&"classList"in document.documentElement&&Object.assign&&Object.keys&&requestAnimationFrame),s}); diff --git a/site_libs/quarto-nav/quarto-nav.js b/site_libs/quarto-nav/quarto-nav.js new file mode 100644 index 0000000..f6a53b1 --- /dev/null +++ b/site_libs/quarto-nav/quarto-nav.js @@ -0,0 +1,289 @@ +const headroomChanged = new CustomEvent("quarto-hrChanged", { + detail: {}, + bubbles: true, + cancelable: false, + composed: false, +}); + +window.document.addEventListener("DOMContentLoaded", function () { + let init = false; + + // Manage the back to top button, if one is present. + let lastScrollTop = window.pageYOffset || document.documentElement.scrollTop; + const scrollDownBuffer = 5; + const scrollUpBuffer = 35; + const btn = document.getElementById("quarto-back-to-top"); + const hideBackToTop = () => { + btn.style.display = "none"; + }; + const showBackToTop = () => { + btn.style.display = "inline-block"; + }; + if (btn) { + window.document.addEventListener( + "scroll", + function () { + const currentScrollTop = + window.pageYOffset || document.documentElement.scrollTop; + + // Shows and hides the button 'intelligently' as the user scrolls + if (currentScrollTop - scrollDownBuffer > lastScrollTop) { + hideBackToTop(); + lastScrollTop = currentScrollTop <= 0 ? 0 : currentScrollTop; + } else if (currentScrollTop < lastScrollTop - scrollUpBuffer) { + showBackToTop(); + lastScrollTop = currentScrollTop <= 0 ? 0 : currentScrollTop; + } + + // Show the button at the bottom, hides it at the top + if (currentScrollTop <= 0) { + hideBackToTop(); + } else if ( + window.innerHeight + currentScrollTop >= + document.body.offsetHeight + ) { + showBackToTop(); + } + }, + false + ); + } + + function throttle(func, wait) { + var timeout; + return function () { + const context = this; + const args = arguments; + const later = function () { + clearTimeout(timeout); + timeout = null; + func.apply(context, args); + }; + + if (!timeout) { + timeout = setTimeout(later, wait); + } + }; + } + + function headerOffset() { + // Set an offset if there is are fixed top navbar + const headerEl = window.document.querySelector("header.fixed-top"); + if (headerEl) { + return headerEl.clientHeight; + } else { + return 0; + } + } + + function footerOffset() { + const footerEl = window.document.querySelector("footer.footer"); + if (footerEl) { + return footerEl.clientHeight; + } else { + return 0; + } + } + + function dashboardOffset() { + const dashboardNavEl = window.document.getElementById( + "quarto-dashboard-header" + ); + if (dashboardNavEl !== null) { + return dashboardNavEl.clientHeight; + } else { + return 0; + } + } + + function updateDocumentOffsetWithoutAnimation() { + updateDocumentOffset(false); + } + + function updateDocumentOffset(animated) { + // set body offset + const topOffset = headerOffset(); + const bodyOffset = topOffset + footerOffset() + dashboardOffset(); + const bodyEl = window.document.body; + bodyEl.setAttribute("data-bs-offset", topOffset); + bodyEl.style.paddingTop = topOffset + "px"; + + // deal with sidebar offsets + const sidebars = window.document.querySelectorAll( + ".sidebar, .headroom-target" + ); + sidebars.forEach((sidebar) => { + if (!animated) { + sidebar.classList.add("notransition"); + // Remove the no transition class after the animation has time to complete + setTimeout(function () { + sidebar.classList.remove("notransition"); + }, 201); + } + + if (window.Headroom && sidebar.classList.contains("sidebar-unpinned")) { + sidebar.style.top = "0"; + sidebar.style.maxHeight = "100vh"; + } else { + sidebar.style.top = topOffset + "px"; + sidebar.style.maxHeight = "calc(100vh - " + topOffset + "px)"; + } + }); + + // allow space for footer + const mainContainer = window.document.querySelector(".quarto-container"); + if (mainContainer) { + mainContainer.style.minHeight = "calc(100vh - " + bodyOffset + "px)"; + } + + // link offset + let linkStyle = window.document.querySelector("#quarto-target-style"); + if (!linkStyle) { + linkStyle = window.document.createElement("style"); + linkStyle.setAttribute("id", "quarto-target-style"); + window.document.head.appendChild(linkStyle); + } + while (linkStyle.firstChild) { + linkStyle.removeChild(linkStyle.firstChild); + } + if (topOffset > 0) { + linkStyle.appendChild( + window.document.createTextNode(` + section:target::before { + content: ""; + display: block; + height: ${topOffset}px; + margin: -${topOffset}px 0 0; + }`) + ); + } + if (init) { + window.dispatchEvent(headroomChanged); + } + init = true; + } + + // initialize headroom + var header = window.document.querySelector("#quarto-header"); + if (header && window.Headroom) { + const headroom = new window.Headroom(header, { + tolerance: 5, + onPin: function () { + const sidebars = window.document.querySelectorAll( + ".sidebar, .headroom-target" + ); + sidebars.forEach((sidebar) => { + sidebar.classList.remove("sidebar-unpinned"); + }); + updateDocumentOffset(); + }, + onUnpin: function () { + const sidebars = window.document.querySelectorAll( + ".sidebar, .headroom-target" + ); + sidebars.forEach((sidebar) => { + sidebar.classList.add("sidebar-unpinned"); + }); + updateDocumentOffset(); + }, + }); + headroom.init(); + + let frozen = false; + window.quartoToggleHeadroom = function () { + if (frozen) { + headroom.unfreeze(); + frozen = false; + } else { + headroom.freeze(); + frozen = true; + } + }; + } + + window.addEventListener( + "hashchange", + function (e) { + if ( + getComputedStyle(document.documentElement).scrollBehavior !== "smooth" + ) { + window.scrollTo(0, window.pageYOffset - headerOffset()); + } + }, + false + ); + + // Observe size changed for the header + const headerEl = window.document.querySelector("header.fixed-top"); + if (headerEl && window.ResizeObserver) { + const observer = new window.ResizeObserver(() => { + setTimeout(updateDocumentOffsetWithoutAnimation, 0); + }); + observer.observe(headerEl, { + attributes: true, + childList: true, + characterData: true, + }); + } else { + window.addEventListener( + "resize", + throttle(updateDocumentOffsetWithoutAnimation, 50) + ); + } + setTimeout(updateDocumentOffsetWithoutAnimation, 250); + + // fixup index.html links if we aren't on the filesystem + if (window.location.protocol !== "file:") { + const links = window.document.querySelectorAll("a"); + for (let i = 0; i < links.length; i++) { + if (links[i].href) { + links[i].dataset.originalHref = links[i].href; + links[i].href = links[i].href.replace(/\/index\.html/, "/"); + } + } + + // Fixup any sharing links that require urls + // Append url to any sharing urls + const sharingLinks = window.document.querySelectorAll( + "a.sidebar-tools-main-item, a.quarto-navigation-tool, a.quarto-navbar-tools, a.quarto-navbar-tools-item" + ); + for (let i = 0; i < sharingLinks.length; i++) { + const sharingLink = sharingLinks[i]; + const href = sharingLink.getAttribute("href"); + if (href) { + sharingLink.setAttribute( + "href", + href.replace("|url|", window.location.href) + ); + } + } + + // Scroll the active navigation item into view, if necessary + const navSidebar = window.document.querySelector("nav#quarto-sidebar"); + if (navSidebar) { + // Find the active item + const activeItem = navSidebar.querySelector("li.sidebar-item a.active"); + if (activeItem) { + // Wait for the scroll height and height to resolve by observing size changes on the + // nav element that is scrollable + const resizeObserver = new ResizeObserver((_entries) => { + // The bottom of the element + const elBottom = activeItem.offsetTop; + const viewBottom = navSidebar.scrollTop + navSidebar.clientHeight; + + // The element height and scroll height are the same, then we are still loading + if (viewBottom !== navSidebar.scrollHeight) { + // Determine if the item isn't visible and scroll to it + if (elBottom >= viewBottom) { + navSidebar.scrollTop = elBottom; + } + + // stop observing now since we've completed the scroll + resizeObserver.unobserve(navSidebar); + } + }); + resizeObserver.observe(navSidebar); + } + } + } +}); diff --git a/site_libs/quarto-search/autocomplete.umd.js b/site_libs/quarto-search/autocomplete.umd.js new file mode 100644 index 0000000..ae0063a --- /dev/null +++ b/site_libs/quarto-search/autocomplete.umd.js @@ -0,0 +1,3 @@ +/*! @algolia/autocomplete-js 1.11.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-js"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(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?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},i.apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return a}}(e,t)||c(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||c(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(e){return{current:e}}function p(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,o)}),t)}}function m(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var v=0;function d(){return"autocomplete-".concat(v++)}function y(e,t){return t.reduce((function(e,t){return e&&e[t]}),e)}function b(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}function g(e){return e!==Object(e)}function h(e,t){if(e===t)return!0;if(g(e)||g(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var o=r[n];if(!(o in t))return!1;if(!h(e[o],t[o]))return!1}return!0}var O=function(){};var _="1.11.1",S=[{segment:"autocomplete-core",version:_}];function j(e){var t=e.item,n=e.items,r=void 0===n?[]:n;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return a}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var I=["items"],A=["items"];function E(e){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E(e)}function D(e){return function(e){if(Array.isArray(e))return C(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function k(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function N(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach((function(t){T(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function T(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==E(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===E(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r<e.objectIDs.length;r+=t)n.push(N(N({},e),{},{objectIDs:e.objectIDs.slice(r,r+t)}));return n}function B(e){return e.map((function(e){var t=e.items,n=k(e,I);return N(N({},n),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||n.objectIDs})}))}function R(e){var t,n,r,o=(t=P((e.version||"").split(".").map(Number),2),n=t[0],r=t[1],n>=3||2===n&&r>=4||1===n&&r>=10);function i(t,n,r){if(o&&void 0!==r){var i=r[0].__autocomplete_algoliaCredentials,u={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(D(n),[{headers:u}]))}else e.apply(void 0,[t].concat(D(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("clickedObjectIDsAfterSearch",B(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("clickedObjectIDs",B(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("convertedObjectIDsAfterSearch",B(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("convertedObjectIDs",B(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&t.reduce((function(e,t){var n=t.items,r=k(t,A);return[].concat(D(e),D(q(N(N({},r),{},{objectIDs:(null==n?void 0:n.map((function(e){return e.objectID})))||r.objectIDs})).map((function(e){return{items:n,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return i("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function F(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function L(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function U(e){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},U(e)}function M(e){return function(e){if(Array.isArray(e))return H(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return H(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function V(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function W(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?V(Object(n),!0).forEach((function(t){K(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):V(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function K(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==U(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==U(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===U(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Q="2.6.0",$="https://cdn.jsdelivr.net/npm/search-insights@".concat(Q,"/dist/search-insights.min.js"),z=p((function(e){var t=e.onItemsChange,n=e.items,r=e.insights,o=e.state;t({insights:r,insightsEvents:F({items:n}).map((function(e){return W({eventName:"Items Viewed"},e)})),state:o})}),400);function G(e){var t=function(e){return W({onItemsChange:function(e){var t=e.insights,n=e.insightsEvents;t.viewedObjectIDs.apply(t,M(n.map((function(e){return W(W({},e),{},{algoliaSource:[].concat(M(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onSelect:function(e){var t=e.insights,n=e.insightsEvents;t.clickedObjectIDsAfterSearch.apply(t,M(n.map((function(e){return W(W({},e),{},{algoliaSource:[].concat(M(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onActive:O},e)}(e),n=t.insightsClient,r=t.onItemsChange,o=t.onSelect,i=t.onActive,u=n;n||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(u=t[n]),u||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];t[n].queue.push(r)}),t[n].version=Q,u=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=$,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(e){console.error(t)}}(t))}));var a=R(u),l=f([]),c=p((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(M(e),M(t.items))}),[]).filter(L);h(l.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(l.current=n,n.length>0&&z({onItemsChange:r,items:n,insights:a,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive;function l(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:W({clickAnalytics:!0},e?{userToken:e}:{}),insights:a}})}u("addAlgoliaAgent","insights-plugin"),l(),u("onUserTokenChange",l),u("getUserToken",null,(function(e,t){l(t)})),n((function(e){var t=e.item,n=e.state,r=e.event,i=e.source;L(t)&&o({state:n,event:r,insights:a,item:t,insightsEvents:[W({eventName:"Item Selected"},j({item:t,items:i.getItems().filter(L)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,o=e.event;L(t)&&i({state:r,event:o,insights:a,item:t,insightsEvents:[W({eventName:"Item Active"},j({item:t,items:n.getItems().filter(L)}))]})}))},onStateChange:function(e){var t=e.state;c({state:t})},__autocomplete_pluginOptions:e}}function J(e,t){var n=t;return{then:function(t,r){return J(e.then(Y(t,n,e),Y(r,n,e)),n)},catch:function(t){return J(e.catch(Y(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),J(e.finally(Y(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function X(e){return J(e,{isCanceled:!1,onCancelList:[]})}function Y(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function Z(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function te(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ee(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ne(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==re(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==re(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===re(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function re(e){return re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},re(e)}function oe(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,i=0;!1===r;){var u=t.collections[o];if(u===n){r=!0;break}i+=u.items.length,o++}return t.activeItemId-i}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function ie(e,t,n){return[e,null==n?void 0:n.sourceId,t].filter(Boolean).join("-").replace(/\s/g,"")}var ue=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function ae(e){return ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ae(e)}function le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ce(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==ae(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==ae(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ae(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function se(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,i){var u=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?le(Object(n),!0).forEach((function(t){ce(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):le(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},o);o=e(o,{type:r,props:t,payload:i}),n({state:o,prevState:u})},pendingRequests:(r=[],{add:function(e){return r.push(e),e.finally((function(){r=r.filter((function(t){return t!==e}))}))},cancelAll:function(){r.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===r.length}})}}function fe(e){return fe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fe(e)}function pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function me(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pe(Object(n),!0).forEach((function(t){ve(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ve(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==fe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==fe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===fe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function de(e){return de="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},de(e)}function ye(e){return function(e){if(Array.isArray(e))return be(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return be(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return be(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function be(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function he(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ge(Object(n),!0).forEach((function(t){Oe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ge(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Oe(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==de(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==de(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===de(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _e(e,t){var n,r="undefined"!=typeof window?window:{},o=e.plugins||[];return he(he({debug:!1,openOnFocus:!1,enterKeyHint:void 0,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:!1,environment:r,shouldPanelOpen:function(e){return b(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:d(),plugins:o,initialState:he({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(ye(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:O,onResolve:O};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=te(te({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return m(e)})).then((function(e){return e.map((function(e){return he(he({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:he({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function Se(e){return Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Se(e)}function je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?je(Object(n),!0).forEach((function(t){we(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):je(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function we(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Se(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Se(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Se(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ie(e){return Ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ie(e)}function Ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ee(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ae(Object(n),!0).forEach((function(t){De(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ae(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function De(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Ie(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ie(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ie(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ce(e){return function(e){if(Array.isArray(e))return ke(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return ke(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ke(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ke(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function xe(e){return Boolean(e.execute)}function Ne(e,t,n){if(o=e,Boolean(null==o?void 0:o.execute)){var r="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(Ce(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return Ee(Ee({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?Ee(Ee({},n),{},{params:Ee(Ee({},r),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}function Te(e){var t=e.reduce((function(e,t){if(!xe(t))return e.push(t),e;var n=t.searchClient,r=t.execute,o=t.requesterId,i=t.requests,u=e.find((function(e){return xe(t)&&xe(e)&&e.searchClient===n&&Boolean(o)&&e.requesterId===o}));if(u){var a;(a=u.items).push.apply(a,Ce(i))}else{var l={execute:r,requesterId:o,items:i,searchClient:n};e.push(l)}return e}),[]).map((function(e){if(!xe(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})}));return Promise.all(t).then((function(e){return m(e)}))}function qe(e,t,n){return t.map((function(t){var r,o=e.filter((function(e){return e.sourceId===t.sourceId})),i=o.map((function(e){return e.items})),u=o[0].transformResponse,a=u?u({results:r=i,hits:r.map((function(e){return e.hits})).filter(Boolean),facetHits:r.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):i;return t.onResolve({source:t,results:i,items:a,state:n.getState()}),a.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:a}}))}function Be(e){return Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be(e)}var Re=["event","nextState","props","query","refresh","store"];function Fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Le(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fe(Object(n),!0).forEach((function(t){Ue(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ue(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Be(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Be(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Be(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Me(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var He,Ve,We,Ke=null,Qe=(He=-1,Ve=-1,We=void 0,function(e){var t=++He;return Promise.resolve(e).then((function(e){return We&&t<Ve?We:(Ve=t,We=e,e)}))});function $e(e){var t=e.event,n=e.nextState,r=void 0===n?{}:n,o=e.props,i=e.query,u=e.refresh,a=e.store,l=Me(e,Re);Ke&&o.environment.clearTimeout(Ke);var c=l.setCollections,s=l.setIsOpen,f=l.setQuery,p=l.setActiveItemId,v=l.setStatus;if(f(i),p(o.defaultActiveItemId),!i&&!1===o.openOnFocus){var d,y=a.getState().collections.map((function(e){return Le(Le({},e),{},{items:[]})}));v("idle"),c(y),s(null!==(d=r.isOpen)&&void 0!==d?d:o.shouldPanelOpen({state:a.getState()}));var b=X(Qe(y).then((function(){return Promise.resolve()})));return a.pendingRequests.add(b)}v("loading"),Ke=o.environment.setTimeout((function(){v("stalled")}),o.stallThreshold);var g=X(Qe(o.getSources(Le({query:i,refresh:u,state:a.getState()},l)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(Le({query:i,refresh:u,state:a.getState()},l))).then((function(t){return Ne(t,e.sourceId,a.getState())}))}))).then(Te).then((function(t){return qe(t,e,a)})).then((function(e){return function(e){var t=e.collections,n=e.props,r=e.state,o=t.reduce((function(e,t){return Pe(Pe({},e),{},we({},t.source.sourceId,Pe(Pe({},t.source),{},{getItems:function(){return m(t.items)}})))}),{}),i=n.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:o,state:r}).sourcesBySourceId;return m(n.reshape({sourcesBySourceId:i,sources:Object.values(i),state:r})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:a.getState()})}))})))).then((function(e){var n;v("idle"),c(e);var f=o.shouldPanelOpen({state:a.getState()});s(null!==(n=r.isOpen)&&void 0!==n?n:o.openOnFocus&&!i&&f||f);var p=oe(a.getState());if(null!==a.getState().activeItemId&&p){var m=p.item,d=p.itemInputValue,y=p.itemUrl,b=p.source;b.onActive(Le({event:t,item:m,itemInputValue:d,itemUrl:y,refresh:u,source:b,state:a.getState()},l))}})).finally((function(){v("idle"),Ke&&o.environment.clearTimeout(Ke)}));return a.pendingRequests.add(g)}function ze(e){return ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ze(e)}var Ge=["event","props","refresh","store"];function Je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Je(Object(n),!0).forEach((function(t){Ye(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Je(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ye(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==ze(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==ze(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ze(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ze(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function et(e){return et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},et(e)}var tt=["props","refresh","store"],nt=["inputElement","formElement","panelElement"],rt=["inputElement"],ot=["inputElement","maxLength"],it=["source"],ut=["item","source"];function at(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?at(Object(n),!0).forEach((function(t){ct(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):at(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ct(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==et(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==et(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===et(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function st(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ft(e){var t=e.props,n=e.refresh,r=e.store,o=st(e,tt);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,i=e.panelElement;function u(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,i].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return lt({onTouchStart:u,onMouseDown:u,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},st(e,nt))},getRootProps:function(e){return lt({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return ie(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":ie(t.id,"label")},e)},getFormProps:function(e){return e.inputElement,lt({action:"",noValidate:!0,role:"search",onSubmit:function(i){var u;i.preventDefault(),t.onSubmit(lt({event:i,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(u=e.inputElement)||void 0===u||u.blur()},onReset:function(i){var u;i.preventDefault(),t.onReset(lt({event:i,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(u=e.inputElement)||void 0===u||u.focus()}},st(e,rt))},getLabelProps:function(e){return lt({htmlFor:ie(t.id,"input"),id:ie(t.id,"label")},e)},getInputProps:function(e){var i;function u(e){(t.openOnFocus||Boolean(r.getState().query))&&$e(lt({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var a=e||{};a.inputElement;var l=a.maxLength,c=void 0===l?512:l,s=st(a,ot),f=oe(r.getState()),p=function(e){return Boolean(e&&e.match(ue))}((null===(i=t.environment.navigator)||void 0===i?void 0:i.userAgent)||""),m=t.enterKeyHint||(null!=f&&f.itemUrl&&!p?"go":"search");return lt({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?ie(t.id,"item-".concat(r.getState().activeItemId),null==f?void 0:f.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return ie(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":ie(t.id,"label"),value:r.getState().completion||r.getState().query,id:ie(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:m,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:c,type:"search",onChange:function(e){$e(lt({event:e,props:t,query:e.currentTarget.value.slice(0,c),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,i=Ze(e,Ge);if("ArrowUp"===t.key||"ArrowDown"===t.key){var u=function(){var e=oe(o.getState()),t=n.environment.document.getElementById(ie(n.id,"item-".concat(o.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},a=function(){var e=oe(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,u=e.itemInputValue,a=e.itemUrl,l=e.source;l.onActive(Xe({event:t,item:n,itemInputValue:u,itemUrl:a,refresh:r,source:l,state:o.getState()},i))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?$e(Xe({event:t,props:n,query:o.getState().query,refresh:r,store:o},i)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),a(),setTimeout(u,0)})):(o.dispatch(t.key,{}),a(),u())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=oe(o.getState()),c=l.item,s=l.itemInputValue,f=l.itemUrl,p=l.source;if(t.metaKey||t.ctrlKey)void 0!==f&&(p.onSelect(Xe({event:t,item:c,itemInputValue:s,itemUrl:f,refresh:r,source:p,state:o.getState()},i)),n.navigator.navigateNewTab({itemUrl:f,item:c,state:o.getState()}));else if(t.shiftKey)void 0!==f&&(p.onSelect(Xe({event:t,item:c,itemInputValue:s,itemUrl:f,refresh:r,source:p,state:o.getState()},i)),n.navigator.navigateNewWindow({itemUrl:f,item:c,state:o.getState()}));else if(t.altKey);else{if(void 0!==f)return p.onSelect(Xe({event:t,item:c,itemInputValue:s,itemUrl:f,refresh:r,source:p,state:o.getState()},i)),void n.navigator.navigate({itemUrl:f,item:c,state:o.getState()});$e(Xe({event:t,nextState:{isOpen:!1},props:n,query:s,refresh:r,store:o},i)).then((function(){p.onSelect(Xe({event:t,item:c,itemInputValue:s,itemUrl:f,refresh:r,source:p,state:o.getState()},i))}))}}}(lt({event:e,props:t,refresh:n,store:r},o))},onFocus:u,onBlur:O,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||u(n)}},s)},getPanelProps:function(e){return lt({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,o=st(n,it);return lt({role:"listbox","aria-labelledby":ie(t.id,"label"),id:ie(t.id,"list",r)},o)},getItemProps:function(e){var i=e.item,u=e.source,a=st(e,ut);return lt({id:ie(t.id,"item-".concat(i.__autocomplete_id),u),role:"option","aria-selected":r.getState().activeItemId===i.__autocomplete_id,onMouseMove:function(e){if(i.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",i.__autocomplete_id);var t=oe(r.getState());if(null!==r.getState().activeItemId&&t){var u=t.item,a=t.itemInputValue,l=t.itemUrl,c=t.source;c.onActive(lt({event:e,item:u,itemInputValue:a,itemUrl:l,refresh:n,source:c,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var a=u.getItemInputValue({item:i,state:r.getState()}),l=u.getItemUrl({item:i,state:r.getState()});(l?Promise.resolve():$e(lt({event:e,nextState:{isOpen:!1},props:t,query:a,refresh:n,store:r},o))).then((function(){u.onSelect(lt({event:e,item:i,itemInputValue:a,itemUrl:l,refresh:n,source:u,state:r.getState()},o))}))}},a)}}}function pt(e){return pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pt(e)}function mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mt(Object(n),!0).forEach((function(t){dt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function dt(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==pt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==pt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===pt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yt(e){var t,n,r,o,i=e.plugins,u=e.options,a=null===(t=((null===(n=u.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,l=a?dt({},a,Object.keys((null===(r=u.__autocomplete_metadata)||void 0===r?void 0:r.options)||{})):{};return{plugins:i.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:vt({"autocomplete-core":Object.keys(u)},l),ua:S.concat((null===(o=u.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function bt(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=oe(n))||void 0===t?void 0:t.itemInputValue)||null}function gt(e){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gt(e)}function ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ht(Object(n),!0).forEach((function(t){_t(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ht(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _t(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==gt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==gt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===gt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var St=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return Ot(Ot({},e),{},{activeItemId:t.payload});case"setQuery":return Ot(Ot({},e),{},{query:t.payload,completion:null});case"setCollections":return Ot(Ot({},e),{},{collections:t.payload});case"setIsOpen":return Ot(Ot({},e),{},{isOpen:t.payload});case"setStatus":return Ot(Ot({},e),{},{status:t.payload});case"setContext":return Ot(Ot({},e),{},{context:Ot(Ot({},e.context),t.payload)});case"ArrowDown":var n=Ot(Ot({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:Z(1,e.activeItemId,b(e),t.props.defaultActiveItemId)});return Ot(Ot({},n),{},{completion:bt({state:n})});case"ArrowUp":var r=Ot(Ot({},e),{},{activeItemId:Z(-1,e.activeItemId,b(e),t.props.defaultActiveItemId)});return Ot(Ot({},r),{},{completion:bt({state:r})});case"Escape":return e.isOpen?Ot(Ot({},e),{},{activeItemId:null,isOpen:!1,completion:null}):Ot(Ot({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return Ot(Ot({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return Ot(Ot({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",query:""});case"focus":return Ot(Ot({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:Ot(Ot({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return Ot(Ot({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function jt(e){return jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jt(e)}function Pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pt(Object(n),!0).forEach((function(t){It(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function It(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==jt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==jt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===jt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function At(e){var t=[],n=_e(e,t),r=se(St,n,(function(e){var t=e.prevState,r=e.state;n.onStateChange(wt({prevState:t,state:r,refresh:u,navigator:n.navigator},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return me(me({},e),{},{items:m(e.items).map((function(e){return me(me({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),i=ft(wt({props:n,refresh:u,store:r,navigator:n.navigator},o));function u(){return $e(wt({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,navigator:n.navigator,query:r.getState().query,refresh:u,store:r},o))}if(e.insights&&!n.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))){var a="boolean"==typeof e.insights?{}:e.insights;n.plugins.push(G(a))}return n.plugins.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,wt(wt({},o),{},{navigator:n.navigator,refresh:u,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))})),function(e){var t,n,r=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var i=o.document.createElement("meta"),u=o.document.querySelector("head");i.name="algolia:metadata",setTimeout((function(){i.content=JSON.stringify(r),u.appendChild(i)}),0)}}({metadata:yt({plugins:n.plugins,options:e}),environment:n.environment}),wt(wt({refresh:u,navigator:n.navigator},i),o)}var Et=function(e,t,n,r){var o;t[0]=0;for(var i=1;i<t.length;i++){var u=t[i++],a=t[i]?(t[0]|=u?1:2,n[t[i++]]):t[++i];3===u?r[0]=a:4===u?r[1]=Object.assign(r[1]||{},a):5===u?(r[1]=r[1]||{})[t[++i]]=a:6===u?r[1][t[++i]]+=a+"":u?(o=e.apply(a,Et(e,a,n,["",null])),r.push(o),a[0]?t[0]|=2:(t[i-2]=0,t[i]=o)):r.push(a)}return r},Dt=new Map;function Ct(e){var t=Dt.get(this);return t||(t=new Map,Dt.set(this,t)),(t=Et(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,o="",i="",u=[0],a=function(e){1===r&&(e||(o=o.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?u.push(0,e,o):3===r&&(e||o)?(u.push(3,e,o),r=2):2===r&&"..."===o&&e?u.push(4,e,0):2===r&&o&&!e?u.push(5,0,!0,o):r>=5&&((o||!e&&5===r)&&(u.push(r,0,o,n),r=6),e&&(u.push(r,e,0,n),r=6)),o=""},l=0;l<e.length;l++){l&&(1===r&&a(),a(l));for(var c=0;c<e[l].length;c++)t=e[l][c],1===r?"<"===t?(a(),u=[u],r=3):o+=t:4===r?"--"===o&&">"===t?(r=1,o=""):o=t+o[0]:i?t===i?i="":o+=t:'"'===t||"'"===t?i=t:">"===t?(a(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[l][c+1])?(a(),3===r&&(u=u[0]),r=u,(u=u[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(a(),r=2):o+=t),3===r&&"!--"===o&&(r=4,u=u[0])}return a(),u}(e)),t),arguments,[])).length>1?t:t[0]}var kt=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n};function xt(e,t){if("string"==typeof t){var n=e.document.querySelector(t);return"The element ".concat(JSON.stringify(t)," is not in the document."),n}return t}function Nt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];r!==o&&(e[n]=[r,o].filter(Boolean).join(" "))})),e}),{})}var Tt=function(e){return e&&"object"===r(e)&&"[object Object]"===Object.prototype.toString.call(e)};function qt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];Array.isArray(r)&&Array.isArray(o)?e[n]=r.concat.apply(r,l(o)):Tt(r)&&Tt(o)?e[n]=qt(r,o):e[n]=o})),e}),{})}function Bt(e,t){return Object.entries(e).reduce((function(e,r){var i=a(r,2),u=i[0],l=i[1];return t({key:u,value:l})?n(n({},e),{},o({},u,l)):e}),{})}var Rt=["ontouchstart","ontouchend","ontouchmove","ontouchcancel"];function Ft(e,t,n){e[t]=null===n?"":"number"!=typeof n?n:n+"px"}function Lt(e){this._listeners[e.type](e)}function Ut(e,t,n){var r,o,i=e[t];if("style"===t)if("string"==typeof n)e.style=n;else if(null===n)e.style="";else for(t in n)i&&n[t]===i[t]||Ft(e.style,t,n[t]);else"o"===t[0]&&"n"===t[1]?(r=t!==(t=t.replace(/Capture$/,"")),((o=t.toLowerCase())in e||Rt.includes(o))&&(t=o),t=t.slice(2),e._listeners||(e._listeners={}),e._listeners[t]=n,n?i||e.addEventListener(t,Lt,r):e.removeEventListener(t,Lt,r)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&"download"!==t&&"href"!==t&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function Mt(e){return"onChange"===e?"onInput":e}function Ht(e,t){for(var n in t)Ut(e,Mt(n),t[n])}function Vt(e,t){for(var n in t)"o"===n[0]&&"n"===n[1]||Ut(e,Mt(n),t[n])}var Wt=["children"];function Kt(e){return function(t,n){var r=n.children,o=void 0===r?[]:r,i=u(n,Wt),a=e.document.createElement(t);return Ht(a,i),a.append.apply(a,l(o)),a}}var Qt=["autocompleteScopeApi","environment","classNames","getInputProps","getInputPropsCore","isDetached","state"],$t=function(e){var t=e.environment.document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("class","aa-LoadingIcon"),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("width","20"),t.setAttribute("height","20"),t.innerHTML='<circle\n cx="50"\n cy="50"\n fill="none"\n r="35"\n stroke="currentColor"\n stroke-dasharray="164.93361431346415 56.97787143782138"\n stroke-width="6"\n>\n <animateTransform\n attributeName="transform"\n type="rotate"\n repeatCount="indefinite"\n dur="1s"\n values="0 50 50;90 50 50;180 50 50;360 50 50"\n keyTimes="0;0.40;0.65;1"\n />\n</circle>',t},zt=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-SubmitIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","20"),n.setAttribute("height","20"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"),n.appendChild(r),n};function Gt(e){var t=e.autocomplete,r=e.autocompleteScopeApi,o=e.classNames,i=e.environment,a=e.isDetached,l=e.placeholder,c=void 0===l?"Search":l,s=e.propGetters,f=e.setIsModalOpen,p=e.state,m=e.translations,v=Kt(i),d=s.getRootProps(n({state:p,props:t.getRootProps({})},r)),y=v("div",n({class:o.root},d)),b=v("div",{class:o.detachedContainer,onMouseDown:function(e){e.stopPropagation()}}),g=v("div",{class:o.detachedOverlay,children:[b],onMouseDown:function(){f(!1),t.setIsOpen(!1)}}),h=s.getLabelProps(n({state:p,props:t.getLabelProps({})},r)),O=v("button",{class:o.submitButton,type:"submit",title:m.submitButtonTitle,children:[zt({environment:i})]}),_=v("label",n({class:o.label,children:[O]},h)),S=v("button",{class:o.clearButton,type:"reset",title:m.clearButtonTitle,children:[kt({environment:i})]}),j=v("div",{class:o.loadingIndicator,children:[$t({environment:i})]}),P=function(e){var t=e.autocompleteScopeApi,r=e.environment;e.classNames;var o=e.getInputProps,i=e.getInputPropsCore,a=e.isDetached,l=e.state,c=u(e,Qt),s=Kt(r)("input",c),f=o(n({state:l,props:i({inputElement:s}),inputElement:s},t));return Ht(s,n(n({},f),{},{onKeyDown:function(e){a&&"Tab"===e.key||f.onKeyDown(e)}})),s}({class:o.input,environment:i,state:p,getInputProps:s.getInputProps,getInputPropsCore:t.getInputProps,autocompleteScopeApi:r,isDetached:a}),w=v("div",{class:o.inputWrapperPrefix,children:[_,j]}),I=v("div",{class:o.inputWrapperSuffix,children:[S]}),A=v("div",{class:o.inputWrapper,children:[P]}),E=s.getFormProps(n({state:p,props:t.getFormProps({inputElement:P})},r)),D=v("form",n({class:o.form,children:[w,A,I]},E)),C=s.getPanelProps(n({state:p,props:t.getPanelProps({})},r)),k=v("div",n({class:o.panel},C)),x=v("div",{class:o.detachedSearchButtonQuery,textContent:p.query}),N=v("div",{class:o.detachedSearchButtonPlaceholder,hidden:Boolean(p.query),textContent:c});if(a){var T=v("div",{class:o.detachedSearchButtonIcon,children:[zt({environment:i})]}),q=v("button",{type:"button",class:o.detachedSearchButton,onClick:function(){f(!0)},children:[T,N,x]}),B=v("button",{type:"button",class:o.detachedCancelButton,textContent:m.detachedCancelButtonText,onTouchStart:function(e){e.stopPropagation()},onClick:function(){t.setIsOpen(!1),f(!1)}}),R=v("div",{class:o.detachedFormContainer,children:[D,B]});b.appendChild(R),y.appendChild(q)}else y.appendChild(D);return{detachedContainer:b,detachedOverlay:g,detachedSearchButtonQuery:x,detachedSearchButtonPlaceholder:N,inputWrapper:A,input:P,root:y,form:D,label:_,submitButton:O,clearButton:S,loadingIndicator:j,panel:k}}var Jt,Xt,Yt,Zt,en,tn,nn,rn={},on=[],un=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function an(e,t){for(var n in t)e[n]=t[n];return e}function ln(e){var t=e.parentNode;t&&t.removeChild(e)}function cn(e,t,n){var r,o,i,u={};for(i in t)"key"==i?r=t[i]:"ref"==i?o=t[i]:u[i]=t[i];if(arguments.length>2&&(u.children=arguments.length>3?Jt.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===u[i]&&(u[i]=e.defaultProps[i]);return sn(e,u,r,o,null)}function sn(e,t,n,r,o){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++Yt:o};return null==o&&null!=Xt.vnode&&Xt.vnode(i),i}function fn(e){return e.children}function pn(e,t){this.props=e,this.context=t}function mn(e,t){if(null==t)return e.__?mn(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?mn(e):null}function vn(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return vn(e)}}function dn(e){(!e.__d&&(e.__d=!0)&&Zt.push(e)&&!yn.__r++||en!==Xt.debounceRendering)&&((en=Xt.debounceRendering)||tn)(yn)}function yn(){var e,t,n,r,o,i,u,a;for(Zt.sort(nn);e=Zt.shift();)e.__d&&(t=Zt.length,r=void 0,o=void 0,u=(i=(n=e).__v).__e,(a=n.__P)&&(r=[],(o=an({},i)).__v=i.__v+1,wn(a,i,o,n.__n,void 0!==a.ownerSVGElement,null!=i.__h?[u]:null,r,null==u?mn(i):u,i.__h),In(r,i),i.__e!=u&&vn(i)),Zt.length>t&&Zt.sort(nn));yn.__r=0}function bn(e,t,n,r,o,i,u,a,l,c){var s,f,p,m,v,d,y,b=r&&r.__k||on,g=b.length;for(n.__k=[],s=0;s<t.length;s++)if(null!=(m=n.__k[s]=null==(m=t[s])||"boolean"==typeof m||"function"==typeof m?null:"string"==typeof m||"number"==typeof m||"bigint"==typeof m?sn(null,m,null,null,m):Array.isArray(m)?sn(fn,{children:m},null,null,null):m.__b>0?sn(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)){if(m.__=n,m.__b=n.__b+1,null===(p=b[s])||p&&m.key==p.key&&m.type===p.type)b[s]=void 0;else for(f=0;f<g;f++){if((p=b[f])&&m.key==p.key&&m.type===p.type){b[f]=void 0;break}p=null}wn(e,m,p=p||rn,o,i,u,a,l,c),v=m.__e,(f=m.ref)&&p.ref!=f&&(y||(y=[]),p.ref&&y.push(p.ref,null,m),y.push(f,m.__c||v,m)),null!=v?(null==d&&(d=v),"function"==typeof m.type&&m.__k===p.__k?m.__d=l=gn(m,l,e):l=hn(e,m,p,b,v,l),"function"==typeof n.type&&(n.__d=l)):l&&p.__e==l&&l.parentNode!=e&&(l=mn(p))}for(n.__e=d,s=g;s--;)null!=b[s]&&("function"==typeof n.type&&null!=b[s].__e&&b[s].__e==n.__d&&(n.__d=On(r).nextSibling),Dn(b[s],b[s]));if(y)for(s=0;s<y.length;s++)En(y[s],y[++s],y[++s])}function gn(e,t,n){for(var r,o=e.__k,i=0;o&&i<o.length;i++)(r=o[i])&&(r.__=e,t="function"==typeof r.type?gn(r,t,n):hn(n,r,r,o,r.__e,t));return t}function hn(e,t,n,r,o,i){var u,a,l;if(void 0!==t.__d)u=t.__d,t.__d=void 0;else if(null==n||o!=i||null==o.parentNode)e:if(null==i||i.parentNode!==e)e.appendChild(o),u=null;else{for(a=i,l=0;(a=a.nextSibling)&&l<r.length;l+=1)if(a==o)break e;e.insertBefore(o,i),u=i}return void 0!==u?u:o.nextSibling}function On(e){var t,n,r;if(null==e.type||"string"==typeof e.type)return e.__e;if(e.__k)for(t=e.__k.length-1;t>=0;t--)if((n=e.__k[t])&&(r=On(n)))return r;return null}function _n(e,t,n){"-"===t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||un.test(t)?n:n+"px"}function Sn(e,t,n,r,o){var i;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||_n(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||_n(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])i=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?r||e.addEventListener(t,i?Pn:jn,i):e.removeEventListener(t,i?Pn:jn,i);else if("dangerouslySetInnerHTML"!==t){if(o)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==t&&"height"!==t&&"href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null==n||!1===n&&"-"!==t[4]?e.removeAttribute(t):e.setAttribute(t,n))}}function jn(e){return this.l[e.type+!1](Xt.event?Xt.event(e):e)}function Pn(e){return this.l[e.type+!0](Xt.event?Xt.event(e):e)}function wn(e,t,n,r,o,i,u,a,l){var c,s,f,p,m,v,d,y,b,g,h,O,_,S,j,P=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(l=n.__h,a=t.__e=n.__e,t.__h=null,i=[a]),(c=Xt.__b)&&c(t);try{e:if("function"==typeof P){if(y=t.props,b=(c=P.contextType)&&r[c.__c],g=c?b?b.props.value:c.__:r,n.__c?d=(s=t.__c=n.__c).__=s.__E:("prototype"in P&&P.prototype.render?t.__c=s=new P(y,g):(t.__c=s=new pn(y,g),s.constructor=P,s.render=Cn),b&&b.sub(s),s.props=y,s.state||(s.state={}),s.context=g,s.__n=r,f=s.__d=!0,s.__h=[],s._sb=[]),null==s.__s&&(s.__s=s.state),null!=P.getDerivedStateFromProps&&(s.__s==s.state&&(s.__s=an({},s.__s)),an(s.__s,P.getDerivedStateFromProps(y,s.__s))),p=s.props,m=s.state,s.__v=t,f)null==P.getDerivedStateFromProps&&null!=s.componentWillMount&&s.componentWillMount(),null!=s.componentDidMount&&s.__h.push(s.componentDidMount);else{if(null==P.getDerivedStateFromProps&&y!==p&&null!=s.componentWillReceiveProps&&s.componentWillReceiveProps(y,g),!s.__e&&null!=s.shouldComponentUpdate&&!1===s.shouldComponentUpdate(y,s.__s,g)||t.__v===n.__v){for(t.__v!==n.__v&&(s.props=y,s.state=s.__s,s.__d=!1),s.__e=!1,t.__e=n.__e,t.__k=n.__k,t.__k.forEach((function(e){e&&(e.__=t)})),h=0;h<s._sb.length;h++)s.__h.push(s._sb[h]);s._sb=[],s.__h.length&&u.push(s);break e}null!=s.componentWillUpdate&&s.componentWillUpdate(y,s.__s,g),null!=s.componentDidUpdate&&s.__h.push((function(){s.componentDidUpdate(p,m,v)}))}if(s.context=g,s.props=y,s.__P=e,O=Xt.__r,_=0,"prototype"in P&&P.prototype.render){for(s.state=s.__s,s.__d=!1,O&&O(t),c=s.render(s.props,s.state,s.context),S=0;S<s._sb.length;S++)s.__h.push(s._sb[S]);s._sb=[]}else do{s.__d=!1,O&&O(t),c=s.render(s.props,s.state,s.context),s.state=s.__s}while(s.__d&&++_<25);s.state=s.__s,null!=s.getChildContext&&(r=an(an({},r),s.getChildContext())),f||null==s.getSnapshotBeforeUpdate||(v=s.getSnapshotBeforeUpdate(p,m)),j=null!=c&&c.type===fn&&null==c.key?c.props.children:c,bn(e,Array.isArray(j)?j:[j],t,n,r,o,i,u,a,l),s.base=t.__e,t.__h=null,s.__h.length&&u.push(s),d&&(s.__E=s.__=null),s.__e=!1}else null==i&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=An(n.__e,t,n,r,o,i,u,l);(c=Xt.diffed)&&c(t)}catch(e){t.__v=null,(l||null!=i)&&(t.__e=a,t.__h=!!l,i[i.indexOf(a)]=null),Xt.__e(e,t,n)}}function In(e,t){Xt.__c&&Xt.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){Xt.__e(e,t.__v)}}))}function An(e,t,n,r,o,i,u,a){var l,c,s,f=n.props,p=t.props,m=t.type,v=0;if("svg"===m&&(o=!0),null!=i)for(;v<i.length;v++)if((l=i[v])&&"setAttribute"in l==!!m&&(m?l.localName===m:3===l.nodeType)){e=l,i[v]=null;break}if(null==e){if(null===m)return document.createTextNode(p);e=o?document.createElementNS("http://www.w3.org/2000/svg",m):document.createElement(m,p.is&&p),i=null,a=!1}if(null===m)f===p||a&&e.data===p||(e.data=p);else{if(i=i&&Jt.call(e.childNodes),c=(f=n.props||rn).dangerouslySetInnerHTML,s=p.dangerouslySetInnerHTML,!a){if(null!=i)for(f={},v=0;v<e.attributes.length;v++)f[e.attributes[v].name]=e.attributes[v].value;(s||c)&&(s&&(c&&s.__html==c.__html||s.__html===e.innerHTML)||(e.innerHTML=s&&s.__html||""))}if(function(e,t,n,r,o){var i;for(i in n)"children"===i||"key"===i||i in t||Sn(e,i,null,n[i],r);for(i in t)o&&"function"!=typeof t[i]||"children"===i||"key"===i||"value"===i||"checked"===i||n[i]===t[i]||Sn(e,i,t[i],n[i],r)}(e,p,f,o,a),s)t.__k=[];else if(v=t.props.children,bn(e,Array.isArray(v)?v:[v],t,n,r,o&&"foreignObject"!==m,i,u,i?i[0]:n.__k&&mn(n,0),a),null!=i)for(v=i.length;v--;)null!=i[v]&&ln(i[v]);a||("value"in p&&void 0!==(v=p.value)&&(v!==e.value||"progress"===m&&!v||"option"===m&&v!==f.value)&&Sn(e,"value",v,f.value,!1),"checked"in p&&void 0!==(v=p.checked)&&v!==e.checked&&Sn(e,"checked",v,f.checked,!1))}return e}function En(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){Xt.__e(e,n)}}function Dn(e,t,n){var r,o;if(Xt.unmount&&Xt.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||En(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){Xt.__e(e,t)}r.base=r.__P=null,e.__c=void 0}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&Dn(r[o],t,n||"function"!=typeof e.type);n||null==e.__e||ln(e.__e),e.__=e.__e=e.__d=void 0}function Cn(e,t,n){return this.constructor(e,n)}Jt=on.slice,Xt={__e:function(e,t,n,r){for(var o,i,u;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(e)),u=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),u=o.__d),u)return o.__E=o}catch(t){e=t}throw e}},Yt=0,pn.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=an({},this.state),"function"==typeof e&&(e=e(an({},n),this.props)),e&&an(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),dn(this))},pn.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),dn(this))},pn.prototype.render=fn,Zt=[],tn="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,nn=function(e,t){return e.__v.__b-t.__v.__b},yn.__r=0;var kn="__aa-highlight__",xn="__/aa-highlight__";function Nn(e){var t=e.highlightedValue.split(kn),n=t.shift(),r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(xn);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function Tn(e){return function(e){if(Array.isArray(e))return qn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return qn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Bn(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=y(t,["_highlightResult"].concat(Tn(r),["value"]));return"string"!=typeof o&&(o=y(t,r)||""),Nn({highlightedValue:o})}var Rn={"&":"&","<":"<",">":">",""":'"',"'":"'"},Fn=new RegExp(/\w/i),Ln=/&(amp|quot|lt|gt|#39);/g,Un=RegExp(Ln.source);function Mn(e,t){var n,r,o,i=e[t],u=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,a=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return Fn.test((o=i.value)&&Un.test(o)?o.replace(Ln,(function(e){return Rn[e]})):o)||a!==u?i.isHighlighted:a}function Hn(e){return Hn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hn(e)}function Vn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Vn(Object(n),!0).forEach((function(t){Kn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Vn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Kn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Hn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Hn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Hn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Qn(e){return e.some((function(e){return e.isHighlighted}))?e.map((function(t,n){return Wn(Wn({},t),{},{isHighlighted:!Mn(e,n)})})):e.map((function(e){return Wn(Wn({},e),{},{isHighlighted:!1})}))}function $n(e){return function(e){if(Array.isArray(e))return zn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return zn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return zn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function zn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Gn(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=y(t,["_snippetResult"].concat($n(r),["value"]));return"string"!=typeof o&&(o=y(t,r)||""),Nn({highlightedValue:o})}function Jn(e){return Jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Jn(e)}function Xn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xn(Object(n),!0).forEach((function(t){Zn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Zn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Jn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Jn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Jn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function er(e){return er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},er(e)}var tr=["params"];function nr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nr(Object(n),!0).forEach((function(t){or(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function or(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==er(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==er(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===er(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ir(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ur(e){return function(e){if(Array.isArray(e))return ar(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return ar(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ar(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ar(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function lr(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,i=e.tagName,u=void 0===i?"mark":i;return t(n,{},Bn({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(u,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Highlight",r}function cr(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,i=e.attribute,u=e.tagName,a=void 0===u?"mark":u;return t(n,{},(r={hit:o,attribute:i},Qn(Bn(r))).map((function(e,n){return e.isHighlighted?t(a,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseHighlight",r}function sr(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,i=e.attribute,u=e.tagName,a=void 0===u?"mark":u;return t(n,{},(r={hit:o,attribute:i},Qn(Gn(r))).map((function(e,n){return e.isHighlighted?t(a,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseSnippet",r}function fr(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,i=e.tagName,u=void 0===i?"mark":i;return t(n,{},Gn({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(u,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Snippet",r}var pr=["classNames","container","getEnvironmentProps","getFormProps","getInputProps","getItemProps","getLabelProps","getListProps","getPanelProps","getRootProps","panelContainer","panelPlacement","render","renderNoResults","renderer","detachedMediaQuery","components","translations"],mr={clearButton:"aa-ClearButton",detachedCancelButton:"aa-DetachedCancelButton",detachedContainer:"aa-DetachedContainer",detachedFormContainer:"aa-DetachedFormContainer",detachedOverlay:"aa-DetachedOverlay",detachedSearchButton:"aa-DetachedSearchButton",detachedSearchButtonIcon:"aa-DetachedSearchButtonIcon",detachedSearchButtonPlaceholder:"aa-DetachedSearchButtonPlaceholder",detachedSearchButtonQuery:"aa-DetachedSearchButtonQuery",form:"aa-Form",input:"aa-Input",inputWrapper:"aa-InputWrapper",inputWrapperPrefix:"aa-InputWrapperPrefix",inputWrapperSuffix:"aa-InputWrapperSuffix",item:"aa-Item",label:"aa-Label",list:"aa-List",loadingIndicator:"aa-LoadingIndicator",panel:"aa-Panel",panelLayout:"aa-PanelLayout aa-Panel--scrollable",root:"aa-Autocomplete",source:"aa-Source",sourceFooter:"aa-SourceFooter",sourceHeader:"aa-SourceHeader",sourceNoResults:"aa-SourceNoResults",submitButton:"aa-SubmitButton"},vr=function(e,t){var n=e.children;(0,e.render)(n,t)},dr={createElement:cn,Fragment:fn,render:function(e,t,n){var r,o,i;Xt.__&&Xt.__(e,t),o=(r="function"==typeof n)?null:n&&n.__k||t.__k,i=[],wn(t,e=(!r&&n||t).__k=cn(fn,null,[e]),o||rn,rn,void 0!==t.ownerSVGElement,!r&&n?[n]:o?null:t.firstChild?Jt.call(t.childNodes):null,i,!r&&n?n:o?o.__e:t.firstChild,r),In(i,e)}};function yr(e){var t=e.panelPlacement,n=e.container,r=e.form,o=e.environment,i=n.getBoundingClientRect(),u=(o.pageYOffset||o.document.documentElement.scrollTop||o.document.body.scrollTop||0)+i.top+i.height;switch(t){case"start":return{top:u,left:i.left};case"end":return{top:u,right:o.document.documentElement.clientWidth-(i.left+i.width)};case"full-width":return{top:u,left:0,right:0,width:"unset",maxWidth:"unset"};case"input-wrapper-width":var a=r.getBoundingClientRect();return{top:u,left:a.left,right:o.document.documentElement.clientWidth-(a.left+a.width),width:"unset",maxWidth:"unset"};default:throw new Error("[Autocomplete] The `panelPlacement` value ".concat(JSON.stringify(t)," is not valid."))}}var br=[{segment:"autocomplete-js",version:_}],gr=["components"];var hr=function(e,t){function n(t){return e({searchClient:t.searchClient,queries:t.requests.map((function(e){return e.query}))}).then((function(e){return e.map((function(e,n){var r=t.requests[n];return{items:e,sourceId:r.sourceId,transformResponse:r.transformResponse}}))}))}return function(e){return function(r){return Yn(Yn({requesterId:t,execute:n},e),r)}}}((function(e){return function(e){var t=e.searchClient,n=e.queries,r=e.userAgents,o=void 0===r?[]:r;"function"==typeof t.addAlgoliaAgent&&[].concat(ur(S),ur(o)).forEach((function(e){var n=e.segment,r=e.version;t.addAlgoliaAgent(n,r)}));var i=function(e){var t=e.transporter||{},n=t.headers,r=void 0===n?{}:n,o=t.queryParameters,i=void 0===o?{}:o,u="x-algolia-application-id",a="x-algolia-api-key";return{appId:r[u]||i[u],apiKey:r[a]||i[a]}}(t),u=i.appId,a=i.apiKey;return t.search(n.map((function(e){var t=e.params;return rr(rr({},ir(e,tr)),{},{params:rr({hitsPerPage:5,highlightPreTag:kn,highlightPostTag:xn},t)})}))).then((function(e){return e.results.map((function(e,t){var r;return rr(rr({},e),{},{hits:null===(r=e.hits)||void 0===r?void 0:r.map((function(r){return rr(rr({},r),{},{__autocomplete_indexName:e.index||n[t].indexName,__autocomplete_queryID:e.queryID,__autocomplete_algoliaCredentials:{appId:u,apiKey:a}})}))})}))}))}(n(n({},e),{},{userAgents:br}))}),"algolia");var Or=hr({transformResponse:function(e){return e.hits}});e.autocomplete=function(e){var t,r=function(){var e=[],t=[];function n(n){e.push(n);var r=n();t.push(r)}return{runEffect:n,cleanupEffects:function(){var e=t;t=[],e.forEach((function(e){e()}))},runEffects:function(){var t=e;e=[],t.forEach((function(e){n(e)}))}}}(),a=r.runEffect,l=r.cleanupEffects,c=r.runEffects,s=(t=[],{reactive:function(e){var n=e(),r={_fn:e,_ref:{current:n},get value(){return this._ref.current},set value(e){this._ref.current=e}};return t.push(r),r},runReactives:function(){t.forEach((function(e){e._ref.current=e._fn()}))}}),m=s.reactive,v=s.runReactives,y=f(!1),g=f(e),h=f(void 0),O=m((function(){return function(e){var t,r=e.classNames,o=e.container,i=e.getEnvironmentProps,a=e.getFormProps,l=e.getInputProps,c=e.getItemProps,s=e.getLabelProps,f=e.getListProps,p=e.getPanelProps,m=e.getRootProps,v=e.panelContainer,y=e.panelPlacement,b=e.render,g=e.renderNoResults,h=e.renderer,O=e.detachedMediaQuery,_=e.components,S=e.translations,j=u(e,pr),P="undefined"!=typeof window?window:{},w=xt(P,o);w.tagName;var I=n(n({},dr),h),A={Highlight:lr(I),ReverseHighlight:cr(I),ReverseSnippet:sr(I),Snippet:fr(I)};return{renderer:{classNames:Nt(mr,null!=r?r:{}),container:w,getEnvironmentProps:null!=i?i:function(e){return e.props},getFormProps:null!=a?a:function(e){return e.props},getInputProps:null!=l?l:function(e){return e.props},getItemProps:null!=c?c:function(e){return e.props},getLabelProps:null!=s?s:function(e){return e.props},getListProps:null!=f?f:function(e){return e.props},getPanelProps:null!=p?p:function(e){return e.props},getRootProps:null!=m?m:function(e){return e.props},panelContainer:v?xt(P,v):P.document.body,panelPlacement:null!=y?y:"input-wrapper-width",render:null!=b?b:vr,renderNoResults:g,renderer:I,detachedMediaQuery:null!=O?O:getComputedStyle(P.document.documentElement).getPropertyValue("--aa-detached-media-query"),components:n(n({},A),_),translations:n(n({},{clearButtonTitle:"Clear",detachedCancelButtonText:"Cancel",submitButtonTitle:"Submit"}),S)},core:n(n({},j),{},{id:null!==(t=j.id)&&void 0!==t?t:d(),environment:P})}}(g.current)})),_=m((function(){return O.value.core.environment.matchMedia(O.value.renderer.detachedMediaQuery).matches})),S=m((function(){return At(n(n({},O.value.core),{},{onStateChange:function(e){var t,n,r;y.current=e.state.collections.some((function(e){return e.source.templates.noResults})),null===(t=h.current)||void 0===t||t.call(h,e),null===(n=(r=O.value.core).onStateChange)||void 0===n||n.call(r,e)},shouldPanelOpen:g.current.shouldPanelOpen||function(e){var t=e.state;if(_.value)return!0;var n=b(t)>0;if(!O.value.core.openOnFocus&&!t.query)return n;var r=Boolean(y.current||O.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:br,options:e}}))})),j=f(n({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},O.value.core.initialState)),P={getEnvironmentProps:O.value.renderer.getEnvironmentProps,getFormProps:O.value.renderer.getFormProps,getInputProps:O.value.renderer.getInputProps,getItemProps:O.value.renderer.getItemProps,getLabelProps:O.value.renderer.getLabelProps,getListProps:O.value.renderer.getListProps,getPanelProps:O.value.renderer.getPanelProps,getRootProps:O.value.renderer.getRootProps},w={setActiveItemId:S.value.setActiveItemId,setQuery:S.value.setQuery,setCollections:S.value.setCollections,setIsOpen:S.value.setIsOpen,setStatus:S.value.setStatus,setContext:S.value.setContext,refresh:S.value.refresh,navigator:S.value.navigator},I=m((function(){return Ct.bind(O.value.renderer.renderer.createElement)})),A=m((function(){return Gt({autocomplete:S.value,autocompleteScopeApi:w,classNames:O.value.renderer.classNames,environment:O.value.core.environment,isDetached:_.value,placeholder:O.value.core.placeholder,propGetters:P,setIsModalOpen:k,state:j.current,translations:O.value.renderer.translations})}));function E(){Ht(A.value.panel,{style:_.value?{}:yr({panelPlacement:O.value.renderer.panelPlacement,container:A.value.root,form:A.value.form,environment:O.value.core.environment})})}function D(e){j.current=e;var t={autocomplete:S.value,autocompleteScopeApi:w,classNames:O.value.renderer.classNames,components:O.value.renderer.components,container:O.value.renderer.container,html:I.value,dom:A.value,panelContainer:_.value?A.value.detachedContainer:O.value.renderer.panelContainer,propGetters:P,state:j.current,renderer:O.value.renderer.renderer},r=!b(e)&&!y.current&&O.value.renderer.renderNoResults||O.value.renderer.render;!function(e){var t=e.autocomplete,r=e.autocompleteScopeApi,o=e.dom,i=e.propGetters,u=e.state;Vt(o.root,i.getRootProps(n({state:u,props:t.getRootProps({})},r))),Vt(o.input,i.getInputProps(n({state:u,props:t.getInputProps({inputElement:o.input}),inputElement:o.input},r))),Ht(o.label,{hidden:"stalled"===u.status}),Ht(o.loadingIndicator,{hidden:"stalled"!==u.status}),Ht(o.clearButton,{hidden:!u.query}),Ht(o.detachedSearchButtonQuery,{textContent:u.query}),Ht(o.detachedSearchButtonPlaceholder,{hidden:Boolean(u.query)})}(t),function(e,t){var r=t.autocomplete,o=t.autocompleteScopeApi,u=t.classNames,a=t.html,l=t.dom,c=t.panelContainer,s=t.propGetters,f=t.state,p=t.components,m=t.renderer;if(f.isOpen){c.contains(l.panel)||"loading"===f.status||c.appendChild(l.panel),l.panel.classList.toggle("aa-Panel--stalled","stalled"===f.status);var v=f.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var l=e.source,c=e.items;return m.createElement("section",{key:t,className:u.source,"data-autocomplete-source-id":l.sourceId},l.templates.header&&m.createElement("div",{className:u.sourceHeader},l.templates.header({components:p,createElement:m.createElement,Fragment:m.Fragment,items:c,source:l,state:f,html:a})),l.templates.noResults&&0===c.length?m.createElement("div",{className:u.sourceNoResults},l.templates.noResults({components:p,createElement:m.createElement,Fragment:m.Fragment,source:l,state:f,html:a})):m.createElement("ul",i({className:u.list},s.getListProps(n({state:f,props:r.getListProps({source:l})},o))),c.map((function(e){var t=r.getItemProps({item:e,source:l});return m.createElement("li",i({key:t.id,className:u.item},s.getItemProps(n({state:f,props:t},o))),l.templates.item({components:p,createElement:m.createElement,Fragment:m.Fragment,item:e,state:f,html:a}))}))),l.templates.footer&&m.createElement("div",{className:u.sourceFooter},l.templates.footer({components:p,createElement:m.createElement,Fragment:m.Fragment,items:c,source:l,state:f,html:a})))})),d=m.createElement(m.Fragment,null,m.createElement("div",{className:u.panelLayout},v),m.createElement("div",{className:"aa-GradientBottom"})),y=v.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(n(n({children:d,state:f,sections:v,elements:y},m),{},{components:p,html:a},o),l.panel)}else c.contains(l.panel)&&c.removeChild(l.panel)}(r,t)}function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l();var t=O.value.renderer,n=t.components,r=u(t,gr);g.current=qt(r,O.value.core,{components:Bt(n,(function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")})),initialState:j.current},e),v(),c(),S.value.refresh().then((function(){D(j.current)}))}function k(e){requestAnimationFrame((function(){var t=O.value.core.environment.document.body.contains(A.value.detachedOverlay);e!==t&&(e?(O.value.core.environment.document.body.appendChild(A.value.detachedOverlay),O.value.core.environment.document.body.classList.add("aa-Detached"),A.value.input.focus()):(O.value.core.environment.document.body.removeChild(A.value.detachedOverlay),O.value.core.environment.document.body.classList.remove("aa-Detached")))}))}return a((function(){var e=S.value.getEnvironmentProps({formElement:A.value.form,panelElement:A.value.panel,inputElement:A.value.input});return Ht(O.value.core.environment,e),function(){Ht(O.value.core.environment,Object.keys(e).reduce((function(e,t){return n(n({},e),{},o({},t,void 0))}),{}))}})),a((function(){var e=_.value?O.value.core.environment.document.body:O.value.renderer.panelContainer,t=_.value?A.value.detachedOverlay:A.value.panel;return _.value&&j.current.isOpen&&k(!0),D(j.current),function(){e.contains(t)&&e.removeChild(t)}})),a((function(){var e=O.value.renderer.container;return e.appendChild(A.value.root),function(){e.removeChild(A.value.root)}})),a((function(){var e=p((function(e){D(e.state)}),0);return h.current=function(t){var n=t.state,r=t.prevState;(_.value&&r.isOpen!==n.isOpen&&k(n.isOpen),_.value||!n.isOpen||r.isOpen||E(),n.query!==r.query)&&O.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){h.current=void 0}})),a((function(){var e=p((function(){var e=_.value;_.value=O.value.core.environment.matchMedia(O.value.renderer.detachedMediaQuery).matches,e!==_.value?C({}):requestAnimationFrame(E)}),20);return O.value.core.environment.addEventListener("resize",e),function(){O.value.core.environment.removeEventListener("resize",e)}})),a((function(){if(!_.value)return function(){};function e(e){A.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=O.value.core.environment.matchMedia(getComputedStyle(O.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),a((function(){return requestAnimationFrame(E),function(){}})),n(n({},w),{},{update:C,destroy:function(){l()}})},e.getAlgoliaFacets=function(e){var t=hr({transformResponse:function(e){return e.facetHits}}),r=e.queries.map((function(e){return n(n({},e),{},{type:"facet"})}));return t(n(n({},e),{},{queries:r}))},e.getAlgoliaResults=Or,Object.defineProperty(e,"__esModule",{value:!0})})); + diff --git a/site_libs/quarto-search/fuse.min.js b/site_libs/quarto-search/fuse.min.js new file mode 100644 index 0000000..adc2835 --- /dev/null +++ b/site_libs/quarto-search/fuse.min.js @@ -0,0 +1,9 @@ +/** + * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io) + * + * Copyright (c) 2022 Kiro Risk (http://kiro.me) + * All Rights Reserved. Apache Software License 2.0 + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ +var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){c(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");Object.defineProperty(e,"prototype",{value:Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),writable:!1}),t&&u(e,t)}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function u(e,t){return u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},u(e,t)}function h(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h(this,n)}}function f(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function v(e){return Array.isArray?Array.isArray(e):"[object Array]"===b(e)}function g(e){return"string"==typeof e}function y(e){return"number"==typeof e}function p(e){return!0===e||!1===e||function(e){return m(e)&&null!==e}(e)&&"[object Boolean]"==b(e)}function m(e){return"object"===n(e)}function k(e){return null!=e}function M(e){return!e.trim().length}function b(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var x=function(e){return"Invalid value for key ".concat(e)},w=function(e){return"Pattern length exceeds max of ".concat(e,".")},L=Object.prototype.hasOwnProperty,S=function(){function e(t){var n=this;r(this,e),this._keys=[],this._keyMap={};var i=0;t.forEach((function(e){var t=_(e);i+=t.weight,n._keys.push(t),n._keyMap[t.id]=t,i+=t.weight})),this._keys.forEach((function(e){e.weight/=i}))}return o(e,[{key:"get",value:function(e){return this._keyMap[e]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function _(e){var t=null,n=null,r=null,i=1,o=null;if(g(e)||v(e))r=e,t=O(e),n=j(e);else{if(!L.call(e,"name"))throw new Error(function(e){return"Missing ".concat(e," property in key")}("name"));var c=e.name;if(r=c,L.call(e,"weight")&&(i=e.weight)<=0)throw new Error(function(e){return"Property 'weight' in key '".concat(e,"' must be a positive integer")}(c));t=O(c),n=j(c),o=e.getFn}return{path:t,id:n,weight:i,src:r,getFn:o}}function O(e){return v(e)?e:e.split(".")}function j(e){return v(e)?e.join("."):e}var A={useExtendedSearch:!1,getFn:function(e,t){var n=[],r=!1;return function e(t,i,o){if(k(t))if(i[o]){var c=t[i[o]];if(!k(c))return;if(o===i.length-1&&(g(c)||y(c)||p(c)))n.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(c));else if(v(c)){r=!0;for(var a=0,s=c.length;a<s;a+=1)e(c[a],i,o+1)}else i.length&&e(c,i,o+1)}else n.push(t)}(e,g(t)?t.split("."):t,0),r?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},I=t(t(t(t({},{isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(e,t){return e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1}}),{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1}),{location:0,threshold:.6,distance:100}),A),C=/[^ ]+/g;function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=new Map,r=Math.pow(10,t);return{get:function(t){var i=t.match(C).length;if(n.has(i))return n.get(i);var o=1/Math.pow(i,.5*e),c=parseFloat(Math.round(o*r)/r);return n.set(i,c),c},clear:function(){n.clear()}}}var $=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,i=void 0===n?I.getFn:n,o=t.fieldNormWeight,c=void 0===o?I.fieldNormWeight:o;r(this,e),this.norm=E(c,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return o(e,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=t,this._keysMap={},t.forEach((function(t,n){e._keysMap[t.id]=n}))}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,g(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();g(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t<n;t+=1)this.records[t].i-=1}},{key:"getValueForItemAtKeyId",value:function(e,t){return e[this._keysMap[t]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(e,t){if(k(e)&&!M(e)){var n={v:e,i:t,n:this.norm.get(e)};this.records.push(n)}}},{key:"_addObject",value:function(e,t){var n=this,r={i:t,$:{}};this.keys.forEach((function(t,i){var o=t.getFn?t.getFn(e):n.getFn(e,t.path);if(k(o))if(v(o))!function(){for(var e=[],t=[{nestedArrIndex:-1,value:o}];t.length;){var c=t.pop(),a=c.nestedArrIndex,s=c.value;if(k(s))if(g(s)&&!M(s)){var u={v:s,i:a,n:n.norm.get(s)};e.push(u)}else v(s)&&s.forEach((function(e,n){t.push({nestedArrIndex:n,value:e})}))}r.$[i]=e}();else if(g(o)&&!M(o)){var c={v:o,n:n.norm.get(o)};r.$[i]=c}})),this.records.push(r)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function F(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?I.getFn:r,o=n.fieldNormWeight,c=void 0===o?I.fieldNormWeight:o,a=new $({getFn:i,fieldNormWeight:c});return a.setKeys(e.map(_)),a.setSources(t),a.create(),a}function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.errors,r=void 0===n?0:n,i=t.currentLocation,o=void 0===i?0:i,c=t.expectedLocation,a=void 0===c?0:c,s=t.distance,u=void 0===s?I.distance:s,h=t.ignoreLocation,l=void 0===h?I.ignoreLocation:h,f=r/e.length;if(l)return f;var d=Math.abs(a-o);return u?f+d/u:d?1:f}function N(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I.minMatchCharLength,n=[],r=-1,i=-1,o=0,c=e.length;o<c;o+=1){var a=e[o];a&&-1===r?r=o:a||-1===r||((i=o-1)-r+1>=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}var P=32;function W(e){for(var t={},n=0,r=e.length;n<r;n+=1){var i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}var T=function(){function e(t){var n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=i.location,c=void 0===o?I.location:o,a=i.threshold,s=void 0===a?I.threshold:a,u=i.distance,h=void 0===u?I.distance:u,l=i.includeMatches,f=void 0===l?I.includeMatches:l,d=i.findAllMatches,v=void 0===d?I.findAllMatches:d,g=i.minMatchCharLength,y=void 0===g?I.minMatchCharLength:g,p=i.isCaseSensitive,m=void 0===p?I.isCaseSensitive:p,k=i.ignoreLocation,M=void 0===k?I.ignoreLocation:k;if(r(this,e),this.options={location:c,threshold:s,distance:h,includeMatches:f,findAllMatches:v,minMatchCharLength:y,isCaseSensitive:m,ignoreLocation:M},this.pattern=m?t:t.toLowerCase(),this.chunks=[],this.pattern.length){var b=function(e,t){n.chunks.push({pattern:e,alphabet:W(e),startIndex:t})},x=this.pattern.length;if(x>P){for(var w=0,L=x%P,S=x-L;w<S;)b(this.pattern.substr(w,P),w),w+=P;if(L){var _=x-P;b(this.pattern.substr(_),_)}}else b(this.pattern,0)}}return o(e,[{key:"searchIn",value:function(e){var t=this.options,n=t.isCaseSensitive,r=t.includeMatches;if(n||(e=e.toLowerCase()),this.pattern===e){var i={isMatch:!0,score:0};return r&&(i.indices=[[0,e.length-1]]),i}var o=this.options,c=o.location,a=o.distance,s=o.threshold,u=o.findAllMatches,h=o.minMatchCharLength,l=o.ignoreLocation,d=[],v=0,g=!1;this.chunks.forEach((function(t){var n=t.pattern,i=t.alphabet,o=t.startIndex,y=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,o=void 0===i?I.location:i,c=r.distance,a=void 0===c?I.distance:c,s=r.threshold,u=void 0===s?I.threshold:s,h=r.findAllMatches,l=void 0===h?I.findAllMatches:h,f=r.minMatchCharLength,d=void 0===f?I.minMatchCharLength:f,v=r.includeMatches,g=void 0===v?I.includeMatches:v,y=r.ignoreLocation,p=void 0===y?I.ignoreLocation:y;if(t.length>P)throw new Error(w(P));for(var m,k=t.length,M=e.length,b=Math.max(0,Math.min(o,M)),x=u,L=b,S=d>1||g,_=S?Array(M):[];(m=e.indexOf(t,L))>-1;){var O=R(t,{currentLocation:m,expectedLocation:b,distance:a,ignoreLocation:p});if(x=Math.min(O,x),L=m+k,S)for(var j=0;j<k;)_[m+j]=1,j+=1}L=-1;for(var A=[],C=1,E=k+M,$=1<<k-1,F=0;F<k;F+=1){for(var W=0,T=E;W<T;)R(t,{errors:F,currentLocation:b+T,expectedLocation:b,distance:a,ignoreLocation:p})<=x?W=T:E=T,T=Math.floor((E-W)/2+W);E=T;var z=Math.max(1,b-T+1),D=l?M:Math.min(b+T,M)+k,K=Array(D+2);K[D+1]=(1<<F)-1;for(var q=D;q>=z;q-=1){var B=q-1,J=n[e.charAt(B)];if(S&&(_[B]=+!!J),K[q]=(K[q+1]<<1|1)&J,F&&(K[q]|=(A[q+1]|A[q])<<1|1|A[q+1]),K[q]&$&&(C=R(t,{errors:F,currentLocation:B,expectedLocation:b,distance:a,ignoreLocation:p}))<=x){if(x=C,(L=B)<=b)break;z=Math.max(1,2*b-L)}}if(R(t,{errors:F+1,currentLocation:b,expectedLocation:b,distance:a,ignoreLocation:p})>x)break;A=K}var U={isMatch:L>=0,score:Math.max(.001,C)};if(S){var V=N(_,d);V.length?g&&(U.indices=V):U.isMatch=!1}return U}(e,n,i,{location:c+o,distance:a,threshold:s,findAllMatches:u,minMatchCharLength:h,includeMatches:r,ignoreLocation:l}),p=y.isMatch,m=y.score,k=y.indices;p&&(g=!0),v+=m,p&&k&&(d=[].concat(f(d),f(k)))}));var y={isMatch:g,score:g?v/this.chunks.length:1};return g&&r&&(y.indices=d),y}}]),e}(),z=function(){function e(t){r(this,e),this.pattern=t}return o(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(e){return D(e,this.multiRegex)}},{key:"isSingleMatch",value:function(e){return D(e,this.singleRegex)}}]),e}();function D(e,t){var n=e.match(t);return n?n[1]:null}var K=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),n}(z),q=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),n}(z),B=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),n}(z),J=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),n}(z),U=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),n}(z),V=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),n}(z),G=function(e){a(n,e);var t=l(n);function n(e){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=o.location,a=void 0===c?I.location:c,s=o.threshold,u=void 0===s?I.threshold:s,h=o.distance,l=void 0===h?I.distance:h,f=o.includeMatches,d=void 0===f?I.includeMatches:f,v=o.findAllMatches,g=void 0===v?I.findAllMatches:v,y=o.minMatchCharLength,p=void 0===y?I.minMatchCharLength:y,m=o.isCaseSensitive,k=void 0===m?I.isCaseSensitive:m,M=o.ignoreLocation,b=void 0===M?I.ignoreLocation:M;return r(this,n),(i=t.call(this,e))._bitapSearch=new T(e,{location:a,threshold:u,distance:l,includeMatches:d,findAllMatches:g,minMatchCharLength:p,isCaseSensitive:k,ignoreLocation:b}),i}return o(n,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),n}(z),H=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){for(var t,n=0,r=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);var o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),n}(z),Q=[K,H,B,J,V,U,q,G],X=Q.length,Y=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;function Z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map((function(e){for(var n=e.trim().split(Y).filter((function(e){return e&&!!e.trim()})),r=[],i=0,o=n.length;i<o;i+=1){for(var c=n[i],a=!1,s=-1;!a&&++s<X;){var u=Q[s],h=u.isMultiMatch(c);h&&(r.push(new u(h,t)),a=!0)}if(!a)for(s=-1;++s<X;){var l=Q[s],f=l.isSingleMatch(c);if(f){r.push(new l(f,t));break}}}return r}))}var ee=new Set([G.type,H.type]),te=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.isCaseSensitive,o=void 0===i?I.isCaseSensitive:i,c=n.includeMatches,a=void 0===c?I.includeMatches:c,s=n.minMatchCharLength,u=void 0===s?I.minMatchCharLength:s,h=n.ignoreLocation,l=void 0===h?I.ignoreLocation:h,f=n.findAllMatches,d=void 0===f?I.findAllMatches:f,v=n.location,g=void 0===v?I.location:v,y=n.threshold,p=void 0===y?I.threshold:y,m=n.distance,k=void 0===m?I.distance:m;r(this,e),this.query=null,this.options={isCaseSensitive:o,includeMatches:a,minMatchCharLength:u,findAllMatches:d,ignoreLocation:l,location:g,threshold:p,distance:k},this.pattern=o?t:t.toLowerCase(),this.query=Z(this.pattern,this.options)}return o(e,[{key:"searchIn",value:function(e){var t=this.query;if(!t)return{isMatch:!1,score:1};var n=this.options,r=n.includeMatches;e=n.isCaseSensitive?e:e.toLowerCase();for(var i=0,o=[],c=0,a=0,s=t.length;a<s;a+=1){var u=t[a];o.length=0,i=0;for(var h=0,l=u.length;h<l;h+=1){var d=u[h],v=d.search(e),g=v.isMatch,y=v.indices,p=v.score;if(!g){c=0,i=0,o.length=0;break}if(i+=1,c+=p,r){var m=d.constructor.type;ee.has(m)?o=[].concat(f(o),f(y)):o.push(y)}}if(i){var k={isMatch:!0,score:c/i};return r&&(k.indices=o),k}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(e,t){return t.useExtendedSearch}}]),e}(),ne=[];function re(e,t){for(var n=0,r=ne.length;n<r;n+=1){var i=ne[n];if(i.condition(e,t))return new i(e,t)}return new T(e,t)}var ie="$and",oe="$or",ce="$path",ae="$val",se=function(e){return!(!e[ie]&&!e[oe])},ue=function(e){return!!e[ce]},he=function(e){return!v(e)&&m(e)&&!se(e)},le=function(e){return c({},ie,Object.keys(e).map((function(t){return c({},t,e[t])})))};function fe(e,t){var n=t.ignoreFieldNorm,r=void 0===n?I.ignoreFieldNorm:n;e.forEach((function(e){var t=1;e.matches.forEach((function(e){var n=e.key,i=e.norm,o=e.score,c=n?n.weight:null;t*=Math.pow(0===o&&c?Number.EPSILON:o,(c||1)*(r?1:i))})),e.score=t}))}function de(e,t){var n=e.matches;t.matches=[],k(n)&&n.forEach((function(e){if(k(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.src),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function ve(e,t){t.score=e.score}function ge(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?I.includeMatches:r,o=n.includeScore,c=void 0===o?I.includeScore:o,a=[];return i&&a.push(de),c&&a.push(ve),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return a.length&&a.forEach((function(t){t(e,r)})),r}))}var ye=function(){function e(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;r(this,e),this.options=t(t({},I),i),this.options.useExtendedSearch,this._keyStore=new S(this.options.keys),this.setCollection(n,o)}return o(e,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof $))throw new Error("Incorrect 'index' type");this._myIndex=t||F(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){k(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},t=[],n=0,r=this._docs.length;n<r;n+=1){var i=this._docs[n];e(i,n)&&(this.removeAt(n),n-=1,r-=1,t.push(i))}return t}},{key:"removeAt",value:function(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.limit,r=void 0===n?-1:n,i=this.options,o=i.includeMatches,c=i.includeScore,a=i.shouldSort,s=i.sortFn,u=i.ignoreFieldNorm,h=g(e)?g(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return fe(h,{ignoreFieldNorm:u}),a&&h.sort(s),y(r)&&r>-1&&(h=h.slice(0,r)),ge(h,this._docs,{includeMatches:o,includeScore:c})}},{key:"_searchStringList",value:function(e){var t=re(e,this.options),n=this._myIndex.records,r=[];return n.forEach((function(e){var n=e.v,i=e.i,o=e.n;if(k(n)){var c=t.searchIn(n),a=c.isMatch,s=c.score,u=c.indices;a&&r.push({item:n,idx:i,matches:[{score:s,value:n,norm:o,indices:u}]})}})),r}},{key:"_searchLogical",value:function(e){var t=this,n=function(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).auto,r=void 0===n||n,i=function e(n){var i=Object.keys(n),o=ue(n);if(!o&&i.length>1&&!se(n))return e(le(n));if(he(n)){var c=o?n[ce]:i[0],a=o?n[ae]:n[c];if(!g(a))throw new Error(x(c));var s={keyId:j(c),pattern:a};return r&&(s.searcher=re(a,t)),s}var u={children:[],operator:i[0]};return i.forEach((function(t){var r=n[t];v(r)&&r.forEach((function(t){u.children.push(e(t))}))})),u};return se(e)||(e=le(e)),i(e)}(e,this.options),r=function e(n,r,i){if(!n.children){var o=n.keyId,c=n.searcher,a=t._findMatches({key:t._keyStore.get(o),value:t._myIndex.getValueForItemAtKeyId(r,o),searcher:c});return a&&a.length?[{idx:i,item:r,matches:a}]:[]}for(var s=[],u=0,h=n.children.length;u<h;u+=1){var l=e(n.children[u],r,i);if(l.length)s.push.apply(s,f(l));else if(n.operator===ie)return[]}return s},i=this._myIndex.records,o={},c=[];return i.forEach((function(e){var t=e.$,i=e.i;if(k(t)){var a=r(n,t,i);a.length&&(o[i]||(o[i]={idx:i,item:t,matches:[]},c.push(o[i])),a.forEach((function(e){var t,n=e.matches;(t=o[i].matches).push.apply(t,f(n))})))}})),c}},{key:"_searchObjectList",value:function(e){var t=this,n=re(e,this.options),r=this._myIndex,i=r.keys,o=r.records,c=[];return o.forEach((function(e){var r=e.$,o=e.i;if(k(r)){var a=[];i.forEach((function(e,i){a.push.apply(a,f(t._findMatches({key:e,value:r[i],searcher:n})))})),a.length&&c.push({idx:o,item:r,matches:a})}})),c}},{key:"_findMatches",value:function(e){var t=e.key,n=e.value,r=e.searcher;if(!k(n))return[];var i=[];if(v(n))n.forEach((function(e){var n=e.v,o=e.i,c=e.n;if(k(n)){var a=r.searchIn(n),s=a.isMatch,u=a.score,h=a.indices;s&&i.push({score:u,key:t,value:n,idx:o,norm:c,indices:h})}}));else{var o=n.v,c=n.n,a=r.searchIn(o),s=a.isMatch,u=a.score,h=a.indices;s&&i.push({score:u,key:t,value:o,norm:c,indices:h})}return i}}]),e}();return ye.version="6.6.2",ye.createIndex=F,ye.parseIndex=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?I.getFn:n,i=t.fieldNormWeight,o=void 0===i?I.fieldNormWeight:i,c=e.keys,a=e.records,s=new $({getFn:r,fieldNormWeight:o});return s.setKeys(c),s.setIndexRecords(a),s},ye.config=I,function(){ne.push.apply(ne,arguments)}(te),ye},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t(); \ No newline at end of file diff --git a/site_libs/quarto-search/quarto-search.js b/site_libs/quarto-search/quarto-search.js new file mode 100644 index 0000000..5f723d7 --- /dev/null +++ b/site_libs/quarto-search/quarto-search.js @@ -0,0 +1,1286 @@ +const kQueryArg = "q"; +const kResultsArg = "show-results"; + +// If items don't provide a URL, then both the navigator and the onSelect +// function aren't called (and therefore, the default implementation is used) +// +// We're using this sentinel URL to signal to those handlers that this +// item is a more item (along with the type) and can be handled appropriately +const kItemTypeMoreHref = "0767FDFD-0422-4E5A-BC8A-3BE11E5BBA05"; + +window.document.addEventListener("DOMContentLoaded", function (_event) { + // Ensure that search is available on this page. If it isn't, + // should return early and not do anything + var searchEl = window.document.getElementById("quarto-search"); + if (!searchEl) return; + + const { autocomplete } = window["@algolia/autocomplete-js"]; + + let quartoSearchOptions = {}; + let language = {}; + const searchOptionEl = window.document.getElementById( + "quarto-search-options" + ); + if (searchOptionEl) { + const jsonStr = searchOptionEl.textContent; + quartoSearchOptions = JSON.parse(jsonStr); + language = quartoSearchOptions.language; + } + + // note the search mode + if (quartoSearchOptions.type === "overlay") { + searchEl.classList.add("type-overlay"); + } else { + searchEl.classList.add("type-textbox"); + } + + // Used to determine highlighting behavior for this page + // A `q` query param is expected when the user follows a search + // to this page + const currentUrl = new URL(window.location); + const query = currentUrl.searchParams.get(kQueryArg); + const showSearchResults = currentUrl.searchParams.get(kResultsArg); + const mainEl = window.document.querySelector("main"); + + // highlight matches on the page + if (query && mainEl) { + // perform any highlighting + highlight(escapeRegExp(query), mainEl); + + // fix up the URL to remove the q query param + const replacementUrl = new URL(window.location); + replacementUrl.searchParams.delete(kQueryArg); + window.history.replaceState({}, "", replacementUrl); + } + + // function to clear highlighting on the page when the search query changes + // (e.g. if the user edits the query or clears it) + let highlighting = true; + const resetHighlighting = (searchTerm) => { + if (mainEl && highlighting && query && searchTerm !== query) { + clearHighlight(query, mainEl); + highlighting = false; + } + }; + + // Clear search highlighting when the user scrolls sufficiently + const resetFn = () => { + resetHighlighting(""); + window.removeEventListener("quarto-hrChanged", resetFn); + window.removeEventListener("quarto-sectionChanged", resetFn); + }; + + // Register this event after the initial scrolling and settling of events + // on the page + window.addEventListener("quarto-hrChanged", resetFn); + window.addEventListener("quarto-sectionChanged", resetFn); + + // Responsively switch to overlay mode if the search is present on the navbar + // Note that switching the sidebar to overlay mode requires more coordinate (not just + // the media query since we generate different HTML for sidebar overlays than we do + // for sidebar input UI) + const detachedMediaQuery = + quartoSearchOptions.type === "overlay" ? "all" : "(max-width: 991px)"; + + // If configured, include the analytics client to send insights + const plugins = configurePlugins(quartoSearchOptions); + + let lastState = null; + const { setIsOpen, setQuery, setCollections } = autocomplete({ + container: searchEl, + detachedMediaQuery: detachedMediaQuery, + defaultActiveItemId: 0, + panelContainer: "#quarto-search-results", + panelPlacement: quartoSearchOptions["panel-placement"], + debug: false, + openOnFocus: true, + plugins, + classNames: { + form: "d-flex", + }, + placeholder: language["search-text-placeholder"], + translations: { + clearButtonTitle: language["search-clear-button-title"], + detachedCancelButtonText: language["search-detached-cancel-button-title"], + submitButtonTitle: language["search-submit-button-title"], + }, + initialState: { + query, + }, + getItemUrl({ item }) { + return item.href; + }, + onStateChange({ state }) { + // If this is a file URL, note that + + // Perhaps reset highlighting + resetHighlighting(state.query); + + // If the panel just opened, ensure the panel is positioned properly + if (state.isOpen) { + if (lastState && !lastState.isOpen) { + setTimeout(() => { + positionPanel(quartoSearchOptions["panel-placement"]); + }, 150); + } + } + + // Perhaps show the copy link + showCopyLink(state.query, quartoSearchOptions); + + lastState = state; + }, + reshape({ sources, state }) { + return sources.map((source) => { + try { + const items = source.getItems(); + + // Validate the items + validateItems(items); + + // group the items by document + const groupedItems = new Map(); + items.forEach((item) => { + const hrefParts = item.href.split("#"); + const baseHref = hrefParts[0]; + const isDocumentItem = hrefParts.length === 1; + + const items = groupedItems.get(baseHref); + if (!items) { + groupedItems.set(baseHref, [item]); + } else { + // If the href for this item matches the document + // exactly, place this item first as it is the item that represents + // the document itself + if (isDocumentItem) { + items.unshift(item); + } else { + items.push(item); + } + groupedItems.set(baseHref, items); + } + }); + + const reshapedItems = []; + let count = 1; + for (const [_key, value] of groupedItems) { + const firstItem = value[0]; + reshapedItems.push({ + ...firstItem, + type: kItemTypeDoc, + }); + + const collapseMatches = quartoSearchOptions["collapse-after"]; + const collapseCount = + typeof collapseMatches === "number" ? collapseMatches : 1; + + if (value.length > 1) { + const target = `search-more-${count}`; + const isExpanded = + state.context.expanded && + state.context.expanded.includes(target); + + const remainingCount = value.length - collapseCount; + + for (let i = 1; i < value.length; i++) { + if (collapseMatches && i === collapseCount) { + reshapedItems.push({ + target, + title: isExpanded + ? language["search-hide-matches-text"] + : remainingCount === 1 + ? `${remainingCount} ${language["search-more-match-text"]}` + : `${remainingCount} ${language["search-more-matches-text"]}`, + type: kItemTypeMore, + href: kItemTypeMoreHref, + }); + } + + if (isExpanded || !collapseMatches || i < collapseCount) { + reshapedItems.push({ + ...value[i], + type: kItemTypeItem, + target, + }); + } + } + } + count += 1; + } + + return { + ...source, + getItems() { + return reshapedItems; + }, + }; + } catch (error) { + // Some form of error occurred + return { + ...source, + getItems() { + return [ + { + title: error.name || "An Error Occurred While Searching", + text: + error.message || + "An unknown error occurred while attempting to perform the requested search.", + type: kItemTypeError, + }, + ]; + }, + }; + } + }); + }, + navigator: { + navigate({ itemUrl }) { + if (itemUrl !== offsetURL(kItemTypeMoreHref)) { + window.location.assign(itemUrl); + } + }, + navigateNewTab({ itemUrl }) { + if (itemUrl !== offsetURL(kItemTypeMoreHref)) { + const windowReference = window.open(itemUrl, "_blank", "noopener"); + if (windowReference) { + windowReference.focus(); + } + } + }, + navigateNewWindow({ itemUrl }) { + if (itemUrl !== offsetURL(kItemTypeMoreHref)) { + window.open(itemUrl, "_blank", "noopener"); + } + }, + }, + getSources({ state, setContext, setActiveItemId, refresh }) { + return [ + { + sourceId: "documents", + getItemUrl({ item }) { + if (item.href) { + return offsetURL(item.href); + } else { + return undefined; + } + }, + onSelect({ + item, + state, + setContext, + setIsOpen, + setActiveItemId, + refresh, + }) { + if (item.type === kItemTypeMore) { + toggleExpanded(item, state, setContext, setActiveItemId, refresh); + + // Toggle more + setIsOpen(true); + } + }, + getItems({ query }) { + if (query === null || query === "") { + return []; + } + + const limit = quartoSearchOptions.limit; + if (quartoSearchOptions.algolia) { + return algoliaSearch(query, limit, quartoSearchOptions.algolia); + } else { + // Fuse search options + const fuseSearchOptions = { + isCaseSensitive: false, + shouldSort: true, + minMatchCharLength: 2, + limit: limit, + }; + + return readSearchData().then(function (fuse) { + return fuseSearch(query, fuse, fuseSearchOptions); + }); + } + }, + templates: { + noResults({ createElement }) { + const hasQuery = lastState.query; + + return createElement( + "div", + { + class: `quarto-search-no-results${ + hasQuery ? "" : " no-query" + }`, + }, + language["search-no-results-text"] + ); + }, + header({ items, createElement }) { + // count the documents + const count = items.filter((item) => { + return item.type === kItemTypeDoc; + }).length; + + if (count > 0) { + return createElement( + "div", + { class: "search-result-header" }, + `${count} ${language["search-matching-documents-text"]}` + ); + } else { + return createElement( + "div", + { class: "search-result-header-no-results" }, + `` + ); + } + }, + footer({ _items, createElement }) { + if ( + quartoSearchOptions.algolia && + quartoSearchOptions.algolia["show-logo"] + ) { + const libDir = quartoSearchOptions.algolia["libDir"]; + const logo = createElement("img", { + src: offsetURL( + `${libDir}/quarto-search/search-by-algolia.svg` + ), + class: "algolia-search-logo", + }); + return createElement( + "a", + { href: "http://www.algolia.com/" }, + logo + ); + } + }, + + item({ item, createElement }) { + return renderItem( + item, + createElement, + state, + setActiveItemId, + setContext, + refresh, + quartoSearchOptions + ); + }, + }, + }, + ]; + }, + }); + + window.quartoOpenSearch = () => { + setIsOpen(false); + setIsOpen(true); + focusSearchInput(); + }; + + document.addEventListener("keyup", (event) => { + const { key } = event; + const kbds = quartoSearchOptions["keyboard-shortcut"]; + const focusedEl = document.activeElement; + + const isFormElFocused = [ + "input", + "select", + "textarea", + "button", + "option", + ].find((tag) => { + return focusedEl.tagName.toLowerCase() === tag; + }); + + if ( + kbds && + kbds.includes(key) && + !isFormElFocused && + !document.activeElement.isContentEditable + ) { + event.preventDefault(); + window.quartoOpenSearch(); + } + }); + + // Remove the labeleledby attribute since it is pointing + // to a non-existent label + if (quartoSearchOptions.type === "overlay") { + const inputEl = window.document.querySelector( + "#quarto-search .aa-Autocomplete" + ); + if (inputEl) { + inputEl.removeAttribute("aria-labelledby"); + } + } + + function throttle(func, wait) { + let waiting = false; + return function () { + if (!waiting) { + func.apply(this, arguments); + waiting = true; + setTimeout(function () { + waiting = false; + }, wait); + } + }; + } + + // If the main document scrolls dismiss the search results + // (otherwise, since they're floating in the document they can scroll with the document) + window.document.body.onscroll = throttle(() => { + // Only do this if we're not detached + // Bug #7117 + // This will happen when the keyboard is shown on ios (resulting in a scroll) + // which then closed the search UI + if (!window.matchMedia(detachedMediaQuery).matches) { + setIsOpen(false); + } + }, 50); + + if (showSearchResults) { + setIsOpen(true); + focusSearchInput(); + } +}); + +function configurePlugins(quartoSearchOptions) { + const autocompletePlugins = []; + const algoliaOptions = quartoSearchOptions.algolia; + if ( + algoliaOptions && + algoliaOptions["analytics-events"] && + algoliaOptions["search-only-api-key"] && + algoliaOptions["application-id"] + ) { + const apiKey = algoliaOptions["search-only-api-key"]; + const appId = algoliaOptions["application-id"]; + + // Aloglia insights may not be loaded because they require cookie consent + // Use deferred loading so events will start being recorded when/if consent + // is granted. + const algoliaInsightsDeferredPlugin = deferredLoadPlugin(() => { + if ( + window.aa && + window["@algolia/autocomplete-plugin-algolia-insights"] + ) { + window.aa("init", { + appId, + apiKey, + useCookie: true, + }); + + const { createAlgoliaInsightsPlugin } = + window["@algolia/autocomplete-plugin-algolia-insights"]; + // Register the insights client + const algoliaInsightsPlugin = createAlgoliaInsightsPlugin({ + insightsClient: window.aa, + onItemsChange({ insights, insightsEvents }) { + const events = insightsEvents.flatMap((event) => { + // This API limits the number of items per event to 20 + const chunkSize = 20; + const itemChunks = []; + const eventItems = event.items; + for (let i = 0; i < eventItems.length; i += chunkSize) { + itemChunks.push(eventItems.slice(i, i + chunkSize)); + } + // Split the items into multiple events that can be sent + const events = itemChunks.map((items) => { + return { + ...event, + items, + }; + }); + return events; + }); + + for (const event of events) { + insights.viewedObjectIDs(event); + } + }, + }); + return algoliaInsightsPlugin; + } + }); + + // Add the plugin + autocompletePlugins.push(algoliaInsightsDeferredPlugin); + return autocompletePlugins; + } +} + +// For plugins that may not load immediately, create a wrapper +// plugin and forward events and plugin data once the plugin +// is initialized. This is useful for cases like cookie consent +// which may prevent the analytics insights event plugin from initializing +// immediately. +function deferredLoadPlugin(createPlugin) { + let plugin = undefined; + let subscribeObj = undefined; + const wrappedPlugin = () => { + if (!plugin && subscribeObj) { + plugin = createPlugin(); + if (plugin && plugin.subscribe) { + plugin.subscribe(subscribeObj); + } + } + return plugin; + }; + + return { + subscribe: (obj) => { + subscribeObj = obj; + }, + onStateChange: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.onStateChange) { + plugin.onStateChange(obj); + } + }, + onSubmit: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.onSubmit) { + plugin.onSubmit(obj); + } + }, + onReset: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.onReset) { + plugin.onReset(obj); + } + }, + getSources: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.getSources) { + return plugin.getSources(obj); + } else { + return Promise.resolve([]); + } + }, + data: (obj) => { + const plugin = wrappedPlugin(); + if (plugin && plugin.data) { + plugin.data(obj); + } + }, + }; +} + +function validateItems(items) { + // Validate the first item + if (items.length > 0) { + const item = items[0]; + const missingFields = []; + if (item.href == undefined) { + missingFields.push("href"); + } + if (!item.title == undefined) { + missingFields.push("title"); + } + if (!item.text == undefined) { + missingFields.push("text"); + } + + if (missingFields.length === 1) { + throw { + name: `Error: Search index is missing the <code>${missingFields[0]}</code> field.`, + message: `The items being returned for this search do not include all the required fields. Please ensure that your index items include the <code>${missingFields[0]}</code> field or use <code>index-fields</code> in your <code>_quarto.yml</code> file to specify the field names.`, + }; + } else if (missingFields.length > 1) { + const missingFieldList = missingFields + .map((field) => { + return `<code>${field}</code>`; + }) + .join(", "); + + throw { + name: `Error: Search index is missing the following fields: ${missingFieldList}.`, + message: `The items being returned for this search do not include all the required fields. Please ensure that your index items includes the following fields: ${missingFieldList}, or use <code>index-fields</code> in your <code>_quarto.yml</code> file to specify the field names.`, + }; + } + } +} + +let lastQuery = null; +function showCopyLink(query, options) { + const language = options.language; + lastQuery = query; + // Insert share icon + const inputSuffixEl = window.document.body.querySelector( + ".aa-Form .aa-InputWrapperSuffix" + ); + + if (inputSuffixEl) { + let copyButtonEl = window.document.body.querySelector( + ".aa-Form .aa-InputWrapperSuffix .aa-CopyButton" + ); + + if (copyButtonEl === null) { + copyButtonEl = window.document.createElement("button"); + copyButtonEl.setAttribute("class", "aa-CopyButton"); + copyButtonEl.setAttribute("type", "button"); + copyButtonEl.setAttribute("title", language["search-copy-link-title"]); + copyButtonEl.onmousedown = (e) => { + e.preventDefault(); + e.stopPropagation(); + }; + + const linkIcon = "bi-clipboard"; + const checkIcon = "bi-check2"; + + const shareIconEl = window.document.createElement("i"); + shareIconEl.setAttribute("class", `bi ${linkIcon}`); + copyButtonEl.appendChild(shareIconEl); + inputSuffixEl.prepend(copyButtonEl); + + const clipboard = new window.ClipboardJS(".aa-CopyButton", { + text: function (_trigger) { + const copyUrl = new URL(window.location); + copyUrl.searchParams.set(kQueryArg, lastQuery); + copyUrl.searchParams.set(kResultsArg, "1"); + return copyUrl.toString(); + }, + }); + clipboard.on("success", function (e) { + // Focus the input + + // button target + const button = e.trigger; + const icon = button.querySelector("i.bi"); + + // flash "checked" + icon.classList.add(checkIcon); + icon.classList.remove(linkIcon); + setTimeout(function () { + icon.classList.remove(checkIcon); + icon.classList.add(linkIcon); + }, 1000); + }); + } + + // If there is a query, show the link icon + if (copyButtonEl) { + if (lastQuery && options["copy-button"]) { + copyButtonEl.style.display = "flex"; + } else { + copyButtonEl.style.display = "none"; + } + } + } +} + +/* Search Index Handling */ +// create the index +var fuseIndex = undefined; +var shownWarning = false; + +// fuse index options +const kFuseIndexOptions = { + keys: [ + { name: "title", weight: 20 }, + { name: "section", weight: 20 }, + { name: "text", weight: 10 }, + ], + ignoreLocation: true, + threshold: 0.1, +}; + +async function readSearchData() { + // Initialize the search index on demand + if (fuseIndex === undefined) { + if (window.location.protocol === "file:" && !shownWarning) { + window.alert( + "Search requires JavaScript features disabled when running in file://... URLs. In order to use search, please run this document in a web server." + ); + shownWarning = true; + return; + } + const fuse = new window.Fuse([], kFuseIndexOptions); + + // fetch the main search.json + const response = await fetch(offsetURL("search.json")); + if (response.status == 200) { + return response.json().then(function (searchDocs) { + searchDocs.forEach(function (searchDoc) { + fuse.add(searchDoc); + }); + fuseIndex = fuse; + return fuseIndex; + }); + } else { + return Promise.reject( + new Error( + "Unexpected status from search index request: " + response.status + ) + ); + } + } + + return fuseIndex; +} + +function inputElement() { + return window.document.body.querySelector(".aa-Form .aa-Input"); +} + +function focusSearchInput() { + setTimeout(() => { + const inputEl = inputElement(); + if (inputEl) { + inputEl.focus(); + } + }, 50); +} + +/* Panels */ +const kItemTypeDoc = "document"; +const kItemTypeMore = "document-more"; +const kItemTypeItem = "document-item"; +const kItemTypeError = "error"; + +function renderItem( + item, + createElement, + state, + setActiveItemId, + setContext, + refresh, + quartoSearchOptions +) { + switch (item.type) { + case kItemTypeDoc: + return createDocumentCard( + createElement, + "file-richtext", + item.title, + item.section, + item.text, + item.href, + item.crumbs, + quartoSearchOptions + ); + case kItemTypeMore: + return createMoreCard( + createElement, + item, + state, + setActiveItemId, + setContext, + refresh + ); + case kItemTypeItem: + return createSectionCard( + createElement, + item.section, + item.text, + item.href + ); + case kItemTypeError: + return createErrorCard(createElement, item.title, item.text); + default: + return undefined; + } +} + +function createDocumentCard( + createElement, + icon, + title, + section, + text, + href, + crumbs, + quartoSearchOptions +) { + const iconEl = createElement("i", { + class: `bi bi-${icon} search-result-icon`, + }); + const titleEl = createElement("p", { class: "search-result-title" }, title); + const titleContents = [iconEl, titleEl]; + const showParent = quartoSearchOptions["show-item-context"]; + if (crumbs && showParent) { + let crumbsOut = undefined; + const crumbClz = ["search-result-crumbs"]; + if (showParent === "root") { + crumbsOut = crumbs.length > 1 ? crumbs[0] : undefined; + } else if (showParent === "parent") { + crumbsOut = crumbs.length > 1 ? crumbs[crumbs.length - 2] : undefined; + } else { + crumbsOut = crumbs.length > 1 ? crumbs.join(" > ") : undefined; + crumbClz.push("search-result-crumbs-wrap"); + } + + const crumbEl = createElement( + "p", + { class: crumbClz.join(" ") }, + crumbsOut + ); + titleContents.push(crumbEl); + } + + const titleContainerEl = createElement( + "div", + { class: "search-result-title-container" }, + titleContents + ); + + const textEls = []; + if (section) { + const sectionEl = createElement( + "p", + { class: "search-result-section" }, + section + ); + textEls.push(sectionEl); + } + const descEl = createElement("p", { + class: "search-result-text", + dangerouslySetInnerHTML: { + __html: text, + }, + }); + textEls.push(descEl); + + const textContainerEl = createElement( + "div", + { class: "search-result-text-container" }, + textEls + ); + + const containerEl = createElement( + "div", + { + class: "search-result-container", + }, + [titleContainerEl, textContainerEl] + ); + + const linkEl = createElement( + "a", + { + href: offsetURL(href), + class: "search-result-link", + }, + containerEl + ); + + const classes = ["search-result-doc", "search-item"]; + if (!section) { + classes.push("document-selectable"); + } + + return createElement( + "div", + { + class: classes.join(" "), + }, + linkEl + ); +} + +function createMoreCard( + createElement, + item, + state, + setActiveItemId, + setContext, + refresh +) { + const moreCardEl = createElement( + "div", + { + class: "search-result-more search-item", + onClick: (e) => { + // Handle expanding the sections by adding the expanded + // section to the list of expanded sections + toggleExpanded(item, state, setContext, setActiveItemId, refresh); + e.stopPropagation(); + }, + }, + item.title + ); + + return moreCardEl; +} + +function toggleExpanded(item, state, setContext, setActiveItemId, refresh) { + const expanded = state.context.expanded || []; + if (expanded.includes(item.target)) { + setContext({ + expanded: expanded.filter((target) => target !== item.target), + }); + } else { + setContext({ expanded: [...expanded, item.target] }); + } + + refresh(); + setActiveItemId(item.__autocomplete_id); +} + +function createSectionCard(createElement, section, text, href) { + const sectionEl = createSection(createElement, section, text, href); + return createElement( + "div", + { + class: "search-result-doc-section search-item", + }, + sectionEl + ); +} + +function createSection(createElement, title, text, href) { + const descEl = createElement("p", { + class: "search-result-text", + dangerouslySetInnerHTML: { + __html: text, + }, + }); + + const titleEl = createElement("p", { class: "search-result-section" }, title); + const linkEl = createElement( + "a", + { + href: offsetURL(href), + class: "search-result-link", + }, + [titleEl, descEl] + ); + return linkEl; +} + +function createErrorCard(createElement, title, text) { + const descEl = createElement("p", { + class: "search-error-text", + dangerouslySetInnerHTML: { + __html: text, + }, + }); + + const titleEl = createElement("p", { + class: "search-error-title", + dangerouslySetInnerHTML: { + __html: `<i class="bi bi-exclamation-circle search-error-icon"></i> ${title}`, + }, + }); + const errorEl = createElement("div", { class: "search-error" }, [ + titleEl, + descEl, + ]); + return errorEl; +} + +function positionPanel(pos) { + const panelEl = window.document.querySelector( + "#quarto-search-results .aa-Panel" + ); + const inputEl = window.document.querySelector( + "#quarto-search .aa-Autocomplete" + ); + + if (panelEl && inputEl) { + panelEl.style.top = `${Math.round(panelEl.offsetTop)}px`; + if (pos === "start") { + panelEl.style.left = `${Math.round(inputEl.left)}px`; + } else { + panelEl.style.right = `${Math.round(inputEl.offsetRight)}px`; + } + } +} + +/* Highlighting */ +// highlighting functions +function highlightMatch(query, text) { + if (text) { + const start = text.toLowerCase().indexOf(query.toLowerCase()); + if (start !== -1) { + const startMark = "<mark class='search-match'>"; + const endMark = "</mark>"; + + const end = start + query.length; + text = + text.slice(0, start) + + startMark + + text.slice(start, end) + + endMark + + text.slice(end); + const startInfo = clipStart(text, start); + const endInfo = clipEnd( + text, + startInfo.position + startMark.length + endMark.length + ); + text = + startInfo.prefix + + text.slice(startInfo.position, endInfo.position) + + endInfo.suffix; + + return text; + } else { + return text; + } + } else { + return text; + } +} + +function clipStart(text, pos) { + const clipStart = pos - 50; + if (clipStart < 0) { + // This will just return the start of the string + return { + position: 0, + prefix: "", + }; + } else { + // We're clipping before the start of the string, walk backwards to the first space. + const spacePos = findSpace(text, pos, -1); + return { + position: spacePos.position, + prefix: "", + }; + } +} + +function clipEnd(text, pos) { + const clipEnd = pos + 200; + if (clipEnd > text.length) { + return { + position: text.length, + suffix: "", + }; + } else { + const spacePos = findSpace(text, clipEnd, 1); + return { + position: spacePos.position, + suffix: spacePos.clipped ? "…" : "", + }; + } +} + +function findSpace(text, start, step) { + let stepPos = start; + while (stepPos > -1 && stepPos < text.length) { + const char = text[stepPos]; + if (char === " " || char === "," || char === ":") { + return { + position: step === 1 ? stepPos : stepPos - step, + clipped: stepPos > 1 && stepPos < text.length, + }; + } + stepPos = stepPos + step; + } + + return { + position: stepPos - step, + clipped: false, + }; +} + +// removes highlighting as implemented by the mark tag +function clearHighlight(searchterm, el) { + const childNodes = el.childNodes; + for (let i = childNodes.length - 1; i >= 0; i--) { + const node = childNodes[i]; + if (node.nodeType === Node.ELEMENT_NODE) { + if ( + node.tagName === "MARK" && + node.innerText.toLowerCase() === searchterm.toLowerCase() + ) { + el.replaceChild(document.createTextNode(node.innerText), node); + } else { + clearHighlight(searchterm, node); + } + } + } +} + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string +} + +// highlight matches +function highlight(term, el) { + const termRegex = new RegExp(term, "ig"); + const childNodes = el.childNodes; + + // walk back to front avoid mutating elements in front of us + for (let i = childNodes.length - 1; i >= 0; i--) { + const node = childNodes[i]; + + if (node.nodeType === Node.TEXT_NODE) { + // Search text nodes for text to highlight + const text = node.nodeValue; + + let startIndex = 0; + let matchIndex = text.search(termRegex); + if (matchIndex > -1) { + const markFragment = document.createDocumentFragment(); + while (matchIndex > -1) { + const prefix = text.slice(startIndex, matchIndex); + markFragment.appendChild(document.createTextNode(prefix)); + + const mark = document.createElement("mark"); + mark.appendChild( + document.createTextNode( + text.slice(matchIndex, matchIndex + term.length) + ) + ); + markFragment.appendChild(mark); + + startIndex = matchIndex + term.length; + matchIndex = text.slice(startIndex).search(new RegExp(term, "ig")); + if (matchIndex > -1) { + matchIndex = startIndex + matchIndex; + } + } + if (startIndex < text.length) { + markFragment.appendChild( + document.createTextNode(text.slice(startIndex, text.length)) + ); + } + + el.replaceChild(markFragment, node); + } + } else if (node.nodeType === Node.ELEMENT_NODE) { + // recurse through elements + highlight(term, node); + } + } +} + +/* Link Handling */ +// get the offset from this page for a given site root relative url +function offsetURL(url) { + var offset = getMeta("quarto:offset"); + return offset ? offset + url : url; +} + +// read a meta tag value +function getMeta(metaName) { + var metas = window.document.getElementsByTagName("meta"); + for (let i = 0; i < metas.length; i++) { + if (metas[i].getAttribute("name") === metaName) { + return metas[i].getAttribute("content"); + } + } + return ""; +} + +function algoliaSearch(query, limit, algoliaOptions) { + const { getAlgoliaResults } = window["@algolia/autocomplete-preset-algolia"]; + + const applicationId = algoliaOptions["application-id"]; + const searchOnlyApiKey = algoliaOptions["search-only-api-key"]; + const indexName = algoliaOptions["index-name"]; + const indexFields = algoliaOptions["index-fields"]; + const searchClient = window.algoliasearch(applicationId, searchOnlyApiKey); + const searchParams = algoliaOptions["params"]; + const searchAnalytics = !!algoliaOptions["analytics-events"]; + + return getAlgoliaResults({ + searchClient, + queries: [ + { + indexName: indexName, + query, + params: { + hitsPerPage: limit, + clickAnalytics: searchAnalytics, + ...searchParams, + }, + }, + ], + transformResponse: (response) => { + if (!indexFields) { + return response.hits.map((hit) => { + return hit.map((item) => { + return { + ...item, + text: highlightMatch(query, item.text), + }; + }); + }); + } else { + const remappedHits = response.hits.map((hit) => { + return hit.map((item) => { + const newItem = { ...item }; + ["href", "section", "title", "text", "crumbs"].forEach( + (keyName) => { + const mappedName = indexFields[keyName]; + if ( + mappedName && + item[mappedName] !== undefined && + mappedName !== keyName + ) { + newItem[keyName] = item[mappedName]; + delete newItem[mappedName]; + } + } + ); + newItem.text = highlightMatch(query, newItem.text); + return newItem; + }); + }); + return remappedHits; + } + }, + }); +} + +let subSearchTerm = undefined; +let subSearchFuse = undefined; +const kFuseMaxWait = 125; + +async function fuseSearch(query, fuse, fuseOptions) { + let index = fuse; + // Fuse.js using the Bitap algorithm for text matching which runs in + // O(nm) time (no matter the structure of the text). In our case this + // means that long search terms mixed with large index gets very slow + // + // This injects a subIndex that will be used once the terms get long enough + // Usually making this subindex is cheap since there will typically be + // a subset of results matching the existing query + if (subSearchFuse !== undefined && query.startsWith(subSearchTerm)) { + // Use the existing subSearchFuse + index = subSearchFuse; + } else if (subSearchFuse !== undefined) { + // The term changed, discard the existing fuse + subSearchFuse = undefined; + subSearchTerm = undefined; + } + + // Search using the active fuse + const then = performance.now(); + const resultsRaw = await index.search(query, fuseOptions); + const now = performance.now(); + + const results = resultsRaw.map((result) => { + const addParam = (url, name, value) => { + const anchorParts = url.split("#"); + const baseUrl = anchorParts[0]; + const sep = baseUrl.search("\\?") > 0 ? "&" : "?"; + anchorParts[0] = baseUrl + sep + name + "=" + value; + return anchorParts.join("#"); + }; + + return { + title: result.item.title, + section: result.item.section, + href: addParam(result.item.href, kQueryArg, query), + text: highlightMatch(query, result.item.text), + crumbs: result.item.crumbs, + }; + }); + + // If we don't have a subfuse and the query is long enough, go ahead + // and create a subfuse to use for subsequent queries + if (now - then > kFuseMaxWait && subSearchFuse === undefined) { + subSearchTerm = query; + subSearchFuse = new window.Fuse([], kFuseIndexOptions); + resultsRaw.forEach((rr) => { + subSearchFuse.add(rr.item); + }); + } + return results; +} diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..14093b4 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> + <url> + <loc>https://AnswerDotAI.github.io/fastlite/index.html</loc> + <lastmod>2024-06-01T18:44:50.663Z</lastmod> + </url> + <url> + <loc>https://AnswerDotAI.github.io/fastlite/core.html</loc> + <lastmod>2024-06-01T18:44:50.695Z</lastmod> + </url> +</urlset> diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..7094f91 --- /dev/null +++ b/styles.css @@ -0,0 +1,43 @@ +.cell { + margin-bottom: 1rem; +} + +.cell > .sourceCode { + margin-bottom: 0; +} + +.cell-output > pre { + margin-bottom: 0; +} + +.cell-output > pre, .cell-output > .sourceCode > pre, .cell-output-stdout > pre { + margin-left: 0.8rem; + margin-top: 0; + background: none; + border-left: 2px solid lightsalmon; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.cell-output > .sourceCode { + border: none; +} + +.cell-output > .sourceCode { + background: none; + margin-top: 0; +} + +div.description { + padding-left: 2px; + padding-top: 5px; + font-style: italic; + font-size: 135%; + opacity: 70%; +} + +.retina { + transform: scale(0.5); + transform-origin: top left; + } +