From 41831cfd84501b85e648477b8571dd51c873f5f6 Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Sun, 23 Oct 2022 11:28:39 +0800 Subject: [PATCH 01/16] Add proposal --- .gitignore | 2 ++ Proposal.pdf | Bin 0 -> 81890 bytes README.md | 17 ++++++++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 Proposal.pdf diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..6519e236b --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +.DS_Store? \ No newline at end of file diff --git a/Proposal.pdf b/Proposal.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e98a726886429e918b7e057095cbbfbc2c4ff1cb GIT binary patch literal 81890 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 Pm5rSpk%~%8LHvIKR22B| literal 0 HcmV?d00001 diff --git a/README.md b/README.md index a7b40d2cc..3ef2c3927 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,18 @@ -# CourseProject +# Team +**Team name**: Hungry Panda + +**Team member**: +| Name | netid | +| ---- | ----- | +| Tingyu Zeng | tzeng11 | +| Sicheng Meng | meng29 | +| Yiwei Kuang | yiwei9 | +| Jiachun Tang | jiachun5 | +| Fangsheng Yang | fyang28 | + +# Folder structure +- Project proposal: [Proposal.pdf](Proposal.pdf) + +# Course Project Please fork this repository and paste the github link of your fork on Microsoft CMT. Detailed instructions are on Coursera under Week 1: Course Project Overview/Week 9 Activities. From c7b027caac53e62d2a46e46053042f34939630a4 Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Thu, 27 Oct 2022 11:00:18 +0800 Subject: [PATCH 02/16] add time expectation --- Proposal.pdf | Bin 81890 -> 82253 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Proposal.pdf b/Proposal.pdf index e98a726886429e918b7e057095cbbfbc2c4ff1cb..56e842c0bfc410f4c27d025c4e84f7e31584f17c 100644 GIT binary patch delta 31822 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≫kp~Ovj;=3PiMct> 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 w+&uq{nuCp<>%We Date: Fri, 11 Nov 2022 11:25:36 +0800 Subject: [PATCH 03/16] chore: set up manifest.json (#1) Co-authored-by: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> --- extension/background.js | 0 extension/content.js | 1 + extension/popup.css | 0 extension/popup.html | 15 +++++++++++++ extension/popup.js | 18 +++++++++++++++ extension/public/icon128.png | Bin 0 -> 13856 bytes extension/public/icon16.png | Bin 0 -> 1354 bytes extension/public/icon24.png | Bin 0 -> 2040 bytes extension/public/icon32.png | Bin 0 -> 2723 bytes extension/public/icon48.png | Bin 0 -> 4478 bytes manifest.json | 41 +++++++++++++++++++++++++++++++++++ 11 files changed, 75 insertions(+) create mode 100644 extension/background.js create mode 100644 extension/content.js create mode 100644 extension/popup.css create mode 100644 extension/popup.html create mode 100644 extension/popup.js create mode 100644 extension/public/icon128.png create mode 100644 extension/public/icon16.png create mode 100644 extension/public/icon24.png create mode 100644 extension/public/icon32.png create mode 100644 extension/public/icon48.png create mode 100644 manifest.json diff --git a/extension/background.js b/extension/background.js new file mode 100644 index 000000000..e69de29bb diff --git a/extension/content.js b/extension/content.js new file mode 100644 index 000000000..482b572cd --- /dev/null +++ b/extension/content.js @@ -0,0 +1 @@ +console.log('this is from content.js'); diff --git a/extension/popup.css b/extension/popup.css new file mode 100644 index 000000000..e69de29bb diff --git a/extension/popup.html b/extension/popup.html new file mode 100644 index 000000000..ca692acdb --- /dev/null +++ b/extension/popup.html @@ -0,0 +1,15 @@ + + + + + + + Document + + + +

Popup

+

+ + + diff --git a/extension/popup.js b/extension/popup.js new file mode 100644 index 000000000..94d1df063 --- /dev/null +++ b/extension/popup.js @@ -0,0 +1,18 @@ +const testH2 = document.querySelector('#testH2'); + +console.log('this is from popup.js'); + +async function testApi() { + fetch('http://127.0.0.1:5000/') + .then((res) => { + return res.json(); + }) + .then((data) => { + testH2.textContent = data.text; + }) + .catch((err) => { + console.error(err); + }); +} + +testApi(); diff --git a/extension/public/icon128.png b/extension/public/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..42ddc45713146574aa789f9dcdb46654b5b8a111 GIT binary patch literal 13856 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 E0BvNn`Tzg` literal 0 HcmV?d00001 diff --git a/extension/public/icon16.png b/extension/public/icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7d78febcbe49b4b93d5a2698e23c45d73051e5 GIT binary patch literal 1354 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 mT-#K{+A6JyJS;W7{4@&m(L<}EwqW6$|Cyap literal 0 HcmV?d00001 diff --git a/extension/public/icon32.png b/extension/public/icon32.png new file mode 100644 index 0000000000000000000000000000000000000000..28f91a1b7954c5687c1a1f53cdae7dde90515da7 GIT binary patch literal 2723 zcmY*b2|Sc*7k`Zvx*sJSAxK@{XI20FN70U$~T0OAq>;47$#n+AXgLjaf! z004_D08pe}zk3i3E+mo&j=@+gpbuhUK#)%c;0F;O_yT+?0FMnsfD_-2U)Y^b@23p} z0FpxhfuAkVR8d|{rFXs7~`=5OU3K6P<7aaf)Fy7!}mROwv zsk}n)1O@@?Vi6d25-n)yMo93#ktp<^X@LnMc`HaGgdy@5H|UDyX)Ro7AtW#|kKfV={oV5abU)*uk-Xsl zvzZ^6e%FGjT8g5PzmCmPRM~HQ8+iFU9c``g1d+ou}a?`5~AC9UD|EZW;G+b*k^cK5{^ zEj#Tn9&)`>eFko{XMXfv6DMos!zs`f6M;}>qS4fWm_4i1)6m|f_07KnY&5B&={nfso&>`1#OJx8 zt_J~ss;sR2b_ieMl(Es)*2W#IJmR0bCv0?wOafU}{B^?AkxTV#eso*<>5mib`Q`@= ze#_$15i2N(%VNe;W1XCx^F1oPKWFv5gPYT*TuLJsM(f>JXU|{+|K=tpCa!@@41w&0 z!27A%X%0cU9HqIsldsGS5D1E-)Zo2KF!}Ju8SrqxZ1S{=mXa zPYjyK>*J;LbPC-Z#^m3Pwwahb7F)UFK8-ZeE=Tn9mEIY;^VI5(I-`xXYCegAgT8H>cXBS`ToA2kx^LoLQf87tUUQpD@)LBO@ab-2_UCgrcvcrd zzh!MdAAS0%CZFFq15wkF~^0b1vxvt1~(&K`osV zTi6Q1%VErh&ij}3aDg--qO#))m6&7l0VB9vvmV2PO8X$wMIWzV4ShGJ?Yto~yDQZ` zs0^*Ie1O-V7|Pt(*kJV5&x1#Py~A;+%6FG}iv-uDC8s5V)u9Pqlx*FR_RjmaesA+_ zq}d^S@9wm-vwH%IuPC96+&wNVVZ;Ba@4ERR1q1Kp&n!W)<9ZsCkIr?a>l)8X&rOm0 zZe+iGeC^pSlq(L0%a*cc%9)*fiBB4w@9FNoFtGS$alCbRtZ~%xbUZ3@o|}^;7aSZ+ z!}3S0&ig(qwAn@yx+vjY(bdy)S)Z}Ka&o|)p78ozU;g1J6E*smC6cJoV%bc8QSyW_ z3MKAs<|y${tr)^DB%TF7wioRqURO*)_)unts{77_jnRzHZpDnWDROT8KatlE?e+Fcuf zo4jJyj@zco!#y2V=SKw1p-@L&dW#C|5cjh$ zE-toBPo2}nT~D2y3@St`O^J;?G8l*GY`>k?GT(_vy6vAqXlB+-e0kXrUSvYy67D^` zBO$rO;pkv<%4+4n0h=V=#WpWpO&^SnZUvgCCbuI-0sy}W(O zi&b|i5;9=mdlx_Kmv##kI&5g|Q#7}`>CEQW8B9F-Xgoc!!%$8*I$kmv$0xkRjzi^a z+sPvTBWrs6A1QoX67fYXiS_s*^s%6}ervMiHEEdrqng0Zo%{A3iSF#qfP2l+7Dh20 z7W%me-7(eF!_|J}o&`-+kH88fkGD3*d_nO#QO~fDgo={7O4}RHKthhfm;t|7#O1jd z>b=^>-n9x>%&JSyH~l`K89EQPn=fknZJavvCO(tsU?o5s3;cI9 z!akIh_b&p=7Qx0^#C-M1E9For&ZAI@D1{gm5$9^$^r%pfEK-%H_%|qz6tw?|aG^N- z7Q34aR~?E-@I2AqFD()(C7O3cyW!o|=6ccrw7$#GV6}fWR`{N#2dT)izARkkj14wC zK}7Ro9jw+MJzK3S-ZzC2ikd!_l&Nk`vkhNX)y(vh9u*r&lP6P`$%h(NVX#n{n*tMG zWkt#azQ#qdqRSIw_jZyzY>bHy1&k@&y$RpqQ04*hW7F{$7jG_twe_|TEn5bRZL&M7 zwVgAki_d=BayB$=C{|KMFFdWZ6j0~hitfrn*vCerx~on*DE>7I&5=D)ZoS_x9^$yR z6@bxI-|NY?P7so?8?=OsUQ#yh7;{(d$g>hA>0KUY=O|=ssUL_DASqZxuY?+|n4F6o zO2}6U!QdK6O#)IrlU8GGY}q$yGjwVELU}6>gucmIP4uCltY;*y54>ov5Leq zx3RfqP08ZQC=3R3&vHssz0XyAOMtj1U~-``fAstVqr)=&Z)eAJVIrE2aog7ZT2{!L uM>6iPBIX7+MO5YSi|Fpgt=Q=4>BT*?tGQ9$Nwj9(ua~18&bDfQ0P8;v0-WUl literal 0 HcmV?d00001 diff --git a/extension/public/icon48.png b/extension/public/icon48.png new file mode 100644 index 0000000000000000000000000000000000000000..48ee7461fdb622c7fc5c74e0d927faef804d3f0d GIT binary patch literal 4478 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 Date: Wed, 9 Nov 2022 22:49:02 +0800 Subject: [PATCH 04/16] chore: set up manifest.json --- extension/content.css | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 extension/content.css diff --git a/extension/content.css b/extension/content.css new file mode 100644 index 000000000..e69de29bb From 90ce46d6d63c4d29e7afea7da21f850895526934 Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Fri, 11 Nov 2022 11:29:49 +0800 Subject: [PATCH 05/16] backend setup --- .gitignore | 4 +++- backend/app.py | 26 ++++++++++++++++++++++++++ environment.yml | 39 +++++++++++++++++++++++++++++++++++++++ extension/popup.js | 12 ++++++++++++ runtime.txt | 1 + 5 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 backend/app.py create mode 100644 environment.yml create mode 100644 runtime.txt diff --git a/.gitignore b/.gitignore index 6519e236b..37840a8ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .DS_Store -.DS_Store? \ No newline at end of file +.DS_Store? + +__pycache__/ diff --git a/backend/app.py b/backend/app.py new file mode 100644 index 000000000..63ba03f54 --- /dev/null +++ b/backend/app.py @@ -0,0 +1,26 @@ +from flask import Flask +from flask_cors import CORS, cross_origin + +app = Flask(__name__) +CORS(app) + + +@app.route("/") +@cross_origin() +def hello_world(): + return {"text": "hello world"} + + +mocked_data = [{"text": "relevant"}, {"text": "irrelevant"}] + + +@app.route("/analyse", methods=['POST']) +@cross_origin() +def analyse_text(): + data = test() + return data + + +def test(): + # do something NLP-related: only related comments are returned + return [mocked_data[0]] diff --git a/environment.yml b/environment.yml new file mode 100644 index 000000000..8da723180 --- /dev/null +++ b/environment.yml @@ -0,0 +1,39 @@ +name: hungryPanda +channels: + - defaults +dependencies: + - autopep8=1.6.0=pyhd3eb1b0_1 + - ca-certificates=2022.10.11=hecd8cb5_0 + - certifi=2022.9.24=py39hecd8cb5_0 + - libcxx=14.0.6=h9765a3e_0 + - libffi=3.3=hb1e8313_2 + - ncurses=6.3=hca72f7f_3 + - openssl=1.1.1s=hca72f7f_0 + - pip=22.2.2=py39hecd8cb5_0 + - pycodestyle=2.8.0=pyhd3eb1b0_0 + - python=3.9.13=hdfd78df_2 + - readline=8.2=hca72f7f_0 + - setuptools=65.5.0=py39hecd8cb5_0 + - sqlite=3.39.3=h707629a_0 + - tk=8.6.12=h5d9f67b_0 + - toml=0.10.2=pyhd3eb1b0_0 + - tzdata=2022f=h04d1e81_0 + - wheel=0.37.1=pyhd3eb1b0_0 + - xz=5.2.6=hca72f7f_0 + - zlib=1.2.13=h4dc903c_0 + - pip: + - click==8.1.3 + - flask==2.2.2 + - flask-cors==3.0.10 + - importlib-metadata==5.0.0 + - itsdangerous==2.1.2 + - jinja2==3.1.2 + - joblib==1.2.0 + - markupsafe==2.1.1 + - nltk==3.7 + - regex==2022.10.31 + - six==1.16.0 + - tqdm==4.64.1 + - werkzeug==2.2.2 + - zipp==3.10.0 +prefix: /Users/tingyu/opt/anaconda3/envs/hungryPanda diff --git a/extension/popup.js b/extension/popup.js index 94d1df063..2d8859468 100644 --- a/extension/popup.js +++ b/extension/popup.js @@ -1,5 +1,17 @@ const testH2 = document.querySelector('#testH2'); +const mocked_data = [ + { + text: 'chicken', + }, + { + text: 'beef', + }, + { + text: 'beef', + }, +]; + console.log('this is from popup.js'); async function testApi() { diff --git a/runtime.txt b/runtime.txt new file mode 100644 index 000000000..47c0b1090 --- /dev/null +++ b/runtime.txt @@ -0,0 +1 @@ +python-3.9.13 \ No newline at end of file From ab268d88c69d2c02fc5502ffb280a71573b4936c Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Fri, 11 Nov 2022 14:05:17 +0800 Subject: [PATCH 06/16] Add some instructions in README --- README.md | 24 ++++++++++++++++++++++++ requirements.txt | 21 +++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 requirements.txt diff --git a/README.md b/README.md index 3ef2c3927..c77599cab 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,30 @@ # Folder structure - Project proposal: [Proposal.pdf](Proposal.pdf) +# Install + +## Backend + +There are 2 ways of installing the current dependencies: + +1. \[ Recommended \]: if you have `conda` installed on your local machine, use `conda env create -f environment.yml` at the root directory. Activating the virtual environment can be done by `conda activate hungryPanda`. +2. Using `pip`: `pip install -r requirements.txt` (note that you may need to configure the virtual environment yourself and if the installation does not work, you may need to configure your Python version based on `runtime.txt`.) + +If you need to add a new dependency to the project, use the command: `pip install `, e.g, `pip install flask`. After the installation, update the txt file by `pip list --format=freeze > requirements.txt`. + +# Start developing + +## Frontend + +- [Loading the extension](https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/) on Chrome +- [API references](https://developer.chrome.com/docs/extensions/reference/) + +## Backend + +- Make sure you installed all the dependencies. +- Starting the development server can be done by running this command in your terminal: `flask --app backend/app run --reload`. Then you can use [Postman](https://www.postman.com/) to interact with the endpoints. +- But you can also create an independent Python script that performs the desired action (say `nlp.py` under the `backend` folder), and develop further by running `python backend/nlp.py` in the root directory. In this way, you avoid the need of running the server during your development. + # Course Project Please fork this repository and paste the github link of your fork on Microsoft CMT. Detailed instructions are on Coursera under Week 1: Course Project Overview/Week 9 Activities. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..b95b280c7 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,21 @@ +autopep8==1.6.0 +certifi==2022.9.24 +click==8.1.3 +Flask==2.2.2 +Flask-Cors==3.0.10 +importlib-metadata==5.0.0 +itsdangerous==2.1.2 +Jinja2==3.1.2 +joblib==1.2.0 +MarkupSafe==2.1.1 +nltk==3.7 +pip==22.2.2 +pycodestyle==2.8.0 +regex==2022.10.31 +setuptools==65.5.0 +six==1.16.0 +toml==0.10.2 +tqdm==4.64.1 +Werkzeug==2.2.2 +wheel==0.37.1 +zipp==3.10.0 From f17668cf7eedfe500cb86e257b90185f8c1e9f71 Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Sun, 13 Nov 2022 12:49:20 +0800 Subject: [PATCH 07/16] add progress report --- Progress_Report.pdf | Bin 0 -> 71539 bytes README.md | 1 + 2 files changed, 1 insertion(+) create mode 100644 Progress_Report.pdf diff --git a/Progress_Report.pdf b/Progress_Report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6febd84e941afde57069fdc2da24cf7fea8fc0e9 GIT binary patch literal 71539 zcmdS9WpJF$vL+~IW@fOMnX$#p%*@Odvsx^R8Er8$qs5ZN%*-qc#y;oUICuB%Ow9b* zh>h-eGAp|(E3)2{*z3NC1wGmVZ`=JDR$ZsF*vL znY);~&7}JGVcZFiF}OyP1od zn>w1A!!gO3J6O6|k+8FH@(2o&xVpKR8{5NqWnbv80rxo3{I6<`iM7I>;A^#v+I@Ma zJJN-gWdk8^Ygay@)9TH1ZGKDft7$hkj6sYovr5!^RSbMrm3aUDGf(K`HZOhhZ0oE4 z%d{-^`_9_l=lHkRrq8>UJi~~dx5x2uMWMAN!;jx{LW;bdHU|S|j-P%nOXG$;ouru` zTerZv!L|5rd4d~16!f{@?q2r{nO@hU8Lco)=p_Q)Ugy4Ix2GgGoIH#O8GKfzG=24c zzq!J;=RK;7Z^pnS^7`t9!iSy$Tf$TZZSkdmFUwznHYc~$@fg-GLskrRVdc08m}~>~ zDUO(PlcTUm+ffw&&j$_}XpV)9-2K_gnXT<^pldm|r2J5`idcl#1NRLB5LYp8V2e53HHRcnyWPi)RIRFfM7HF50LwAn zc_+~ytTYaGnleplSec5b(&S9Al^+ayXo9CN(@(nM?XKr3S%O2IEcF#cTDT&Ui-IhE z^?<|XnoF%ezNxG@_%0dxsz|9)di6P4+Ncj6=|T85ilD|dk8 zTf6@ZqoRdYx8Q3nNHthBsT!Dv>AFMB{Z(95X8{s-3^>Zd)7e(h*4}JLNa!N+`5~SMeJVcaucd$ZE98<3<7&_+Pta~Yc4I&LhQ-rjV|?{W|eP?q`lTnO@X)aY&;LV$9b3@19$uE787j zkAsa6E5UTFw5P#6`y^{|k1xEvP!H_C+Bx{%+cM@nJ z*=ydwNp0&uvuT!jae)yDq=Rq`2EM}!8bMnjdg=)>!|ot0BcdI1l>>g+vt!Hzhb15~f);#;qQ+BD zLJn?w=j0H(0Lt-V0wJ(gtwC)Kt;v>HJau%X8?-|fBW%K#sDekqc0$`F;%|njnOH0W+~;p^S&ZctXTkJZ=^>3!$QWeZK?A zUCG4+Up^@1_zF_M*)I{8U4Icg4M_|uN-bgvb>VQx!Q?W13|WV3`g2R1V9>z{p<_m| zKY#&o%H&)46%ufd{lj7m&D!o%R2kmDiDFX9g~kLZec+V_6mWo4pgiLWLf{`Zx(a&~ zlcRaYku`G+o)zX}g@9p(BK1(#^%YrgHbRKiC4|UP)C(KZY-{&sGGnf+NjJ@Ag~MLDYNo@iAuC*+tY*RW_+kpb6q=QJz{tM`Z>C^#mkWvHT#JWUxY6$^AdIjz?obZ+N z@bB`spkAr)dku&N{rFvF@*~eBQR-qGzhl)72$2k5KWT{yjp@*Xbw)YfU#uUgIK5(< zNXsN}ABdgziHLl4E(|Wo6bT+^N$q>*%~Y!4K1bmwyn!;qGVHPoUsF#iJZDtja@z)yitZ zd)DUW4(=QI)YZ6*aN#!nsRHK@-_Akn^TlBrr*g3O}Ax4niU{C!i z+VOUw{YTD;_Yi2_HsPxdGK5?q8cXXH^0rd5DJhnxUjIFEFGyq&#T>V?_Oru+T9-61 zUQ75K>Z3@2+0EKR)h}a$qt@; zt?~VqMo>$Wf6`IBOujBVC}A%UgHtWbcl37@@agH-Ml0bh`Gl59qsa zLnO~vX9q5F0yhOwO&5Js9a067jIP5ydGX=>9kF^UA4ypIABHX8ioCIOUBoWCM?~Cv zJM6sBN{prmnm{`Av`2WMC~X4Q53rDOH4q{YtG#%ZFmnh>MaISs0)jnE0$NaGaZB$A z#t8NCj#b~Pr2$d!yevPO8);~;(`oOY#;(pTrvpKikcr;vSxXVTyVFq2=OcejKH&qgF9UrtYf{ohVcSv%)`{Y78KQx$iS5u248{c^N_?>sU{0aEhB(>RQY>tFrt~HHx%#JxGiv-K|TA zZXI)^$&4p+u9KP>S5^pCVe3f53=SvHXN*p6`h=C0SIuJn6VqUZFKL(!vU7_h95Y{a0qGgKn!sy@2j*`fnQDv#Ed$nmwysdK5#P>WhUgY}97B#JLJ=RWb;7uwajeh|LL{|jp>1F! zj@Ow{qKzz$kTPEJE~R(l>`gqudyBa3DGRO3J0RX8ag{x|GwX3Z_LD9*UKhayP5I74 zmMNidzR=fmbdBYBn)e$R+lFVj&`NaDM3<-Ft0(_0Qi)GlDjIjIuIz+#UyYBUn~2N0 z`35ZCXJa}HCAw;dx7u$yW;`9=K6IH5>MAvo-O!g_xBZUXl(U<@cPM zT7Q(Rry_aJZh)E#49?#91qku*Hfmwvei+RpD1~gL<1H4g?}u!sHWx9VK)#?O5qnX7 zlM8LGxLx}>T$H2VQrAZgeu7%1lZt!+X+{^Al&`9I_W{^!954u^@hY*_M~dM6q;(t$ z87ZSJW_QHI?~g9CNYr5^_By$0X6jMv^EkFxTdMH>fP+cA7 z)0C6~%g`Bm3>m?a#u;+7T$Smbve`H)P?(v9$f zBvhV=ayIii)IgDlPz7hR}CR$^`_G)hC+lme6;+C~N~lTOB% z8KAbs1VOB1eYq!g`06OeCHJjiu|l+KZ*<|Q&cU*t1-G*Fdn8NRUVv*D6*erT=PZ5_ z?J3)ZqF7MCC@Wb8sqs7qvicWwq^5Zhc>BuXRLmvA-rB9`j;^L!cXQD7eG^S3Rg!G$ z_Lye5P%4DswwR+?Z}3sHPJ+T7jRYQ&@2lNak}7sEBlx%4JA$)8Ochmhq2r zv%eJ2c3h_s1ZqW8YutbJqR8((`MmiP2t^c}-*X9s{5lwaB3LfT+jD&74BZikXy15w z!O?=|v*|jmM;@zjzn`gPc3iI80c4&PBp$9uneHKBEEnZ(E@Wun`!KM5IGo?#WW*dz zM?5K<8Vb@wtfkgP7-pY;p2`j;f(p`l(pS8@gJ{M5F2my)ZAU%zn%G74zPQVWa$7o;aJ=uc@AxT zG5H*}!rS9*&we$_;ND*>y*A?8+VZ7dq=@XjYQr`m^KKMQX^MdzkJ-!4vi6ve>Vxu@A$mM*~72d$_;p(V0u1s?BTEQ_StEyqw2Z7 zXeqlSr?VsY_^3JRk+By0@J{y5d`tf7>G0e!`L&(fZ&7IJ1t3i`dEFsDaJ2}`8!|>% zdq4Sje7g`*{E1hP#P)OF9HC)s`lgE2B|xm=V~u#LltF8!<7>YOHLZ_8wc}K$$=$|x{V%fyv*TR_}L71%N7<%bM+!BO85tAc2 zW6JM4zhL)bcsVE%z}Ac@J=t%)LgVgF(Pd2>7G6tPVdIH#=0iKlqewIT@~7hwj8yhH z!`qy3RO>XkZG`!1O&E@|14C9r)OQVX8@lESa_lBk69u3W&ofx{1_nu{U@+_R%e^X4{cQ?H-8cEWQ%(4~{2Sz7UqJU|3--%zLH)Qnce@Ao30Nb*^M zo4SFcYJXHkKI4er&vtM~_s~+^WpNgl2TM!w?+y%nA%ga(Xq;gUC)wlGrbpsSwLec# z_EMKZ**%!^MmKYfq`BJeazYx#DJUmtaE9@K5o>j>XBCNHSl!&Uf`-RYL#JVvE;7v=tAVYt*F$lB7AHEnR5^`ihwkW2c()>%f|JmqXjFOu!@IJgpjcUU>f$z% z2Z`uxCbE&vuu@OwpXo-u+-BhoOd-WJk}6>1Uz?!g4N)+lu!q3(`OW%q30-8+<8C2tnSzk_9
71$X{BZFo5S`>H$c>ZOl#uEXe@8SpgU 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%0A(5^ZYj6fl6{N_=*%X1rimBLk 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 XMoCI(qVn}2q5w@`92Xb=pn$&toXp}E literal 0 HcmV?d00001 diff --git a/README.md b/README.md index c77599cab..2a5336ee0 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ # Folder structure - Project proposal: [Proposal.pdf](Proposal.pdf) +- Progress report: [Progress_Report.pdf](Progress_Report.pdf) # Install From c385e7fcc9dbae5cd23a73f9982aae48d79700fd Mon Sep 17 00:00:00 2001 From: SiCheng Meng Date: Sat, 26 Nov 2022 21:58:04 -0500 Subject: [PATCH 08/16] get yelp data. --- extension/content.css | 0 extension/content.js | 23 ++++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) delete mode 100644 extension/content.css diff --git a/extension/content.css b/extension/content.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/extension/content.js b/extension/content.js index 482b572cd..3b01b5126 100644 --- a/extension/content.js +++ b/extension/content.js @@ -1 +1,22 @@ -console.log('this is from content.js'); +let arr = [] + +let list = $('.css-79elbk .list__09f24__ynIEd').childNodes + +let len = $('.css-79elbk .list__09f24__ynIEd').childNodes.length + +for(let i = 0; i < len; i++) { + let info = list[i].querySelectorAll('.user-passport-info .css-1m051bw') + let s = list[i].querySelectorAll('.margin-t1__09f24__w96jn .five-stars__09f24__mBKym')[0].getAttribute('aria-label').split(' ')[0] + let dateil = list[i].querySelectorAll('.comment__09f24__gu0rG .raw__09f24__T4Ezm')[0].textContent + let location = list[i].querySelectorAll('.user-passport-info .responsive-hidden-small__09f24__qQFtj .css-qgunke')[0].textContent + + let obj = { + name: info[0].textContent, + star: s, + review: dateil, + location: location + } + arr.push(obj) +} + +console.log(arr) \ No newline at end of file From 69c07284b46000700a322299829326c366d1720c Mon Sep 17 00:00:00 2001 From: YourLord00 <75454768+YourLord00@users.noreply.github.com> Date: Sat, 26 Nov 2022 15:05:47 -0500 Subject: [PATCH 09/16] backend update --- backend/AFINN_EMOTION.txt | 2477 +++++++++++++++++++++ backend/Food_Dict.csv | 992 +++++++++ backend/app.py | 108 +- backend/yelp_academic_dataset_review.json | 18 + 4 files changed, 3588 insertions(+), 7 deletions(-) create mode 100644 backend/AFINN_EMOTION.txt create mode 100644 backend/Food_Dict.csv create mode 100644 backend/yelp_academic_dataset_review.json diff --git a/backend/AFINN_EMOTION.txt b/backend/AFINN_EMOTION.txt new file mode 100644 index 000000000..0f6fb8eba --- /dev/null +++ b/backend/AFINN_EMOTION.txt @@ -0,0 +1,2477 @@ +abandon -2 +abandoned -2 +abandons -2 +abducted -2 +abduction -2 +abductions -2 +abhor -3 +abhorred -3 +abhorrent -3 +abhors -3 +abilities 2 +ability 2 +aboard 1 +absentee -1 +absentees -1 +absolve 2 +absolved 2 +absolves 2 +absolving 2 +absorbed 1 +abuse -3 +abused -3 +abuses -3 +abusive -3 +accept 1 +accepted 1 +accepting 1 +accepts 1 +accident -2 +accidental -2 +accidentally -2 +accidents -2 +accomplish 2 +accomplished 2 +accomplishes 2 +accusation -2 +accusations -2 +accuse -2 +accused -2 +accuses -2 +accusing -2 +ache -2 +achievable 1 +aching -2 +acquit 2 +acquits 2 +acquitted 2 +acquitting 2 +acrimonious -3 +active 1 +adequate 1 +admire 3 +admired 3 +admires 3 +admiring 3 +admit -1 +admits -1 +admitted -1 +admonish -2 +admonished -2 +adopt 1 +adopts 1 +adorable 3 +adore 3 +adored 3 +adores 3 +advanced 1 +advantage 2 +advantages 2 +adventure 2 +adventures 2 +adventurous 2 +affected -1 +affection 3 +affectionate 3 +afflicted -1 +affronted -1 +afraid -2 +aggravate -2 +aggravated -2 +aggravates -2 +aggravating -2 +aggression -2 +aggressions -2 +aggressive -2 +aghast -2 +agog 2 +agonise -3 +agonised -3 +agonises -3 +agonising -3 +agonize -3 +agonized -3 +agonizes -3 +agonizing -3 +agree 1 +agreeable 2 +agreed 1 +agreement 1 +agrees 1 +alarm -2 +alarmed -2 +alarmist -2 +alarmists -2 +alas -1 +alert -1 +alienation -2 +alive 1 +allergic -2 +allow 1 +alone -2 +amaze 2 +amazed 2 +amazes 2 +amazing 4 +ambitious 2 +ambivalent -1 +amuse 3 +amused 3 +amusement 3 +amusements 3 +anger -3 +angers -3 +angry -3 +anguish -3 +anguished -3 +animosity -2 +annoy -2 +annoyance -2 +annoyed -2 +annoying -2 +annoys -2 +antagonistic -2 +anti -1 +anticipation 1 +anxiety -2 +anxious -2 +apathetic -3 +apathy -3 +apeshit -3 +apocalyptic -2 +apologise -1 +apologised -1 +apologises -1 +apologising -1 +apologize -1 +apologized -1 +apologizes -1 +apologizing -1 +apology -1 +appalled -2 +appalling -2 +appease 2 +appeased 2 +appeases 2 +appeasing 2 +applaud 2 +applauded 2 +applauding 2 +applauds 2 +applause 2 +appreciate 2 +appreciated 2 +appreciates 2 +appreciating 2 +appreciation 2 +apprehensive -2 +approval 2 +approved 2 +approves 2 +ardent 1 +arrest -2 +arrested -3 +arrests -2 +arrogant -2 +ashame -2 +ashamed -2 +ass -4 +assassination -3 +assassinations -3 +asset 2 +assets 2 +assfucking -4 +asshole -4 +astonished 2 +astound 3 +astounded 3 +astounding 3 +astoundingly 3 +astounds 3 +attack -1 +attacked -1 +attacking -1 +attacks -1 +attract 1 +attracted 1 +attracting 2 +attraction 2 +attractions 2 +attracts 1 +audacious 3 +authority 1 +avert -1 +averted -1 +averts -1 +avid 2 +avoid -1 +avoided -1 +avoids -1 +await -1 +awaited -1 +awaits -1 +award 3 +awarded 3 +awards 3 +awesome 4 +awful -3 +awkward -2 +axe -1 +axed -1 +backed 1 +backing 2 +backs 1 +bad -3 +badass -3 +badly -3 +bailout -2 +bamboozle -2 +bamboozled -2 +bamboozles -2 +ban -2 +banish -1 +bankrupt -3 +bankster -3 +banned -2 +bargain 2 +barrier -2 +bastard -5 +bastards -5 +battle -1 +battles -1 +beaten -2 +beatific 3 +beating -1 +beauties 3 +beautiful 3 +beautifully 3 +beautify 3 +belittle -2 +belittled -2 +beloved 3 +benefit 2 +benefits 2 +benefitted 2 +benefitting 2 +bereave -2 +bereaved -2 +bereaves -2 +bereaving -2 +best 3 +betray -3 +betrayal -3 +betrayed -3 +betraying -3 +betrays -3 +better 2 +bias -1 +biased -2 +big 1 +bitch -5 +bitches -5 +bitter -2 +bitterly -2 +bizarre -2 +blah -2 +blame -2 +blamed -2 +blames -2 +blaming -2 +bless 2 +blesses 2 +blessing 3 +blind -1 +bliss 3 +blissful 3 +blithe 2 +block -1 +blockbuster 3 +blocked -1 +blocking -1 +blocks -1 +bloody -3 +blurry -2 +boastful -2 +bold 2 +boldly 2 +bomb -1 +boost 1 +boosted 1 +boosting 1 +boosts 1 +bore -2 +bored -2 +boring -3 +bother -2 +bothered -2 +bothers -2 +bothersome -2 +boycott -2 +boycotted -2 +boycotting -2 +boycotts -2 +brainwashing -3 +brave 2 +breakthrough 3 +breathtaking 5 +bribe -3 +bright 1 +brightest 2 +brightness 1 +brilliant 4 +brisk 2 +broke -1 +broken -1 +brooding -2 +bullied -2 +bullshit -4 +bully -2 +bullying -2 +bummer -2 +buoyant 2 +burden -2 +burdened -2 +burdening -2 +burdens -2 +calm 2 +calmed 2 +calming 2 +calms 2 +can't stand -3 +cancel -1 +cancelled -1 +cancelling -1 +cancels -1 +cancer -1 +capable 1 +captivated 3 +care 2 +carefree 1 +careful 2 +carefully 2 +careless -2 +cares 2 +cashing in -2 +casualty -2 +catastrophe -3 +catastrophic -4 +cautious -1 +celebrate 3 +celebrated 3 +celebrates 3 +celebrating 3 +censor -2 +censored -2 +censors -2 +certain 1 +chagrin -2 +chagrined -2 +challenge -1 +chance 2 +chances 2 +chaos -2 +chaotic -2 +charged -3 +charges -2 +charm 3 +charming 3 +charmless -3 +chastise -3 +chastised -3 +chastises -3 +chastising -3 +cheat -3 +cheated -3 +cheater -3 +cheaters -3 +cheats -3 +cheer 2 +cheered 2 +cheerful 2 +cheering 2 +cheerless -2 +cheers 2 +cheery 3 +cherish 2 +cherished 2 +cherishes 2 +cherishing 2 +chic 2 +childish -2 +chilling -1 +choke -2 +choked -2 +chokes -2 +choking -2 +clarifies 2 +clarity 2 +clash -2 +classy 3 +clean 2 +cleaner 2 +clear 1 +cleared 1 +clearly 1 +clears 1 +clever 2 +clouded -1 +clueless -2 +cock -5 +cocksucker -5 +cocksuckers -5 +cocky -2 +coerced -2 +collapse -2 +collapsed -2 +collapses -2 +collapsing -2 +collide -1 +collides -1 +colliding -1 +collision -2 +collisions -2 +colluding -3 +combat -1 +combats -1 +comedy 1 +comfort 2 +comfortable 2 +comforting 2 +comforts 2 +commend 2 +commended 2 +commit 1 +commitment 2 +commits 1 +committed 1 +committing 1 +compassionate 2 +compelled 1 +competent 2 +competitive 2 +complacent -2 +complain -2 +complained -2 +complains -2 +comprehensive 2 +conciliate 2 +conciliated 2 +conciliates 2 +conciliating 2 +condemn -2 +condemnation -2 +condemned -2 +condemns -2 +confidence 2 +confident 2 +conflict -2 +conflicting -2 +conflictive -2 +conflicts -2 +confuse -2 +confused -2 +confusing -2 +congrats 2 +congratulate 2 +congratulation 2 +congratulations 2 +consent 2 +consents 2 +consolable 2 +conspiracy -3 +constrained -2 +contagion -2 +contagions -2 +contagious -1 +contempt -2 +contemptuous -2 +contemptuously -2 +contend -1 +contender -1 +contending -1 +contentious -2 +contestable -2 +controversial -2 +controversially -2 +convince 1 +convinced 1 +convinces 1 +convivial 2 +cool 1 +cool stuff 3 +cornered -2 +corpse -1 +costly -2 +courage 2 +courageous 2 +courteous 2 +courtesy 2 +cover-up -3 +coward -2 +cowardly -2 +coziness 2 +cramp -1 +crap -3 +crash -2 +crazier -2 +craziest -2 +crazy -2 +creative 2 +crestfallen -2 +cried -2 +cries -2 +crime -3 +criminal -3 +criminals -3 +crisis -3 +critic -2 +criticism -2 +criticize -2 +criticized -2 +criticizes -2 +criticizing -2 +critics -2 +cruel -3 +cruelty -3 +crush -1 +crushed -2 +crushes -1 +crushing -1 +cry -1 +crying -2 +cunt -5 +curious 1 +curse -1 +cut -1 +cute 2 +cuts -1 +cutting -1 +cynic -2 +cynical -2 +cynicism -2 +damage -3 +damages -3 +damn -4 +damned -4 +damnit -4 +danger -2 +daredevil 2 +daring 2 +darkest -2 +darkness -1 +dauntless 2 +dead -3 +deadlock -2 +deafening -1 +dear 2 +dearly 3 +death -2 +debonair 2 +debt -2 +deceit -3 +deceitful -3 +deceive -3 +deceived -3 +deceives -3 +deceiving -3 +deception -3 +decisive 1 +dedicated 2 +defeated -2 +defect -3 +defects -3 +defender 2 +defenders 2 +defenseless -2 +defer -1 +deferring -1 +defiant -1 +deficit -2 +degrade -2 +degraded -2 +degrades -2 +dehumanize -2 +dehumanized -2 +dehumanizes -2 +dehumanizing -2 +deject -2 +dejected -2 +dejecting -2 +dejects -2 +delay -1 +delayed -1 +delight 3 +delighted 3 +delighting 3 +delights 3 +demand -1 +demanded -1 +demanding -1 +demands -1 +demonstration -1 +demoralized -2 +denied -2 +denier -2 +deniers -2 +denies -2 +denounce -2 +denounces -2 +deny -2 +denying -2 +depressed -2 +depressing -2 +derail -2 +derailed -2 +derails -2 +deride -2 +derided -2 +derides -2 +deriding -2 +derision -2 +desirable 2 +desire 1 +desired 2 +desirous 2 +despair -3 +despairing -3 +despairs -3 +desperate -3 +desperately -3 +despondent -3 +destroy -3 +destroyed -3 +destroying -3 +destroys -3 +destruction -3 +destructive -3 +detached -1 +detain -2 +detained -2 +detention -2 +determined 2 +devastate -2 +devastated -2 +devastating -2 +devoted 3 +diamond 1 +dick -4 +dickhead -4 +die -3 +died -3 +difficult -1 +diffident -2 +dilemma -1 +dipshit -3 +dire -3 +direful -3 +dirt -2 +dirtier -2 +dirtiest -2 +dirty -2 +disabling -1 +disadvantage -2 +disadvantaged -2 +disappear -1 +disappeared -1 +disappears -1 +disappoint -2 +disappointed -2 +disappointing -2 +disappointment -2 +disappointments -2 +disappoints -2 +disaster -2 +disasters -2 +disastrous -3 +disbelieve -2 +discard -1 +discarded -1 +discarding -1 +discards -1 +disconsolate -2 +disconsolation -2 +discontented -2 +discord -2 +discounted -1 +discouraged -2 +discredited -2 +disdain -2 +disgrace -2 +disgraced -2 +disguise -1 +disguised -1 +disguises -1 +disguising -1 +disgust -3 +disgusted -3 +disgusting -3 +disheartened -2 +dishonest -2 +disillusioned -2 +disinclined -2 +disjointed -2 +dislike -2 +dismal -2 +dismayed -2 +disorder -2 +disorganized -2 +disoriented -2 +disparage -2 +disparaged -2 +disparages -2 +disparaging -2 +displeased -2 +dispute -2 +disputed -2 +disputes -2 +disputing -2 +disqualified -2 +disquiet -2 +disregard -2 +disregarded -2 +disregarding -2 +disregards -2 +disrespect -2 +disrespected -2 +disruption -2 +disruptions -2 +disruptive -2 +dissatisfied -2 +distort -2 +distorted -2 +distorting -2 +distorts -2 +distract -2 +distracted -2 +distraction -2 +distracts -2 +distress -2 +distressed -2 +distresses -2 +distressing -2 +distrust -3 +distrustful -3 +disturb -2 +disturbed -2 +disturbing -2 +disturbs -2 +dithering -2 +dizzy -1 +dodging -2 +dodgy -2 +does not work -3 +dolorous -2 +dont like -2 +doom -2 +doomed -2 +doubt -1 +doubted -1 +doubtful -1 +doubting -1 +doubts -1 +douche -3 +douchebag -3 +downcast -2 +downhearted -2 +downside -2 +drag -1 +dragged -1 +drags -1 +drained -2 +dread -2 +dreaded -2 +dreadful -3 +dreading -2 +dream 1 +dreams 1 +dreary -2 +droopy -2 +drop -1 +drown -2 +drowned -2 +drowns -2 +drunk -2 +dubious -2 +dud -2 +dull -2 +dumb -3 +dumbass -3 +dump -1 +dumped -2 +dumps -1 +dupe -2 +duped -2 +dysfunction -2 +eager 2 +earnest 2 +ease 2 +easy 1 +ecstatic 4 +eerie -2 +eery -2 +effective 2 +effectively 2 +elated 3 +elation 3 +elegant 2 +elegantly 2 +embarrass -2 +embarrassed -2 +embarrasses -2 +embarrassing -2 +embarrassment -2 +embittered -2 +embrace 1 +emergency -2 +empathetic 2 +emptiness -1 +empty -1 +enchanted 2 +encourage 2 +encouraged 2 +encouragement 2 +encourages 2 +endorse 2 +endorsed 2 +endorsement 2 +endorses 2 +enemies -2 +enemy -2 +energetic 2 +engage 1 +engages 1 +engrossed 1 +enjoy 2 +enjoying 2 +enjoys 2 +enlighten 2 +enlightened 2 +enlightening 2 +enlightens 2 +ennui -2 +enrage -2 +enraged -2 +enrages -2 +enraging -2 +enrapture 3 +enslave -2 +enslaved -2 +enslaves -2 +ensure 1 +ensuring 1 +enterprising 1 +entertaining 2 +enthral 3 +enthusiastic 3 +entitled 1 +entrusted 2 +envies -1 +envious -2 +envy -1 +envying -1 +erroneous -2 +error -2 +errors -2 +escape -1 +escapes -1 +escaping -1 +esteemed 2 +ethical 2 +euphoria 3 +euphoric 4 +eviction -1 +evil -3 +exaggerate -2 +exaggerated -2 +exaggerates -2 +exaggerating -2 +exasperated 2 +excellence 3 +excellent 3 +excite 3 +excited 3 +excitement 3 +exciting 3 +exclude -1 +excluded -2 +exclusion -1 +exclusive 2 +excuse -1 +exempt -1 +exhausted -2 +exhilarated 3 +exhilarates 3 +exhilarating 3 +exonerate 2 +exonerated 2 +exonerates 2 +exonerating 2 +expand 1 +expands 1 +expel -2 +expelled -2 +expelling -2 +expels -2 +exploit -2 +exploited -2 +exploiting -2 +exploits -2 +exploration 1 +explorations 1 +expose -1 +exposed -1 +exposes -1 +exposing -1 +extend 1 +extends 1 +exuberant 4 +exultant 3 +exultantly 3 +fabulous 4 +fad -2 +fag -3 +faggot -3 +faggots -3 +fail -2 +failed -2 +failing -2 +fails -2 +failure -2 +failures -2 +fainthearted -2 +fair 2 +faith 1 +faithful 3 +fake -3 +fakes -3 +faking -3 +fallen -2 +falling -1 +falsified -3 +falsify -3 +fame 1 +fan 3 +fantastic 4 +farce -1 +fascinate 3 +fascinated 3 +fascinates 3 +fascinating 3 +fascist -2 +fascists -2 +fatalities -3 +fatality -3 +fatigue -2 +fatigued -2 +fatigues -2 +fatiguing -2 +favor 2 +favored 2 +favorite 2 +favorited 2 +favorites 2 +favors 2 +fear -2 +fearful -2 +fearing -2 +fearless 2 +fearsome -2 +fed up -3 +feeble -2 +feeling 1 +felonies -3 +felony -3 +fervent 2 +fervid 2 +festive 2 +fiasco -3 +fidgety -2 +fight -1 +fine 2 +fire -2 +fired -2 +firing -2 +fit 1 +fitness 1 +flagship 2 +flees -1 +flop -2 +flops -2 +flu -2 +flustered -2 +focused 2 +fond 2 +fondness 2 +fool -2 +foolish -2 +fools -2 +forced -1 +foreclosure -2 +foreclosures -2 +forget -1 +forgetful -2 +forgive 1 +forgiving 1 +forgotten -1 +fortunate 2 +frantic -1 +fraud -4 +frauds -4 +fraudster -4 +fraudsters -4 +fraudulence -4 +fraudulent -4 +free 1 +freedom 2 +frenzy -3 +fresh 1 +friendly 2 +fright -2 +frightened -2 +frightening -3 +frikin -2 +frisky 2 +frowning -1 +frustrate -2 +frustrated -2 +frustrates -2 +frustrating -2 +frustration -2 +ftw 3 +fuck -4 +fucked -4 +fucker -4 +fuckers -4 +fuckface -4 +fuckhead -4 +fucking -4 +fucktard -4 +fud -3 +fuked -4 +fuking -4 +fulfill 2 +fulfilled 2 +fulfills 2 +fuming -2 +fun 4 +funeral -1 +funerals -1 +funky 2 +funnier 4 +funny 4 +furious -3 +futile 2 +gag -2 +gagged -2 +gain 2 +gained 2 +gaining 2 +gains 2 +gallant 3 +gallantly 3 +gallantry 3 +generous 2 +genial 3 +ghost -1 +giddy -2 +gift 2 +glad 3 +glamorous 3 +glamourous 3 +glee 3 +gleeful 3 +gloom -1 +gloomy -2 +glorious 2 +glory 2 +glum -2 +god 1 +goddamn -3 +godsend 4 +good 3 +goodness 3 +grace 1 +gracious 3 +grand 3 +grant 1 +granted 1 +granting 1 +grants 1 +grateful 3 +gratification 2 +grave -2 +gray -1 +great 3 +greater 3 +greatest 3 +greed -3 +greedy -2 +green wash -3 +green washing -3 +greenwash -3 +greenwasher -3 +greenwashers -3 +greenwashing -3 +greet 1 +greeted 1 +greeting 1 +greetings 2 +greets 1 +grey -1 +grief -2 +grieved -2 +gross -2 +growing 1 +growth 2 +guarantee 1 +guilt -3 +guilty -3 +gullibility -2 +gullible -2 +gun -1 +ha 2 +hacked -1 +haha 3 +hahaha 3 +hahahah 3 +hail 2 +hailed 2 +hapless -2 +haplessness -2 +happiness 3 +happy 3 +hard -1 +hardier 2 +hardship -2 +hardy 2 +harm -2 +harmed -2 +harmful -2 +harming -2 +harms -2 +harried -2 +harsh -2 +harsher -2 +harshest -2 +hate -3 +hated -3 +haters -3 +hates -3 +hating -3 +haunt -1 +haunted -2 +haunting 1 +haunts -1 +havoc -2 +healthy 2 +heartbreaking -3 +heartbroken -3 +heartfelt 3 +heaven 2 +heavenly 4 +heavyhearted -2 +hell -4 +help 2 +helpful 2 +helping 2 +helpless -2 +helps 2 +hero 2 +heroes 2 +heroic 3 +hesitant -2 +hesitate -2 +hid -1 +hide -1 +hides -1 +hiding -1 +highlight 2 +hilarious 2 +hindrance -2 +hoax -2 +homesick -2 +honest 2 +honor 2 +honored 2 +honoring 2 +honour 2 +honoured 2 +honouring 2 +hooligan -2 +hooliganism -2 +hooligans -2 +hope 2 +hopeful 2 +hopefully 2 +hopeless -2 +hopelessness -2 +hopes 2 +hoping 2 +horrendous -3 +horrible -3 +horrific -3 +horrified -3 +hostile -2 +huckster -2 +hug 2 +huge 1 +hugs 2 +humerous 3 +humiliated -3 +humiliation -3 +humor 2 +humorous 2 +humour 2 +humourous 2 +hunger -2 +hurrah 5 +hurt -2 +hurting -2 +hurts -2 +hypocritical -2 +hysteria -3 +hysterical -3 +hysterics -3 +idiot -3 +idiotic -3 +ignorance -2 +ignorant -2 +ignore -1 +ignored -2 +ignores -1 +ill -2 +illegal -3 +illiteracy -2 +illness -2 +illnesses -2 +imbecile -3 +immobilized -1 +immortal 2 +immune 1 +impatient -2 +imperfect -2 +importance 2 +important 2 +impose -1 +imposed -1 +imposes -1 +imposing -1 +impotent -2 +impress 3 +impressed 3 +impresses 3 +impressive 3 +imprisoned -2 +improve 2 +improved 2 +improvement 2 +improves 2 +improving 2 +inability -2 +inaction -2 +inadequate -2 +incapable -2 +incapacitated -2 +incensed -2 +incompetence -2 +incompetent -2 +inconsiderate -2 +inconvenience -2 +inconvenient -2 +increase 1 +increased 1 +indecisive -2 +indestructible 2 +indifference -2 +indifferent -2 +indignant -2 +indignation -2 +indoctrinate -2 +indoctrinated -2 +indoctrinates -2 +indoctrinating -2 +ineffective -2 +ineffectively -2 +infatuated 2 +infatuation 2 +infected -2 +inferior -2 +inflamed -2 +influential 2 +infringement -2 +infuriate -2 +infuriated -2 +infuriates -2 +infuriating -2 +inhibit -1 +injured -2 +injury -2 +injustice -2 +innovate 1 +innovates 1 +innovation 1 +innovative 2 +inquisition -2 +inquisitive 2 +insane -2 +insanity -2 +insecure -2 +insensitive -2 +insensitivity -2 +insignificant -2 +insipid -2 +inspiration 2 +inspirational 2 +inspire 2 +inspired 2 +inspires 2 +inspiring 3 +insult -2 +insulted -2 +insulting -2 +insults -2 +intact 2 +integrity 2 +intelligent 2 +intense 1 +interest 1 +interested 2 +interesting 2 +interests 1 +interrogated -2 +interrupt -2 +interrupted -2 +interrupting -2 +interruption -2 +interrupts -2 +intimidate -2 +intimidated -2 +intimidates -2 +intimidating -2 +intimidation -2 +intricate 2 +intrigues 1 +invincible 2 +invite 1 +inviting 1 +invulnerable 2 +irate -3 +ironic -1 +irony -1 +irrational -1 +irresistible 2 +irresolute -2 +irresponsible 2 +irreversible -1 +irritate -3 +irritated -3 +irritating -3 +isolated -1 +itchy -2 +jackass -4 +jackasses -4 +jailed -2 +jaunty 2 +jealous -2 +jeopardy -2 +jerk -3 +jesus 1 +jewel 1 +jewels 1 +jocular 2 +join 1 +joke 2 +jokes 2 +jolly 2 +jovial 2 +joy 3 +joyful 3 +joyfully 3 +joyless -2 +joyous 3 +jubilant 3 +jumpy -1 +justice 2 +justifiably 2 +justified 2 +keen 1 +kill -3 +killed -3 +killing -3 +kills -3 +kind 2 +kinder 2 +kiss 2 +kudos 3 +lack -2 +lackadaisical -2 +lag -1 +lagged -2 +lagging -2 +lags -2 +lame -2 +landmark 2 +laugh 1 +laughed 1 +laughing 1 +laughs 1 +laughting 1 +launched 1 +lawl 3 +lawsuit -2 +lawsuits -2 +lazy -1 +leak -1 +leaked -1 +leave -1 +legal 1 +legally 1 +lenient 1 +lethargic -2 +lethargy -2 +liar -3 +liars -3 +libelous -2 +lied -2 +lifesaver 4 +lighthearted 1 +like 2 +liked 2 +likes 2 +limitation -1 +limited -1 +limits -1 +litigation -1 +litigious -2 +lively 2 +livid -2 +lmao 4 +lmfao 4 +loathe -3 +loathed -3 +loathes -3 +loathing -3 +lobby -2 +lobbying -2 +lol 3 +lonely -2 +lonesome -2 +longing -1 +loom -1 +loomed -1 +looming -1 +looms -1 +loose -3 +looses -3 +loser -3 +losing -3 +loss -3 +lost -3 +lovable 3 +love 3 +loved 3 +lovelies 3 +lovely 3 +loving 2 +lowest -1 +loyal 3 +loyalty 3 +luck 3 +luckily 3 +lucky 3 +lugubrious -2 +lunatic -3 +lunatics -3 +lurk -1 +lurking -1 +lurks -1 +mad -3 +maddening -3 +made-up -1 +madly -3 +madness -3 +mandatory -1 +manipulated -1 +manipulating -1 +manipulation -1 +marvel 3 +marvelous 3 +marvels 3 +masterpiece 4 +masterpieces 4 +matter 1 +matters 1 +mature 2 +meaningful 2 +meaningless -2 +medal 3 +mediocrity -3 +meditative 1 +melancholy -2 +menace -2 +menaced -2 +mercy 2 +merry 3 +mess -2 +messed -2 +messing up -2 +methodical 2 +mindless -2 +miracle 4 +mirth 3 +mirthful 3 +mirthfully 3 +misbehave -2 +misbehaved -2 +misbehaves -2 +misbehaving -2 +mischief -1 +mischiefs -1 +miserable -3 +misery -2 +misgiving -2 +misinformation -2 +misinformed -2 +misinterpreted -2 +misleading -3 +misread -1 +misreporting -2 +misrepresentation -2 +miss -2 +missed -2 +missing -2 +mistake -2 +mistaken -2 +mistakes -2 +mistaking -2 +misunderstand -2 +misunderstanding -2 +misunderstands -2 +misunderstood -2 +moan -2 +moaned -2 +moaning -2 +moans -2 +mock -2 +mocked -2 +mocking -2 +mocks -2 +mongering -2 +monopolize -2 +monopolized -2 +monopolizes -2 +monopolizing -2 +moody -1 +mope -1 +moping -1 +moron -3 +motherfucker -5 +motherfucking -5 +motivate 1 +motivated 2 +motivating 2 +motivation 1 +mourn -2 +mourned -2 +mournful -2 +mourning -2 +mourns -2 +mumpish -2 +murder -2 +murderer -2 +murdering -3 +murderous -3 +murders -2 +myth -1 +n00b -2 +naive -2 +nasty -3 +natural 1 +naïve -2 +needy -2 +negative -2 +negativity -2 +neglect -2 +neglected -2 +neglecting -2 +neglects -2 +nerves -1 +nervous -2 +nervously -2 +nice 3 +nifty 2 +niggas -5 +nigger -5 +no -1 +no fun -3 +noble 2 +noisy -1 +nonsense -2 +noob -2 +nosey -2 +not good -2 +not working -3 +notorious -2 +novel 2 +numb -1 +nuts -3 +obliterate -2 +obliterated -2 +obnoxious -3 +obscene -2 +obsessed 2 +obsolete -2 +obstacle -2 +obstacles -2 +obstinate -2 +odd -2 +offend -2 +offended -2 +offender -2 +offending -2 +offends -2 +offline -1 +oks 2 +ominous 3 +once-in-a-lifetime 3 +opportunities 2 +opportunity 2 +oppressed -2 +oppressive -2 +optimism 2 +optimistic 2 +optionless -2 +outcry -2 +outmaneuvered -2 +outrage -3 +outraged -3 +outreach 2 +outstanding 5 +overjoyed 4 +overload -1 +overlooked -1 +overreact -2 +overreacted -2 +overreaction -2 +overreacts -2 +oversell -2 +overselling -2 +oversells -2 +oversimplification -2 +oversimplified -2 +oversimplifies -2 +oversimplify -2 +overstatement -2 +overstatements -2 +overweight -1 +oxymoron -1 +pain -2 +pained -2 +panic -3 +panicked -3 +panics -3 +paradise 3 +paradox -1 +pardon 2 +pardoned 2 +pardoning 2 +pardons 2 +parley -1 +passionate 2 +passive -1 +passively -1 +pathetic -2 +pay -1 +peace 2 +peaceful 2 +peacefully 2 +penalty -2 +pensive -1 +perfect 3 +perfected 2 +perfectly 3 +perfects 2 +peril -2 +perjury -3 +perpetrator -2 +perpetrators -2 +perplexed -2 +persecute -2 +persecuted -2 +persecutes -2 +persecuting -2 +perturbed -2 +pesky -2 +pessimism -2 +pessimistic -2 +petrified -2 +phobic -2 +picturesque 2 +pileup -1 +pique -2 +piqued -2 +piss -4 +pissed -4 +pissing -3 +piteous -2 +pitied -1 +pity -2 +playful 2 +pleasant 3 +please 1 +pleased 3 +pleasure 3 +poised -2 +poison -2 +poisoned -2 +poisons -2 +pollute -2 +polluted -2 +polluter -2 +polluters -2 +pollutes -2 +poor -2 +poorer -2 +poorest -2 +popular 3 +positive 2 +positively 2 +possessive -2 +postpone -1 +postponed -1 +postpones -1 +postponing -1 +poverty -1 +powerful 2 +powerless -2 +praise 3 +praised 3 +praises 3 +praising 3 +pray 1 +praying 1 +prays 1 +prblm -2 +prblms -2 +prepared 1 +pressure -1 +pressured -2 +pretend -1 +pretending -1 +pretends -1 +pretty 1 +prevent -1 +prevented -1 +preventing -1 +prevents -1 +prick -5 +prison -2 +prisoner -2 +prisoners -2 +privileged 2 +proactive 2 +problem -2 +problems -2 +profiteer -2 +progress 2 +prominent 2 +promise 1 +promised 1 +promises 1 +promote 1 +promoted 1 +promotes 1 +promoting 1 +propaganda -2 +prosecute -1 +prosecuted -2 +prosecutes -1 +prosecution -1 +prospect 1 +prospects 1 +prosperous 3 +protect 1 +protected 1 +protects 1 +protest -2 +protesters -2 +protesting -2 +protests -2 +proud 2 +proudly 2 +provoke -1 +provoked -1 +provokes -1 +provoking -1 +pseudoscience -3 +punish -2 +punished -2 +punishes -2 +punitive -2 +pushy -1 +puzzled -2 +quaking -2 +questionable -2 +questioned -1 +questioning -1 +racism -3 +racist -3 +racists -3 +rage -2 +rageful -2 +rainy -1 +rant -3 +ranter -3 +ranters -3 +rants -3 +rape -4 +rapist -4 +rapture 2 +raptured 2 +raptures 2 +rapturous 4 +rash -2 +ratified 2 +reach 1 +reached 1 +reaches 1 +reaching 1 +reassure 1 +reassured 1 +reassures 1 +reassuring 2 +rebellion -2 +recession -2 +reckless -2 +recommend 2 +recommended 2 +recommends 2 +redeemed 2 +refuse -2 +refused -2 +refusing -2 +regret -2 +regretful -2 +regrets -2 +regretted -2 +regretting -2 +reject -1 +rejected -1 +rejecting -1 +rejects -1 +rejoice 4 +rejoiced 4 +rejoices 4 +rejoicing 4 +relaxed 2 +relentless -1 +reliant 2 +relieve 1 +relieved 2 +relieves 1 +relieving 2 +relishing 2 +remarkable 2 +remorse -2 +repulse -1 +repulsed -2 +rescue 2 +rescued 2 +rescues 2 +resentful -2 +resign -1 +resigned -1 +resigning -1 +resigns -1 +resolute 2 +resolve 2 +resolved 2 +resolves 2 +resolving 2 +respected 2 +responsible 2 +responsive 2 +restful 2 +restless -2 +restore 1 +restored 1 +restores 1 +restoring 1 +restrict -2 +restricted -2 +restricting -2 +restriction -2 +restricts -2 +retained -1 +retard -2 +retarded -2 +retreat -1 +revenge -2 +revengeful -2 +revered 2 +revive 2 +revives 2 +reward 2 +rewarded 2 +rewarding 2 +rewards 2 +rich 2 +ridiculous -3 +rig -1 +rigged -1 +right direction 3 +rigorous 3 +rigorously 3 +riot -2 +riots -2 +risk -2 +risks -2 +rob -2 +robber -2 +robed -2 +robing -2 +robs -2 +robust 2 +rofl 4 +roflcopter 4 +roflmao 4 +romance 2 +rotfl 4 +rotflmfao 4 +rotflol 4 +ruin -2 +ruined -2 +ruining -2 +ruins -2 +sabotage -2 +sad -2 +sadden -2 +saddened -2 +sadly -2 +safe 1 +safely 1 +safety 1 +salient 1 +sappy -1 +sarcastic -2 +satisfied 2 +save 2 +saved 2 +scam -2 +scams -2 +scandal -3 +scandalous -3 +scandals -3 +scapegoat -2 +scapegoats -2 +scare -2 +scared -2 +scary -2 +sceptical -2 +scold -2 +scoop 3 +scorn -2 +scornful -2 +scream -2 +screamed -2 +screaming -2 +screams -2 +screwed -2 +screwed up -3 +scumbag -4 +secure 2 +secured 2 +secures 2 +sedition -2 +seditious -2 +seduced -1 +self-confident 2 +self-deluded -2 +selfish -3 +selfishness -3 +sentence -2 +sentenced -2 +sentences -2 +sentencing -2 +serene 2 +severe -2 +sexy 3 +shaky -2 +shame -2 +shamed -2 +shameful -2 +share 1 +shared 1 +shares 1 +shattered -2 +shit -4 +shithead -4 +shitty -3 +shock -2 +shocked -2 +shocking -2 +shocks -2 +shoot -1 +short-sighted -2 +short-sightedness -2 +shortage -2 +shortages -2 +shrew -4 +shy -1 +sick -2 +sigh -2 +significance 1 +significant 1 +silencing -1 +silly -1 +sincere 2 +sincerely 2 +sincerest 2 +sincerity 2 +sinful -3 +singleminded -2 +skeptic -2 +skeptical -2 +skepticism -2 +skeptics -2 +slam -2 +slash -2 +slashed -2 +slashes -2 +slashing -2 +slavery -3 +sleeplessness -2 +slick 2 +slicker 2 +slickest 2 +sluggish -2 +slut -5 +smart 1 +smarter 2 +smartest 2 +smear -2 +smile 2 +smiled 2 +smiles 2 +smiling 2 +smog -2 +sneaky -1 +snub -2 +snubbed -2 +snubbing -2 +snubs -2 +sobering 1 +solemn -1 +solid 2 +solidarity 2 +solution 1 +solutions 1 +solve 1 +solved 1 +solves 1 +solving 1 +somber -2 +some kind 0 +son-of-a-bitch -5 +soothe 3 +soothed 3 +soothing 3 +sophisticated 2 +sore -1 +sorrow -2 +sorrowful -2 +sorry -1 +spam -2 +spammer -3 +spammers -3 +spamming -2 +spark 1 +sparkle 3 +sparkles 3 +sparkling 3 +speculative -2 +spirit 1 +spirited 2 +spiritless -2 +spiteful -2 +splendid 3 +sprightly 2 +squelched -1 +stab -2 +stabbed -2 +stable 2 +stabs -2 +stall -2 +stalled -2 +stalling -2 +stamina 2 +stampede -2 +startled -2 +starve -2 +starved -2 +starves -2 +starving -2 +steadfast 2 +steal -2 +steals -2 +stereotype -2 +stereotyped -2 +stifled -1 +stimulate 1 +stimulated 1 +stimulates 1 +stimulating 2 +stingy -2 +stolen -2 +stop -1 +stopped -1 +stopping -1 +stops -1 +stout 2 +straight 1 +strange -1 +strangely -1 +strangled -2 +strength 2 +strengthen 2 +strengthened 2 +strengthening 2 +strengthens 2 +stressed -2 +stressor -2 +stressors -2 +stricken -2 +strike -1 +strikers -2 +strikes -1 +strong 2 +stronger 2 +strongest 2 +struck -1 +struggle -2 +struggled -2 +struggles -2 +struggling -2 +stubborn -2 +stuck -2 +stunned -2 +stunning 4 +stupid -2 +stupidly -2 +suave 2 +substantial 1 +substantially 1 +subversive -2 +success 2 +successful 3 +suck -3 +sucks -3 +suffer -2 +suffering -2 +suffers -2 +suicidal -2 +suicide -2 +suing -2 +sulking -2 +sulky -2 +sullen -2 +sunshine 2 +super 3 +superb 5 +superior 2 +support 2 +supported 2 +supporter 1 +supporters 1 +supporting 1 +supportive 2 +supports 2 +survived 2 +surviving 2 +survivor 2 +suspect -1 +suspected -1 +suspecting -1 +suspects -1 +suspend -1 +suspended -1 +suspicious -2 +swear -2 +swearing -2 +swears -2 +sweet 2 +swift 2 +swiftly 2 +swindle -3 +swindles -3 +swindling -3 +sympathetic 2 +sympathy 2 +tard -2 +tears -2 +tender 2 +tense -2 +tension -1 +terrible -3 +terribly -3 +terrific 4 +terrified -3 +terror -3 +terrorize -3 +terrorized -3 +terrorizes -3 +thank 2 +thankful 2 +thanks 2 +thorny -2 +thoughtful 2 +thoughtless -2 +threat -2 +threaten -2 +threatened -2 +threatening -2 +threatens -2 +threats -2 +thrilled 5 +thwart -2 +thwarted -2 +thwarting -2 +thwarts -2 +timid -2 +timorous -2 +tired -2 +tits -2 +tolerant 2 +toothless -2 +top 2 +tops 2 +torn -2 +torture -4 +tortured -4 +tortures -4 +torturing -4 +totalitarian -2 +totalitarianism -2 +tout -2 +touted -2 +touting -2 +touts -2 +tragedy -2 +tragic -2 +tranquil 2 +trap -1 +trapped -2 +trauma -3 +traumatic -3 +travesty -2 +treason -3 +treasonous -3 +treasure 2 +treasures 2 +trembling -2 +tremulous -2 +tricked -2 +trickery -2 +triumph 4 +triumphant 4 +trouble -2 +troubled -2 +troubles -2 +true 2 +trust 1 +trusted 2 +tumor -2 +twat -5 +ugly -3 +unacceptable -2 +unappreciated -2 +unapproved -2 +unaware -2 +unbelievable -1 +unbelieving -1 +unbiased 2 +uncertain -1 +unclear -1 +uncomfortable -2 +unconcerned -2 +unconfirmed -1 +unconvinced -1 +uncredited -1 +undecided -1 +underestimate -1 +underestimated -1 +underestimates -1 +underestimating -1 +undermine -2 +undermined -2 +undermines -2 +undermining -2 +undeserving -2 +undesirable -2 +uneasy -2 +unemployment -2 +unequal -1 +unequaled 2 +unethical -2 +unfair -2 +unfocused -2 +unfulfilled -2 +unhappy -2 +unhealthy -2 +unified 1 +unimpressed -2 +unintelligent -2 +united 1 +unjust -2 +unlovable -2 +unloved -2 +unmatched 1 +unmotivated -2 +unprofessional -2 +unresearched -2 +unsatisfied -2 +unsecured -2 +unsettled -1 +unsophisticated -2 +unstable -2 +unstoppable 2 +unsupported -2 +unsure -1 +untarnished 2 +unwanted -2 +unworthy -2 +upset -2 +upsets -2 +upsetting -2 +uptight -2 +urgent -1 +useful 2 +usefulness 2 +useless -2 +uselessness -2 +vague -2 +validate 1 +validated 1 +validates 1 +validating 1 +verdict -1 +verdicts -1 +vested 1 +vexation -2 +vexing -2 +vibrant 3 +vicious -2 +victim -3 +victimize -3 +victimized -3 +victimizes -3 +victimizing -3 +victims -3 +vigilant 3 +vile -3 +vindicate 2 +vindicated 2 +vindicates 2 +vindicating 2 +violate -2 +violated -2 +violates -2 +violating -2 +violence -3 +violent -3 +virtuous 2 +virulent -2 +vision 1 +visionary 3 +visioning 1 +visions 1 +vitality 3 +vitamin 1 +vitriolic -3 +vivacious 3 +vociferous -1 +vulnerability -2 +vulnerable -2 +walkout -2 +walkouts -2 +wanker -3 +want 1 +war -2 +warfare -2 +warm 1 +warmth 2 +warn -2 +warned -2 +warning -3 +warnings -3 +warns -2 +waste -1 +wasted -2 +wasting -2 +wavering -1 +weak -2 +weakness -2 +wealth 3 +wealthy 2 +weary -2 +weep -2 +weeping -2 +weird -2 +welcome 2 +welcomed 2 +welcomes 2 +whimsical 1 +whitewash -3 +whore -4 +wicked -2 +widowed -1 +willingness 2 +win 4 +winner 4 +winning 4 +wins 4 +winwin 3 +wish 1 +wishes 1 +wishing 1 +withdrawal -3 +woebegone -2 +woeful -3 +won 3 +wonderful 4 +woo 3 +woohoo 3 +wooo 4 +woow 4 +worn -1 +worried -3 +worry -3 +worrying -3 +worse -3 +worsen -3 +worsened -3 +worsening -3 +worsens -3 +worshiped 3 +worst -3 +worth 2 +worthless -2 +worthy 2 +wow 4 +wowow 4 +wowww 4 +wrathful -3 +wreck -2 +wrong -2 +wronged -2 +wtf -4 +yeah 1 +yearning 1 +yeees 2 +yes 1 +youthful 2 +yucky -2 +yummy 3 +zealot -2 +zealots -2 +zealous 2 \ No newline at end of file diff --git a/backend/Food_Dict.csv b/backend/Food_Dict.csv new file mode 100644 index 000000000..1f24200cc --- /dev/null +++ b/backend/Food_Dict.csv @@ -0,0 +1,992 @@ +Angelica +Savoy cabbage +Silver linden +Kiwi +Allium +Garden onion +Leek +Garlic +Chives +Lemon verbena +Cashew nut +Pineapple +Dill +Custard apple +Wild celery +Peanut +Burdock +Horseradish +Tarragon +Mugwort +Asparagus +Oat +Star fruit +Brazil nut +Common beet +Borage +Chinese mustard +Swede +Rape +Common cabbage +Cauliflower +Brussel sprouts +Kohlrabi +Broccoli +Chinese cabbage +Turnip +Pigeon pea +Tea +Capers +Pepper +Papaya +Safflower +Caraway +Pecan nut +Chestnut +Roman camomile +Chickpea +Endive +Chicory +Chinese cinnamon +Ceylon cinnamon +Watermelon +Lime +Lemon +Pummelo +"Mandarin orange (Clementine, Tangerine)" +Sweet orange +Coffee +Arabica coffee +Robusta coffee +Coriander +Common hazelnut +Saffron +Muskmelon +Cucumber +Cucurbita +Cumin +Turmeric +Quince +Lemon grass +Globe artichoke +Wild carrot +Japanese persimmon +Cardamom +Black crowberry +Loquat +Rocket salad (ssp.) +Wax apple +Common buckwheat +Tartary buckwheat +Fig +Fennel +Strawberry +Black huckleberry +Soy bean +Sunflower +Sea-buckthornberry +Barley +Hyssop +Star anise +Swamp cabbage +Sweet potato +Black walnut +Common walnut +Lettuce +Grass pea +Sweet bay +Lentils +Garden cress +Lovage +Flaxseed +Mexican oregano +Lichee +Lupine +Apple +Mango +German camomile +Lemon balm +Mentha +Orange mint +Cornmint +Spearmint +Peppermint +Medlar +Bitter gourd +Mulberry +Black mulberry +Nutmeg +Sweet basil +Evening primrose +Olive +Sweet marjoram +Pot marjoram +Common oregano +Rice +Millet +Poppy +Passion fruit +Parsnip +Avocado +Parsley +Scarlet bean +Lima bean +Common bean +Date +Black chokeberry +Anise +Pine nut +Pepper (Spice) +Pistachio +Common pea +Purslane +"Prunus (Cherry, Plum)" +Apricot +Sweet cherry +Sour cherry +European plum +Almond +Peach +Guava +Pomegranate +Pear +Radish +Garden rhubarb +Blackcurrant +Redcurrant +Gooseberry +Watercress +Rosemary +"Rubus (Blackberry, Raspberry)" +Cloudberry +Red raspberry +Black raspberry +Sorrel +Common sage +Black elderberry +Summer savory +Winter savory +Rye +Sesame +Garden tomato +Cherry tomato +Garden tomato (var.) +Eggplant +Potato +Rowanberry +Sorghum +Spinach +Cloves +Tamarind +Dandelion +Cocoa bean +Common thyme +Linden +Small-leaf linden +Fenugreek +Common wheat +"Vaccinium (Blueberry, Cranberry, Huckleberry)" +Lowbush blueberry +Sparkleberry +Highbush blueberry +American cranberry +Bilberry +Lingonberry +Vanilla +Common verbena +Broad bean +Adzuki bean +Gram bean +Mung bean +Climbing bean +Cowpea +Muscadine grape +Common grape +Corn +Ginger +Arctic blackberry +Banana +Bayberry +Elliott's blueberry +Canada blueberry +Bog bilberry +Buffalo currant +Celeriac +Celery stalks +Chinese chives +European cranberry +Deerberry +Ginseng +Cascade huckleberry +Oval-leaf huckleberry +Evergreen huckleberry +Red huckleberry +Longan +Macadamia nut (M. tetraphylla) +Garden onion (var.) +Summer grape +Fox grape +Nectarine +Peach (var.) +Pepper (C. baccatum) +Pepper (C. chinense) +Pepper (Capsicum) +Rambutan +Red rice +Annual wild rice +Swiss chard +Lemon thyme +Tronchuda cabbage +Japanese walnut +Welsh onion +Hard wheat +Shallot +Rocket salad +Carrot +Triticale +Black cabbage +Half-highbush blueberry +Celery leaves +Chicory leaves +Komatsuna +Pak choy +Napa cabbage +Chicory roots +Grapefruit/Pummelo hybrid +Grapefruit +Jostaberry +Kai-lan +Italian oregano +Oxheart cabbage +Daikon radish +Black radish +Radish (var.) +Red beetroot +Sweet rowanberry +Pineappple sage +Skunk currant +Beer +Other bread +Breakfast cereal +Other soy product +Other cereal product +Pasta +Biscuit +Sourdough +Spirit +Fortified wine +Other alcoholic beverage +Abalone +Abiyuch +Acerola +Acorn +Winter squash +Agar +Red king crab +Alfalfa +Allspice +Amaranth +Arrowhead +Arrowroot +Asian pear +Atlantic herring +Atlantic mackerel +Painted comber +Atlantic pollock +Atlantic wolffish +Bamboo shoots +Striped bass +Beech nut +Beluga whale +Bison +Alaska blackfish +Blue crab +Blue mussel +Northern bluefin tuna +Bluefish +Wild boar +Bowhead whale +Breadfruit +Breadnut tree seed +Rapini +Buffalo +Burbot +Giant butterbur +American butterfish +Butternut +Butternut squash +Calabash +Cardoon +Natal plum +Carob +Common carp +Cassava +Channel catfish +Chayote +Cherimoya +Chervil +Chia +Chicken +Chinese broccoli +Chinese chestnut +Chinese water chestnut +Garland chrysanthemum +Cisco +Nuttall cockle +Coconut +Pacific cod +Atlantic cod +Common octopus +Corn salad +Cottonseed +Catjang pea +Malus (Crab apple) +Squashberry +Atlantic croaker +Cusk +Cuttlefish +Mule deer +Devilfish +Dock +Dolphin fish +Freshwater drum +Mallard duck +Dungeness crab +Durian +Eastern oyster +Freshwater eel +Elderberry +Elk +Emu +Oregon yampah +European anchovy +European chestnut +Turbot +Fireweed +Florida pompano +Ginkgo nuts +Greylag goose +Grape +Greenland halibut/turbot +Groundcherry +Grouper +Guinea hen +Haddock +Hippoglossus (Common halibut) +Hazelnut +Hickory nut +Horse +Horseradish tree +Alaska blueberry +Hyacinth bean +Irish moss +Pacific jack mackerel +Jackfruit +Japanese chestnut +Java plum +Jerusalem artichoke +Jujube +Jute +Kale +Kelp +King mackerel +Kumquat +Lambsquarters +Leather chiton +Wild leek +Common ling +Lingcod +American lobster +Loganberry +Lotus +Sacred lotus +White lupine +Malabar spinach +Mammee apple +Purple mangosteen +Alpine sweetvetch +Milkfish +Monkfish +Moth bean +Mountain yam +Striped mullet +White mustard +Mustard spinach +New Zealand spinach +Nopal +Ocean pout +North Pacific giant octopus +Ohelo berry +Okra +Tunicate +Ostrich +Spotted seal +Pacific herring +Pacific oyster +Pacific rockfish +Velvet duck +Pepper (C. frutescens) +Common persimmon +Pheasant +Northern pike +Pili nut +Colorado pinyon +Pitanga +Plains prickly pear +French plantain +American pokeweed +Opium poppy +Prairie turnip +Prickly pear +Quinoa +European rabbit +Rainbow smelt +Rainbow trout +Malabar plum +Rose hip +Roselle +Orange roughy +Sablefish +Pink salmon +Chum salmon +Coho salmon +Sockeye salmon +Chinook salmon +Atlantic salmon +Salmonberry +Common salsify +Sapodilla +Mamey sapote +Spanish mackerel +Pacific sardine +Scallop +Scup +Sea cucumber +Steller sea lion +Bearded seal +Ringed seal +Sea trout +Sesbania flower +American shad +Shark +Sheefish +"Sheep (Mutton, Lamb)" +Sheepshead +Hedge mustard +Skipjack tuna +Snapper +Soursop +Spelt +Spirulina +Squab +Strawberry guava +Greater sturgeon +White sucker +Sugar apple +Pumpkinseed sunfish +Swordfish +Taro +Teff +Tilefish +Mexican groundcherry +Towel gourd +"Salmonidae (Salmon, Trout)" +Turkey +"Cattle (Beef, Veal)" +Walleye +Alaska pollock +Wasabi +Wax gourd +Whelk +Coalfish pollock +Broad whitefish +Whitefish +Whiting +Wild rice +Tea leaf willow +Winged bean +Yam +Jicama +Yautia +Yellowfin tuna +Yellowtail amberjack +Pollock +Albacore tuna +Gadus (Common cod) +Atlantic halibut +Pacific halibut +Pacific salmon +Smelt +"Clupeinae (Herring, Sardine, Sprat)" +Spiny lobster +Snow crab +Black-eyed pea +Deer +Macadamia nut +Percoidei (Bass and others) +Perciformes +Rabbit +Domestic goat +Beefalo +"Bivalvia (Clam, Mussel, Oyster)" +Squid +Shrimp +Crayfish +Flatfish +Domestic pig +Walrus +Alaska wild rhubarb +Oriental wheat +Yardlong bean +Quail +Boysenberry +Persian lime +Feijoa +Rowal +Jew's ear +Common mushroom +Shiitake +Purple laver +Wakame +Enokitake +Epazote +Oyster mushroom +Cloud ear fungus +Maitake +Ostrich fern +Spot croaker +Sourdock +Tinda +Atlantic menhaden +Wheat +Common chokecherry +Agave +Narrowleaf cattail +Jellyfish +Anchovy +Blue whiting +Carp bream +Chanterelle +Sturgeon +Charr +Cinnamon +Crab +Common dab +Spiny dogfish +Anatidae +Anguilliformes +True frog +Garfish +Gadiformes +Mountain hare +Lake trout +Lemon sole +Clawed lobster +Lumpsucker +"Scombridae (Bonito, Mackerel, Tuna)" +Marine mussel +Norway haddock +Norway lobster +Norway pout +Oil palm +True oyster +Sago palm +Persimmon +Pikeperch +"Pleuronectidae (Dab, Halibut, Plaice)" +Rock ptarmigan +Pacific ocean perch +Black salsify +True seal +Red algae +Kombu +Snail +True sole +Catfish +Thistle +Thunnus +Walnut +"Cetacea (Dolphin, Porpoise, Whale)" +"Columbidae (Dove, Pigeon)" +Conch +Grape wine +Berry wine +Other wine +Apple cider +Liquor +Cheese +Milk (Cow) +Eggs +Yogurt +Bean +Vodka +Whisky +Ice cream +Gin +Honey +Liquorice +Vinegar +Rum +Port wine +Vermouth +Sherry +Madeira wine +Nougat +Toffee +Cake +Pizza +Ymer +Other snack food +Crisp bread +Pastry +Drag閼煎崘 +Chewing gum +Marzipan +Salad dressing +Sauce +Salt +Butter +Butter substitute +Cream +Sugar +Sausage +Meatball +Mustard +Pate +Sugar substitute +Meat bouillon +Whey +Casein +Fruit preserve +Leavening agent +Marshmallow +Gelatin +Water +Other fish product +Milk (Human) +Other beverage +Baby food +Dumpling +Soup +Other vegetable product +Unclassified food or beverage +Syrup +Tallow +Remoulade +Chocolate spread +Fruit gum +Curry powder +Other candy +Meringue +Lard +Other animal fat +Other cocoa product +Cocoa butter +Cocoa powder +Cocoa liquor +Chocolate +Hot chocolate +Dried milk +Milk (Other mammals) +Kefir +Buttermilk +Other fermented milk +Soy sauce +Miso +Tofu +Zwieback +Roe +Cichlidae (Tilapia) +Icing +Snack bar +Green turtle +Energy drink +Burrito +Hamburger +Baked beans +Chili +Taco +Tortilla +Nachos +Processed cheese +Salad +Cream substitute +Dulce de leche +Topping +Sweet custard +Egg roll +Heart of palm +Popcorn +Potato chip +Tortilla chip +Corn chip +Hibiscus tea +Stew +Gelatin dessert +Junket +Falafel +Frybread +Other frozen dessert +Lasagna +Morchella (Morel) +Pancake +Pectin +Pudding +Waffle +Soy milk +Meatloaf +Sake +Cocktail +Couscous +Bulgur +Coffee substitute +Coffee mocha +Chimichanga +Semolina +Tapioca pearl +Tostada +Quesadilla +Baked potato +Hot dog +Spread +Enchilada +Egg substitute +Nutritional drink +Other sandwich +Ketchup +Breakfast sandwich +Adobo +Macaroni and cheese +Butterfat +Horned melon +Hushpuppy +Fruit juice +Relish +Other fruit product +Fruit salad +Soy yogurt +Vegetarian food +Veggie burger +Cold cut +Mixed nuts +Canola +Babassu palm +Cupua閼剧惮 +Shea tree +Oil-seed Camellia +Ucuhuba +Phyllo dough +Cooking oil +Pie crust +Pie filling +Pie +Shortening +Soy cream +Ice cream cone +Molasses +Cracker +Nance +Naranjilla +Natto +Ravioli +Scrapple +Other pasta dish +Succotash +Tamale +Rice cake +Tree fern +Evaporated milk +Flour +Akutaq +Dough +Pita bread +Focaccia +Bagel +Other bread product +Piki bread +French toast +Wheat bread +Rye bread +Oat bread +Potato bread +Cornbread +Corn grits +Multigrain bread +Rice bread +Pan dulce +Raisin bread +Wonton wrapper +Trail mix +Greenthread tea +Fruit-flavor drink +Vegetable juice +Horchata +Soft drink +Frozen yogurt +Milkshake +Chocolate mousse +Dripping +Pupusa +Empanada +Arepa +Ascidians +Gefilte fish +Yellow pond-lily +Fish burger +Other dish +Pot pie +Stuffing +Edible shell +Fudge +Candy bar +Condensed milk +Margarine +Margarine-like spread +Hummus +Potato puffs +Potato gratin +Milk substitute +Pepper (C. pubescens) +Soft-necked garlic +Cabbage +Chinese bayberry +Mushrooms +Alcoholic beverages +Onion-family vegetables +Pomes +Brassicas +Cereals and cereal products +Citrus +Cocoa and cocoa products +Coffee and coffee products +Crustaceans +Milk and milk products +Fats and oils +Fishes +Herbs and Spices +Pulses +Mollusks +Nuts +Beverages +Fruits +Green vegetables +Root vegetables +Sunburst squash (pattypan squash) +Green zucchini +Yellow zucchini +Green bell pepper +Yellow bell pepper +Orange bell pepper +Red bell pepper +Italian sweet red pepper +Yellow wax bean +Green bean +Saskatoon berry +Nanking cherry +Japanese pumpkin +White cabbage +Romaine lettuce +"Cow milk, pasteurized, vitamin A + D added, 0% fat" +"Cow milk, pasteurized, vitamin A + D added, 1% fat" +"Cow milk, pasteurized, vitamin A + D added, 2% fat" +"Cow milk, pasteurized, vitamin D added, 3.25% fat" +Castanospermum australe +Gentiana lutea +Juniperus communis +Albizia gummifera +Mundu +Rabbiteye blueberry +Yali pear +Asparagus racemosus +Evergreen blackberry +Asparagus fern +Thornless blackberry +Tropical highland blackberry +Andean blackberry +Blackberry +Black tea +Green tea +Olive oil +Macroalgae +Red wine +linseed oil +Rapeseed oil +Soybean oil +Guarana +Mate +White wine +Sour orange +Egg yolk +Ros閼?wine +White mulberry +Canola oil +Dessert wine +Red champagne +Red tea +White champagne +Red grape juice +White grape juice +Crosne +Red clover +Partridge berry +Mikan +Mozzarella cheese +Plain cream cheese +Cheddar Cheese +Parmesan cheese +Almond milk +Coconut milk +Salted butter +Sunflower oil +Coconut oil +Peanut oil +Cottonseed oil +Corn oil +Avocado oil +Grapeseed oil +Sesame oil +Monterey Jack cheese +Swiss cheese +Cottage cheese +Blue cheese +Clam +Sour cream +Whole wheat bread +Jalapeno pepper +Greek feta cheese +Eddoe +Plantain +Clementine +Green apple +White onion +Red onion +Green onion +Green grape +Red grape +Black plum +Green cabbage +Black raisin +Cannellini bean +Green lentil +Cubanelle pepper +Acorn squash +Iceberg lettuce +Japanese sea bass +Pea shoots +Yau choy +Water spinach +Chineese plum +Green plum +Wampee +Pitaya +Goji +Monk fruit +Cantaloupe melon +Hawthorn +Lantern fruit +White bread +Cape gooseberry +Herbal tea +Fish oil +Taco shell +Tostada shell diff --git a/backend/app.py b/backend/app.py index 63ba03f54..368b12db6 100644 --- a/backend/app.py +++ b/backend/app.py @@ -1,10 +1,17 @@ from flask import Flask from flask_cors import CORS, cross_origin +import json +# import pandas as pd +import sys +import string +import re +import operator +from statistics import mean + app = Flask(__name__) CORS(app) - @app.route("/") @cross_origin() def hello_world(): @@ -16,11 +23,98 @@ def hello_world(): @app.route("/analyse", methods=['POST']) @cross_origin() -def analyse_text(): - data = test() - return data + +def analysea_text(): + data_file = open(r'C:\Users\75750\cs410\final_project\hungry-panda\backend\yelp_academic_dataset_review.json') + data = [] + with data_file as f: + for line in f: + data.append(json.loads(line)) + + print(data) + print(data[0]['text']) + + review = review_retrieval(data) + + + # creat the food dictionary + with open(r'C:\Users\75750\cs410\final_project\hungry-panda\backend\Food_Dict.csv') as f: + food_dictionary = [line.rstrip().lower() for line in f] + print(food_dictionary) + best_selling_food = {} + foodhere = set() + final_review = set() + rank = [] + + reviewlist4 = list(review) + reviewlist5 = [line.rstrip().lower() for line in reviewlist4] + + # Upper Case + for i in range(50): + print(reviewlist4[i]) + # Lower Case + for i in range(50): + print(reviewlist5[i]) + + food_showing_in_review(reviewlist4,reviewlist5,food_dictionary) + + sorted_x = sorted(best_selling_food.items(), key=lambda x: x[1], reverse=True) + print(sorted_x) + + # Sentimental Analysis + reviewlist = list(final_review) # make a copy to modify + scores = sentimentScores() + yelpscores = [] + newWords = {} + len(reviewlist) + for i in range(len(reviewlist)): + reviewlist[i].lower + reviewlist[i] = re.compile("[^\w']|_").sub(" ", reviewlist[i]).split() + sentiment = 0 + for words in reviewlist[i]: + if words in scores: + sentiment += scores[words] + yelpscores.append(sentiment) + # for words not in the sentiment dictionary, assign them a sentiment value based on sentiments of the tweet(s) found in + print(yelpscores) + final_score = mean(yelpscores) + print(final_score) + + +def review_retrieval(data): + review = [] + for i in range(len(data)): + if "text" in data[i]: + review.append(data[i]["text"]) + + for i in range(50): + print(review[i]) + + return review + +def food_showing_in_review(reviewlist4,reviewlist5,food_dictionary): + best_selling_food = {} + foodhere = set() + final_review = set() + + for i in range(50): + for j in range(len(food_dictionary)): + x = reviewlist5[i].find(food_dictionary[j]) + + if (x != -1): + best_selling_food[food_dictionary[j]] = best_selling_food.setdefault(food_dictionary[j], 0) + 1 + foodhere.add(food_dictionary[j]) + + final_review.add(reviewlist4[i]) + + return best_selling_food,foodhere,final_review + -def test(): - # do something NLP-related: only related comments are returned - return [mocked_data[0]] +def sentimentScores(): + afinnfile = open(r"C:\Users\kyw11\Downloads\AFINN-111.txt") + scores = {} # initialize an empty dictionary + for line in afinnfile: + term, score = line.split("\t") # The file is tab-delimited. "\t" means "tab character" + scores[term] = int(score) # Convert the score to an integer. + return scores \ No newline at end of file diff --git a/backend/yelp_academic_dataset_review.json b/backend/yelp_academic_dataset_review.json new file mode 100644 index 000000000..c37940ce5 --- /dev/null +++ b/backend/yelp_academic_dataset_review.json @@ -0,0 +1,18 @@ +[{'review_id': 'KU_O5udG6zpxOg-VcAEodg', + 'user_id': 'mh_-eMZ6K5RLWhZyISBhwA', + 'business_id': 'XQfwVwDr-v0ZS3_CbbE5Xw', + 'stars': 3.0, + 'useful': 0, + 'funny': 0, + 'cool': 0, + 'text': "If you decide to eat here, just be aware it is going to take about 2 hours from beginning to end. We have tried it multiple times, because I want to like it! I have been to it's other locations in NJ and never had a bad experience. \n\nThe food is good, but it takes a very long time to come out. The waitstaff is very young, but usually pleasant. We have just had too many experiences where we spent way too long waiting. We usually opt for another diner or restaurant on the weekends, in order to be done quicker.", + 'date': '2018-07-07 22:09:11'}, + {'review_id': 'BiTunyQ73aT9WBnpR9DZGw', + 'user_id': 'OyoGAe7OKpv6SyGZT5g77Q', + 'business_id': '7ATYjTIgM3jUlt4UM3IypQ', + 'stars': 5.0, + 'useful': 1, + 'funny': 0, + 'cool': 1, + 'text': "I've taken a lot of spin classes over the years, and nothing compares to the classes at Body Cycle. From the nice, clean space and amazing bikes, to the welcoming and motivating instructors, every class is a top notch work out.\n\nFor anyone who struggles to fit workouts in, the online scheduling system makes it easy to plan ahead (and there's no need to line up way in advanced like many gyms make you do).\n\nThere is no way I can write this review without giving Russell, the owner of Body Cycle, a shout out. Russell's passion for fitness and cycling is so evident, as is his desire for all of his clients to succeed. He is always dropping in to classes to check in/provide encouragement, and is open to ideas and recommendations from anyone. Russell always wears a smile on his face, even when he's kicking your butt in class!", + 'date': '2012-01-03 15:28:18'},] \ No newline at end of file From 61350a525addaafc78dc14327ebc9812ad37bd5f Mon Sep 17 00:00:00 2001 From: Hulu2007 <49009136+Hulu2007@users.noreply.github.com> Date: Sat, 26 Nov 2022 21:24:58 -0600 Subject: [PATCH 10/16] Hulu FrontEnd --- extension/popup.html | 17 +++++++++++-- extension/popup.js | 59 +++++++++++++++++++++++++++++++++----------- 2 files changed, 60 insertions(+), 16 deletions(-) diff --git a/extension/popup.html b/extension/popup.html index ca692acdb..8988b8be4 100644 --- a/extension/popup.html +++ b/extension/popup.html @@ -6,10 +6,23 @@ Document + -

Popup

+ - + diff --git a/extension/popup.js b/extension/popup.js index 2d8859468..f78682ed7 100644 --- a/extension/popup.js +++ b/extension/popup.js @@ -10,21 +10,52 @@ const mocked_data = [ { text: 'beef', }, + { + text: 'pork', + }, + { + text: 'fish', + }, ]; -console.log('this is from popup.js'); - -async function testApi() { - fetch('http://127.0.0.1:5000/') - .then((res) => { - return res.json(); - }) - .then((data) => { - testH2.textContent = data.text; - }) - .catch((err) => { - console.error(err); - }); +/** + * + * @param {Array} arr + */ + function sortList (arr) { + const counter = new Map() + arr.forEach(item => { + const count = (counter.get(item.text)?.count || 0) + 1 + counter.set(item.text, {count, item}) + + }) + const mapArr = Array.from(counter.entries()) + mapArr.sort((a, b) => b[1].count - a[1].count) + return mapArr.map(mappedItem => mappedItem[1].item) } -testApi(); +const ulElement = document.createElement('ul') +const sortedMockedData = sortList(mocked_data) +sortedMockedData.forEach(dish => { + const li = document.createElement('li') + li.innerHTML = `${dish.text}` + ulElement.appendChild(li) +}) +document.body.appendChild(ulElement) + +// console.log('this is from popup.js'); + +// async function testApi() { +// fetch('http://127.0.0.1:5000/') +// .then((res) => { +// return res.json(); +// }) +// .then((data) => { +// testH2.textContent = data.text; +// }) +// .catch((err) => { +// console.error(err); +// }); +// } + +// testApi(); From d67b1df129226e346afe3d921523615576f4fc79 Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Sun, 4 Dec 2022 21:21:03 +0800 Subject: [PATCH 11/16] pass review between content and popup --- extension/content.js | 55 +++++++++++++++++++++++++++++++------------- extension/popup.js | 45 ++++++++++++++++++++---------------- jsconfig.json | 3 +++ manifest.json | 9 +------- 4 files changed, 68 insertions(+), 44 deletions(-) create mode 100644 jsconfig.json diff --git a/extension/content.js b/extension/content.js index 3b01b5126..da7377507 100644 --- a/extension/content.js +++ b/extension/content.js @@ -1,22 +1,45 @@ -let arr = [] +function getReviews() { + let arr = []; -let list = $('.css-79elbk .list__09f24__ynIEd').childNodes + const reviewSectionEl = document.querySelector( + 'section[aria-label="Recommended Reviews"]' + ); -let len = $('.css-79elbk .list__09f24__ynIEd').childNodes.length + const reviewUlEl = reviewSectionEl.querySelector( + 'ul:not([aria-label="Rating"]' + ); + + let list = reviewUlEl.childNodes; + + let len = reviewUlEl.childNodes.length; + + for (let i = 0; i < len; i++) { + let info = list[i].querySelectorAll('.user-passport-info .css-1m051bw'); + let s = list[i] + .querySelectorAll('.margin-t1__09f24__w96jn .five-stars__09f24__mBKym')[0] + .getAttribute('aria-label') + .split(' ')[0]; + let dateil = list[i].querySelectorAll( + '.comment__09f24__gu0rG .raw__09f24__T4Ezm' + )[0].textContent; + let location = list[i].querySelectorAll( + '.user-passport-info .responsive-hidden-small__09f24__qQFtj .css-qgunke' + )[0].textContent; -for(let i = 0; i < len; i++) { - let info = list[i].querySelectorAll('.user-passport-info .css-1m051bw') - let s = list[i].querySelectorAll('.margin-t1__09f24__w96jn .five-stars__09f24__mBKym')[0].getAttribute('aria-label').split(' ')[0] - let dateil = list[i].querySelectorAll('.comment__09f24__gu0rG .raw__09f24__T4Ezm')[0].textContent - let location = list[i].querySelectorAll('.user-passport-info .responsive-hidden-small__09f24__qQFtj .css-qgunke')[0].textContent - let obj = { - name: info[0].textContent, - star: s, - review: dateil, - location: location - } - arr.push(obj) + name: info[0].textContent, + star: s, + review: dateil, + location: location, + }; + arr.push(obj); + } + + return arr; } -console.log(arr) \ No newline at end of file +chrome.runtime.onMessage.addListener((message, _sender, sendResponse) => { + if (message.hungryPanda === 'START') { + sendResponse({ reviews: getReviews() }); + } +}); diff --git a/extension/popup.js b/extension/popup.js index f78682ed7..deb27aa17 100644 --- a/extension/popup.js +++ b/extension/popup.js @@ -1,3 +1,9 @@ +chrome.tabs.query({ active: true, lastFocusedWindow: true }, (tabs) => { + chrome.tabs.sendMessage(tabs[0].id, { hungryPanda: 'START' }, (res) => { + console.log(res.reviews); + }); +}); + const testH2 = document.querySelector('#testH2'); const mocked_data = [ @@ -19,29 +25,28 @@ const mocked_data = [ ]; /** - * - * @param {Array} arr + * + * @param {Array} arr */ - function sortList (arr) { - const counter = new Map() - arr.forEach(item => { - const count = (counter.get(item.text)?.count || 0) + 1 - counter.set(item.text, {count, item}) - - }) - const mapArr = Array.from(counter.entries()) - mapArr.sort((a, b) => b[1].count - a[1].count) - return mapArr.map(mappedItem => mappedItem[1].item) +function sortList(arr) { + const counter = new Map(); + arr.forEach((item) => { + const count = (counter.get(item.text)?.count || 0) + 1; + counter.set(item.text, { count, item }); + }); + const mapArr = Array.from(counter.entries()); + mapArr.sort((a, b) => b[1].count - a[1].count); + return mapArr.map((mappedItem) => mappedItem[1].item); } -const ulElement = document.createElement('ul') -const sortedMockedData = sortList(mocked_data) -sortedMockedData.forEach(dish => { - const li = document.createElement('li') - li.innerHTML = `${dish.text}` - ulElement.appendChild(li) -}) -document.body.appendChild(ulElement) +const ulElement = document.createElement('ul'); +const sortedMockedData = sortList(mocked_data); +sortedMockedData.forEach((dish) => { + const li = document.createElement('li'); + li.innerHTML = `${dish.text}`; + ulElement.appendChild(li); +}); +document.body.appendChild(ulElement); // console.log('this is from popup.js'); diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 000000000..3cd2f317e --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,3 @@ +{ + "typeAcquisition": { "include": ["chrome"] } +} diff --git a/manifest.json b/manifest.json index e8a6348ba..680b85279 100644 --- a/manifest.json +++ b/manifest.json @@ -25,17 +25,10 @@ "content_scripts": [ { "matches": ["https://*.yelp.com/*"], - "css": ["extension/content.css"], "js": ["extension/content.js"] } ], - "permissions": [ - "tabs", - "activeTab", - "background", - "storage", - "https://*.yelp.com/" - ], + "permissions": ["tabs", "activeTab", "background", "storage"], "short_name": "HP", "version_name": "appetizer" } From 036970b590c9ad0efb0b10aae986c8e3061ac13b Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Wed, 7 Dec 2022 00:14:10 +0800 Subject: [PATCH 12/16] final work --- backend/app.py | 122 ++++++++-------------- backend/yelp_academic_dataset_review.json | 18 ---- extension/bootstrap.bundle.min.js | 7 ++ extension/bootstrap.min.css | 7 ++ extension/content.js | 2 +- extension/popup.css | 8 ++ extension/popup.html | 118 ++++++++++++++++++--- extension/popup.js | 115 ++++++++++---------- 8 files changed, 229 insertions(+), 168 deletions(-) delete mode 100644 backend/yelp_academic_dataset_review.json create mode 100644 extension/bootstrap.bundle.min.js create mode 100644 extension/bootstrap.min.css diff --git a/backend/app.py b/backend/app.py index 368b12db6..5b8383265 100644 --- a/backend/app.py +++ b/backend/app.py @@ -1,84 +1,65 @@ -from flask import Flask +from flask import Flask, request from flask_cors import CORS, cross_origin - -import json -# import pandas as pd -import sys -import string import re -import operator +import os from statistics import mean app = Flask(__name__) CORS(app) -@app.route("/") -@cross_origin() -def hello_world(): - return {"text": "hello world"} +currentDir = os.path.dirname(os.path.abspath(__file__)) +with open(os.path.join(currentDir, 'Food_Dict.csv')) as f: + food_dictionary = [line.rstrip().lower() for line in f] -mocked_data = [{"text": "relevant"}, {"text": "irrelevant"}] +with open(os.path.join(currentDir, 'AFINN_EMOTION.txt')) as afinnfile: + scores = {} # initialize an empty dictionary + for line in afinnfile: + # The file is tab-delimited. "\t" means "tab character" + term, score = line.split("\t") + scores[term] = int(score) # Convert the score to an integer. -@app.route("/analyse", methods=['POST']) +@app.route("/", methods=["POST"]) @cross_origin() +def review(): + # data received from frontend + data = request.json -def analysea_text(): - data_file = open(r'C:\Users\75750\cs410\final_project\hungry-panda\backend\yelp_academic_dataset_review.json') - data = [] - with data_file as f: - for line in f: - data.append(json.loads(line)) - - print(data) - print(data[0]['text']) - - review = review_retrieval(data) + # list containing only reviews + review = list(review_retrieval(data)) + # list containing only reviews (small) + review_s = [line.rstrip().lower() for line in review] - # creat the food dictionary - with open(r'C:\Users\75750\cs410\final_project\hungry-panda\backend\Food_Dict.csv') as f: - food_dictionary = [line.rstrip().lower() for line in f] - print(food_dictionary) - best_selling_food = {} - foodhere = set() - final_review = set() - rank = [] + best_selling_food, foodhere, final_review = food_showing_in_review( + review, review_s, food_dictionary) - reviewlist4 = list(review) - reviewlist5 = [line.rstrip().lower() for line in reviewlist4] - - # Upper Case - for i in range(50): - print(reviewlist4[i]) - # Lower Case - for i in range(50): - print(reviewlist5[i]) - - food_showing_in_review(reviewlist4,reviewlist5,food_dictionary) - - sorted_x = sorted(best_selling_food.items(), key=lambda x: x[1], reverse=True) - print(sorted_x) + sorted_food = sorted(best_selling_food.items(), + key=lambda x: x[1], reverse=True) # Sentimental Analysis reviewlist = list(final_review) # make a copy to modify - scores = sentimentScores() - yelpscores = [] - newWords = {} - len(reviewlist) + sentiment_scores = [] + for i in range(len(reviewlist)): - reviewlist[i].lower + tmpReview = [] + tmpReview.append(reviewlist[i]) reviewlist[i] = re.compile("[^\w']|_").sub(" ", reviewlist[i]).split() sentiment = 0 for words in reviewlist[i]: if words in scores: sentiment += scores[words] - yelpscores.append(sentiment) - # for words not in the sentiment dictionary, assign them a sentiment value based on sentiments of the tweet(s) found in - print(yelpscores) - final_score = mean(yelpscores) - print(final_score) + tmpReview.append(sentiment) + sentiment_scores.append(tmpReview) + + final_score = mean([x[1] for x in sentiment_scores]) + + # sorted_food: [ [dishNname, count], [dishNname, count], ... ] + # final_score: sentiment review score for this restaurant + # sentiment_scores: [ [review, score], [review, score], ... ] + + return {"sorted_food": sorted_food, "final_score": final_score, "sentiment_scores": sentiment_scores} def review_retrieval(data): @@ -86,35 +67,24 @@ def review_retrieval(data): for i in range(len(data)): if "text" in data[i]: review.append(data[i]["text"]) - - for i in range(50): - print(review[i]) - return review -def food_showing_in_review(reviewlist4,reviewlist5,food_dictionary): + +def food_showing_in_review(review, review_s, food_dictionary): best_selling_food = {} foodhere = set() final_review = set() - for i in range(50): + for i in range(len(review)): for j in range(len(food_dictionary)): - x = reviewlist5[i].find(food_dictionary[j]) + # Only select reviews that mention food + x = review_s[i].find(food_dictionary[j]) if (x != -1): - best_selling_food[food_dictionary[j]] = best_selling_food.setdefault(food_dictionary[j], 0) + 1 + best_selling_food[food_dictionary[j]] = best_selling_food.setdefault( + food_dictionary[j], 0) + 1 foodhere.add(food_dictionary[j]) - final_review.add(reviewlist4[i]) + final_review.add(review[i]) - return best_selling_food,foodhere,final_review - - - -def sentimentScores(): - afinnfile = open(r"C:\Users\kyw11\Downloads\AFINN-111.txt") - scores = {} # initialize an empty dictionary - for line in afinnfile: - term, score = line.split("\t") # The file is tab-delimited. "\t" means "tab character" - scores[term] = int(score) # Convert the score to an integer. - return scores \ No newline at end of file + return best_selling_food, foodhere, final_review diff --git a/backend/yelp_academic_dataset_review.json b/backend/yelp_academic_dataset_review.json deleted file mode 100644 index c37940ce5..000000000 --- a/backend/yelp_academic_dataset_review.json +++ /dev/null @@ -1,18 +0,0 @@ -[{'review_id': 'KU_O5udG6zpxOg-VcAEodg', - 'user_id': 'mh_-eMZ6K5RLWhZyISBhwA', - 'business_id': 'XQfwVwDr-v0ZS3_CbbE5Xw', - 'stars': 3.0, - 'useful': 0, - 'funny': 0, - 'cool': 0, - 'text': "If you decide to eat here, just be aware it is going to take about 2 hours from beginning to end. We have tried it multiple times, because I want to like it! I have been to it's other locations in NJ and never had a bad experience. \n\nThe food is good, but it takes a very long time to come out. The waitstaff is very young, but usually pleasant. We have just had too many experiences where we spent way too long waiting. We usually opt for another diner or restaurant on the weekends, in order to be done quicker.", - 'date': '2018-07-07 22:09:11'}, - {'review_id': 'BiTunyQ73aT9WBnpR9DZGw', - 'user_id': 'OyoGAe7OKpv6SyGZT5g77Q', - 'business_id': '7ATYjTIgM3jUlt4UM3IypQ', - 'stars': 5.0, - 'useful': 1, - 'funny': 0, - 'cool': 1, - 'text': "I've taken a lot of spin classes over the years, and nothing compares to the classes at Body Cycle. From the nice, clean space and amazing bikes, to the welcoming and motivating instructors, every class is a top notch work out.\n\nFor anyone who struggles to fit workouts in, the online scheduling system makes it easy to plan ahead (and there's no need to line up way in advanced like many gyms make you do).\n\nThere is no way I can write this review without giving Russell, the owner of Body Cycle, a shout out. Russell's passion for fitness and cycling is so evident, as is his desire for all of his clients to succeed. He is always dropping in to classes to check in/provide encouragement, and is open to ideas and recommendations from anyone. Russell always wears a smile on his face, even when he's kicking your butt in class!", - 'date': '2012-01-03 15:28:18'},] \ No newline at end of file diff --git a/extension/bootstrap.bundle.min.js b/extension/bootstrap.bundle.min.js new file mode 100644 index 000000000..819659b4e --- /dev/null +++ b/extension/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 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="transitionend",e=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 e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},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(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,g=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()},m=t=>{"function"==typeof t&&t()},_=(e,i,n=!0)=>{if(!n)return void m(e);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})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),m(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),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=N(t);return C.has(o)||(o=t),[n,s,o]}function D(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 j(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return j(n,{delegateTarget:t}),i.oneOff&&P.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 S(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 I(t,e,i,n){const s=e[i]||{};for(const o of Object.keys(s))if(o.includes(n)){const n=s[o];S(t,e,i,n.callable,n.delegationSelector)}}function N(t){return t=t.replace(y,""),T[t]||t}const P={on(t,e,i,n){D(t,e,i,n,!1)},one(t,e,i,n){D(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))I(t,l,i,e.slice(1));for(const i of Object.keys(c)){const n=i.replace(w,"");if(!a||e.includes(n)){const e=c[i];S(t,l,r,e.callable,e.delegationSelector)}}}else{if(!Object.keys(c).length)return;S(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!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=j(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function j(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}const M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};function $(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 W(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${W(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${W(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]=$(t.dataset[n])}return e},getDataAttribute:(t,e)=>$(t.getAttribute(`data-bs-${W(e)}`))};class F{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)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const n of Object.keys(e)){const s=e[n],r=t[n],a=o(r)?"element":null==(i=r)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}var i}}class z extends F{constructor(t,e){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(e),H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),P.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 H.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.2.3"}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 q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;P.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class R extends z{static get NAME(){return"alert"}close(){if(P.trigger(this._element,"close.bs.alert").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(),P.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=R.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)}}))}}q(R,"close"),g(R);const V='[data-bs-toggle="button"]';class K extends z{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=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}P.on(document,"click.bs.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()})),g(K);const Q={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)))}},X={endCallback:null,leftCallback:null,rightCallback:null},Y={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class U extends F{constructor(t,e){super(),this._element=t,t&&U.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return X}static get DefaultType(){return Y}static get NAME(){return"swipe"}dispose(){P.off(this._element,".bs.swipe")}_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(),m(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&&m(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),P.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),P.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),P.on(this._element,"touchend.bs.swipe",(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 G="next",J="prev",Z="left",tt="right",et="slid.bs.carousel",it="carousel",nt="active",st={ArrowLeft:tt,ArrowRight:Z},ot={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},rt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class at extends z{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=Q.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===it&&this.cycle()}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"carousel"}next(){this._slide(G)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(J)}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?P.one(this._element,et,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,et,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?G:J;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&&P.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),P.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&U.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of Q.find(".carousel-item img",this._element))P.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(Z)),rightCallback:()=>this._slide(this._directionToOrder(tt)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new U(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=st[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=Q.findOne(".active",this._indicatorsElement);e.classList.remove(nt),e.removeAttribute("aria-current");const i=Q.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(nt),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===G,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r("slide.bs.carousel").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(nt),i.classList.remove(nt,c,l),this._isSliding=!1,r(et)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return Q.findOne(".active.carousel-item",this._element)}_getItems(){return Q.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===Z?J:G:t===Z?G:J}_orderToDirection(t){return p()?t===J?Z:tt:t===J?tt:Z}static jQueryInterface(t){return this.each((function(){const e=at.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)}))}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=n(this);if(!e||!e.classList.contains(it))return;t.preventDefault();const i=at.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),P.on(window,"load.bs.carousel.data-api",(()=>{const t=Q.find('[data-bs-ride="carousel"]');for(const e of t)at.getOrCreateInstance(e)})),g(at);const lt="show",ct="collapse",ht="collapsing",dt='[data-bs-toggle="collapse"]',ut={parent:null,toggle:!0},ft={parent:"(null|element)",toggle:"boolean"};class pt extends z{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const n=Q.find(dt);for(const t of n){const e=i(t),n=Q.find(e).filter((t=>t===this._element));null!==e&&n.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 ut}static get DefaultType(){return ft}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=>pt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),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(ht),this._element.classList.add(ct,lt),this._element.style[e]="",P.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);for(const t of this._triggerArray){const e=n(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(ht),this._element.classList.add(ct),P.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_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(dt);for(const e of t){const t=n(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=Q.find(":scope .collapse .collapse",this._config.parent);return Q.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=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}P.on(document,"click.bs.collapse.data-api",dt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this),n=Q.find(e);for(const t of n)pt.getOrCreateInstance(t,{toggle:!1}).toggle()})),g(pt);var gt="top",mt="bottom",_t="right",bt="left",vt="auto",yt=[gt,mt,_t,bt],wt="start",At="end",Et="clippingParents",Tt="viewport",Ct="popper",Ot="reference",xt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+At])}),[]),kt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+At])}),[]),Lt="beforeRead",Dt="read",St="afterRead",It="beforeMain",Nt="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",$t=[Lt,Dt,St,It,Nt,Pt,jt,Mt,Ht];function Wt(t){return t?(t.nodeName||"").toLowerCase():null}function Bt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Ft(t){return t instanceof Bt(t).Element||t instanceof Element}function zt(t){return t instanceof Bt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Bt(t).ShadowRoot||t instanceof ShadowRoot)}const Rt={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];zt(s)&&Wt(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}),{});zt(n)&&Wt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Vt(t){return t.split("-")[0]}var Kt=Math.max,Qt=Math.min,Xt=Math.round;function Yt(){var t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ut(){return!/^((?!chrome|android).)*safari/i.test(Yt())}function Gt(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&zt(t)&&(s=t.offsetWidth>0&&Xt(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Xt(n.height)/t.offsetHeight||1);var r=(Ft(t)?Bt(t):window).visualViewport,a=!Ut()&&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 Jt(t){var e=Gt(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 Zt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function te(t){return Bt(t).getComputedStyle(t)}function ee(t){return["table","td","th"].indexOf(Wt(t))>=0}function ie(t){return((Ft(t)?t.ownerDocument:t.document)||window.document).documentElement}function ne(t){return"html"===Wt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||ie(t)}function se(t){return zt(t)&&"fixed"!==te(t).position?t.offsetParent:null}function oe(t){for(var e=Bt(t),i=se(t);i&&ee(i)&&"static"===te(i).position;)i=se(i);return i&&("html"===Wt(i)||"body"===Wt(i)&&"static"===te(i).position)?e:i||function(t){var e=/firefox/i.test(Yt());if(/Trident/i.test(Yt())&&zt(t)&&"fixed"===te(t).position)return null;var i=ne(t);for(qt(i)&&(i=i.host);zt(i)&&["html","body"].indexOf(Wt(i))<0;){var n=te(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 re(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function ae(t,e,i){return Kt(t,Qt(e,i))}function le(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ce(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const he={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=Vt(i.placement),l=re(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return le("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ce(t,yt))}(s.padding,i),d=Jt(o),u="y"===l?gt:bt,f="y"===l?mt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],g=r[l]-i.rects.reference[l],m=oe(o),_=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,b=p/2-g/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=ae(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)))&&Zt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function de(t){return t.split("-")[1]}var ue={top:"auto",right:"auto",bottom:"auto",left:"auto"};function fe(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,g=void 0===p?0:p,m="function"==typeof h?h({x:f,y:g}):{x:f,y:g};f=m.x,g=m.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=bt,y=gt,w=window;if(c){var A=oe(i),E="clientHeight",T="clientWidth";A===Bt(i)&&"static"!==te(A=ie(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===gt||(s===bt||s===_t)&&o===At)&&(y=mt,g-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,g*=l?1:-1),s!==bt&&(s!==gt&&s!==mt||o!==At)||(v=_t,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&&ue),x=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:Xt(e*n)/n||0,y:Xt(i*n)/n||0}}({x:f,y:g}):{x:f,y:g};return f=x.x,g=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+g+"px)":"translate3d("+f+"px, "+g+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?g+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const pe={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:Vt(e.placement),variation:de(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,fe(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,fe(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 ge={passive:!0};const me={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=Bt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ge)})),a&&l.addEventListener("resize",i.update,ge),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ge)})),a&&l.removeEventListener("resize",i.update,ge)}},data:{}};var _e={left:"right",right:"left",bottom:"top",top:"bottom"};function be(t){return t.replace(/left|right|bottom|top/g,(function(t){return _e[t]}))}var ve={start:"end",end:"start"};function ye(t){return t.replace(/start|end/g,(function(t){return ve[t]}))}function we(t){var e=Bt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ae(t){return Gt(ie(t)).left+we(t).scrollLeft}function Ee(t){var e=te(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Te(t){return["html","body","#document"].indexOf(Wt(t))>=0?t.ownerDocument.body:zt(t)&&Ee(t)?t:Te(ne(t))}function Ce(t,e){var i;void 0===e&&(e=[]);var n=Te(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Bt(n),r=s?[o].concat(o.visualViewport||[],Ee(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ce(ne(r)))}function Oe(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function xe(t,e,i){return e===Tt?Oe(function(t,e){var i=Bt(t),n=ie(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ut();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ae(t),y:l}}(t,i)):Ft(e)?function(t,e){var i=Gt(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):Oe(function(t){var e,i=ie(t),n=we(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ae(t),l=-n.scrollTop;return"rtl"===te(s||i).direction&&(a+=Kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ie(t)))}function ke(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Vt(s):null,r=s?de(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case gt:e={x:a,y:i.y-n.height};break;case mt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?re(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case At:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Le(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?Et:a,c=i.rootBoundary,h=void 0===c?Tt:c,d=i.elementContext,u=void 0===d?Ct:d,f=i.altBoundary,p=void 0!==f&&f,g=i.padding,m=void 0===g?0:g,_=le("number"!=typeof m?m:ce(m,yt)),b=u===Ct?Ot:Ct,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Ce(ne(t)),i=["absolute","fixed"].indexOf(te(t).position)>=0&&zt(t)?oe(t):t;return Ft(i)?e.filter((function(t){return Ft(t)&&Zt(t,i)&&"body"!==Wt(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=xe(t,i,n);return e.top=Kt(s.top,e.top),e.right=Qt(s.right,e.right),e.bottom=Qt(s.bottom,e.bottom),e.left=Kt(s.left,e.left),e}),xe(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}(Ft(y)?y:y.contextElement||ie(t.elements.popper),l,h,r),A=Gt(t.elements.reference),E=ke({reference:A,element:v,strategy:"absolute",placement:s}),T=Oe(Object.assign({},v,E)),C=u===Ct?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===Ct&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[_t,mt].indexOf(t)>=0?1:-1,i=[gt,mt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function De(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?kt:l,h=de(n),d=h?a?xt:xt.filter((function(t){return de(t)===h})):yt,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]=Le(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Vt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Se={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,g=i.allowedAutoPlacements,m=e.options.placement,_=Vt(m),b=l||(_!==m&&p?function(t){if(Vt(t)===vt)return[];var e=be(t);return[ye(t),e,ye(e)]}(m):[be(m)]),v=[m].concat(b).reduce((function(t,i){return t.concat(Vt(i)===vt?De(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:g}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,D=L?"width":"height",S=Le(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=L?k?_t:bt:k?mt:gt;y[D]>w[D]&&(I=be(I));var N=be(I),P=[];if(o&&P.push(S[x]<=0),a&&P.push(S[I]<=0,S[N]<=0),P.every((function(t){return t}))){T=O,E=!1;break}A.set(O,P)}if(E)for(var j=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"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ie(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 Ne(t){return[gt,_t,mt,bt].some((function(e){return t[e]>=0}))}const Pe={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=Le(e,{elementContext:"reference"}),a=Le(e,{altBoundary:!0}),l=Ie(r,n),c=Ie(a,s,o),h=Ne(l),d=Ne(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})}},je={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=kt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Vt(t),s=[bt,gt].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,[bt,_t].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}},Me={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ke({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},He={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,g=void 0===p?0:p,m=Le(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Vt(e.placement),b=de(e.placement),v=!b,y=re(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,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,D="y"===y?gt:bt,S="y"===y?mt:_t,I="y"===y?"height":"width",N=A[y],P=N+m[D],j=N-m[S],M=f?-T[I]/2:0,H=b===wt?E[I]:T[I],$=b===wt?-T[I]:-E[I],W=e.elements.arrow,B=f&&W?Jt(W):{width:0,height:0},F=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=F[D],q=F[S],R=ae(0,E[I],B[I]),V=v?E[I]/2-M-R-z-O.mainAxis:H-R-z-O.mainAxis,K=v?-E[I]/2+M+R+q+O.mainAxis:$+R+q+O.mainAxis,Q=e.elements.arrow&&oe(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=N+K-Y,G=ae(f?Qt(P,N+V-Y-X):P,N,f?Kt(j,U):j);A[y]=G,k[y]=G-N}if(a){var J,Z="x"===y?gt:bt,tt="x"===y?mt:_t,et=A[w],it="y"===w?"height":"width",nt=et+m[Z],st=et-m[tt],ot=-1!==[gt,bt].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=ae(t,e,i);return n>i?i:n}(at,et,lt):ae(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function $e(t,e,i){void 0===i&&(i=!1);var n,s,o=zt(e),r=zt(e)&&function(t){var e=t.getBoundingClientRect(),i=Xt(e.width)/t.offsetWidth||1,n=Xt(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ie(e),l=Gt(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Wt(e)||Ee(a))&&(c=(n=e)!==Bt(n)&&zt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:we(n)),zt(e)?((h=Gt(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ae(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function We(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 Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Fe(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.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)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=Q.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.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=Q.find(ti);for(const i of e){const e=hi.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=[Xe,Ye].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ze)?this:Q.prev(this,Ze)[0]||Q.next(this,Ze)[0]||Q.findOne(Ze,t.delegateTarget.parentNode),o=hi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ge,Ze,hi.dataApiKeydownHandler),P.on(document,Ge,ei,hi.dataApiKeydownHandler),P.on(document,Ue,hi.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",hi.clearMenus),P.on(document,Ue,Ze,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ui=".sticky-top",fi="padding-right",pi="margin-right";class gi{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,fi,(e=>e+t)),this._setElementAttributes(di,fi,(e=>e+t)),this._setElementAttributes(ui,pi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,fi),this._resetElementAttributes(di,fi),this._resetElementAttributes(ui,pi)}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&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.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 Q.find(t,this._element))e(i)}}const mi="show",_i="mousedown.bs.backdrop",bi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},vi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class yi extends F{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return bi}static get DefaultType(){return vi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void m(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(mi),this._emulateAnimation((()=>{m(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(mi),this._emulateAnimation((()=>{this.dispose(),m(t)}))):m(t)}dispose(){this._isAppended&&(P.off(this._element,_i),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),P.on(t,_i,(()=>{m(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const wi=".bs.focustrap",Ai="backward",Ei={autofocus:!0,trapElement:null},Ti={autofocus:"boolean",trapElement:"element"};class Ci extends F{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ei}static get DefaultType(){return Ti}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,wi),P.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),P.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,wi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=Q.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Ai?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ai:"forward")}}const Oi="hidden.bs.modal",xi="show.bs.modal",ki="modal-open",Li="show",Di="modal-static",Si={backdrop:!0,focus:!0,keyboard:!0},Ii={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ni extends z{constructor(t,e){super(t,e),this._dialog=Q.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new gi,this._addEventListeners()}static get Default(){return Si}static get DefaultType(){return Ii}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(ki),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Li),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])P.off(t,".bs.modal");this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new yi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ci({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=Q.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(Li),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.modal",(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),P.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),P.on(this._element,"mousedown.dismiss.bs.modal",(t=>{P.one(this._element,"click.dismiss.bs.modal",(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(ki),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,Oi)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Di)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Di),this._queueCallback((()=>{this._element.classList.remove(Di),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=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,xi,(t=>{t.defaultPrevented||P.one(e,Oi,(()=>{a(this)&&this.focus()}))}));const i=Q.findOne(".modal.show");i&&Ni.getInstance(i).hide(),Ni.getOrCreateInstance(e).toggle(this)})),q(Ni),g(Ni);const Pi="show",ji="showing",Mi="hiding",Hi=".offcanvas.show",$i="hidePrevented.bs.offcanvas",Wi="hidden.bs.offcanvas",Bi={backdrop:!0,keyboard:!0,scroll:!1},Fi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class zi extends z{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Bi}static get DefaultType(){return Fi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new gi).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ji),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Pi),this._element.classList.remove(ji),P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Mi),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Pi,Mi),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new gi).reset(),P.trigger(this._element,Wi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new yi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,$i)}:null})}_initializeFocusTrap(){return new Ci({trapElement:this._element})}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,$i))}))}static jQueryInterface(t){return this.each((function(){const e=zi.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)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;P.one(e,Wi,(()=>{a(this)&&this.focus()}));const i=Q.findOne(Hi);i&&i!==e&&zi.getInstance(i).hide(),zi.getOrCreateInstance(e).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of Q.find(Hi))zi.getOrCreateInstance(t).show()})),P.on(window,"resize.bs.offcanvas",(()=>{for(const t of Q.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&zi.getOrCreateInstance(t).hide()})),q(zi),g(zi);const qi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Ri=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Vi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ki=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!qi.has(i)||Boolean(Ri.test(t.nodeValue)||Vi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Qi={"*":["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:[]},Xi={allowList:Qi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Yi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ui={entry:"(string|element|function|null)",selector:"(string|element)"};class Gi extends F{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Xi}static get DefaultType(){return Yi}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},Ui)}_setContent(t,e,i){const n=Q.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)Ki(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return"function"==typeof t?t(this):t}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ji=new Set(["sanitize","allowList","sanitizeFn"]),Zi="fade",tn="show",en=".modal",nn="hide.bs.modal",sn="hover",on="focus",rn={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},an={allowList:Qi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ln={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 cn extends z{constructor(t,e){if(void 0===Ke)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 an}static get DefaultType(){return ln}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),P.off(this._element.closest(en),nn,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=P.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),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._queueCallback((()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.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(Zi,tn),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(Zi),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Gi({...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(Zi)}_isShown(){return this.tip&&this.tip.classList.contains(tn)}_createPopper(t){const e="function"==typeof this._config.placement?this._config.placement.call(this,t,this._element):this._config.placement,i=rn[e.toUpperCase()];return Ve(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"function"==typeof t?t.call(this._element):t}_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,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===sn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===sn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?on:sn]=!0,e._enter()})),P.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?on:sn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(en),nn,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=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ji.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 in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);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=cn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(cn);const hn={...cn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},dn={...cn.DefaultType,content:"(null|string|element|function)"};class un extends cn{static get Default(){return hn}static get DefaultType(){return dn}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=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn="click.bs.scrollspy",pn="active",gn="[href]",mn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},_n={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class bn extends z{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 mn}static get DefaultType(){return _n}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&&(P.off(this._config.target,fn),P.on(this._config.target,fn,gn,(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=Q.find(gn,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=Q.findOne(e.hash,this._element);a(t)&&(this._targetLinks.set(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(pn),this._activateParents(t),P.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))Q.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(pn);else for(const e of Q.parents(t,".nav, .list-group"))for(const t of Q.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(pn)}_clearActiveClass(t){t.classList.remove(pn);const e=Q.find("[href].active",t);for(const t of e)t.classList.remove(pn)}static jQueryInterface(t){return this.each((function(){const e=bn.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]()}}))}}P.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of Q.find('[data-bs-spy="scroll"]'))bn.getOrCreateInstance(t)})),g(bn);const vn="ArrowLeft",yn="ArrowRight",wn="ArrowUp",An="ArrowDown",En="active",Tn="fade",Cn="show",On='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',xn=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${On}`;class kn extends z{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,"keydown.bs.tab",(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?P.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;P.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(En),this._activate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add(Cn)}),t,t.classList.contains(Tn)))}_deactivate(t,e){t&&(t.classList.remove(En),t.blur(),this._deactivate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove(Cn)}),t,t.classList.contains(Tn)))}_keydown(t){if(![vn,yn,wn,An].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[yn,An].includes(t.key),i=b(this._getChildren().filter((t=>!l(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),kn.getOrCreateInstance(i).show())}_getChildren(){return Q.find(xn,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=n(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=Q.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",En),n(".dropdown-menu",Cn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(En)}_getInnerElement(t){return t.matches(xn)?t:Q.findOne(xn,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=kn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab",On,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||kn.getOrCreateInstance(this).show()})),P.on(window,"load.bs.tab",(()=>{for(const t of Q.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))kn.getOrCreateInstance(t)})),g(kn);const Ln="hide",Dn="show",Sn="showing",In={animation:"boolean",autohide:"boolean",delay:"number"},Nn={animation:!0,autohide:!0,delay:5e3};class Pn extends z{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Nn}static get DefaultType(){return In}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Ln),d(this._element),this._element.classList.add(Dn,Sn),this._queueCallback((()=>{this._element.classList.remove(Sn),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(Sn),this._queueCallback((()=>{this._element.classList.add(Ln),this._element.classList.remove(Sn,Dn),P.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Dn),super.dispose()}isShown(){return this._element.classList.contains(Dn)}_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(){P.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),P.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Pn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return q(Pn),g(Pn),{Alert:R,Button:K,Carousel:at,Collapse:pt,Dropdown:hi,Modal:Ni,Offcanvas:zi,Popover:un,ScrollSpy:bn,Tab:kn,Toast:Pn,Tooltip:cn}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/extension/bootstrap.min.css b/extension/bootstrap.min.css new file mode 100644 index 000000000..f06f5239a --- /dev/null +++ b/extension/bootstrap.min.css @@ -0,0 +1,7 @@ +@charset "UTF-8";/*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--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-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--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-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--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.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}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:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button: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 + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::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:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--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,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.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-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#bacbe6;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--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:#e2e3e5;--bs-table-border-color:#cbccce;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--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:#d1e7dd;--bs-table-border-color:#bcd0c7;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--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:#cff4fc;--bs-table-border-color:#badce3;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--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:#fff3cd;--bs-table-border-color:#e6dbb9;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--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:#f8d7da;--bs-table-border-color:#dfc2c4;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--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:#212529;--bs-table-border-color:#373b3e;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--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{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;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:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;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::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image: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");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.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:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-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]{background-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{background-color:#0d6efd;border-color:#0d6efd;background-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{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image: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");background-position:left center;border-radius:2em;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{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image: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}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;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-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.375rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image: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"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.375rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image: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"),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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):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:#212529;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--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;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);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,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{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,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active: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-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.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:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--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-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.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 .35s 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}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-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 transparent;border-bottom:0;border-left:.3em solid transparent}.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:#212529;--bs-dropdown-bg:#fff;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:0.375rem;--bs-dropdown-border-width:1px;--bs-dropdown-inner-border-radius:calc(0.375rem - 1px);--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--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:#212529;--bs-dropdown-link-hover-color:#1e2125;--bs-dropdown-link-hover-bg:#e9ecef;--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--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);border-radius:var(--bs-dropdown-border-radius)}.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 transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.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 transparent;border-right:0;border-bottom:.3em solid transparent;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 transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.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;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{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:transparent}.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:.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:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--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-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#6c757d;display:flex;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;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:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.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.375rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color:#495057;--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));background:0 0;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{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));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:0.375rem;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.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-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;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:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--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='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;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;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{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;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{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:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;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:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);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;justify-content:flex-start}.navbar-expand-sm .navbar-nav{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;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!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;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{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;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!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;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{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;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!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;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{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;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!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;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{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;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!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;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{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;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--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='rgba%28255, 255, 255, 0.55%29' 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-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0, 0, 0, 0.03);--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;flex-direction:column;min-width:0;height:var(--bs-card-height);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);border-radius:var(--bs-card-border-radius)}.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;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{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)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.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-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.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-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.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(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.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);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:#212529;--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:var(--bs-border-color);--bs-accordion-border-width:1px;--bs-accordion-border-radius:0.375rem;--bs-accordion-inner-border-radius:calc(0.375rem - 1px);--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:#212529;--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%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='%230c63e4'%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:#86b7fe;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:#0c63e4;--bs-accordion-active-bg:#e7f1ff}.accordion-button{position:relative;display:flex;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;border-radius: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;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:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.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;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.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:#6c757d;--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:#6c757d;display:flex;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);border-radius:var(--bs-breadcrumb-border-radius)}.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, "/")}.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:var(--bs-link-color);--bs-pagination-bg:#fff;--bs-pagination-border-width:1px;--bs-pagination-border-color:#dee2e6;--bs-pagination-border-radius:0.375rem;--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:#e9ecef;--bs-pagination-hover-border-color:#dee2e6;--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:#e9ecef;--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:#6c757d;--bs-pagination-disabled-bg:#fff;--bs-pagination-disabled-border-color:#dee2e6;display: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;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)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{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:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.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.25rem}.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.375rem;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;border-radius:var(--bs-badge-border-radius)}.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:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;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);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:#084298;--bs-alert-bg:#cfe2ff;--bs-alert-border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color:#41464b;--bs-alert-bg:#e2e3e5;--bs-alert-border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color:#0f5132;--bs-alert-bg:#d1e7dd;--bs-alert-border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color:#055160;--bs-alert-bg:#cff4fc;--bs-alert-border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color:#664d03;--bs-alert-bg:#fff3cd;--bs-alert-border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color:#842029;--bs-alert-bg:#f8d7da;--bs-alert-border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color:#636464;--bs-alert-bg:#fefefe;--bs-alert-border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color:#141619;--bs-alert-bg:#d3d3d4;--bs-alert-border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:#e9ecef;--bs-progress-border-radius:0.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;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,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.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:#212529;--bs-list-group-bg:#fff;--bs-list-group-border-color:rgba(0, 0, 0, 0.125);--bs-list-group-border-width:1px;--bs-list-group-border-radius:0.375rem;--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:#495057;--bs-list-group-action-hover-color:#495057;--bs-list-group-action-hover-bg:#f8f9fa;--bs-list-group-action-active-color:#212529;--bs-list-group-action-active-bg:#e9ecef;--bs-list-group-disabled-color:#6c757d;--bs-list-group-disabled-bg:#fff;--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.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:focus,.list-group-item-action:hover{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;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.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}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.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}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.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}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.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}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.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}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.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}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.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{border-radius:0}.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-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent 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") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.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:var(--bs-border-color-translucent);--bs-toast-border-radius:0.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color:#6c757d;--bs-toast-header-bg:rgba(255, 255, 255, 0.85);--bs-toast-header-border-color:rgba(0, 0, 0, 0.05);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);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;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);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.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:var(--bs-border-color-translucent);--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:var(--bs-border-color);--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:var(--bs-border-color);--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;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;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);border-radius:var(--bs-modal-border-radius);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;flex-shrink:0;align-items:center;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);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.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;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;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);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.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;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius: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;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius: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;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius: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;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius: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;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius: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;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius: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.375rem;--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;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);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:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .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-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .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);border-radius:var(--bs-tooltip-border-radius)}.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:var(--bs-border-color-translucent);--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: ;--bs-popover-header-bg:#f0f0f0;--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:#212529;--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:var(--bs-font-sans-serif);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);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.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-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.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-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.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);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.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}.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%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-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;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;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 transparent;border-bottom:10px solid transparent;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-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{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)}}.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:transparent}.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-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--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: ;--bs-offcanvas-bg:#fff;--bs-offcanvas-border-width:1px;--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;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:transform .3s ease-in-out}}@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%)}}@media (max-width:575.98px){.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%)}}@media (max-width:575.98px){.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%)}}@media (max-width:575.98px){.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%)}}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}}@media (max-width:575.98px){.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;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:transform .3s ease-in-out}}@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%)}}@media (max-width:767.98px){.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%)}}@media (max-width:767.98px){.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%)}}@media (max-width:767.98px){.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%)}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}}@media (max-width:767.98px){.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;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:transform .3s ease-in-out}}@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%)}}@media (max-width:991.98px){.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%)}}@media (max-width:991.98px){.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%)}}@media (max-width:991.98px){.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%)}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}}@media (max-width:991.98px){.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;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:transform .3s ease-in-out}}@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%)}}@media (max-width:1199.98px){.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%)}}@media (max-width:1199.98px){.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%)}}@media (max-width:1199.98px){.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%)}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}}@media (max-width:1199.98px){.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;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:transform .3s ease-in-out}}@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%)}}@media (max-width:1399.98px){.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%)}}@media (max-width:1399.98px){.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%)}}@media (max-width:1399.98px){.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%)}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}}@media (max-width:1399.98px){.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;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:transform .3s ease-in-out}@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.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{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;align-items:center;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(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{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{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(13,110,253,var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(108,117,125,var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(13,202,240,var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(255,193,7,var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(220,53,69,var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(248,249,250,var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(33,37,41,var(--bs-bg-opacity,1))!important}.link-primary{color:#0d6efd!important}.link-primary:focus,.link-primary:hover{color:#0a58ca!important}.link-secondary{color:#6c757d!important}.link-secondary:focus,.link-secondary:hover{color:#565e64!important}.link-success{color:#198754!important}.link-success:focus,.link-success:hover{color:#146c43!important}.link-info{color:#0dcaf0!important}.link-info:focus,.link-info:hover{color:#3dd5f3!important}.link-warning{color:#ffc107!important}.link-warning:focus,.link-warning:hover{color:#ffcd39!important}.link-danger{color:#dc3545!important}.link-danger:focus,.link-danger:hover{color:#b02a37!important}.link-light{color:#f8f9fa!important}.link-light:focus,.link-light:hover{color:#f9fafb!important}.link-dark{color:#212529!important}.link-dark:focus,.link-dark:hover{color:#1a1e21!important}.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:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;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}.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;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}.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}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display: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}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;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-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-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-1{--bs-border-width:1px}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.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}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!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-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:#6c757d!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-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}.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:transparent!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-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;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-2xl)!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-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float: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-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}.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}.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-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}.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}.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-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}.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}.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-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}.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}.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-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}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!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-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}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/extension/content.js b/extension/content.js index da7377507..a029face0 100644 --- a/extension/content.js +++ b/extension/content.js @@ -29,7 +29,7 @@ function getReviews() { let obj = { name: info[0].textContent, star: s, - review: dateil, + text: dateil, location: location, }; arr.push(obj); diff --git a/extension/popup.css b/extension/popup.css index e69de29bb..2baac37c5 100644 --- a/extension/popup.css +++ b/extension/popup.css @@ -0,0 +1,8 @@ +.hungry-panda { + width: 420px; +} + +.review-card { + height: 120px; + overflow-y: scroll; +} diff --git a/extension/popup.html b/extension/popup.html index 8988b8be4..24c3af237 100644 --- a/extension/popup.html +++ b/extension/popup.html @@ -5,24 +5,112 @@ Document + - + -

+
+

+ Our score for this shop + + ? + + ... +

+ +
+
+

+ +

+
+
+
    +
    +
    +
    +
    +

    + +

    +
    +
    + + + +
    +
    +
    +
    +
    + - diff --git a/extension/popup.js b/extension/popup.js index deb27aa17..ef1435bde 100644 --- a/extension/popup.js +++ b/extension/popup.js @@ -1,66 +1,65 @@ +const finalScoreEl = document.getElementById('final-score'); +const dishesUlEl = document.getElementById('dish-frequency'); +const reviewsUlEl = document.getElementById('sentiment-scores'); + +const popoverTriggerList = document.querySelectorAll( + '[data-bs-toggle="popover"]' +); +const popoverList = [...popoverTriggerList].map( + (popoverTriggerEl) => new bootstrap.Popover(popoverTriggerEl) +); + chrome.tabs.query({ active: true, lastFocusedWindow: true }, (tabs) => { chrome.tabs.sendMessage(tabs[0].id, { hungryPanda: 'START' }, (res) => { - console.log(res.reviews); + fetchData(res.reviews); }); }); -const testH2 = document.querySelector('#testH2'); +async function fetchData(reviews) { + return fetch('http://127.0.0.1:5000', { + method: 'POST', + body: JSON.stringify(reviews), + headers: { 'Content-Type': 'application/json' }, + }) + .then((res) => { + return res.json(); + }) + .then((data) => { + // Display final sentiment score + finalScoreEl.innerText = data['final_score']; -const mocked_data = [ - { - text: 'chicken', - }, - { - text: 'beef', - }, - { - text: 'beef', - }, - { - text: 'pork', - }, - { - text: 'fish', - }, -]; + // Display sorted dish name + count + const sortedFood = data['sorted_food']; + sortedFood.forEach(([dishName, count]) => { + const li = document.createElement('li'); + li.classList.add( + 'list-group-item', + 'd-flex', + 'justify-content-between', + 'align-items-start' + ); + li.innerHTML = `${dishName}${count}`; + dishesUlEl.appendChild(li); + }); -/** - * - * @param {Array} arr - */ -function sortList(arr) { - const counter = new Map(); - arr.forEach((item) => { - const count = (counter.get(item.text)?.count || 0) + 1; - counter.set(item.text, { count, item }); - }); - const mapArr = Array.from(counter.entries()); - mapArr.sort((a, b) => b[1].count - a[1].count); - return mapArr.map((mappedItem) => mappedItem[1].item); + // Display review + sentiment score + const sentimentScores = data['sentiment_scores']; + sentimentScores.forEach(([reviewStr, sentimentScore], idx) => { + const div = document.createElement('div'); + div.classList.add('carousel-item'); + if (idx === 0) div.classList.add('active'); + div.innerHTML = ` +
    +
    +
    Sentimental score: ${sentimentScore}
    +

    ${reviewStr}

    +
    +
    + `; + reviewsUlEl.appendChild(div); + }); + }) + .catch((err) => { + console.error(err); + }); } - -const ulElement = document.createElement('ul'); -const sortedMockedData = sortList(mocked_data); -sortedMockedData.forEach((dish) => { - const li = document.createElement('li'); - li.innerHTML = `${dish.text}`; - ulElement.appendChild(li); -}); -document.body.appendChild(ulElement); - -// console.log('this is from popup.js'); - -// async function testApi() { -// fetch('http://127.0.0.1:5000/') -// .then((res) => { -// return res.json(); -// }) -// .then((data) => { -// testH2.textContent = data.text; -// }) -// .catch((err) => { -// console.error(err); -// }); -// } - -// testApi(); From 83073c6b1c359dc8b2e6db87bc6cfd2472c631d6 Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Wed, 7 Dec 2022 09:51:32 +0800 Subject: [PATCH 13/16] refine getting elements --- extension/content.js | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/extension/content.js b/extension/content.js index a029face0..a76d1b9e3 100644 --- a/extension/content.js +++ b/extension/content.js @@ -1,16 +1,25 @@ -function getReviews() { - let arr = []; +let reviewSectionEl, reviewUlEl; - const reviewSectionEl = document.querySelector( - 'section[aria-label="Recommended Reviews"]' - ); +window.addEventListener('load', getElements); - const reviewUlEl = reviewSectionEl.querySelector( - 'ul:not([aria-label="Rating"]' - ); +function getElements(maxTimes = 5) { + if (reviewSectionEl && reviewUlEl) return; - let list = reviewUlEl.childNodes; + let times = 0; + while ((!reviewSectionEl || !reviewUlEl) && times < maxTimes) { + reviewSectionEl = document.querySelector( + 'section[aria-label="Recommended Reviews"]' + ); + reviewUlEl = reviewSectionEl?.querySelector('ul:not([aria-label="Rating"]'); + times++; + } +} +function getReviews() { + let arr = []; + + getElements(); + let list = reviewUlEl.childNodes; let len = reviewUlEl.childNodes.length; for (let i = 0; i < len; i++) { From 8d752a1acae2f274aca8f6e3d78734e90e0fabb5 Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Wed, 7 Dec 2022 10:16:10 +0800 Subject: [PATCH 14/16] modified readme with how to run --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 2a5336ee0..baf9dc685 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,13 @@ # Install +## Frontend + +1. Clone the repository, +2. Go to the Extensions page by entering chrome://extensions in a new tab. (By design chrome:// URLs are not linkable.) +3. Enable Developer Mode by clicking the toggle switch next to Developer mode. +4. Click the Load unpacked button and select the extension directory. + ## Backend There are 2 ways of installing the current dependencies: @@ -38,6 +45,11 @@ If you need to add a new dependency to the project, use the command: `pip instal - Starting the development server can be done by running this command in your terminal: `flask --app backend/app run --reload`. Then you can use [Postman](https://www.postman.com/) to interact with the endpoints. - But you can also create an independent Python script that performs the desired action (say `nlp.py` under the `backend` folder), and develop further by running `python backend/nlp.py` in the root directory. In this way, you avoid the need of running the server during your development. +# How to run + +1. Run the backend via `flask --app backend/app run --reload`. +2. Go to a Yelp website in Chrome and click on the extension icon. + # Course Project Please fork this repository and paste the github link of your fork on Microsoft CMT. Detailed instructions are on Coursera under Week 1: Course Project Overview/Week 9 Activities. From d3469a6e5556094129a9c131c58b609691382515 Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Wed, 7 Dec 2022 11:00:08 +0800 Subject: [PATCH 15/16] change score digit --- extension/popup.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extension/popup.js b/extension/popup.js index ef1435bde..24618da1d 100644 --- a/extension/popup.js +++ b/extension/popup.js @@ -26,7 +26,7 @@ async function fetchData(reviews) { }) .then((data) => { // Display final sentiment score - finalScoreEl.innerText = data['final_score']; + finalScoreEl.innerText = Number(data['final_score']).toFixed(1); // Display sorted dish name + count const sortedFood = data['sorted_food']; From dcd7515bba40815e548bcddaa1003f7389db48b4 Mon Sep 17 00:00:00 2001 From: Tingyu Zeng <75454664+tienuur@users.noreply.github.com> Date: Thu, 8 Dec 2022 10:13:24 +0800 Subject: [PATCH 16/16] add video link --- Documentation.pdf | Bin 0 -> 110367 bytes README.md | 35 ++++++++++++++++++++++++++++------- 2 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 Documentation.pdf diff --git a/Documentation.pdf b/Documentation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..141982b4582061539e187c226c53591f28e72ac9 GIT binary patch literal 110367 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%0DK62~t&>Re zH0i?|g}V(G9qyvOHpc(f;&)L!@Q@3>82EYX*uUZ zEW`o|Xk>5T9q2rK-$rsOJ6(=&q;#{p`o7J#Pb7U_9x8ZCQY*pSE)6GN~7XmEztCwgVxu7w9X$27<;n`6$I9eDfr z)*>BQCMoI0jpicmR#-YSU;kL4-~{A@l#ijoF>}fkW&Q1(XDc)}24M>OUEVUrHcyM# zw=tCe%H&bSBIa`?a+(?|rjN9{kX7My@v^*ms*0c_oQaa)@LX4|ZT)0gO`PekV+29` zRqy|fobeCM^j~r_;CuahfSa+m-G6IwClbMk4h(`L=l~?opBD&;K)?_nBhdeAdyC$? zK$d@M5Ev2-uvqqKU@!!HFb)oc0c4JSaR>|y0MzW)PzWdtc)sk51MassS^G2y3s zYjB_e4#vR|h+paq;G7@_ec?#V9-U=hZU{7N4;gbnLjY`|gBk{Nus0CE!}_3xf`h@o zYEZ<%{XoId;DdEWAz-M3z8En2R}BJz9PBj=1i3d<`|`j*AprDfp9TS=;Rk&I4S8^X z0d1eJ9SLV@K_KnnjZ{rt2zz6B{jQaj9S8~}yGOT@vox{-0cJl(*wzk5vimu}KraG} MB|2VSX=Ryz0V7VpE&u=k literal 0 HcmV?d00001 diff --git a/README.md b/README.md index baf9dc685..3dc39bc61 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,34 @@ **Team name**: Hungry Panda **Team member**: -| Name | netid | -| ---- | ----- | -| Tingyu Zeng | tzeng11 | -| Sicheng Meng | meng29 | -| Yiwei Kuang | yiwei9 | -| Jiachun Tang | jiachun5 | -| Fangsheng Yang | fyang28 | +| Name | Netid | Contribution | +| ---- | ----- | ------------ | +| Tingyu Zeng | tzeng11 | Architecture | +| Sicheng Meng | meng29 | Extension: data crawling | +| Yiwei Kuang | yiwei9 | Backend: info retrieval and sentiment analysis | +| Jiachun Tang | jiachun5 | Backend: info retrieval and sentiment analysis | +| Fangsheng Yang | fyang28 | Extension: data presentation | # Folder structure + - Project proposal: [Proposal.pdf](Proposal.pdf) - Progress report: [Progress_Report.pdf](Progress_Report.pdf) +- Documentation: [Documentation.pdf](Documentation.pdf) + +# 🎥 Presentation video + +**The presentation video** can be accessed via [this link](https://youtu.be/mS6M2M5O2r8) (YouTube). + +# Overview + +When Yelp users rate a restaurant, they tend to give the rating based not only on taste and quality of the food, but also other factors such as service, prices, comfort, atmosphere, parking, and location, etc. + +As a group of Chinese students, our favorite dim sum restaurants usually don’t have a high rating on Yelp, partly because traditional dim sum places focus on taste of food, but many of them don’t focus on service, known as “cantonese hospitality”. You have to read each review if you want to know how good the food is. + +We don't want to let bad service overshadow good food. Through text retrieval and mining techniques, we think it would be a great idea to analyze reviews that focus on food only. + +With that interest, we created a Chrome-based extension to give an overview of what kind of food are frequently mentioned in the reviews and based on the review content what should be the sentimental score for this restaurant. + # Install @@ -50,6 +67,10 @@ If you need to add a new dependency to the project, use the command: `pip instal 1. Run the backend via `flask --app backend/app run --reload`. 2. Go to a Yelp website in Chrome and click on the extension icon. +# Implementation Details + +See Documentation.pdf or code comments. + # Course Project Please fork this repository and paste the github link of your fork on Microsoft CMT. Detailed instructions are on Coursera under Week 1: Course Project Overview/Week 9 Activities.