diff --git a/static/components/font-awesome-4.7.0/HELP-US-OUT.txt b/static/components/font-awesome-4.7.0/HELP-US-OUT.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83d083dd770c94ee238774e2df508094ff5cc3a1
--- /dev/null
+++ b/static/components/font-awesome-4.7.0/HELP-US-OUT.txt
@@ -0,0 +1,7 @@
+I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,
+Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,
+comprehensive icon sets or copy and paste your own.
+
+Please. Check it out.
+
+-Dave Gandy
diff --git a/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.eot b/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928
Binary files /dev/null and b/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.eot differ
diff --git a/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.svg b/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.svg
index c2669fc930ee48a4a0ca183ce6eb70126228c164..855c845e538b65548118279537a04eab2ec6ef0d 100644
--- a/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.svg
+++ b/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.svg
@@ -1783,4 +1783,889 @@ d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -
 h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
 t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
     <glyph glyph-name="_488" unicode="&#xf208;" horiz-adv-x="2048" 
-d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 
\ No newline at end of file
+d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327
+q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5
+q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
+    <glyph glyph-name="_489" unicode="&#xf209;" horiz-adv-x="1280" 
+d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119
+t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5
+t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14
+q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88
+q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5
+t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
+    <glyph glyph-name="_490" unicode="&#xf20a;" horiz-adv-x="2048" 
+d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206
+q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307
+t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14
+t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
+    <glyph glyph-name="_491" unicode="&#xf20b;" 
+d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5
+t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_492" unicode="&#xf20c;" 
+d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55
+q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410
+q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
+    <glyph glyph-name="_493" unicode="&#xf20d;" 
+d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
+    <glyph glyph-name="_494" unicode="&#xf20e;" horiz-adv-x="2048" 
+d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335
+q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5
+q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438
+h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66
+l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946
+l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82
+zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
+    <glyph glyph-name="f210" unicode="&#xf210;" 
+d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
+    <glyph glyph-name="_496" unicode="&#xf211;" 
+d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384
+q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
+    <glyph glyph-name="f212" unicode="&#xf212;" horiz-adv-x="2048" 
+d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021
+q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25
+q209 0 374 -102q172 107 374 102z" />
+    <glyph glyph-name="_498" unicode="&#xf213;" horiz-adv-x="2048" 
+d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101
+q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284
+q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
+    <glyph glyph-name="_499" unicode="&#xf214;" 
+d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34
+l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114
+v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z
+M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378
+v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51
+h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5
+t-43 -34t-16.5 -53.5z" />
+    <glyph glyph-name="_500" unicode="&#xf215;" horiz-adv-x="2048" 
+d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832
+q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
+    <glyph glyph-name="_501" unicode="&#xf216;" horiz-adv-x="2048" 
+d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5
+t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113
+t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5
+q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
+    <glyph glyph-name="_502" unicode="&#xf217;" horiz-adv-x="1664" 
+d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_503" unicode="&#xf218;" horiz-adv-x="1664" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_504" unicode="&#xf219;" horiz-adv-x="2048" 
+d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20
+l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
+    <glyph glyph-name="_505" unicode="&#xf21a;" horiz-adv-x="2048" 
+d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83
+q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314
+v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
+    <glyph glyph-name="_506" unicode="&#xf21b;" 
+d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14
+t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5
+q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31
+t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
+    <glyph glyph-name="_507" unicode="&#xf21c;" horiz-adv-x="2304" 
+d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5
+t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105
+l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226
+t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
+    <glyph glyph-name="_508" unicode="&#xf21d;" 
+d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12
+q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384
+q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5
+t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_509" unicode="&#xf21e;" horiz-adv-x="1792" 
+d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221
+q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124
+t127 -344z" />
+    <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292
+q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
+    <glyph glyph-name="_511" unicode="&#xf222;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5
+q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_512" unicode="&#xf223;" horiz-adv-x="1280" 
+d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5
+t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_513" unicode="&#xf224;" 
+d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_514" unicode="&#xf225;" horiz-adv-x="1792" 
+d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9
+t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_515" unicode="&#xf226;" horiz-adv-x="1792" 
+d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23
+t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391
+q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391
+q0 -226 -154 -391q103 -57 218 -57z" />
+    <glyph glyph-name="_516" unicode="&#xf227;" horiz-adv-x="1920" 
+d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230
+q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9
+t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128
+q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
+    <glyph glyph-name="_517" unicode="&#xf228;" horiz-adv-x="2048" 
+d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23
+t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9
+t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5
+t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
+    <glyph glyph-name="_518" unicode="&#xf229;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5
+t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_519" unicode="&#xf22a;" horiz-adv-x="1280" 
+d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22
+t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5
+t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_520" unicode="&#xf22b;" horiz-adv-x="2048" 
+d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5
+t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5
+t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_521" unicode="&#xf22c;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_522" unicode="&#xf22d;" horiz-adv-x="1280" 
+d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123
+t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
+    <glyph glyph-name="_523" unicode="&#xf22e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_524" unicode="&#xf22f;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_525" unicode="&#xf230;" 
+d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
+    <glyph glyph-name="_526" unicode="&#xf231;" horiz-adv-x="1280" 
+d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5
+l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5
+q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
+    <glyph glyph-name="_527" unicode="&#xf232;" 
+d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5
+t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233
+l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
+    <glyph glyph-name="_528" unicode="&#xf233;" horiz-adv-x="1792" 
+d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216
+q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
+    <glyph glyph-name="_529" unicode="&#xf234;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5
+t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
+    <glyph glyph-name="_530" unicode="&#xf235;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136
+q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69
+t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
+    <glyph glyph-name="_531" unicode="&#xf236;" horiz-adv-x="2048" 
+d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704
+q-26 0 -45 -19t-19 -45v-384h1152z" />
+    <glyph glyph-name="_532" unicode="&#xf237;" 
+d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
+    <glyph glyph-name="_533" unicode="&#xf238;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56
+t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
+    <glyph glyph-name="_534" unicode="&#xf239;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47
+t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
+    <glyph glyph-name="_535" unicode="&#xf23a;" horiz-adv-x="1792" 
+d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116
+q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
+    <glyph glyph-name="_536" unicode="&#xf23b;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
+    <glyph glyph-name="_537" unicode="&#xf23c;" horiz-adv-x="2296" 
+d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5
+q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5
+q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42
+q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37
+q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5
+q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139
+q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8
+t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132
+q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132
+q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z
+M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86
+t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103
+q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4
+l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130
+t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150
+q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12
+q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
+    <glyph glyph-name="_538" unicode="&#xf23d;" horiz-adv-x="2304" 
+d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5
+t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5
+t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
+    <glyph glyph-name="_539" unicode="&#xf23e;" horiz-adv-x="1792" 
+d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348
+t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23
+t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512
+q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
+    <glyph glyph-name="_540" unicode="&#xf240;" horiz-adv-x="2304" 
+d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113
+v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="_541" unicode="&#xf241;" horiz-adv-x="2304" 
+d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_542" unicode="&#xf242;" horiz-adv-x="2304" 
+d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_543" unicode="&#xf243;" horiz-adv-x="2304" 
+d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_544" unicode="&#xf244;" horiz-adv-x="2304" 
+d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23
+v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_545" unicode="&#xf245;" horiz-adv-x="1280" 
+d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
+    <glyph glyph-name="_546" unicode="&#xf246;" horiz-adv-x="1024" 
+d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
+    <glyph glyph-name="_547" unicode="&#xf247;" horiz-adv-x="2048" 
+d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128
+h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
+    <glyph glyph-name="_548" unicode="&#xf248;" horiz-adv-x="2304" 
+d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256
+v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
+    <glyph glyph-name="_549" unicode="&#xf249;" 
+d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
+    <glyph glyph-name="_550" unicode="&#xf24a;" 
+d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="_551" unicode="&#xf24b;" horiz-adv-x="2304" 
+d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5
+t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88
+t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90
+t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_552" unicode="&#xf24c;" horiz-adv-x="2304" 
+d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294
+t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z
+M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_553" unicode="&#xf24d;" horiz-adv-x="1792" 
+d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113
+zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_554" unicode="&#xf24e;" horiz-adv-x="2304" 
+d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91
+t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5
+t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
+    <glyph glyph-name="_555" unicode="&#xf250;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5
+t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_556" unicode="&#xf251;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
+    <glyph glyph-name="_557" unicode="&#xf252;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
+    <glyph glyph-name="_558" unicode="&#xf253;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196
+h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_559" unicode="&#xf254;" 
+d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87
+t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9
+h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
+    <glyph glyph-name="_560" unicode="&#xf255;" 
+d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25
+q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27
+t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21
+q72 69 174 69z" />
+    <glyph glyph-name="_561" unicode="&#xf256;" horiz-adv-x="1792" 
+d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33
+t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52
+h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
+    <glyph glyph-name="_562" unicode="&#xf257;" horiz-adv-x="1792" 
+d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668
+q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17
+t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5
+t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5
+q0 -42 -23 -78t-61 -53l-310 -141h91z" />
+    <glyph glyph-name="_563" unicode="&#xf258;" horiz-adv-x="2048" 
+d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32
+q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68
+q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
+    <glyph glyph-name="_564" unicode="&#xf259;" horiz-adv-x="2048" 
+d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79
+t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24
+q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26
+l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" />
+    <glyph glyph-name="_565" unicode="&#xf25a;" horiz-adv-x="1792" 
+d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5
+q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5
+v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32
+v-384h32z" />
+    <glyph glyph-name="_566" unicode="&#xf25b;" 
+d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181
+v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46
+q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5
+q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308
+q0 -53 37.5 -90.5t90.5 -37.5h668z" />
+    <glyph glyph-name="_567" unicode="&#xf25c;" horiz-adv-x="1973" 
+d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5
+t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141
+q13 0 22 -8.5t10 -20.5z" />
+    <glyph glyph-name="_568" unicode="&#xf25d;" horiz-adv-x="1792" 
+d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109
+t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640
+q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_569" unicode="&#xf25e;" horiz-adv-x="1792" 
+d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78
+q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5
+t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376
+q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
+    <glyph glyph-name="f260" unicode="&#xf260;" horiz-adv-x="2048" 
+d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
+    <glyph glyph-name="f261" unicode="&#xf261;" horiz-adv-x="1792" 
+d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_572" unicode="&#xf262;" horiz-adv-x="2304" 
+d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57
+t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197
+t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5
+t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5
+t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5
+q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
+    <glyph glyph-name="f263" unicode="&#xf263;" horiz-adv-x="1280" 
+d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5
+t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94
+q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
+    <glyph glyph-name="_574" unicode="&#xf264;" 
+d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32
+q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5
+zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_575" unicode="&#xf265;" horiz-adv-x="1720" 
+d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33
+l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
+    <glyph glyph-name="_576" unicode="&#xf266;" horiz-adv-x="2304" 
+d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540
+q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81
+l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
+    <glyph glyph-name="_577" unicode="&#xf267;" horiz-adv-x="1792" 
+d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640
+q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5
+t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5
+t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5
+t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191
+t191 -286t71 -348z" />
+    <glyph glyph-name="_578" unicode="&#xf268;" horiz-adv-x="1792" 
+d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962
+q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
+    <glyph glyph-name="_579" unicode="&#xf269;" horiz-adv-x="1792" 
+d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5
+q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5
+q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
+    <glyph glyph-name="_580" unicode="&#xf26a;" horiz-adv-x="1792" 
+d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339
+q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z
+" />
+    <glyph glyph-name="_581" unicode="&#xf26b;" horiz-adv-x="1792" 
+d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606
+q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z
+M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
+    <glyph glyph-name="_582" unicode="&#xf26c;" horiz-adv-x="2048" 
+d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23
+v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_583" unicode="&#xf26d;" horiz-adv-x="1792" 
+d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34
+h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100
+q-68 175 -180 287z" />
+    <glyph glyph-name="_584" unicode="&#xf26e;" 
+d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6
+q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13
+q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249
+q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183
+q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46
+t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
+    <glyph glyph-name="_585" unicode="&#xf270;" horiz-adv-x="1792" 
+d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z
+M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30
+q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57
+t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133
+q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
+    <glyph glyph-name="_586" unicode="&#xf271;" horiz-adv-x="1792" 
+d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9
+h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224
+v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
+    <glyph glyph-name="_587" unicode="&#xf272;" horiz-adv-x="1792" 
+d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23
+t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_588" unicode="&#xf273;" horiz-adv-x="1792" 
+d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z
+M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_589" unicode="&#xf274;" horiz-adv-x="1792" 
+d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23
+t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_590" unicode="&#xf275;" horiz-adv-x="1792" 
+d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
+    <glyph glyph-name="_591" unicode="&#xf276;" horiz-adv-x="1024" 
+d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249
+q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
+    <glyph glyph-name="_592" unicode="&#xf277;" horiz-adv-x="1792" 
+d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768
+q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
+    <glyph glyph-name="_593" unicode="&#xf278;" horiz-adv-x="2048" 
+d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173
+v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
+    <glyph glyph-name="_594" unicode="&#xf279;" horiz-adv-x="1792" 
+d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472
+q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
+    <glyph glyph-name="_595" unicode="&#xf27a;" horiz-adv-x="1792" 
+d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37
+t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="_596" unicode="&#xf27b;" horiz-adv-x="1792" 
+d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5
+t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51
+t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
+    <glyph glyph-name="_597" unicode="&#xf27c;" horiz-adv-x="1024" 
+d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
+    <glyph glyph-name="_598" unicode="&#xf27d;" horiz-adv-x="1792" 
+d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246
+q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
+    <glyph glyph-name="f27e" unicode="&#xf27e;" 
+d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
+    <glyph glyph-name="uniF280" unicode="&#xf280;" 
+d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72
+h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275
+l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
+    <glyph glyph-name="uniF281" unicode="&#xf281;" horiz-adv-x="1792" 
+d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5
+l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44
+t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106
+q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
+    <glyph glyph-name="_602" unicode="&#xf282;" horiz-adv-x="1792" 
+d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53
+q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
+    <glyph glyph-name="_603" unicode="&#xf283;" horiz-adv-x="2304" 
+d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
+    <glyph glyph-name="_604" unicode="&#xf284;" horiz-adv-x="1792" 
+d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308
+t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20
+t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" />
+    <glyph glyph-name="uniF285" unicode="&#xf285;" horiz-adv-x="1792" 
+d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
+    <glyph glyph-name="uniF286" unicode="&#xf286;" horiz-adv-x="1792" 
+d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96
+q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5
+q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96
+q16 0 16 -16z" />
+    <glyph glyph-name="_607" unicode="&#xf287;" horiz-adv-x="2304" 
+d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96
+q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5
+t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
+    <glyph glyph-name="_608" unicode="&#xf288;" horiz-adv-x="1792" 
+d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348
+t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_609" unicode="&#xf289;" horiz-adv-x="2304" 
+d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22
+q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5
+q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13
+q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
+    <glyph glyph-name="_610" unicode="&#xf28a;" 
+d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83
+t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20
+q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5
+t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
+    <glyph glyph-name="_611" unicode="&#xf28b;" 
+d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103
+t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_612" unicode="&#xf28c;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
+    <glyph glyph-name="_613" unicode="&#xf28d;" 
+d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="_614" unicode="&#xf28e;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
+    <glyph glyph-name="_615" unicode="&#xf290;" horiz-adv-x="1792" 
+d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_616" unicode="&#xf291;" horiz-adv-x="2048" 
+d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5
+t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416
+q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441
+h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
+    <glyph glyph-name="_617" unicode="&#xf292;" horiz-adv-x="1792" 
+d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12
+q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311
+q15 0 25 -12q9 -12 6 -28z" />
+    <glyph glyph-name="_618" unicode="&#xf293;" 
+d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5
+t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
+    <glyph glyph-name="_619" unicode="&#xf294;" horiz-adv-x="1024" 
+d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
+    <glyph glyph-name="_620" unicode="&#xf295;" 
+d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5
+t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_621" unicode="&#xf296;" horiz-adv-x="1792" 
+d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
+    <glyph glyph-name="_622" unicode="&#xf297;" horiz-adv-x="1792" 
+d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111
+q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
+    <glyph glyph-name="_623" unicode="&#xf298;" 
+d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14
+t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
+    <glyph glyph-name="_624" unicode="&#xf299;" horiz-adv-x="1792" 
+d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57
+q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285
+q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
+    <glyph glyph-name="_625" unicode="&#xf29a;" horiz-adv-x="1792" 
+d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42
+q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
+M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298
+t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_626" unicode="&#xf29b;" 
+d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300
+l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z
+M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
+    <glyph glyph-name="_627" unicode="&#xf29c;" 
+d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5
+t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5
+t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5
+t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_628" unicode="&#xf29d;" horiz-adv-x="1408" 
+d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457
+q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521
+q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661
+q3 -1 7 1t7 4l3 2q11 9 11 17z" />
+    <glyph glyph-name="_629" unicode="&#xf29e;" horiz-adv-x="2304" 
+d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10
+t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5
+t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5
+h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96
+t9.5 -70.5z" />
+    <glyph glyph-name="uniF2A0" unicode="&#xf2a0;" horiz-adv-x="1408" 
+d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5
+q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127
+l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272
+t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249
+q-18 -19 -45 -19z" />
+    <glyph glyph-name="uniF2A1" unicode="&#xf2a1;" horiz-adv-x="2176" 
+d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136
+t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56
+t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56
+t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136
+t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="uniF2A2" unicode="&#xf2a2;" horiz-adv-x="1792" 
+d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z
+M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72
+t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45
+t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4
+q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
+    <glyph glyph-name="uniF2A3" unicode="&#xf2a3;" horiz-adv-x="2304" 
+d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55
+q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5
+q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101
+q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35
+q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5
+q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
+    <glyph glyph-name="uniF2A4" unicode="&#xf2a4;" horiz-adv-x="1792" 
+d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19
+t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74
+t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233
+l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
+    <glyph glyph-name="uniF2A5" unicode="&#xf2a5;" 
+d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2
+q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10
+q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2A6" unicode="&#xf2a6;" horiz-adv-x="1535" 
+d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5
+l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5
+q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9
+q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
+    <glyph glyph-name="uniF2A7" unicode="&#xf2a7;" horiz-adv-x="1664" 
+d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37
+t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38
+l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148
+q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26
+l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
+    <glyph glyph-name="uniF2A8" unicode="&#xf2a8;" horiz-adv-x="1792" 
+d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5
+q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841
+q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5
+q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
+    <glyph glyph-name="uniF2A9" unicode="&#xf2a9;" horiz-adv-x="1280" 
+d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5
+q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z
+M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
+    <glyph glyph-name="uniF2AA" unicode="&#xf2aa;" 
+d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z
+M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5
+q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AB" unicode="&#xf2ab;" 
+d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114
+q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5
+t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="uniF2AC" unicode="&#xf2ac;" horiz-adv-x="1664" 
+d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35
+q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5
+t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
+    <glyph glyph-name="uniF2AD" unicode="&#xf2ad;" 
+d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115
+q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15
+t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AE" unicode="&#xf2ae;" horiz-adv-x="2304" 
+d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7
+q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158
+q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
+    <glyph glyph-name="uniF2B0" unicode="&#xf2b0;" 
+d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104
+q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108
+l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z
+M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
+    <glyph glyph-name="uniF2B1" unicode="&#xf2b1;" horiz-adv-x="1664" 
+d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5
+t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
+    <glyph glyph-name="uniF2B2" unicode="&#xf2b2;" horiz-adv-x="1792" 
+d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5
+t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114
+q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50
+q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5
+t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46
+q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5
+q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177
+t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
+    <glyph glyph-name="uniF2B3" unicode="&#xf2b3;" 
+d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110
+h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="uniF2B4" unicode="&#xf2b4;" 
+d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5
+q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B5" unicode="&#xf2b5;" horiz-adv-x="2304" 
+d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66
+l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180
+q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z
+M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421
+q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B6" unicode="&#xf2b6;" horiz-adv-x="1792" 
+d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107
+t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39
+q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" />
+    <glyph glyph-name="uniF2B7" unicode="&#xf2b7;" horiz-adv-x="1792" 
+d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5
+l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5
+h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94
+q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" />
+    <glyph glyph-name="uniF2B8" unicode="&#xf2b8;" 
+d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465
+l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161
+q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74
+q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" />
+    <glyph glyph-name="uniF2B9" unicode="&#xf2b9;" horiz-adv-x="1664" 
+d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576
+q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216
+q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="uniF2BA" unicode="&#xf2ba;" horiz-adv-x="1664" 
+d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5
+t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96
+q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216
+q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" />
+    <glyph glyph-name="uniF2BB" unicode="&#xf2bb;" horiz-adv-x="2048" 
+d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z
+M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568
+q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9
+h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BC" unicode="&#xf2bc;" horiz-adv-x="2048" 
+d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925
+q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568
+q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5
+t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113
+t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BD" unicode="&#xf2bd;" horiz-adv-x="1792" 
+d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5
+t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2BE" unicode="&#xf2be;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61
+t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5z" />
+    <glyph glyph-name="uniF2C0" unicode="&#xf2c0;" 
+d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5
+t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145
+q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" />
+    <glyph glyph-name="uniF2C1" unicode="&#xf2c1;" horiz-adv-x="1280" 
+d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5
+t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352
+q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C2" unicode="&#xf2c2;" horiz-adv-x="2048" 
+d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56
+t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23
+v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728
+q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C3" unicode="&#xf2c3;" horiz-adv-x="2048" 
+d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z
+M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47
+h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C4" unicode="&#xf2c4;" horiz-adv-x="1792" 
+d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117
+q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5
+t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" />
+    <glyph glyph-name="uniF2C5" unicode="&#xf2c5;" horiz-adv-x="2304" 
+d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21
+t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46
+t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54
+t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29
+q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5
+t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314
+q2 -42 2 -64z" />
+    <glyph glyph-name="uniF2C6" unicode="&#xf2c6;" horiz-adv-x="1792" 
+d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2C7" unicode="&#xf2c7;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C8" unicode="&#xf2c8;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C9" unicode="&#xf2c9;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CA" unicode="&#xf2ca;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CB" unicode="&#xf2cb;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z
+M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" />
+    <glyph glyph-name="uniF2CC" unicode="&#xf2cc;" horiz-adv-x="1920" 
+d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41
+t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19
+t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19
+t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" />
+    <glyph glyph-name="uniF2CD" unicode="&#xf2cd;" horiz-adv-x="1792" 
+d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42
+q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9
+t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23
+t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" />
+    <glyph glyph-name="uniF2CE" unicode="&#xf2ce;" 
+d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5
+t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70
+q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20
+q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5
+t72.5 -263.5z" />
+    <glyph glyph-name="uniF2D0" unicode="&#xf2d0;" horiz-adv-x="1792" 
+d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D1" unicode="&#xf2d1;" horiz-adv-x="1792" 
+d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D2" unicode="&#xf2d2;" horiz-adv-x="2048" 
+d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="uniF2D3" unicode="&#xf2d3;" horiz-adv-x="1792" 
+d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10
+l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D4" unicode="&#xf2d4;" horiz-adv-x="1792" 
+d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D5" unicode="&#xf2d5;" horiz-adv-x="1792" 
+d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D6" unicode="&#xf2d6;" horiz-adv-x="1794" 
+d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12
+t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5
+t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5
+q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5
+q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34
+q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5
+t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D7" unicode="&#xf2d7;" 
+d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89
+q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5
+t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" />
+    <glyph glyph-name="uniF2D8" unicode="&#xf2d8;" 
+d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7
+t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5
+h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113
+v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D9" unicode="&#xf2d9;" horiz-adv-x="2176" 
+d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584
+q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5
+q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15
+q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82
+q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104
+t302 11t306.5 -97q220 -115 333 -336t87 -474z" />
+    <glyph glyph-name="uniF2DA" unicode="&#xf2da;" horiz-adv-x="1792" 
+d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178
+q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199
+t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297
+t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208
+t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" />
+    <glyph glyph-name="uniF2DB" unicode="&#xf2db;" 
+d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16
+q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28
+t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32
+q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16
+h48q16 0 16 -16z" />
+    <glyph glyph-name="uniF2DC" unicode="&#xf2dc;" horiz-adv-x="1664" 
+d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45
+t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33
+q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313
+l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106
+q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" />
+    <glyph glyph-name="uniF2DD" unicode="&#xf2dd;" horiz-adv-x="1792" 
+d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321
+q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" />
+    <glyph glyph-name="uniF2DE" unicode="&#xf2de;" horiz-adv-x="1792" 
+d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62
+t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71
+t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2E0" unicode="&#xf2e0;" horiz-adv-x="1920" 
+d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3
+t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53
+q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5
+q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5
+t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5
+q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z
+M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21
+q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16
+q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" />
+    <glyph glyph-name="uniF2E1" unicode="&#xf2e1;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E2" unicode="&#xf2e2;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E3" unicode="&#xf2e3;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E4" unicode="&#xf2e4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E5" unicode="&#xf2e5;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E6" unicode="&#xf2e6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E7" unicode="&#xf2e7;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_698" unicode="&#xf2e8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E9" unicode="&#xf2e9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EA" unicode="&#xf2ea;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EB" unicode="&#xf2eb;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EC" unicode="&#xf2ec;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2ED" unicode="&#xf2ed;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EE" unicode="&#xf2ee;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="lessequal" unicode="&#xf500;" horiz-adv-x="1792" 
+ />
+  </font>
+</defs></svg>
diff --git a/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 b/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586
Binary files /dev/null and b/static/components/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 differ
diff --git a/static/images/2fa/jupyter-jsc_2fa_img01.png b/static/images/2fa/jupyter-jsc_2fa_img01.png
new file mode 100644
index 0000000000000000000000000000000000000000..27bc7a6164be17d97c232133ad919aceae99497b
Binary files /dev/null and b/static/images/2fa/jupyter-jsc_2fa_img01.png differ
diff --git a/static/images/2fa/jupyter-jsc_2fa_img02.png b/static/images/2fa/jupyter-jsc_2fa_img02.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f9484e22a6510c76cd95b20e46042a184ceb358
Binary files /dev/null and b/static/images/2fa/jupyter-jsc_2fa_img02.png differ
diff --git a/static/images/2fa/jupyter-jsc_2fa_img03.png b/static/images/2fa/jupyter-jsc_2fa_img03.png
new file mode 100644
index 0000000000000000000000000000000000000000..81d2571d0f3ecafde4e0c6c5f86413ca819efe24
Binary files /dev/null and b/static/images/2fa/jupyter-jsc_2fa_img03.png differ
diff --git a/static/images/2fa/jupyter-jsc_2fa_img04-1.png b/static/images/2fa/jupyter-jsc_2fa_img04-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e730fa0042b4206ff3771d09770d7a7c6e219ce
Binary files /dev/null and b/static/images/2fa/jupyter-jsc_2fa_img04-1.png differ
diff --git a/static/images/2fa/jupyter-jsc_2fa_img04.png b/static/images/2fa/jupyter-jsc_2fa_img04.png
new file mode 100644
index 0000000000000000000000000000000000000000..adb1446bc3599361f32c34e0464206656179521b
Binary files /dev/null and b/static/images/2fa/jupyter-jsc_2fa_img04.png differ
diff --git a/static/images/2fa/jupyter-jsc_2fa_img05.png b/static/images/2fa/jupyter-jsc_2fa_img05.png
new file mode 100644
index 0000000000000000000000000000000000000000..8572a76adf3587a4646b3eb01b948b7adc97967d
Binary files /dev/null and b/static/images/2fa/jupyter-jsc_2fa_img05.png differ
diff --git a/static/images/2fa/jupyter-jsc_2fa_img06.png b/static/images/2fa/jupyter-jsc_2fa_img06.png
new file mode 100644
index 0000000000000000000000000000000000000000..e80fd7f265e87467b3c4efadff0a1d07df4a52da
Binary files /dev/null and b/static/images/2fa/jupyter-jsc_2fa_img06.png differ
diff --git a/static/images/2fa/jupyter-jsc_2fa_short_img01.png b/static/images/2fa/jupyter-jsc_2fa_short_img01.png
new file mode 100644
index 0000000000000000000000000000000000000000..b15e46e82570bced9b0da5334736e61026a98c37
Binary files /dev/null and b/static/images/2fa/jupyter-jsc_2fa_short_img01.png differ
diff --git a/static/images/2fa/jupyter-jsc_2fa_short_img02.png b/static/images/2fa/jupyter-jsc_2fa_short_img02.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6e9255d6e70e2a2f1d77d991c22ec19f43b2db8
Binary files /dev/null and b/static/images/2fa/jupyter-jsc_2fa_short_img02.png differ
diff --git a/static/images/favicon.svg b/static/images/favicon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ae1a0d7754516999dc92278d384dcf9810288a35
--- /dev/null
+++ b/static/images/favicon.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
+<style type="text/css">
+	.st0{display:none;}
+	.st1{fill:#023D6B;}
+	.st2{fill:#ADBDE3;}
+	.st3{fill:#025DFF;}
+	.st4{opacity:0.2;fill:#FFFFFF;}
+</style>
+<g id="Ebene_2" class="st0">
+</g>
+<g id="Ebene_1">
+	<g>
+		<g>
+			<g>
+				<g>
+					<g>
+						<path class="st1" d="M15.5,7.95c0.03,4.14-3.31,7.52-7.45,7.55C3.9,15.52,0.53,12.19,0.5,8.05C0.47,3.9,3.81,0.53,7.95,0.5
+							C12.1,0.47,15.47,3.81,15.5,7.95z"/>
+						<path class="st2" d="M11.63,14.56c2.32-1.29,3.89-3.77,3.87-6.61c-0.03-4.14-3.4-7.48-7.55-7.45C3.81,0.53,0.47,3.9,0.5,8.05
+							c0.01,1.21,0.3,2.36,0.82,3.37C1.32,11.42,4.56,14.04,11.63,14.56z"/>
+						<path class="st1" d="M14.25,12.14c0.8-1.2,1.26-2.64,1.25-4.19c-0.03-4.14-3.4-7.48-7.55-7.45C3.81,0.53,0.47,3.9,0.5,8.05
+							c0.01,0.86,0.15,1.68,0.42,2.44C6.97,12.99,11.79,12.59,14.25,12.14z"/>
+						<path class="st3" d="M7.95,0.5C3.81,0.53,0.47,3.9,0.5,8.05c0,0.19,0.01,0.37,0.02,0.55c0.41,0.43,1.22,1.05,3.09,1.48
+							c1.9,0.43,2.25,0.39,4.92,1.18c2.67,0.79,3.73,0.17,4.92,0.21c0.54,0.02,0.95-0.02,1.25-0.07c0.52-1.03,0.82-2.2,0.81-3.44
+							C15.47,3.81,12.1,0.47,7.95,0.5z"/>
+						<path class="st1" d="M7.95,0.5C4.25,0.52,1.19,3.23,0.6,6.77c0.83,0.4,6.31,2.8,14.9,1.22c0-0.01,0-0.02,0-0.03
+							C15.47,3.81,12.1,0.47,7.95,0.5z"/>
+						<path class="st2" d="M1.51,4.23L1.51,4.23c0,0,5.01,3.39,13.96,3.18c-0.3-3.89-3.56-6.94-7.52-6.91
+							C5.2,0.52,2.8,2.02,1.51,4.23z"/>
+						<path class="st3" d="M9.74,4.55c2.58-0.02,3.94,0.37,5.16,0.51c-1.15-2.7-3.83-4.58-6.95-4.56c-2.33,0.01-4.4,1.09-5.76,2.76
+							C3.99,3.94,7.16,4.56,9.74,4.55z"/>
+						<path class="st1" d="M14.44,4.15c-1.32-2.2-3.73-3.67-6.49-3.65C6.53,0.51,5.21,0.91,4.08,1.61l0,0
+							C4.08,1.61,7.22,3.35,14.44,4.15L14.44,4.15z"/>
+						<path class="st1" d="M4.74,1.24c1.63,0.77,4.18,1.56,8.47,1.37C11.85,1.29,10,0.49,7.95,0.5C6.8,0.51,5.72,0.77,4.74,1.24z"/>
+					</g>
+				</g>
+			</g>
+		</g>
+		<path class="st4" d="M8,0.5c-0.02,0-0.03,0-0.05,0C3.81,0.53,0.47,3.9,0.5,8.05C0.53,12.17,3.88,15.5,8,15.5V0.5z"/>
+	</g>
+</g>
+<g id="Ebene_3">
+</g>
+</svg>
diff --git a/static/images/footer/helmholtz.png b/static/images/footer/helmholtz.png
new file mode 100644
index 0000000000000000000000000000000000000000..268d7ea9591bcd78b2c38f5c0082a2266ce55a1f
Binary files /dev/null and b/static/images/footer/helmholtz.png differ
diff --git a/static/images/footer/templates/0.svg b/static/images/footer/templates/0.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fd54b621f76ea3ae6b46b9fbf3a1109dfeee75a6
--- /dev/null
+++ b/static/images/footer/templates/0.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 141.73 141.73" style="enable-background:new 0 0 141.73 141.73;" xml:space="preserve"><script xmlns="" id="__gaOptOutExtension"/>
+<style type="text/css">
+	.st0{fill:#B9D25F;stroke:#023D6B;stroke-width:2;stroke-miterlimit:10;}
+	.st1{fill:#FAEB5A;stroke:#023D6B;stroke-width:2;stroke-miterlimit:10;}
+	.st2{fill:#FAB45A;stroke:#023D6B;stroke-width:2;stroke-miterlimit:10;}
+	.st3{fill:#808080;}
+	.st4{fill:#B9D25F;}
+	.st5{fill:#FAB45A;}
+	.st6{fill:#FF1D25;}
+	.st7{fill:#8C0000;}
+	.st8{fill:none;stroke:#7AC943;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+	.st9{fill:#FFFFFF;}
+	.st10{fill:#7AC943;stroke:#7AC943;stroke-miterlimit:10;}
+</style>
+<g>
+	<path class="st3" d="M121.89,18H19.84c-3.13,0-5.67,2.54-5.67,5.67v17.01c0,3.13,2.54,5.67,5.67,5.67h102.05   c3.13,0,5.67-2.54,5.67-5.67V23.67C127.56,20.54,125.02,18,121.89,18z M54.27,33.59c0,0.78-0.64,1.42-1.42,1.42H24.57   c-0.78,0-1.41-0.64-1.41-1.42v-2.83c0-0.79,0.63-1.42,1.41-1.42h28.28c0.78,0,1.42,0.63,1.42,1.42V33.59z"/>
+	<path class="st3" d="M121.89,56.69H19.84c-3.13,0-5.67,2.54-5.67,5.67v17.01c0,3.13,2.54,5.67,5.67,5.67h55.72   c4.6-13.33,17.26-22.9,32.16-22.9c7.4,0,14.25,2.36,19.84,6.38v-6.16C127.56,59.23,125.02,56.69,121.89,56.69z M54.27,73.59   c0,0.78-0.64,1.42-1.42,1.42H24.57c-0.78,0-1.41-0.64-1.41-1.42v-2.83c0-0.79,0.63-1.42,1.41-1.42h28.28   c0.78,0,1.42,0.63,1.42,1.42V73.59z"/>
+	<path class="st3" d="M73.7,96.15c0-0.25,0-0.51,0.01-0.76H19.84c-3.13,0-5.67,2.53-5.67,5.66v17.01c0,3.13,2.54,5.67,5.67,5.67   H87.8C79.26,117.56,73.7,107.5,73.7,96.15z M54.27,110.98c0,0.78-0.64,1.41-1.42,1.41H24.57c-0.78,0-1.41-0.63-1.41-1.41v-2.84   c0-0.78,0.63-1.42,1.41-1.42h28.28c0.78,0,1.42,0.64,1.42,1.42V110.98z"/>
+</g>
+<polyline class="st8" points="90.14,95.96 100.35,112.97 125.29,81.22 "/>
+</svg>
\ No newline at end of file
diff --git a/static/images/footer/templates/10.svg b/static/images/footer/templates/10.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a822de445b5d84d15b45fc859927f886d526c1d0
--- /dev/null
+++ b/static/images/footer/templates/10.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 141.73 141.73" style="enable-background:new 0 0 141.73 141.73;" xml:space="preserve"><script xmlns="" id="__gaOptOutExtension"/>
+<style type="text/css">
+	.st0{fill:#B9D25F;stroke:#023D6B;stroke-width:2;stroke-miterlimit:10;}
+	.st1{fill:#FAEB5A;stroke:#023D6B;stroke-width:2;stroke-miterlimit:10;}
+	.st2{fill:#FAB45A;stroke:#023D6B;stroke-width:2;stroke-miterlimit:10;}
+	.st3{fill:#808080;}
+	.st4{fill:#B9D25F;}
+	.st5{fill:#FAB45A;}
+	.st6{fill:#FF1D25;}
+	.st7{fill:#8C0000;}
+	.st8{fill:none;stroke:#7AC943;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+	.st9{fill:#FFFFFF;}
+	.st10{fill:#7AC943;stroke:#7AC943;stroke-miterlimit:10;}
+</style>
+<g>
+	<path class="st3" d="M121.89,18H19.84c-3.13,0-5.67,2.54-5.67,5.67v17.01c0,3.13,2.54,5.67,5.67,5.67h102.05   c3.13,0,5.67-2.54,5.67-5.67V23.67C127.56,20.54,125.02,18,121.89,18z M54.27,33.59c0,0.78-0.64,1.42-1.42,1.42H24.57   c-0.78,0-1.41-0.64-1.41-1.42v-2.83c0-0.79,0.63-1.42,1.41-1.42h28.28c0.78,0,1.42,0.63,1.42,1.42V33.59z"/>
+	<path class="st3" d="M121.89,56.69H19.84c-3.13,0-5.67,2.54-5.67,5.67v17.01c0,3.13,2.54,5.67,5.67,5.67h55.72   c4.6-13.33,17.26-22.9,32.16-22.9c7.4,0,14.25,2.36,19.84,6.38v-6.16C127.56,59.23,125.02,56.69,121.89,56.69z M54.27,73.59   c0,0.78-0.64,1.42-1.42,1.42H24.57c-0.78,0-1.41-0.64-1.41-1.42v-2.83c0-0.79,0.63-1.42,1.41-1.42h28.28   c0.78,0,1.42,0.63,1.42,1.42V73.59z"/>
+	<path class="st3" d="M73.7,96.15c0-0.25,0-0.51,0.01-0.76H19.84c-3.13,0-5.67,2.53-5.67,5.66v17.01c0,3.13,2.54,5.67,5.67,5.67   H87.8C79.26,117.56,73.7,107.5,73.7,96.15z M54.27,110.98c0,0.78-0.64,1.41-1.42,1.41H24.57c-0.78,0-1.41-0.63-1.41-1.41v-2.84   c0-0.78,0.63-1.42,1.41-1.42h28.28c0.78,0,1.42,0.64,1.42,1.42V110.98z"/>
+</g>
+<g>
+	<path class="st10" d="M103.64,112.72c0-2.49,1.73-4.28,4.08-4.28c2.49,0,4.08,1.8,4.08,4.28c0,2.42-1.59,4.28-4.08,4.28   C105.3,117,103.64,115.14,103.64,112.72z M105.3,100.49l-0.83-28.33c-0.04-1.36,1.05-2.49,2.42-2.49h1.65   c1.36,0,2.46,1.13,2.42,2.49l-0.83,28.33c-0.04,1.31-1.11,2.35-2.42,2.35l0,0C106.41,102.84,105.34,101.8,105.3,100.49z"/>
+</g>
+</svg>
\ No newline at end of file
diff --git a/static/images/footer/templates/20.svg b/static/images/footer/templates/20.svg
new file mode 100644
index 0000000000000000000000000000000000000000..37a0a2ffbb53890be33bd0805736cf874a6e9349
--- /dev/null
+++ b/static/images/footer/templates/20.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 141.73 141.73" style="enable-background:new 0 0 141.73 141.73;" xml:space="preserve"><script xmlns="" id="__gaOptOutExtension"/>
+<style type="text/css">
+	.st0{fill:#B9D25F;stroke:#023D6B;stroke-width:2;stroke-miterlimit:10;}
+	.st1{fill:#FAEB5A;stroke:#023D6B;stroke-width:2;stroke-miterlimit:10;}
+	.st2{fill:#FAB45A;stroke:#023D6B;stroke-width:2;stroke-miterlimit:10;}
+	.st3{fill:#808080;}
+	.st4{fill:#B9D25F;}
+	.st5{fill:#FAB45A;}
+	.st6{fill:#FF1D25;}
+	.st7{fill:#8C0000;}
+	.st8{fill:none;stroke:#7AC943;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+	.st9{fill:#FFFFFF;}
+	.st10{fill:#7AC943;stroke:#7AC943;stroke-miterlimit:10;}
+</style>
+<path class="st3" d="M121.89,18H19.84c-3.13,0-5.67,2.54-5.67,5.67v17.01c0,3.13,2.54,5.67,5.67,5.67h102.05  c3.13,0,5.67-2.54,5.67-5.67V23.67C127.56,20.54,125.02,18,121.89,18z M54.27,33.59c0,0.78-0.64,1.42-1.42,1.42H24.57  c-0.78,0-1.42-0.64-1.42-1.42v-2.83c0-0.79,0.64-1.42,1.42-1.42h28.28c0.78,0,1.42,0.63,1.42,1.42V33.59z"/>
+<path class="st3" d="M121.89,56.69H19.84c-3.13,0-5.67,2.54-5.67,5.67v17.01c0,3.13,2.54,5.67,5.67,5.67h54.8  c4.6-13.33,17.26-22.9,32.16-22.9c7.82,0,15.02,2.63,20.76,7.07v-6.85C127.56,59.23,125.02,56.69,121.89,56.69z M54.27,73.59  c0,0.78-0.64,1.42-1.42,1.42H24.57c-0.78,0-1.42-0.64-1.42-1.42v-2.83c0-0.79,0.64-1.42,1.42-1.42h28.28c0.78,0,1.42,0.63,1.42,1.42  V73.59z"/>
+<path class="st3" d="M72.78,96.15c0-0.25,0-0.51,0.01-0.76H19.84c-3.13,0-5.67,2.53-5.67,5.66v17.01c0,3.13,2.54,5.67,5.67,5.67  h67.04C78.34,117.56,72.78,107.5,72.78,96.15z M54.27,110.98c0,0.78-0.64,1.41-1.42,1.41H24.57c-0.78,0-1.42-0.63-1.42-1.41v-2.84  c0-0.78,0.64-1.42,1.42-1.42h28.28c0.78,0,1.42,0.64,1.42,1.42V110.98z"/>
+<path class="st4" d="M132.32,104.79c0.69-2.02,1.13-4.14,1.32-6.33l-4.37-2.11c0-0.71-0.02-1.42-0.08-2.14  c-0.02-0.25-0.05-0.49-0.08-0.74l4.11-2.6c-0.43-2.16-1.11-4.22-2.01-6.14l-4.85,0.35c-0.47-0.84-1-1.65-1.58-2.41l2.26-4.29  c-1.43-1.62-3.05-3.07-4.82-4.31l-4.02,2.73c-0.82-0.49-1.68-0.92-2.57-1.3l-0.19-4.85c-2.02-0.69-4.15-1.13-6.33-1.32l-2.12,4.37  c-0.71-0.01-1.42,0.02-2.14,0.08c-0.25,0.02-0.49,0.05-0.74,0.08l-2.59-4.11c-2.16,0.43-4.22,1.11-6.15,2.01l0.35,4.85  c-0.84,0.47-1.65,1-2.41,1.58l-4.3-2.26c-1.63,1.43-3.07,3.05-4.31,4.82l2.73,4.02c-0.49,0.82-0.93,1.68-1.31,2.57l-4.85,0.19  c-0.69,2.02-1.13,4.14-1.32,6.33l4.37,2.11c0,0.71,0.02,1.42,0.08,2.14c0.02,0.25,0.05,0.49,0.09,0.74l-4.11,2.59  c0.43,2.16,1.11,4.22,2.01,6.14l4.85-0.35c0.48,0.84,1,1.64,1.58,2.41l-2.26,4.29c1.43,1.63,3.05,3.07,4.82,4.31l4.02-2.73  c0.83,0.49,1.68,0.93,2.57,1.31l0.19,4.85c2.02,0.68,4.14,1.13,6.33,1.32l2.12-4.37c0.7,0,1.42-0.02,2.14-0.08  c0.25-0.02,0.49-0.05,0.73-0.08l2.59,4.12c2.16-0.43,4.22-1.11,6.15-2.01l-0.35-4.85c0.84-0.48,1.64-1,2.41-1.58l4.29,2.26  c1.62-1.43,3.07-3.05,4.31-4.82l-2.72-4.02c0.48-0.83,0.92-1.68,1.3-2.57L132.32,104.79z M106.8,111.99  c-8.73,0-15.83-7.1-15.83-15.83c0-8.73,7.1-15.83,15.83-15.83c8.73,0,15.83,7.1,15.83,15.83  C122.64,104.88,115.53,111.99,106.8,111.99z"/>
+</svg>
\ No newline at end of file
diff --git a/static/images/footer/templates/30.svg b/static/images/footer/templates/30.svg
new file mode 100644
index 0000000000000000000000000000000000000000..db6aebf3444c847631eb2068b415d642f00f8ac4
--- /dev/null
+++ b/static/images/footer/templates/30.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z" fill="#FAB45A"/></svg>
\ No newline at end of file
diff --git a/static/images/footer/templates/40.svg b/static/images/footer/templates/40.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8ef5688969947c1846b399fa8e45d26405792ca5
--- /dev/null
+++ b/static/images/footer/templates/40.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z" fill="#FF1D25"/></svg>
\ No newline at end of file
diff --git a/static/images/footer/templates/50.svg b/static/images/footer/templates/50.svg
new file mode 100644
index 0000000000000000000000000000000000000000..632718633b8d5f11e5d03574f2920c862b8e34e4
--- /dev/null
+++ b/static/images/footer/templates/50.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z" fill="#8C0000"/></svg>
\ No newline at end of file
diff --git a/static/images/header/jsc.png b/static/images/header/jsc.png
new file mode 100644
index 0000000000000000000000000000000000000000..24d226b5d3c24214c979f3c5bdaf116fbecd42b0
Binary files /dev/null and b/static/images/header/jsc.png differ
diff --git a/static/images/header/jupyterjsc.png b/static/images/header/jupyterjsc.png
new file mode 100644
index 0000000000000000000000000000000000000000..acbbed63ddb2a44c35980b3ab0e7c6721ab1fb46
Binary files /dev/null and b/static/images/header/jupyterjsc.png differ
diff --git a/static/images/jupyter.png b/static/images/jupyter.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f3f57ff39432a80c15dabceb99141bc7ec4318e
Binary files /dev/null and b/static/images/jupyter.png differ
diff --git a/static/images/jupyterhub-80.png b/static/images/jupyterhub-80.png
new file mode 100644
index 0000000000000000000000000000000000000000..65d231abc97e17a48cdd9ac6321e50252f75bddf
Binary files /dev/null and b/static/images/jupyterhub-80.png differ
diff --git a/static/images/mini_website.jpg b/static/images/mini_website.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4a980748a7481545148aceb8cd61dd55e400d8bc
Binary files /dev/null and b/static/images/mini_website.jpg differ
diff --git a/static/images/pages/2FA/img01.png b/static/images/pages/2FA/img01.png
new file mode 100644
index 0000000000000000000000000000000000000000..27bc7a6164be17d97c232133ad919aceae99497b
Binary files /dev/null and b/static/images/pages/2FA/img01.png differ
diff --git a/static/images/pages/2FA/img03.png b/static/images/pages/2FA/img03.png
new file mode 100644
index 0000000000000000000000000000000000000000..81d2571d0f3ecafde4e0c6c5f86413ca819efe24
Binary files /dev/null and b/static/images/pages/2FA/img03.png differ
diff --git a/static/images/pages/2FA/jupyter-jsc_2fa_img01.png b/static/images/pages/2FA/jupyter-jsc_2fa_img01.png
new file mode 100644
index 0000000000000000000000000000000000000000..27bc7a6164be17d97c232133ad919aceae99497b
Binary files /dev/null and b/static/images/pages/2FA/jupyter-jsc_2fa_img01.png differ
diff --git a/static/images/pages/2FA/jupyter-jsc_2fa_img02.png b/static/images/pages/2FA/jupyter-jsc_2fa_img02.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f9484e22a6510c76cd95b20e46042a184ceb358
Binary files /dev/null and b/static/images/pages/2FA/jupyter-jsc_2fa_img02.png differ
diff --git a/static/images/pages/2FA/jupyter-jsc_2fa_img03.png b/static/images/pages/2FA/jupyter-jsc_2fa_img03.png
new file mode 100644
index 0000000000000000000000000000000000000000..81d2571d0f3ecafde4e0c6c5f86413ca819efe24
Binary files /dev/null and b/static/images/pages/2FA/jupyter-jsc_2fa_img03.png differ
diff --git a/static/images/pages/2FA/jupyter-jsc_2fa_img04.png b/static/images/pages/2FA/jupyter-jsc_2fa_img04.png
new file mode 100644
index 0000000000000000000000000000000000000000..adb1446bc3599361f32c34e0464206656179521b
Binary files /dev/null and b/static/images/pages/2FA/jupyter-jsc_2fa_img04.png differ
diff --git a/static/images/pages/2FA/jupyter-jsc_2fa_img05.png b/static/images/pages/2FA/jupyter-jsc_2fa_img05.png
new file mode 100644
index 0000000000000000000000000000000000000000..8572a76adf3587a4646b3eb01b948b7adc97967d
Binary files /dev/null and b/static/images/pages/2FA/jupyter-jsc_2fa_img05.png differ
diff --git a/static/images/pages/2FA/jupyter-jsc_2fa_img06.png b/static/images/pages/2FA/jupyter-jsc_2fa_img06.png
new file mode 100644
index 0000000000000000000000000000000000000000..e80fd7f265e87467b3c4efadff0a1d07df4a52da
Binary files /dev/null and b/static/images/pages/2FA/jupyter-jsc_2fa_img06.png differ
diff --git a/static/images/pages/2FA/jupyter-jsc_2fa_short_img01.png b/static/images/pages/2FA/jupyter-jsc_2fa_short_img01.png
new file mode 100644
index 0000000000000000000000000000000000000000..b15e46e82570bced9b0da5334736e61026a98c37
Binary files /dev/null and b/static/images/pages/2FA/jupyter-jsc_2fa_short_img01.png differ
diff --git a/static/images/pages/2FA/jupyter-jsc_2fa_short_img02.png b/static/images/pages/2FA/jupyter-jsc_2fa_short_img02.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6e9255d6e70e2a2f1d77d991c22ec19f43b2db8
Binary files /dev/null and b/static/images/pages/2FA/jupyter-jsc_2fa_short_img02.png differ
diff --git a/static/images/pages/error/loading.gif b/static/images/pages/error/loading.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9590093e9e6d32e5605452cc6cdffee3df0d0abb
Binary files /dev/null and b/static/images/pages/error/loading.gif differ
diff --git a/static/images/pages/login/Helmholz_AAI_ID.png b/static/images/pages/login/Helmholz_AAI_ID.png
new file mode 100644
index 0000000000000000000000000000000000000000..3404089436fd88c77d63ab92fa4351eff5a99598
Binary files /dev/null and b/static/images/pages/login/Helmholz_AAI_ID.png differ
diff --git a/static/images/pages/login/Logo_FZ_Juelich_jsc.png b/static/images/pages/login/Logo_FZ_Juelich_jsc.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d68e15398dab563611fc71d8073fa354a5b58e4
Binary files /dev/null and b/static/images/pages/login/Logo_FZ_Juelich_jsc.png differ
diff --git a/static/images/pages/login/User.svg b/static/images/pages/login/User.svg
new file mode 100644
index 0000000000000000000000000000000000000000..db97ed57cf6583d0c3869d75c252c5929990453f
--- /dev/null
+++ b/static/images/pages/login/User.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;}
+	.st1{fill:#FFFFFF;}
+</style>
+<circle class="st0" cx="50" cy="50" r="48"/>
+<g>
+	<g>
+		<path class="st1" d="M56.63,32.28c2.96,1.86,5.04,5,5.42,8.66c1.21,0.56,2.55,0.89,3.97,0.89c5.19,0,9.4-4.21,9.4-9.4
+			c0-5.2-4.21-9.4-9.4-9.4C60.88,23.03,56.71,27.16,56.63,32.28L56.63,32.28z M50.47,51.53c5.2,0,9.4-4.21,9.4-9.4
+			c0-5.19-4.21-9.4-9.4-9.4c-5.19,0-9.4,4.21-9.4,9.4C41.07,47.33,45.28,51.53,50.47,51.53L50.47,51.53z M54.46,52.18h-7.98
+			c-6.64,0-12.04,5.4-12.04,12.04v9.76l0.03,0.15l0.67,0.21c6.33,1.98,11.84,2.64,16.37,2.64c8.85,0,13.97-2.52,14.29-2.68
+			l0.62-0.32h0.07v-9.76C66.5,57.58,61.1,52.18,54.46,52.18L54.46,52.18z M70.01,42.47H62.1c-0.09,3.16-1.44,6.02-3.58,8.07
+			c5.9,1.75,10.22,7.22,10.22,13.69v3c7.82-0.29,12.32-2.5,12.62-2.65l0.63-0.32h0.07v-9.76C82.05,47.87,76.65,42.47,70.01,42.47
+			L70.01,42.47z M33.97,41.83c1.84,0,3.55-0.54,5-1.45c0.46-3,2.07-5.63,4.37-7.42c0.01-0.17,0.03-0.35,0.03-0.53
+			c0-5.19-4.21-9.4-9.4-9.4c-5.19,0-9.4,4.21-9.4,9.4C24.57,37.62,28.78,41.83,33.97,41.83L33.97,41.83z M42.42,50.54
+			c-2.13-2.04-3.48-4.88-3.58-8.03c-0.29-0.02-0.59-0.04-0.88-0.04h-7.98c-6.64,0-12.04,5.4-12.04,12.04v9.76l0.02,0.15l0.67,0.21
+			c5.08,1.59,9.62,2.32,13.56,2.55v-2.95C32.2,57.77,36.52,52.3,42.42,50.54L42.42,50.54z M42.42,50.54"/>
+	</g>
+</g>
+</svg>
diff --git a/static/images/pages/login/background.jpg b/static/images/pages/login/background.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..93b0f88c876fc026e728b7ada2494b532f6bb41b
Binary files /dev/null and b/static/images/pages/login/background.jpg differ
diff --git a/static/images/pages/login/blue_line.png b/static/images/pages/login/blue_line.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae5f202f793d2c736cf410d0e4b1f5c6b55218ee
Binary files /dev/null and b/static/images/pages/login/blue_line.png differ
diff --git a/static/images/pages/login/left_bluebg_arrow.svg b/static/images/pages/login/left_bluebg_arrow.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f78a76f6833d34aa290a2fbed73ff813f09bbec5
--- /dev/null
+++ b/static/images/pages/login/left_bluebg_arrow.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 46 46" style="enable-background:new 0 0 46 46;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+	.st1{fill:none;stroke:#023D6B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+	.st2{fill:#ADBDE3;}
+	.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+</style>
+<rect class="st2" width="46" height="46"/>
+<polyline class="st3" points="25.21,30.15 18.06,23 25.06,16 "/>
+</svg>
diff --git a/static/images/pages/login/left_whitebg_arrow.svg b/static/images/pages/login/left_whitebg_arrow.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3f1751bcc2d7652389b48d8c01e347f518989082
--- /dev/null
+++ b/static/images/pages/login/left_whitebg_arrow.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 46 46" style="enable-background:new 0 0 46 46;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;stroke:#023D6B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+	.st1{fill:#ADBDE3;}
+	.st2{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+</style>
+<polyline class="st0" points="25.21,30.15 18.06,23 25.06,16 "/>
+</svg>
diff --git a/static/images/pages/login/nfdi_rgb.svg b/static/images/pages/login/nfdi_rgb.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6730b23ada053128e6bd290c532e82680fca0222
--- /dev/null
+++ b/static/images/pages/login/nfdi_rgb.svg
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 751.18 267.87" style="enable-background:new 0 0 751.18 267.87;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;}
+	.st1{fill:#B3BCC2;}
+	.st2{fill:#FFFFFF;}
+	.st3{fill:#0BBBEF;}
+	.st4{fill:#A2C617;}
+	.st5{fill:#8A959C;}
+	.st6{fill:#45556A;}
+</style>
+<rect class="st0" width="751.18" height="267.87"/>
+<g>
+	<path class="st1" d="M415.67,104.71h-2.37c-0.61,0-1.03-0.23-1.23-0.61l-11.83-22.48c-0.04-0.08-0.08-0.12-0.12-0.12
+		s-0.04,0.04-0.04,0.12v22.36c0,0.38-0.31,0.73-0.69,0.73h-1.99c-0.38,0-0.69-0.08-0.69-0.46V77.33c0-0.61,0.5-1.07,1.11-1.07h2.11
+		c1.07,0,1.26,0.19,1.57,0.77l11.76,22.37l0.08,0.11c0.04,0,0.04-0.08,0.04-0.11v-22.4c0-0.38,0.31-0.73,0.69-0.73h2.03
+		c0.42,0,0.69,0.34,0.69,0.73v26.62C416.78,104.22,416.29,104.71,415.67,104.71z"/>
+	<path class="st1" d="M436.28,104.71h-1.76c-0.42,0-0.77-0.34-0.77-0.77v-0.84c-1.84,1.07-3.75,1.88-5.9,1.88
+		c-3.26,0-6.24-1.42-6.24-6.2v-0.46c0-4.14,2.41-6.2,9.23-6.2h2.83v-1.53c0-3.22-1.11-4.33-4.1-4.33c-2.49,0-4.33,0.15-5.86,0.31
+		c-0.08,0-0.11,0-0.19,0c-0.34,0-0.69-0.11-0.69-0.61v-1.34c0-0.42,0.27-0.65,0.8-0.73c1.57-0.27,3.33-0.5,5.94-0.5
+		c5.32,0,7.47,2.68,7.47,7.2v13.37C437.05,104.37,436.7,104.71,436.28,104.71z M433.68,94.53h-2.83c-4.63,0-5.86,1.03-5.86,3.75
+		v0.46c0,2.76,1.3,3.48,3.52,3.48c1.76,0,3.33-0.54,5.17-1.53V94.53z"/>
+	<path class="st1" d="M451.83,104.79c-0.77,0.11-1.76,0.19-2.49,0.19c-3.52,0-5.21-0.92-5.21-5.13V86.48l-3.71-0.42
+		c-0.42-0.04-0.73-0.27-0.73-0.69v-1.03c0-0.42,0.31-0.69,0.73-0.69h3.71V79.9c0-0.38,0.27-0.69,0.69-0.77l1.99-0.31
+		c0.04,0,0.08,0,0.12,0c0.31,0,0.57,0.27,0.57,0.65v4.18h4.14c0.42,0,0.77,0.34,0.77,0.77v1.3c0,0.42-0.35,0.77-0.77,0.77h-4.14
+		v13.37c0,2.11,0.54,2.41,2.07,2.41h2.14c0.54,0,0.8,0.15,0.8,0.54v1.34C452.52,104.48,452.33,104.71,451.83,104.79z"/>
+	<path class="st1" d="M459.19,80.28h-1.95c-0.42,0-0.77-0.34-0.77-0.77v-3.07c0-0.42,0.34-0.77,0.77-0.77h1.95
+		c0.42,0,0.77,0.34,0.77,0.77v3.07C459.95,79.94,459.61,80.28,459.19,80.28z M459.11,104.71h-1.84c-0.42,0-0.77-0.34-0.77-0.77
+		V84.42c0-0.42,0.34-0.77,0.77-0.77h1.84c0.42,0,0.77,0.34,0.77,0.77v19.53C459.88,104.37,459.53,104.71,459.11,104.71z"/>
+	<path class="st1" d="M473.36,104.98c-5.63,0-8.5-3.71-8.5-9.35v-2.91c0-5.63,2.87-9.35,8.5-9.35c5.63,0,8.54,3.71,8.54,9.35v2.91
+		C481.9,101.27,478.99,104.98,473.36,104.98z M478.53,92.73c0-3.91-1.57-6.4-5.17-6.4c-3.56,0-5.13,2.45-5.13,6.4v2.91
+		c0,3.91,1.53,6.4,5.13,6.4c3.56,0,5.17-2.45,5.17-6.4V92.73z"/>
+	<path class="st1" d="M501.78,104.71h-1.84c-0.42,0-0.77-0.34-0.77-0.77v-12.6c0-3.87-1.3-5.06-4.21-5.06
+		c-1.61,0-3.41,0.61-5.17,1.49v16.16c0,0.38-0.34,0.77-0.77,0.77h-1.88c-0.38,0-0.73-0.34-0.73-0.77V84.42
+		c0-0.42,0.31-0.77,0.73-0.77h1.91c0.42,0,0.73,0.34,0.73,0.77v0.73c2.11-1.19,3.83-1.76,6.09-1.76c4.6,0,6.66,2.87,6.66,7.97v12.6
+		C502.54,104.37,502.2,104.71,501.78,104.71z"/>
+	<path class="st1" d="M521.65,104.71h-1.76c-0.42,0-0.77-0.34-0.77-0.77v-0.84c-1.84,1.07-3.75,1.88-5.9,1.88
+		c-3.26,0-6.24-1.42-6.24-6.2v-0.46c0-4.14,2.41-6.2,9.23-6.2h2.83v-1.53c0-3.22-1.11-4.33-4.1-4.33c-2.49,0-4.33,0.15-5.86,0.31
+		c-0.08,0-0.11,0-0.19,0c-0.34,0-0.69-0.11-0.69-0.61v-1.34c0-0.42,0.27-0.65,0.8-0.73c1.57-0.27,3.33-0.5,5.94-0.5
+		c5.32,0,7.47,2.68,7.47,7.2v13.37C522.42,104.37,522.08,104.71,521.65,104.71z M519.05,94.53h-2.83c-4.63,0-5.86,1.03-5.86,3.75
+		v0.46c0,2.76,1.3,3.48,3.52,3.48c1.76,0,3.33-0.54,5.17-1.53V94.53z"/>
+	<path class="st1" d="M530.69,104.71h-1.99c-0.38,0-0.69-0.34-0.69-0.77v-27.3c0-0.38,0.27-0.73,0.69-0.73h1.99
+		c0.38,0,0.69,0.31,0.69,0.73v27.3C531.38,104.33,531.12,104.71,530.69,104.71z"/>
+	<path class="st1" d="M552.49,95.26h-12.83v0.54c0,4.56,1.8,6.24,5.32,6.24c2.22,0,5.06-0.15,6.82-0.42c0.08,0,0.12,0,0.19,0
+		c0.31,0,0.61,0.15,0.61,0.54v1.3c0,0.5-0.15,0.77-0.77,0.88c-2.18,0.42-4.29,0.65-6.85,0.65c-4.4,0-8.69-2.07-8.69-9.19v-3.45
+		c0-5.47,3.03-8.96,8.5-8.96c5.59,0,8.42,3.52,8.42,8.96v2.07C553.21,94.91,552.95,95.26,552.49,95.26z M549.81,92.34
+		c0-4.33-1.65-6.01-5.02-6.01c-3.29,0-5.13,1.88-5.13,6.01v0.34h10.15V92.34z"/>
+	<path class="st1" d="M411.96,137.07H400.2v12.52c0,0.42-0.34,0.77-0.77,0.77h-1.95c-0.42,0-0.77-0.34-0.77-0.77v-20.83
+		c0-5.09,2.8-7.12,8.16-7.12c2.26,0,5.86,0.08,7.47,0.23c0.23,0.04,0.38,0.31,0.38,0.54v1.92c0,0.27-0.15,0.46-0.42,0.46h-7.39
+		c-4.06,0-4.71,1.07-4.71,3.98v5.32h11.76c0.42,0,0.77,0.34,0.77,0.77v1.45C412.72,136.73,412.38,137.07,411.96,137.07z"/>
+	<path class="st1" d="M424.22,150.63c-5.63,0-8.5-3.71-8.5-9.34v-2.91c0-5.63,2.87-9.34,8.5-9.34c5.63,0,8.54,3.71,8.54,9.34v2.91
+		C432.76,146.91,429.85,150.63,424.22,150.63z M429.39,138.37c0-3.91-1.57-6.39-5.17-6.39c-3.56,0-5.13,2.45-5.13,6.39v2.91
+		c0,3.91,1.53,6.4,5.13,6.4c3.56,0,5.17-2.45,5.17-6.4V138.37z"/>
+	<path class="st1" d="M445.93,131.94c-1.76,0-3.37,0.46-5.28,1.61v16.05c0,0.38-0.34,0.77-0.77,0.77h-1.88
+		c-0.38,0-0.73-0.34-0.73-0.77v-19.53c0-0.42,0.31-0.77,0.73-0.77h1.8c0.42,0,0.73,0.34,0.73,0.77v0.81
+		c1.91-1.34,3.68-1.84,5.4-1.84c0.54,0,0.8,0.23,0.8,0.69v1.57C446.74,131.71,446.47,131.94,445.93,131.94z"/>
+	<path class="st1" d="M456.54,150.63c-1.42,0-4.17-0.11-6.05-0.57c-0.5-0.12-0.8-0.34-0.8-0.77v-1.34c0-0.34,0.31-0.57,0.69-0.57
+		c0.08,0,0.11,0,0.15,0c1.84,0.23,4.63,0.42,6.01,0.42c2.49,0,3.79-0.65,3.79-2.72c0-1.15-0.69-1.88-2.87-3.18l-3.87-2.3
+		c-2.34-1.42-3.91-3.06-3.91-5.48c0-3.98,2.99-5.09,6.93-5.09c2.14,0,4.17,0.19,5.97,0.5c0.5,0.08,0.73,0.34,0.73,0.77v1.26
+		c0,0.46-0.27,0.65-0.65,0.65c-0.04,0-0.08,0-0.12,0c-1.34-0.11-3.79-0.31-5.94-0.31c-2.14,0-3.56,0.27-3.56,2.22
+		c0,1.15,0.88,1.88,2.64,2.91l3.79,2.26c3.18,1.88,4.21,3.52,4.21,5.78C463.7,148.98,460.83,150.63,456.54,150.63z"/>
+	<path class="st1" d="M480.48,150.21c-1.26,0.23-2.99,0.42-4.79,0.42c-5.21,0-8.16-3.68-8.16-9.31v-2.99c0-5.63,2.91-9.31,8.16-9.31
+		c1.76,0,3.52,0.19,4.79,0.42c0.61,0.11,0.77,0.31,0.77,0.84v1.38c0,0.38-0.31,0.57-0.65,0.57c-0.08,0-0.11,0-0.15,0
+		c-1.69-0.19-2.87-0.27-4.75-0.27c-3.06,0-4.79,2.03-4.79,6.36v2.99c0,4.29,1.69,6.36,4.79,6.36c1.88,0,3.06-0.08,4.75-0.27
+		c0.04,0,0.08,0,0.15,0c0.34,0,0.65,0.19,0.65,0.57v1.38C481.25,149.86,481.09,150.09,480.48,150.21z"/>
+	<path class="st1" d="M500.89,150.36h-1.84c-0.42,0-0.77-0.34-0.77-0.77V137c0-3.83-1.61-5.02-4.1-5.02c-1.19,0-3.6,0.31-5.28,1.07
+		v16.54c0,0.38-0.34,0.77-0.77,0.77h-1.88c-0.38,0-0.73-0.34-0.73-0.77v-27.27c0-0.42,0.31-0.77,0.73-0.77h1.91
+		c0.42,0,0.73,0.34,0.73,0.77v7.89c1.84-0.81,4.21-1.19,5.86-1.19c4.06,0,6.89,2.34,6.89,7.97v12.6
+		C501.66,150.02,501.32,150.36,500.89,150.36z"/>
+	<path class="st1" d="M522.27,150.36h-1.91c-0.42,0-0.73-0.34-0.73-0.77v-0.73c-2.11,1.19-3.83,1.76-6.09,1.76
+		c-4.59,0-6.66-2.87-6.66-7.97v-12.6c0-0.42,0.34-0.77,0.77-0.77h1.84c0.42,0,0.77,0.34,0.77,0.77v12.6c0,3.87,1.3,5.06,4.21,5.06
+		c1.61,0,3.41-0.61,5.17-1.49v-16.16c0-0.38,0.35-0.77,0.77-0.77h1.88c0.38,0,0.73,0.34,0.73,0.77v19.53
+		C522.99,150.02,522.69,150.36,522.27,150.36z"/>
+	<path class="st1" d="M543.56,150.36h-1.84c-0.42,0-0.77-0.34-0.77-0.77V137c0-3.87-1.3-5.06-4.21-5.06c-1.61,0-3.41,0.61-5.17,1.49
+		v16.16c0,0.38-0.34,0.77-0.77,0.77h-1.88c-0.38,0-0.73-0.34-0.73-0.77v-19.53c0-0.42,0.31-0.77,0.73-0.77h1.91
+		c0.42,0,0.73,0.34,0.73,0.77v0.73c2.11-1.19,3.83-1.76,6.09-1.76c4.6,0,6.66,2.87,6.66,7.97v12.6
+		C544.33,150.02,543.98,150.36,543.56,150.36z"/>
+	<path class="st1" d="M566.27,131.86l-1.38,0.27c0.69,0.73,1.3,1.88,1.3,3.94v0.31c0,4.21-2.6,6.55-8.5,6.55
+		c-2.03,0-3.33-0.31-4.44-0.77c-0.65,0.31-0.96,0.73-0.96,1.3c0,0.65,0.31,0.99,1.19,1.22l5.71,1.45c3.75,0.96,7.35,2.03,7.35,5.63
+		v0.31c0,3.68-2.45,5.94-8.73,5.94c-6.05,0-8.81-2.34-8.81-6.09v-0.34c0-2.15,1.15-3.91,2.41-4.86l-0.27-0.11
+		c-1.23-0.54-1.76-1.8-1.76-2.99v-0.04c0-1.03,0.5-2.14,1.57-2.76c-1.19-1.11-1.76-2.49-1.76-4.44v-0.31c0-3.41,1.92-6.78,8.5-6.78
+		h8.39c0.46,0,0.88,0.38,0.88,0.84v1C566.96,131.64,566.7,131.79,566.27,131.86z M563.17,151.78c0-1.49-1.23-2.11-4.67-2.99
+		l-4.33-1.11c-1.11,0.96-1.88,1.91-1.88,3.91v0.34c0,2.14,1.26,3.48,5.51,3.48c4.37,0,5.36-1.22,5.36-3.33V151.78z M562.87,136.08
+		c0-2.3-1.03-4.1-5.17-4.1c-4.29,0-5.17,1.95-5.17,4.1v0.31c0,1.69,0.77,3.91,5.17,3.91c4.14,0,5.17-1.61,5.17-3.91V136.08z"/>
+	<path class="st1" d="M577.12,150.63c-1.42,0-4.17-0.11-6.05-0.57c-0.5-0.12-0.8-0.34-0.8-0.77v-1.34c0-0.34,0.31-0.57,0.69-0.57
+		c0.08,0,0.11,0,0.15,0c1.84,0.23,4.63,0.42,6.01,0.42c2.49,0,3.79-0.65,3.79-2.72c0-1.15-0.69-1.88-2.87-3.18l-3.87-2.3
+		c-2.34-1.42-3.91-3.06-3.91-5.48c0-3.98,2.99-5.09,6.93-5.09c2.14,0,4.17,0.19,5.97,0.5c0.5,0.08,0.73,0.34,0.73,0.77v1.26
+		c0,0.46-0.27,0.65-0.65,0.65c-0.04,0-0.08,0-0.12,0c-1.34-0.11-3.79-0.31-5.94-0.31c-2.14,0-3.56,0.27-3.56,2.22
+		c0,1.15,0.88,1.88,2.64,2.91l3.79,2.26c3.18,1.88,4.21,3.52,4.21,5.78C584.28,148.98,581.4,150.63,577.12,150.63z"/>
+	<path class="st1" d="M603.5,149.98c-2.38,0.46-4.71,0.65-7.05,0.65c-5.71,0-8.35-3.71-8.35-9.46v-2.76c0-6.01,2.76-9.38,8.35-9.38
+		c1.19,0,2.99,0.11,4.48,0.38v-7.12c0-0.38,0.31-0.73,0.73-0.73h1.95c0.38,0,0.69,0.31,0.69,0.73v26.81
+		C604.31,149.6,604.19,149.86,603.5,149.98z M600.94,132.25c-1.26-0.23-3.26-0.27-4.48-0.27c-3.75,0-4.98,2.33-4.98,6.43v2.76
+		c0,4.17,1.19,6.51,4.98,6.51c1.3,0,3.18-0.12,4.48-0.23V132.25z"/>
+	<path class="st1" d="M623.42,150.36h-1.76c-0.42,0-0.77-0.34-0.77-0.77v-0.84c-1.84,1.07-3.75,1.88-5.9,1.88
+		c-3.26,0-6.24-1.42-6.24-6.2v-0.46c0-4.14,2.41-6.21,9.23-6.21h2.83v-1.53c0-3.22-1.11-4.33-4.1-4.33c-2.49,0-4.33,0.15-5.86,0.31
+		c-0.08,0-0.11,0-0.19,0c-0.34,0-0.69-0.11-0.69-0.61v-1.34c0-0.42,0.27-0.65,0.81-0.73c1.57-0.27,3.33-0.5,5.94-0.5
+		c5.32,0,7.47,2.68,7.47,7.2v13.37C624.19,150.02,623.84,150.36,623.42,150.36z M620.81,140.18h-2.83c-4.63,0-5.86,1.03-5.86,3.75
+		v0.46c0,2.76,1.3,3.48,3.52,3.48c1.76,0,3.33-0.54,5.17-1.53V140.18z"/>
+	<path class="st1" d="M638.97,150.44c-0.77,0.12-1.76,0.19-2.49,0.19c-3.52,0-5.21-0.92-5.21-5.13v-13.37l-3.71-0.42
+		c-0.42-0.04-0.73-0.27-0.73-0.69v-1.03c0-0.42,0.31-0.69,0.73-0.69h3.71v-3.75c0-0.38,0.27-0.69,0.69-0.77l1.99-0.31
+		c0.04,0,0.08,0,0.12,0c0.31,0,0.57,0.27,0.57,0.65v4.17h4.14c0.42,0,0.77,0.34,0.77,0.77v1.3c0,0.42-0.35,0.77-0.77,0.77h-4.14
+		v13.37c0,2.11,0.54,2.41,2.07,2.41h2.14c0.54,0,0.8,0.15,0.8,0.54v1.34C639.66,150.13,639.47,150.36,638.97,150.44z"/>
+	<path class="st1" d="M658.73,140.9H645.9v0.54c0,4.56,1.8,6.24,5.32,6.24c2.22,0,5.06-0.15,6.82-0.42c0.08,0,0.12,0,0.19,0
+		c0.31,0,0.61,0.15,0.61,0.54v1.3c0,0.5-0.15,0.77-0.77,0.88c-2.18,0.42-4.29,0.65-6.85,0.65c-4.4,0-8.69-2.07-8.69-9.19v-3.45
+		c0-5.48,3.03-8.96,8.5-8.96c5.59,0,8.42,3.52,8.42,8.96v2.07C659.46,140.56,659.19,140.9,658.73,140.9z M656.05,137.99
+		c0-4.33-1.65-6.01-5.02-6.01c-3.29,0-5.13,1.88-5.13,6.01v0.34h10.15V137.99z"/>
+	<path class="st1" d="M679.42,150.36h-1.84c-0.42,0-0.77-0.34-0.77-0.77V137c0-3.87-1.3-5.06-4.21-5.06c-1.61,0-3.41,0.61-5.17,1.49
+		v16.16c0,0.38-0.34,0.77-0.77,0.77h-1.88c-0.38,0-0.73-0.34-0.73-0.77v-19.53c0-0.42,0.31-0.77,0.73-0.77h1.91
+		c0.42,0,0.73,0.34,0.73,0.77v0.73c2.11-1.19,3.83-1.76,6.09-1.76c4.6,0,6.66,2.87,6.66,7.97v12.6
+		C680.18,150.02,679.84,150.36,679.42,150.36z"/>
+	<path class="st1" d="M399.9,196.01h-2.11c-0.38,0-0.69-0.34-0.69-0.77v-26.96c0-0.38,0.27-0.73,0.69-0.73h2.11
+		c0.38,0,0.69,0.31,0.69,0.73v26.96C400.58,195.63,400.32,196.01,399.9,196.01z"/>
+	<path class="st1" d="M421.92,196.01h-1.84c-0.42,0-0.77-0.34-0.77-0.77v-12.6c0-3.87-1.3-5.06-4.21-5.06
+		c-1.61,0-3.41,0.61-5.17,1.49v16.16c0,0.38-0.34,0.77-0.77,0.77h-1.88c-0.38,0-0.73-0.34-0.73-0.77v-19.53
+		c0-0.42,0.31-0.77,0.73-0.77h1.91c0.42,0,0.73,0.34,0.73,0.77v0.73c2.11-1.19,3.83-1.76,6.09-1.76c4.6,0,6.66,2.87,6.66,7.97v12.6
+		C422.68,195.66,422.34,196.01,421.92,196.01z"/>
+	<path class="st1" d="M437.47,169.55h-1.84c-1.8,0-2.34,0.54-2.34,2.64v2.76h4.02c0.42,0,0.73,0.31,0.73,0.69v1.49
+		c0,0.38-0.31,0.65-0.73,0.65h-4.02v17.46c0,0.38-0.35,0.77-0.73,0.77h-1.88c-0.42,0-0.77-0.38-0.77-0.77v-17.46l-3.71-0.42
+		c-0.42-0.04-0.73-0.31-0.73-0.69v-1.03c0-0.38,0.31-0.69,0.73-0.69h3.71v-2.76c0-4.1,1.99-5.32,5.36-5.32
+		c1.03,0,1.65,0.11,2.14,0.23c0.42,0.11,0.73,0.27,0.73,0.61v1.26C438.16,169.39,437.89,169.55,437.47,169.55z"/>
+	<path class="st1" d="M450.38,177.59c-1.76,0-3.37,0.46-5.28,1.61v16.05c0,0.38-0.34,0.77-0.77,0.77h-1.88
+		c-0.38,0-0.73-0.34-0.73-0.77v-19.53c0-0.42,0.31-0.77,0.73-0.77h1.8c0.42,0,0.73,0.34,0.73,0.77v0.8c1.91-1.34,3.68-1.84,5.4-1.84
+		c0.54,0,0.8,0.23,0.8,0.69v1.57C451.18,177.36,450.91,177.59,450.38,177.59z"/>
+	<path class="st1" d="M467.69,196.01h-1.76c-0.42,0-0.77-0.34-0.77-0.77v-0.84c-1.84,1.07-3.75,1.88-5.9,1.88
+		c-3.26,0-6.24-1.42-6.24-6.2v-0.46c0-4.14,2.41-6.2,9.23-6.2h2.83v-1.53c0-3.22-1.11-4.33-4.1-4.33c-2.49,0-4.33,0.15-5.86,0.31
+		c-0.08,0-0.11,0-0.19,0c-0.34,0-0.69-0.11-0.69-0.61v-1.34c0-0.42,0.27-0.65,0.8-0.73c1.57-0.27,3.33-0.5,5.94-0.5
+		c5.32,0,7.47,2.68,7.47,7.2v13.37C468.45,195.66,468.11,196.01,467.69,196.01z M465.08,185.82h-2.83c-4.63,0-5.86,1.03-5.86,3.75
+		v0.46c0,2.76,1.3,3.48,3.52,3.48c1.76,0,3.33-0.54,5.17-1.53V185.82z"/>
+	<path class="st1" d="M479.83,196.28c-1.42,0-4.17-0.11-6.05-0.57c-0.5-0.11-0.8-0.34-0.8-0.77v-1.34c0-0.34,0.31-0.57,0.69-0.57
+		c0.08,0,0.11,0,0.15,0c1.84,0.23,4.63,0.42,6.01,0.42c2.49,0,3.79-0.65,3.79-2.72c0-1.15-0.69-1.88-2.87-3.18l-3.87-2.3
+		c-2.34-1.42-3.91-3.06-3.91-5.47c0-3.98,2.99-5.09,6.93-5.09c2.14,0,4.17,0.19,5.97,0.5c0.5,0.08,0.73,0.34,0.73,0.77v1.26
+		c0,0.46-0.27,0.65-0.65,0.65c-0.04,0-0.08,0-0.12,0c-1.34-0.11-3.79-0.31-5.94-0.31c-2.14,0-3.56,0.27-3.56,2.22
+		c0,1.15,0.88,1.88,2.64,2.91l3.79,2.26c3.18,1.88,4.21,3.52,4.21,5.78C486.99,194.63,484.12,196.28,479.83,196.28z"/>
+	<path class="st1" d="M501.51,196.09c-0.77,0.11-1.76,0.19-2.49,0.19c-3.52,0-5.21-0.92-5.21-5.13v-13.37l-3.71-0.42
+		c-0.42-0.04-0.73-0.27-0.73-0.69v-1.03c0-0.42,0.31-0.69,0.73-0.69h3.71v-3.75c0-0.38,0.27-0.69,0.69-0.77l1.99-0.31
+		c0.04,0,0.08,0,0.12,0c0.31,0,0.57,0.27,0.57,0.65v4.18h4.14c0.42,0,0.77,0.34,0.77,0.77v1.3c0,0.42-0.35,0.77-0.77,0.77h-4.14
+		v13.37c0,2.11,0.54,2.41,2.07,2.41h2.14c0.54,0,0.8,0.15,0.8,0.54v1.34C502.2,195.78,502.01,196.01,501.51,196.09z"/>
+	<path class="st1" d="M514.42,177.59c-1.76,0-3.37,0.46-5.28,1.61v16.05c0,0.38-0.34,0.77-0.77,0.77h-1.88
+		c-0.38,0-0.73-0.34-0.73-0.77v-19.53c0-0.42,0.31-0.77,0.73-0.77h1.8c0.42,0,0.73,0.34,0.73,0.77v0.8c1.91-1.34,3.68-1.84,5.4-1.84
+		c0.54,0,0.8,0.23,0.8,0.69v1.57C515.22,177.36,514.95,177.59,514.42,177.59z"/>
+	<path class="st1" d="M534.26,196.01h-1.91c-0.42,0-0.73-0.34-0.73-0.77v-0.73c-2.11,1.19-3.83,1.76-6.09,1.76
+		c-4.59,0-6.66-2.87-6.66-7.97v-12.6c0-0.42,0.34-0.77,0.77-0.77h1.84c0.42,0,0.77,0.34,0.77,0.77v12.6c0,3.87,1.3,5.05,4.21,5.05
+		c1.61,0,3.41-0.61,5.17-1.49v-16.16c0-0.38,0.35-0.77,0.77-0.77h1.88c0.38,0,0.73,0.34,0.73,0.77v19.53
+		C534.98,195.66,534.68,196.01,534.26,196.01z"/>
+	<path class="st1" d="M554.82,196.01h-2.76c-0.42,0-0.57-0.12-0.88-0.5l-7.62-9.42v9.15c0,0.42-0.34,0.77-0.77,0.77h-1.84
+		c-0.42,0-0.77-0.34-0.77-0.77v-27.27c0-0.42,0.34-0.77,0.77-0.77h1.84c0.42,0,0.77,0.34,0.77,0.77v15.93l7.66-8.62
+		c0.23-0.27,0.38-0.34,0.77-0.34h2.68c0.38,0,0.57,0.19,0.57,0.42c0,0.15-0.08,0.31-0.19,0.42l-8.42,9.11l8.5,10.26
+		c0.08,0.08,0.12,0.23,0.12,0.34C555.24,195.78,555.09,196.01,554.82,196.01z"/>
+	<path class="st1" d="M569.68,196.09c-0.77,0.11-1.76,0.19-2.49,0.19c-3.52,0-5.21-0.92-5.21-5.13v-13.37l-3.71-0.42
+		c-0.42-0.04-0.73-0.27-0.73-0.69v-1.03c0-0.42,0.31-0.69,0.73-0.69h3.71v-3.75c0-0.38,0.27-0.69,0.69-0.77l1.99-0.31
+		c0.04,0,0.08,0,0.12,0c0.31,0,0.57,0.27,0.57,0.65v4.18h4.14c0.42,0,0.77,0.34,0.77,0.77v1.3c0,0.42-0.35,0.77-0.77,0.77h-4.14
+		v13.37c0,2.11,0.54,2.41,2.07,2.41h2.14c0.54,0,0.8,0.15,0.8,0.54v1.34C570.37,195.78,570.18,196.01,569.68,196.09z"/>
+	<path class="st1" d="M589.33,196.01h-1.91c-0.42,0-0.73-0.34-0.73-0.77v-0.73c-2.11,1.19-3.83,1.76-6.09,1.76
+		c-4.59,0-6.66-2.87-6.66-7.97v-12.6c0-0.42,0.34-0.77,0.77-0.77h1.84c0.42,0,0.77,0.34,0.77,0.77v12.6c0,3.87,1.3,5.05,4.21,5.05
+		c1.61,0,3.41-0.61,5.17-1.49v-16.16c0-0.38,0.35-0.77,0.77-0.77h1.88c0.38,0,0.73,0.34,0.73,0.77v19.53
+		C590.06,195.66,589.75,196.01,589.33,196.01z"/>
+	<path class="st1" d="M603.93,177.59c-1.76,0-3.37,0.46-5.28,1.61v16.05c0,0.38-0.34,0.77-0.77,0.77H596
+		c-0.38,0-0.73-0.34-0.73-0.77v-19.53c0-0.42,0.31-0.77,0.73-0.77h1.8c0.42,0,0.73,0.34,0.73,0.77v0.8c1.91-1.34,3.68-1.84,5.4-1.84
+		c0.54,0,0.8,0.23,0.8,0.69v1.57C604.73,177.36,604.46,177.59,603.93,177.59z"/>
+</g>
+<g>
+	<path class="st2" d="M220.66,70.87c-22.97,0-41.65,18.68-41.65,41.65v76.35c0,4.49,3.64,8.13,8.13,8.13c4.49,0,8.13-3.64,8.13-8.13
+		v-50.61h12.86c4.18,0,7.57-3.46,7.57-7.73c0-4.27-3.39-7.73-7.57-7.73h-12.86v-10.28c0-14,11.39-25.39,25.39-25.39
+		c4.49,0,8.13-3.64,8.13-8.13S225.15,70.87,220.66,70.87"/>
+	<g>
+		<path class="st2" d="M147.31,196.99c-4.49,0-8.13-3.64-8.13-8.13l0.06-33.76c0-14-11.39-25.39-25.39-25.39
+			s-25.39,11.39-25.39,25.39c0,4.49-3.64,8.13-8.13,8.13s-8.13-3.64-8.13-8.13c0-22.96,18.68-41.65,41.65-41.65
+			s41.65,18.68,41.65,41.65v33.76C155.5,193.35,151.8,196.99,147.31,196.99"/>
+		<path class="st3" d="M89.8,187.5c0,5.23-4.24,9.47-9.47,9.47c-5.23,0-9.47-4.24-9.47-9.47s4.24-9.47,9.47-9.47
+			C85.56,178.03,89.8,182.27,89.8,187.5"/>
+	</g>
+	<g>
+		<path class="st4" d="M351.91,95.15c3.49,3.89,3.17,9.88-0.72,13.37c-3.89,3.49-9.88,3.16-13.37-0.73
+			c-3.49-3.89-3.17-9.88,0.72-13.37C342.43,90.93,348.42,91.25,351.91,95.15"/>
+		<path class="st2" d="M352.99,133.86v55c0,4.49-3.64,8.13-8.13,8.13l0,0c-4.49,0-8.13-3.64-8.13-8.13v-55
+			c0-4.49,3.64-8.13,8.13-8.13h0C349.36,125.73,352.99,129.37,352.99,133.86z"/>
+	</g>
+	<path class="st2" d="M304.88,70.87c-4.49,0-8.13,3.64-8.13,8.13v43.2c-7.06-5.47-15.91-8.73-25.51-8.73
+		c-23.03,0-41.77,18.73-41.77,41.76s18.73,41.76,41.77,41.76c23.03,0,41.76-18.73,41.76-41.76V79
+		C313,74.51,309.37,70.87,304.88,70.87z M271.24,180.74c-14.07,0-25.51-11.44-25.51-25.51c0-14.06,11.44-25.51,25.51-25.51
+		c14.06,0,25.51,11.44,25.51,25.51C296.74,169.3,285.3,180.74,271.24,180.74z"/>
+</g>
+</svg>
diff --git a/static/images/pages/login/nfdi_rgb_dark.png b/static/images/pages/login/nfdi_rgb_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfeb01bc1b263906133c93b907d365136510c7a0
Binary files /dev/null and b/static/images/pages/login/nfdi_rgb_dark.png differ
diff --git a/static/images/pages/login/right_bluebg_arrow.svg b/static/images/pages/login/right_bluebg_arrow.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f41aa0ce6f2c028e096ce87fcd4af409417916a7
--- /dev/null
+++ b/static/images/pages/login/right_bluebg_arrow.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 46 46" style="enable-background:new 0 0 46 46;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+	.st1{fill:none;stroke:#023D6B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+	.st2{fill:#ADBDE3;}
+	.st3{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+</style>
+<rect class="st2" width="46" height="46"/>
+<polyline class="st3" points="19.42,30.15 26.58,23 19.58,16 "/>
+</svg>
diff --git a/static/images/pages/login/right_whitebg_arrow.svg b/static/images/pages/login/right_whitebg_arrow.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2577753fd437838d5cd25a20147a0a5302c9cdaf
--- /dev/null
+++ b/static/images/pages/login/right_whitebg_arrow.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 46 46" style="enable-background:new 0 0 46 46;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;stroke:#023D6B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+	.st1{fill:#ADBDE3;}
+	.st2{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+</style>
+<polyline class="st0" points="19.42,30.15 26.58,23 19.58,16 "/>
+</svg>
diff --git a/static/images/pages/vo_info/HIFIS.png b/static/images/pages/vo_info/HIFIS.png
new file mode 100644
index 0000000000000000000000000000000000000000..0feed5de4cf753c94d87fd7548b86df61b54f09d
Binary files /dev/null and b/static/images/pages/vo_info/HIFIS.png differ
diff --git a/static/images/pages/vo_info/default.png b/static/images/pages/vo_info/default.png
new file mode 100644
index 0000000000000000000000000000000000000000..24d226b5d3c24214c979f3c5bdaf116fbecd42b0
Binary files /dev/null and b/static/images/pages/vo_info/default.png differ
diff --git a/static/images/sprite.png b/static/images/sprite.png
new file mode 100644
index 0000000000000000000000000000000000000000..0fe209a30fb262262dadc6915bae0883a3865b91
Binary files /dev/null and b/static/images/sprite.png differ
diff --git a/static/images/workshop/login_01.png b/static/images/workshop/login_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..77452370e8ce430fd2170911d4f59b32263ca695
Binary files /dev/null and b/static/images/workshop/login_01.png differ
diff --git a/static/images/workshop/partition_01.png b/static/images/workshop/partition_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..73385950db63ade4573a2bfc334462f28606fc95
Binary files /dev/null and b/static/images/workshop/partition_01.png differ
diff --git a/static/images/workshop/project_01.png b/static/images/workshop/project_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..1cb770ae5b6f90ca54024eb608f56c3d602fe69d
Binary files /dev/null and b/static/images/workshop/project_01.png differ
diff --git a/static/js/2FA.js b/static/js/2FA.js
new file mode 100644
index 0000000000000000000000000000000000000000..afcd25392a0d9ebe32f045931ee0efa102b7f50d
--- /dev/null
+++ b/static/js/2FA.js
@@ -0,0 +1,117 @@
+// Copyright (c) Jupyter Development Team.
+// Distributed under the terms of the Modified BSD License.
+
+require(["jquery", "jhapi"], function (
+  $,
+  JHAPI,
+) {
+  "use strict";
+
+  var base_url = window.jhdata.base_url;
+  var user = window.jhdata.user;
+  var api = new JHAPI(base_url);
+
+  function activate2FA() {
+    // request
+    if ($(".activate-2fa").attr("disabled") == "disabled") {
+      $.confirm({
+        title: "2-Factor Authentication - Resend Request",
+        backgroundDismiss: "2-Factor Authentication",
+        content:
+          "A confirmation email has already been send to " +
+          user +
+          '. Please check your email account (including possible spam folders) or click on "RE-SEND REQUEST" for a new confirmation email.<br>',
+        buttons: {
+          Resend: {
+            text: "RE-SEND REQUEST",
+            btnClass: "btn-blue",
+            action: function () {
+              api.activate_2fa(user, {
+                success: function () {
+                  $(".activate-2fa").attr("disabled", "disabled");
+                },
+              });
+            },
+          },
+          Ok: {
+            text: "Ok",
+            btnClass: "btn-default",
+            action: function () { },
+          },
+        },
+      });
+    } else {
+      $.confirm({
+        title: "2-Factor Authentication - Request",
+        backgroundDismiss: "2-Factor Authentication",
+        content:
+          "We'll send you a confirmation email.<br>Please follow the activation link in that email to proceed.",
+        buttons: {
+          Ok: {
+            text: "REQUEST EMAIL",
+            btnClass: "btn-blue",
+            action: function () {
+              api.activate_2fa(user, {
+                success: function () {
+                  $(".activate-2fa").attr("disabled", "disabled");
+                },
+              });
+            },
+          },
+          Cancel: {
+            text: "Cancel",
+            btnClass: "btn-default",
+            action: function () { },
+          },
+        },
+      });
+    }
+  }
+
+  function remove2FA() {
+    // request
+    if ($(".remove-2fa").attr("disabled") == "disabled") {
+      $.confirm({
+        title: "2-Factor Authentication - Removal",
+        backgroundDismiss: "2-Factor Authentication",
+        content:
+          "The 2-factor authentication was removed for your account.<br>You can request it again at any time.",
+        buttons: {
+          Ok: {
+            text: "Ok",
+            btnClass: "btn-default",
+            action: function () { },
+          },
+        },
+      });
+    } else {
+      $.confirm({
+        title: "2-Factor Authentication - Removal",
+        backgroundDismiss: "2-Factor Authentication",
+        content:
+          "This will remove the 2-factor authentication for your account.<br>You can request it again at any time.",
+        buttons: {
+          Ok: {
+            text: "Remove 2FA",
+            btnClass: "btn-blue",
+            action: function () {
+              api.remove_2fa(user, {
+                success: function () {
+                  $(".remove-2fa").attr("disabled", "disabled");
+                },
+              });
+            },
+          },
+          Cancel: {
+            text: "Cancel",
+            btnClass: "btn-default",
+            action: function () { },
+          },
+        },
+      });
+    }
+  }
+
+  $("#activate-2fa").click(activate2FA);
+  $("#remove-2fa").click(remove2FA);
+});
diff --git a/static/js/admin-react.js b/static/js/admin-react.js
new file mode 100644
index 0000000000000000000000000000000000000000..088df5bf349ea59f1baf9d94fc0eee665bc777a4
--- /dev/null
+++ b/static/js/admin-react.js
@@ -0,0 +1,2 @@
+/*! For license information please see admin-react.js.LICENSE.txt */
+(() => { var e, t, n = { 927: (e, t, n) => { "use strict"; var r = n(294), o = n(935), a = r.createContext(null), i = function (e) { e() }, u = function () { return i }, l = { notify: function () { }, get: function () { return [] } }; function c(e, t) { var n, r = l; function o() { i.onStateChange && i.onStateChange() } function a() { n || (n = t ? t.addNestedSub(o) : e.subscribe(o), r = function () { var e = u(), t = null, n = null; return { clear: function () { t = null, n = null }, notify: function () { e((function () { for (var e = t; e;)e.callback(), e = e.next })) }, get: function () { for (var e = [], n = t; n;)e.push(n), n = n.next; return e }, subscribe: function (e) { var r = !0, o = n = { callback: e, next: null, prev: n }; return o.prev ? o.prev.next = o : t = o, function () { r && null !== t && (r = !1, o.next ? o.next.prev = o.prev : n = o.prev, o.prev ? o.prev.next = o.next : t = o.next) } } } }()) } var i = { addNestedSub: function (e) { return a(), r.subscribe(e) }, notifyNestedSubs: function () { r.notify() }, handleChangeWrapper: o, isSubscribed: function () { return Boolean(n) }, trySubscribe: a, tryUnsubscribe: function () { n && (n(), n = void 0, r.clear(), r = l) }, getListeners: function () { return r } }; return i } var s = "undefined" != typeof window && void 0 !== window.document && void 0 !== window.document.createElement ? r.useLayoutEffect : r.useEffect; const f = function (e) { var t = e.store, n = e.context, o = e.children, i = (0, r.useMemo)((function () { var e = c(t); return { store: t, subscription: e } }), [t]), u = (0, r.useMemo)((function () { return t.getState() }), [t]); s((function () { var e = i.subscription; return e.onStateChange = e.notifyNestedSubs, e.trySubscribe(), u !== t.getState() && e.notifyNestedSubs(), function () { e.tryUnsubscribe(), e.onStateChange = null } }), [i, u]); var l = n || a; return r.createElement(l.Provider, { value: i }, o) }; function d() { return d = Object.assign ? Object.assign.bind() : function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) } return e }, d.apply(this, arguments) } function p() { return (0, r.useContext)(a) } function h(e) { void 0 === e && (e = a); var t = e === a ? p : function () { return (0, r.useContext)(e) }; return function () { return t().store } } n(679), n(864); var m = h(); function v(e) { void 0 === e && (e = a); var t = e === a ? m : h(e); return function () { return t().dispatch } } var y = v(), g = function (e, t) { return e === t }; function b(e) { void 0 === e && (e = a); var t = e === a ? p : function () { return (0, r.useContext)(e) }; return function (e, n) { void 0 === n && (n = g); var o = t(), a = function (e, t, n, o) { var a, i = (0, r.useReducer)((function (e) { return e + 1 }), 0)[1], u = (0, r.useMemo)((function () { return c(n, o) }), [n, o]), l = (0, r.useRef)(), f = (0, r.useRef)(), d = (0, r.useRef)(), p = (0, r.useRef)(), h = n.getState(); try { if (e !== f.current || h !== d.current || l.current) { var m = e(h); a = void 0 !== p.current && t(m, p.current) ? p.current : m } else a = p.current } catch (e) { throw l.current && (e.message += "\nThe error may be correlated with this previous error:\n" + l.current.stack + "\n\n"), e } return s((function () { f.current = e, d.current = h, p.current = a, l.current = void 0 })), s((function () { function e() { try { var e = n.getState(); if (e === d.current) return; var r = f.current(e); if (t(r, p.current)) return; p.current = r, d.current = e } catch (e) { l.current = e } i() } return u.onStateChange = e, u.trySubscribe(), e(), function () { return u.tryUnsubscribe() } }), [n, u]), a }(e, n, o.store, o.subscription); return (0, r.useDebugValue)(a), a } } var w, E = b(); function _(e) { return "Minified Redux error #" + e + "; visit https://redux.js.org/Errors?code=" + e + " for the full message or use the non-minified dev environment for full errors. " } w = o.unstable_batchedUpdates, i = w; var x = "function" == typeof Symbol && Symbol.observable || "@@observable", k = function () { return Math.random().toString(36).substring(7).split("").join(".") }, S = { INIT: "@@redux/INIT" + k(), REPLACE: "@@redux/REPLACE" + k(), PROBE_UNKNOWN_ACTION: function () { return "@@redux/PROBE_UNKNOWN_ACTION" + k() } }; function C(e) { if ("object" != typeof e || null === e) return !1; for (var t = e; null !== Object.getPrototypeOf(t);)t = Object.getPrototypeOf(t); return Object.getPrototypeOf(e) === t } function N(e, t) { return N = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) { return e.__proto__ = t, e }, N(e, t) } function O(e, t) { e.prototype = Object.create(t.prototype), e.prototype.constructor = e, N(e, t) } n(766); n(790), n(121); Object.prototype.hasOwnProperty, Object.keys, r.Component; var P, j = function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)t[n] = arguments[n]; return t.reduce((function (e, t) { return function () { return e(t.apply(void 0, arguments)) } }), (function (e) { return e })) }, T = { fromESObservable: null, toESObservable: null }, L = ({ fromESObservable: function (e) { return "function" == typeof T.fromESObservable ? T.fromESObservable(e) : e }, toESObservable: function (e) { return "function" == typeof T.toESObservable ? T.toESObservable(e) : e } }, { user_data: void 0, user_page: { offset: 0, limit: window.api_page_limit || 100 }, name_filter: "", groups_data: void 0, groups_page: { offset: 0, limit: window.api_page_limit || 100 }, limit: window.api_page_limit || 100 }), R = window.jhdata || {}, A = R.base_url || "/", I = R.xsrf_token, z = function (e, t, n) { var r = "".concat(A, "hub/api"), o = ""; return I && (o = (-1 === e.indexOf("?") ? "?" : "&") + "_xsrf=" + I), fetch(r + e + o, { method: t, json: !0, headers: { "Content-Type": "application/json", Accept: "application/jupyterhub-pagination+json" }, body: n ? JSON.stringify(n) : null }) }; const M = (P = function () { return { updateUsers: function (e, t, n) { return z("/users?include_stopped_servers&offset=".concat(e, "&limit=").concat(t, "&name_filter=").concat(n || ""), "GET").then((function (e) { return e.json() })) }, updateGroups: function (e, t) { return z("/groups?offset=".concat(e, "&limit=").concat(t), "GET").then((function (e) { return e.json() })) }, shutdownHub: function () { return z("/shutdown", "POST") }, startServer: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""; return z("/users/" + e + "/servers/" + (t || ""), "POST") }, stopServer: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""; return z("/users/" + e + "/servers/" + (t || ""), "DELETE") }, startAll: function (e) { return e.map((function (e) { return z("/users/" + e + "/server", "POST") })) }, stopAll: function (e) { return e.map((function (e) { return z("/users/" + e + "/server", "DELETE") })) }, addToGroup: function (e, t) { return z("/groups/" + t + "/users", "POST", { users: e }) }, updateProp: function (e, t) { return z("/groups/" + t + "/properties", "PUT", e) }, removeFromGroup: function (e, t) { return z("/groups/" + t + "/users", "DELETE", { users: e }) }, createGroup: function (e) { return z("/groups/" + e, "POST") }, deleteGroup: function (e) { return z("/groups/" + e, "DELETE") }, addUsers: function (e, t) { return z("/users", "POST", { usernames: e, admin: t }) }, editUser: function (e, t, n) { return z("/users/" + e, "PATCH", { name: t, admin: n }) }, deleteUser: function (e) { return z("/users/" + e, "DELETE") }, findUser: function (e) { return z("/users/" + e, "GET") }, validateUser: function (e) { return z("/users/" + e, "GET").then((function (e) { return e.status })).then((function (e) { return !(e > 200) })) }, noChangeEvent: function () { return null }, refreshGroupsData: function () { return z("/groups", "GET").then((function (e) { return e.json() })) }, refreshUserData: function () { return z("/users", "GET").then((function (e) { return e.json() })) } } }, D = function (e) { return d({}, e, P()) }, function (e) { var t, n = (t = e, r.createElement.bind(null, t)); return function (e) { return n(D(e)) } }); var D; function U(e) { return "/" === e.charAt(0) } function F(e, t) { for (var n = t, r = n + 1, o = e.length; r < o; n += 1, r += 1)e[n] = e[r]; e.pop() } const $ = function (e, t) { void 0 === t && (t = ""); var n, r = e && e.split("/") || [], o = t && t.split("/") || [], a = e && U(e), i = t && U(t), u = a || i; if (e && U(e) ? o = r : r.length && (o.pop(), o = o.concat(r)), !o.length) return "/"; if (o.length) { var l = o[o.length - 1]; n = "." === l || ".." === l || "" === l } else n = !1; for (var c = 0, s = o.length; s >= 0; s--) { var f = o[s]; "." === f ? F(o, s) : ".." === f ? (F(o, s), c++) : c && (F(o, s), c--) } if (!u) for (; c--; c)o.unshift(".."); !u || "" === o[0] || o[0] && U(o[0]) || o.unshift(""); var d = o.join("/"); return n && "/" !== d.substr(-1) && (d += "/"), d }; "undefined" == typeof window || !window.document || window.document.createElement; var B = n(697), W = n.n(B), V = 1073741823, H = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : void 0 !== n.g ? n.g : {}; function G(e) { var t = []; return { on: function (e) { t.push(e) }, off: function (e) { t = t.filter((function (t) { return t !== e })) }, get: function () { return e }, set: function (n, r) { e = n, t.forEach((function (t) { return t(e, r) })) } } } var q = r.createContext || function (e, t) { var n, o, a, i = "__create-react-context-" + ((H[a = "__global_unique_id__"] = (H[a] || 0) + 1) + "__"), u = function (e) { function n() { var t; return (t = e.apply(this, arguments) || this).emitter = G(t.props.value), t } O(n, e); var r = n.prototype; return r.getChildContext = function () { var e; return (e = {})[i] = this.emitter, e }, r.componentWillReceiveProps = function (e) { if (this.props.value !== e.value) { var n, r = this.props.value, o = e.value; ((a = r) === (i = o) ? 0 !== a || 1 / a == 1 / i : a != a && i != i) ? n = 0 : (n = "function" == typeof t ? t(r, o) : V, 0 != (n |= 0) && this.emitter.set(e.value, n)) } var a, i }, r.render = function () { return this.props.children }, n }(r.Component); u.childContextTypes = ((n = {})[i] = W().object.isRequired, n); var l = function (t) { function n() { var e; return (e = t.apply(this, arguments) || this).state = { value: e.getValue() }, e.onUpdate = function (t, n) { 0 != ((0 | e.observedBits) & n) && e.setState({ value: e.getValue() }) }, e } O(n, t); var r = n.prototype; return r.componentWillReceiveProps = function (e) { var t = e.observedBits; this.observedBits = null == t ? V : t }, r.componentDidMount = function () { this.context[i] && this.context[i].on(this.onUpdate); var e = this.props.observedBits; this.observedBits = null == e ? V : e }, r.componentWillUnmount = function () { this.context[i] && this.context[i].off(this.onUpdate) }, r.getValue = function () { return this.context[i] ? this.context[i].get() : e }, r.render = function () { return (e = this.props.children, Array.isArray(e) ? e[0] : e)(this.state.value); var e }, n }(r.Component); return l.contextTypes = ((o = {})[i] = W().object, o), { Provider: u, Consumer: l } }; const Q = q; function K(e, t) { if (!e) throw new Error("Invariant failed") } var Y = n(779), X = n.n(Y); function Z(e, t) { if (null == e) return {}; var n, r, o = {}, a = Object.keys(e); for (r = 0; r < a.length; r++)n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]); return o } n(663); var J = function (e) { var t = Q(); return t.displayName = e, t }, ee = J("Router-History"), te = J("Router"), ne = function (e) { function t(t) { var n; return (n = e.call(this, t) || this).state = { location: t.history.location }, n._isMounted = !1, n._pendingLocation = null, t.staticContext || (n.unlisten = t.history.listen((function (e) { n._pendingLocation = e }))), n } O(t, e), t.computeRootMatch = function (e) { return { path: "/", url: "/", params: {}, isExact: "/" === e } }; var n = t.prototype; return n.componentDidMount = function () { var e = this; this._isMounted = !0, this.unlisten && this.unlisten(), this.props.staticContext || (this.unlisten = this.props.history.listen((function (t) { e._isMounted && e.setState({ location: t }) }))), this._pendingLocation && this.setState({ location: this._pendingLocation }) }, n.componentWillUnmount = function () { this.unlisten && (this.unlisten(), this._isMounted = !1, this._pendingLocation = null) }, n.render = function () { return r.createElement(te.Provider, { value: { history: this.props.history, location: this.state.location, match: t.computeRootMatch(this.state.location.pathname), staticContext: this.props.staticContext } }, r.createElement(ee.Provider, { children: this.props.children || null, value: this.props.history })) }, t }(r.Component); r.Component, r.Component; var re = {}, oe = 0; function ae(e, t) { void 0 === t && (t = {}), ("string" == typeof t || Array.isArray(t)) && (t = { path: t }); var n = t, r = n.path, o = n.exact, a = void 0 !== o && o, i = n.strict, u = void 0 !== i && i, l = n.sensitive, c = void 0 !== l && l; return [].concat(r).reduce((function (t, n) { if (!n && "" !== n) return null; if (t) return t; var r = function (e, t) { var n = "" + t.end + t.strict + t.sensitive, r = re[n] || (re[n] = {}); if (r[e]) return r[e]; var o = [], a = { regexp: X()(e, o, t), keys: o }; return oe < 1e4 && (r[e] = a, oe++), a }(n, { end: a, strict: u, sensitive: c }), o = r.regexp, i = r.keys, l = o.exec(e); if (!l) return null; var s = l[0], f = l.slice(1), d = e === s; return a && !d ? null : { path: n, url: "/" === n && "" === s ? "/" : s, isExact: d, params: i.reduce((function (e, t, n) { return e[t.name] = f[n], e }), {}) } }), null) } var ie = function (e) { function t() { return e.apply(this, arguments) || this } return O(t, e), t.prototype.render = function () { var e = this; return r.createElement(te.Consumer, null, (function (t) { t || K(!1); var n = e.props.location || t.location, o = d({}, t, { location: n, match: e.props.computedMatch ? e.props.computedMatch : e.props.path ? ae(n.pathname, e.props) : t.match }), a = e.props, i = a.children, u = a.component, l = a.render; return Array.isArray(i) && function (e) { return 0 === r.Children.count(e) }(i) && (i = null), r.createElement(te.Provider, { value: o }, o.match ? i ? "function" == typeof i ? i(o) : i : u ? r.createElement(u, o) : l ? l(o) : null : "function" == typeof i ? i(o) : null) })) }, t }(r.Component); r.Component; var ue = function (e) { function t() { return e.apply(this, arguments) || this } return O(t, e), t.prototype.render = function () { var e = this; return r.createElement(te.Consumer, null, (function (t) { t || K(!1); var n, o, a = e.props.location || t.location; return r.Children.forEach(e.props.children, (function (e) { if (null == o && r.isValidElement(e)) { n = e; var i = e.props.path || e.props.from; o = i ? ae(a.pathname, d({}, e.props, { path: i })) : t.match } })), o ? r.cloneElement(n, { location: a, computedMatch: o }) : null })) }, t }(r.Component); function le(e) { return "/" === e.charAt(0) ? e : "/" + e } function ce(e) { return "/" === e.charAt(0) ? e.substr(1) : e } function se(e, t) { return function (e, t) { return 0 === e.toLowerCase().indexOf(t.toLowerCase()) && -1 !== "/?#".indexOf(e.charAt(t.length)) }(e, t) ? e.substr(t.length) : e } function fe(e) { return "/" === e.charAt(e.length - 1) ? e.slice(0, -1) : e } function de(e) { var t = e.pathname, n = e.search, r = e.hash, o = t || "/"; return n && "?" !== n && (o += "?" === n.charAt(0) ? n : "?" + n), r && "#" !== r && (o += "#" === r.charAt(0) ? r : "#" + r), o } function pe(e, t, n, r) { var o; "string" == typeof e ? (o = function (e) { var t = e || "/", n = "", r = "", o = t.indexOf("#"); -1 !== o && (r = t.substr(o), t = t.substr(0, o)); var a = t.indexOf("?"); return -1 !== a && (n = t.substr(a), t = t.substr(0, a)), { pathname: t, search: "?" === n ? "" : n, hash: "#" === r ? "" : r } }(e), o.state = t) : (void 0 === (o = d({}, e)).pathname && (o.pathname = ""), o.search ? "?" !== o.search.charAt(0) && (o.search = "?" + o.search) : o.search = "", o.hash ? "#" !== o.hash.charAt(0) && (o.hash = "#" + o.hash) : o.hash = "", void 0 !== t && void 0 === o.state && (o.state = t)); try { o.pathname = decodeURI(o.pathname) } catch (e) { throw e instanceof URIError ? new URIError('Pathname "' + o.pathname + '" could not be decoded. This is likely caused by an invalid percent-encoding.') : e } return n && (o.key = n), r ? o.pathname ? "/" !== o.pathname.charAt(0) && (o.pathname = $(o.pathname, r.pathname)) : o.pathname = r.pathname : o.pathname || (o.pathname = "/"), o } function he() { var e = null, t = []; return { setPrompt: function (t) { return e = t, function () { e === t && (e = null) } }, confirmTransitionTo: function (t, n, r, o) { if (null != e) { var a = "function" == typeof e ? e(t, n) : e; "string" == typeof a ? "function" == typeof r ? r(a, o) : o(!0) : o(!1 !== a) } else o(!0) }, appendListener: function (e) { var n = !0; function r() { n && e.apply(void 0, arguments) } return t.push(r), function () { n = !1, t = t.filter((function (e) { return e !== r })) } }, notifyListeners: function () { for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++)n[r] = arguments[r]; t.forEach((function (e) { return e.apply(void 0, n) })) } } } r.useContext; var me = !("undefined" == typeof window || !window.document || !window.document.createElement); function ve(e, t) { t(window.confirm(e)) } var ye = "hashchange", ge = { hashbang: { encodePath: function (e) { return "!" === e.charAt(0) ? e : "!/" + ce(e) }, decodePath: function (e) { return "!" === e.charAt(0) ? e.substr(1) : e } }, noslash: { encodePath: ce, decodePath: le }, slash: { encodePath: le, decodePath: le } }; function be(e) { var t = e.indexOf("#"); return -1 === t ? e : e.slice(0, t) } function we() { var e = window.location.href, t = e.indexOf("#"); return -1 === t ? "" : e.substring(t + 1) } function Ee(e) { window.location.replace(be(window.location.href) + "#" + e) } function _e(e) { void 0 === e && (e = {}), me || K(!1); var t = window.history, n = (window.navigator.userAgent.indexOf("Firefox"), e), r = n.getUserConfirmation, o = void 0 === r ? ve : r, a = n.hashType, i = void 0 === a ? "slash" : a, u = e.basename ? fe(le(e.basename)) : "", l = ge[i], c = l.encodePath, s = l.decodePath; function f() { var e = s(we()); return u && (e = se(e, u)), pe(e) } var p = he(); function h(e) { d(C, e), C.length = t.length, p.notifyListeners(C.location, C.action) } var m = !1, v = null; function y() { var e, t, n = we(), r = c(n); if (n !== r) Ee(r); else { var a = f(), i = C.location; if (!m && (t = a, (e = i).pathname === t.pathname && e.search === t.search && e.hash === t.hash)) return; if (v === de(a)) return; v = null, function (e) { if (m) m = !1, h(); else { p.confirmTransitionTo(e, "POP", o, (function (t) { t ? h({ action: "POP", location: e }) : function (e) { var t = C.location, n = E.lastIndexOf(de(t)); -1 === n && (n = 0); var r = E.lastIndexOf(de(e)); -1 === r && (r = 0); var o = n - r; o && (m = !0, _(o)) }(e) })) } }(a) } } var g = we(), b = c(g); g !== b && Ee(b); var w = f(), E = [de(w)]; function _(e) { t.go(e) } var x = 0; function k(e) { 1 === (x += e) && 1 === e ? window.addEventListener(ye, y) : 0 === x && window.removeEventListener(ye, y) } var S = !1, C = { length: t.length, action: "POP", location: w, createHref: function (e) { var t = document.querySelector("base"), n = ""; return t && t.getAttribute("href") && (n = be(window.location.href)), n + "#" + c(u + de(e)) }, push: function (e, t) { var n = "PUSH", r = pe(e, void 0, void 0, C.location); p.confirmTransitionTo(r, n, o, (function (e) { if (e) { var t = de(r), o = c(u + t); if (we() !== o) { v = t, function (e) { window.location.hash = e }(o); var a = E.lastIndexOf(de(C.location)), i = E.slice(0, a + 1); i.push(t), E = i, h({ action: n, location: r }) } else h() } })) }, replace: function (e, t) { var n = "REPLACE", r = pe(e, void 0, void 0, C.location); p.confirmTransitionTo(r, n, o, (function (e) { if (e) { var t = de(r), o = c(u + t); we() !== o && (v = t, Ee(o)); var a = E.indexOf(de(C.location)); -1 !== a && (E[a] = t), h({ action: n, location: r }) } })) }, go: _, goBack: function () { _(-1) }, goForward: function () { _(1) }, block: function (e) { void 0 === e && (e = !1); var t = p.setPrompt(e); return S || (k(1), S = !0), function () { return S && (S = !1, k(-1)), t() } }, listen: function (e) { var t = p.appendListener(e); return k(1), function () { k(-1), t() } } }; return C } r.Component; var xe = function (e) { function t() { for (var t, n = arguments.length, r = new Array(n), o = 0; o < n; o++)r[o] = arguments[o]; return (t = e.call.apply(e, [this].concat(r)) || this).history = _e(t.props), t } return O(t, e), t.prototype.render = function () { return r.createElement(ne, { history: this.history, children: this.props.children }) }, t }(r.Component), ke = function (e, t) { return "function" == typeof e ? e(t) : e }, Se = function (e, t) { return "string" == typeof e ? pe(e, null, null, t) : e }, Ce = function (e) { return e }, Ne = r.forwardRef; void 0 === Ne && (Ne = Ce); var Oe = Ne((function (e, t) { var n = e.innerRef, o = e.navigate, a = e.onClick, i = Z(e, ["innerRef", "navigate", "onClick"]), u = i.target, l = d({}, i, { onClick: function (e) { try { a && a(e) } catch (t) { throw e.preventDefault(), t } e.defaultPrevented || 0 !== e.button || u && "_self" !== u || function (e) { return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) }(e) || (e.preventDefault(), o()) } }); return l.ref = Ce !== Ne && t || n, r.createElement("a", l) })), Pe = Ne((function (e, t) { var n = e.component, o = void 0 === n ? Oe : n, a = e.replace, i = e.to, u = e.innerRef, l = Z(e, ["component", "replace", "to", "innerRef"]); return r.createElement(te.Consumer, null, (function (e) { e || K(!1); var n = e.history, c = Se(ke(i, e.location), e.location), s = c ? n.createHref(c) : "", f = d({}, l, { href: s, navigate: function () { var t = ke(i, e.location), r = de(e.location) === de(Se(t)); (a || r ? n.replace : n.push)(t) } }); return Ce !== Ne ? f.ref = t || u : f.innerRef = u, r.createElement(o, f) })) })), je = function (e) { return e }, Te = r.forwardRef; void 0 === Te && (Te = je), Te((function (e, t) { var n = e["aria-current"], o = void 0 === n ? "page" : n, a = e.activeClassName, i = void 0 === a ? "active" : a, u = e.activeStyle, l = e.className, c = e.exact, s = e.isActive, f = e.location, p = e.sensitive, h = e.strict, m = e.style, v = e.to, y = e.innerRef, g = Z(e, ["aria-current", "activeClassName", "activeStyle", "className", "exact", "isActive", "location", "sensitive", "strict", "style", "to", "innerRef"]); return r.createElement(te.Consumer, null, (function (e) { e || K(!1); var n = f || e.location, a = Se(ke(v, n), n), b = a.pathname, w = b && b.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"), E = w ? ae(n.pathname, { path: w, exact: c, sensitive: p, strict: h }) : null, _ = !!(s ? s(E, n) : E), x = "function" == typeof l ? l(_) : l, k = "function" == typeof m ? m(_) : m; _ && (x = function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)t[n] = arguments[n]; return t.filter((function (e) { return e })).join(" ") }(x, i), k = d({}, k, u)); var S = d({ "aria-current": _ && o || null, className: x, style: k, to: a }, g); return je !== Te ? S.ref = t || y : S.innerRef = y, r.createElement(Pe, S) })) })); var Le = n(486), Re = n(184), Ae = n.n(Re), Ie = n(893); const ze = ["as", "disabled"]; function Me({ tagName: e, disabled: t, href: n, target: r, rel: o, role: a, onClick: i, tabIndex: u = 0, type: l }) { e || (e = null != n || null != r || null != o ? "a" : "button"); const c = { tagName: e }; if ("button" === e) return [{ type: l || "button", disabled: t }, c]; const s = r => { (t || "a" === e && function (e) { return !e || "#" === e.trim() }(n)) && r.preventDefault(), t ? r.stopPropagation() : null == i || i(r) }; return "a" === e && (n || (n = "#"), t && (n = void 0)), [{ role: null != a ? a : "button", disabled: void 0, tabIndex: t ? void 0 : u, href: n, target: "a" === e ? r : void 0, "aria-disabled": t || void 0, rel: "a" === e ? o : void 0, onClick: s, onKeyDown: e => { " " === e.key && (e.preventDefault(), s(e)) } }, c] } r.forwardRef(((e, t) => { let { as: n, disabled: r } = e, o = function (e, t) { if (null == e) return {}; var n, r, o = {}, a = Object.keys(e); for (r = 0; r < a.length; r++)n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]); return o }(e, ze); const [a, { tagName: i }] = Me(Object.assign({ tagName: n, disabled: r }, o)); return (0, Ie.jsx)(i, Object.assign({}, o, a, { ref: t })) })).displayName = "Button"; const De = r.createContext({ prefixes: {}, breakpoints: ["xxl", "xl", "lg", "md", "sm", "xs"] }), { Consumer: Ue, Provider: Fe } = De; function $e(e, t) { const { prefixes: n } = (0, r.useContext)(De); return e || n[t] || t } function Be() { const { breakpoints: e } = (0, r.useContext)(De); return e } const We = r.forwardRef((({ as: e, bsPrefix: t, variant: n, size: r, active: o, className: a, ...i }, u) => { const l = $e(t, "btn"), [c, { tagName: s }] = Me({ tagName: e, ...i }), f = s; return (0, Ie.jsx)(f, { ...c, ...i, ref: u, className: Ae()(a, l, o && "active", n && `${l}-${n}`, r && `${l}-${r}`, i.href && i.disabled && "disabled") }) })); We.displayName = "Button", We.defaultProps = { variant: "primary", active: !1, disabled: !1 }; const Ve = We; var He = /([A-Z])/g, Ge = /^ms-/; function qe(e) { return function (e) { return e.replace(He, "-$1").toLowerCase() }(e).replace(Ge, "-ms-") } var Qe = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i; const Ke = function (e, t) { var n = "", r = ""; if ("string" == typeof t) return e.style.getPropertyValue(qe(t)) || function (e, t) { return function (e) { var t = function (e) { return e && e.ownerDocument || document }(e); return t && t.defaultView || window }(e).getComputedStyle(e, void 0) }(e).getPropertyValue(qe(t)); Object.keys(t).forEach((function (o) { var a = t[o]; a || 0 === a ? function (e) { return !(!e || !Qe.test(e)) }(o) ? r += o + "(" + a + ") " : n += qe(o) + ": " + a + ";" : e.style.removeProperty(qe(o)) })), r && (n += "transform: " + r + ";"), e.style.cssText += ";" + n }, Ye = r.createContext(null); var Xe = "unmounted", Ze = "exited", Je = "entering", et = "entered", tt = "exiting", nt = function (e) { function t(t, n) { var r; r = e.call(this, t, n) || this; var o, a = n && !n.isMounting ? t.enter : t.appear; return r.appearStatus = null, t.in ? a ? (o = Ze, r.appearStatus = Je) : o = et : o = t.unmountOnExit || t.mountOnEnter ? Xe : Ze, r.state = { status: o }, r.nextCallback = null, r } O(t, e), t.getDerivedStateFromProps = function (e, t) { return e.in && t.status === Xe ? { status: Ze } : null }; var n = t.prototype; return n.componentDidMount = function () { this.updateStatus(!0, this.appearStatus) }, n.componentDidUpdate = function (e) { var t = null; if (e !== this.props) { var n = this.state.status; this.props.in ? n !== Je && n !== et && (t = Je) : n !== Je && n !== et || (t = tt) } this.updateStatus(!1, t) }, n.componentWillUnmount = function () { this.cancelNextCallback() }, n.getTimeouts = function () { var e, t, n, r = this.props.timeout; return e = t = n = r, null != r && "number" != typeof r && (e = r.exit, t = r.enter, n = void 0 !== r.appear ? r.appear : t), { exit: e, enter: t, appear: n } }, n.updateStatus = function (e, t) { if (void 0 === e && (e = !1), null !== t) if (this.cancelNextCallback(), t === Je) { if (this.props.unmountOnExit || this.props.mountOnEnter) { var n = this.props.nodeRef ? this.props.nodeRef.current : o.findDOMNode(this); n && function (e) { e.scrollTop }(n) } this.performEnter(e) } else this.performExit(); else this.props.unmountOnExit && this.state.status === Ze && this.setState({ status: Xe }) }, n.performEnter = function (e) { var t = this, n = this.props.enter, r = this.context ? this.context.isMounting : e, a = this.props.nodeRef ? [r] : [o.findDOMNode(this), r], i = a[0], u = a[1], l = this.getTimeouts(), c = r ? l.appear : l.enter; e || n ? (this.props.onEnter(i, u), this.safeSetState({ status: Je }, (function () { t.props.onEntering(i, u), t.onTransitionEnd(c, (function () { t.safeSetState({ status: et }, (function () { t.props.onEntered(i, u) })) })) }))) : this.safeSetState({ status: et }, (function () { t.props.onEntered(i) })) }, n.performExit = function () { var e = this, t = this.props.exit, n = this.getTimeouts(), r = this.props.nodeRef ? void 0 : o.findDOMNode(this); t ? (this.props.onExit(r), this.safeSetState({ status: tt }, (function () { e.props.onExiting(r), e.onTransitionEnd(n.exit, (function () { e.safeSetState({ status: Ze }, (function () { e.props.onExited(r) })) })) }))) : this.safeSetState({ status: Ze }, (function () { e.props.onExited(r) })) }, n.cancelNextCallback = function () { null !== this.nextCallback && (this.nextCallback.cancel(), this.nextCallback = null) }, n.safeSetState = function (e, t) { t = this.setNextCallback(t), this.setState(e, t) }, n.setNextCallback = function (e) { var t = this, n = !0; return this.nextCallback = function (r) { n && (n = !1, t.nextCallback = null, e(r)) }, this.nextCallback.cancel = function () { n = !1 }, this.nextCallback }, n.onTransitionEnd = function (e, t) { this.setNextCallback(t); var n = this.props.nodeRef ? this.props.nodeRef.current : o.findDOMNode(this), r = null == e && !this.props.addEndListener; if (n && !r) { if (this.props.addEndListener) { var a = this.props.nodeRef ? [this.nextCallback] : [n, this.nextCallback], i = a[0], u = a[1]; this.props.addEndListener(i, u) } null != e && setTimeout(this.nextCallback, e) } else setTimeout(this.nextCallback, 0) }, n.render = function () { var e = this.state.status; if (e === Xe) return null; var t = this.props, n = t.children, o = (t.in, t.mountOnEnter, t.unmountOnExit, t.appear, t.enter, t.exit, t.timeout, t.addEndListener, t.onEnter, t.onEntering, t.onEntered, t.onExit, t.onExiting, t.onExited, t.nodeRef, Z(t, ["children", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"])); return r.createElement(Ye.Provider, { value: null }, "function" == typeof n ? n(e, o) : r.cloneElement(r.Children.only(n), o)) }, t }(r.Component); function rt() { } nt.contextType = Ye, nt.propTypes = {}, nt.defaultProps = { in: !1, mountOnEnter: !1, unmountOnExit: !1, appear: !1, enter: !0, exit: !0, onEnter: rt, onEntering: rt, onEntered: rt, onExit: rt, onExiting: rt, onExited: rt }, nt.UNMOUNTED = Xe, nt.EXITED = Ze, nt.ENTERING = Je, nt.ENTERED = et, nt.EXITING = tt; const ot = nt, at = !("undefined" == typeof window || !window.document || !window.document.createElement); var it = !1, ut = !1; try { var lt = { get passive() { return it = !0 }, get once() { return ut = it = !0 } }; at && (window.addEventListener("test", lt, lt), window.removeEventListener("test", lt, !0)) } catch (e) { } const ct = function (e, t, n, r) { return function (e, t, n, r) { if (r && "boolean" != typeof r && !ut) { var o = r.once, a = r.capture, i = n; !ut && o && (i = n.__once || function e(r) { this.removeEventListener(t, e, a), n.call(this, r) }, n.__once = i), e.addEventListener(t, i, it ? r : a) } e.addEventListener(t, n, r) }(e, t, n, r), function () { !function (e, t, n, r) { var o = r && "boolean" != typeof r ? r.capture : r; e.removeEventListener(t, n, o), n.__once && e.removeEventListener(t, n.__once, o) }(e, t, n, r) } }; function st(e, t, n, r) { var o, a; null == n && (a = -1 === (o = Ke(e, "transitionDuration") || "").indexOf("ms") ? 1e3 : 1, n = parseFloat(o) * a || 0); var i = function (e, t, n) { void 0 === n && (n = 5); var r = !1, o = setTimeout((function () { r || function (e, t, n, r) { if (void 0 === n && (n = !1), void 0 === r && (r = !0), e) { var o = document.createEvent("HTMLEvents"); o.initEvent("transitionend", n, r), e.dispatchEvent(o) } }(e, 0, !0) }), t + n), a = ct(e, "transitionend", (function () { r = !0 }), { once: !0 }); return function () { clearTimeout(o), a() } }(e, n, r), u = ct(e, "transitionend", t); return function () { i(), u() } } function ft(e, t) { const n = Ke(e, t) || "", r = -1 === n.indexOf("ms") ? 1e3 : 1; return parseFloat(n) * r } function dt(e, t) { const n = ft(e, "transitionDuration"), r = ft(e, "transitionDelay"), o = st(e, (n => { n.target === e && (o(), t(n)) }), n + r) } const pt = function (...e) { return e.filter((e => null != e)).reduce(((e, t) => { if ("function" != typeof t) throw new Error("Invalid Argument Type, must only provide functions, undefined, or null."); return null === e ? t : function (...n) { e.apply(this, n), t.apply(this, n) } }), null) }; var ht = function (e) { return e && "function" != typeof e ? function (t) { e.current = t } : e }; const mt = r.forwardRef((({ onEnter: e, onEntering: t, onEntered: n, onExit: a, onExiting: i, onExited: u, addEndListener: l, children: c, childRef: s, ...f }, d) => { const p = (0, r.useRef)(null), h = (k = p, S = s, (0, r.useMemo)((function () { return function (e, t) { var n = ht(e), r = ht(t); return function (e) { n && n(e), r && r(e) } }(k, S) }), [k, S])), m = e => { var t; h((t = e) && "setState" in t ? o.findDOMNode(t) : null != t ? t : null) }, v = e => t => { e && p.current && e(p.current, t) }, y = (0, r.useCallback)(v(e), [e]), g = (0, r.useCallback)(v(t), [t]), b = (0, r.useCallback)(v(n), [n]), w = (0, r.useCallback)(v(a), [a]), E = (0, r.useCallback)(v(i), [i]), _ = (0, r.useCallback)(v(u), [u]), x = (0, r.useCallback)(v(l), [l]); var k, S; return (0, Ie.jsx)(ot, { ref: d, ...f, onEnter: y, onEntered: b, onEntering: g, onExit: w, onExited: _, onExiting: E, addEndListener: x, nodeRef: p, children: "function" == typeof c ? (e, t) => c(e, { ...t, ref: m }) : r.cloneElement(c, { ref: m }) }) })), vt = { height: ["marginTop", "marginBottom"], width: ["marginLeft", "marginRight"] }; function yt(e, t) { const n = t[`offset${e[0].toUpperCase()}${e.slice(1)}`], r = vt[e]; return n + parseInt(Ke(t, r[0]), 10) + parseInt(Ke(t, r[1]), 10) } const gt = { [Ze]: "collapse", [tt]: "collapsing", [Je]: "collapsing", [et]: "collapse show" }, bt = { in: !1, timeout: 300, mountOnEnter: !1, unmountOnExit: !1, appear: !1, getDimensionValue: yt }, wt = r.forwardRef((({ onEnter: e, onEntering: t, onEntered: n, onExit: o, onExiting: a, className: i, children: u, dimension: l = "height", getDimensionValue: c = yt, ...s }, f) => { const d = "function" == typeof l ? l() : l, p = (0, r.useMemo)((() => pt((e => { e.style[d] = "0" }), e)), [d, e]), h = (0, r.useMemo)((() => pt((e => { const t = `scroll${d[0].toUpperCase()}${d.slice(1)}`; e.style[d] = `${e[t]}px` }), t)), [d, t]), m = (0, r.useMemo)((() => pt((e => { e.style[d] = null }), n)), [d, n]), v = (0, r.useMemo)((() => pt((e => { e.style[d] = `${c(d, e)}px`, e.offsetHeight }), o)), [o, c, d]), y = (0, r.useMemo)((() => pt((e => { e.style[d] = null }), a)), [d, a]); return (0, Ie.jsx)(mt, { ref: f, addEndListener: dt, ...s, "aria-expanded": s.role ? s.in : null, onEnter: p, onEntering: h, onEntered: m, onExit: v, onExiting: y, childRef: u.ref, children: (e, t) => r.cloneElement(u, { ...t, className: Ae()(i, u.props.className, gt[e], "width" === d && "collapse-horizontal") }) }) })); wt.defaultProps = bt; const Et = wt; var _t = /-(.)/g; const xt = e => { return e[0].toUpperCase() + (t = e, t.replace(_t, (function (e, t) { return t.toUpperCase() }))).slice(1); var t }; function kt(e, { displayName: t = xt(e), Component: n, defaultProps: o } = {}) { const a = r.forwardRef((({ className: t, bsPrefix: r, as: o = n || "div", ...a }, i) => { const u = $e(r, e); return (0, Ie.jsx)(o, { ref: i, className: Ae()(t, u), ...a }) })); return a.defaultProps = o, a.displayName = t, a } const St = kt("card-group"), Ct = e => r.forwardRef(((t, n) => (0, Ie.jsx)("div", { ...t, ref: n, className: Ae()(t.className, e) }))), Nt = r.forwardRef((({ bsPrefix: e, className: t, variant: n, as: r = "img", ...o }, a) => { const i = $e(e, "card-img"); return (0, Ie.jsx)(r, { ref: a, className: Ae()(n ? `${i}-${n}` : i, t), ...o }) })); Nt.displayName = "CardImg"; const Ot = Nt, Pt = r.createContext(null); Pt.displayName = "CardHeaderContext"; const jt = Pt, Tt = r.forwardRef((({ bsPrefix: e, className: t, as: n = "div", ...o }, a) => { const i = $e(e, "card-header"), u = (0, r.useMemo)((() => ({ cardHeaderBsPrefix: i })), [i]); return (0, Ie.jsx)(jt.Provider, { value: u, children: (0, Ie.jsx)(n, { ref: a, ...o, className: Ae()(t, i) }) }) })); Tt.displayName = "CardHeader"; const Lt = Tt, Rt = Ct("h5"), At = Ct("h6"), It = kt("card-body"), zt = kt("card-title", { Component: Rt }), Mt = kt("card-subtitle", { Component: At }), Dt = kt("card-link", { Component: "a" }), Ut = kt("card-text", { Component: "p" }), Ft = kt("card-footer"), $t = kt("card-img-overlay"), Bt = r.forwardRef((({ bsPrefix: e, className: t, bg: n, text: r, border: o, body: a, children: i, as: u = "div", ...l }, c) => { const s = $e(e, "card"); return (0, Ie.jsx)(u, { ref: c, ...l, className: Ae()(t, s, n && `bg-${n}`, r && `text-${r}`, o && `border-${o}`), children: a ? (0, Ie.jsx)(It, { children: i }) : i }) })); Bt.displayName = "Card", Bt.defaultProps = { body: !1 }; const Wt = Object.assign(Bt, { Img: Ot, Title: zt, Subtitle: Mt, Body: It, Link: Dt, Text: Ut, Header: Lt, Footer: Ft, ImgOverlay: $t }), Vt = r.forwardRef((({ bsPrefix: e, className: t, as: n = "div", ...r }, o) => { const a = $e(e, "row"), i = Be(), u = `${a}-cols`, l = []; return i.forEach((e => { const t = r[e]; let n; delete r[e], null != t && "object" == typeof t ? ({ cols: n } = t) : n = t; const o = "xs" !== e ? `-${e}` : ""; null != n && l.push(`${u}${o}-${n}`) })), (0, Ie.jsx)(n, { ref: o, ...r, className: Ae()(t, a, ...l) }) })); Vt.displayName = "Row"; const Ht = Vt, Gt = r.forwardRef(((e, t) => { const [{ className: n, ...r }, { as: o = "div", bsPrefix: a, spans: i }] = function ({ as: e, bsPrefix: t, className: n, ...r }) { t = $e(t, "col"); const o = Be(), a = [], i = []; return o.forEach((e => { const n = r[e]; let o, u, l; delete r[e], "object" == typeof n && null != n ? ({ span: o, offset: u, order: l } = n) : o = n; const c = "xs" !== e ? `-${e}` : ""; o && a.push(!0 === o ? `${t}${c}` : `${t}${c}-${o}`), null != l && i.push(`order${c}-${l}`), null != u && i.push(`offset${c}-${u}`) })), [{ ...r, className: Ae()(n, ...a, ...i) }, { as: e, bsPrefix: t, spans: a }] }(e); return (0, Ie.jsx)(o, { ...r, ref: t, className: Ae()(n, !i.length && a) }) })); Gt.displayName = "Col"; const qt = Gt; n(473); const Qt = { type: W().string, tooltip: W().bool, as: W().elementType }, Kt = r.forwardRef((({ as: e = "div", className: t, type: n = "valid", tooltip: r = !1, ...o }, a) => (0, Ie.jsx)(e, { ...o, ref: a, className: Ae()(t, `${n}-${r ? "tooltip" : "feedback"}`) }))); Kt.displayName = "Feedback", Kt.propTypes = Qt; const Yt = Kt, Xt = r.createContext({}), Zt = r.forwardRef((({ bsPrefix: e, type: t, size: n, htmlSize: o, id: a, className: i, isValid: u = !1, isInvalid: l = !1, plaintext: c, readOnly: s, as: f = "input", ...d }, p) => { const { controlId: h } = (0, r.useContext)(Xt); let m; return e = $e(e, "form-control"), m = c ? { [`${e}-plaintext`]: !0 } : { [e]: !0, [`${e}-${n}`]: n }, (0, Ie.jsx)(f, { ...d, type: t, size: o, ref: p, readOnly: s, id: a || h, className: Ae()(i, m, u && "is-valid", l && "is-invalid", "color" === t && `${e}-color`) }) })); Zt.displayName = "FormControl"; const Jt = Object.assign(Zt, { Feedback: Yt }); function en() { return en = Object.assign ? Object.assign.bind() : function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) } return e }, en.apply(this, arguments) } function tn(e) { return tn = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }, tn(e) } function nn(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var r = Object.getOwnPropertySymbols(e); t && (r = r.filter((function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), n.push.apply(n, r) } return n } function rn(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? nn(Object(n), !0).forEach((function (t) { on(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : nn(Object(n)).forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e } function on(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } var an = function e(t) { var n = t, o = n.data, a = Object.keys(o || {}) || []; return r.createElement("table", { className: n.className, style: rn({}, n.style) }, r.createElement("tbody", null, a.map((function (t, a) { var i = o[t], u = "object" === tn(i), l = r.isValidElement(i); return r.createElement("tr", { key: a }, r.createElement("th", { style: rn({}, n.keyStyle) }, t), u && r.createElement("td", null, l && i, !l && r.createElement(e, en({}, n, { data: i }))), !u && r.createElement("td", { style: rn({ whiteSpace: "nowrap" }, n.valueStyle) }, "".concat(i))) })))) }; an.propTypes = { data: W().object, style: W().objectOf(W().string), keyStyle: W().objectOf(W().string), valueStyle: W().objectOf(W().string), className: W().string, layout: W().string }; const un = an; var ln = { color: void 0, size: void 0, className: void 0, style: void 0, attr: void 0 }, cn = r.createContext && r.createContext(ln), sn = function () { return sn = Object.assign || function (e) { for (var t, n = 1, r = arguments.length; n < r; n++)for (var o in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]); return e }, sn.apply(this, arguments) }; function fn(e) { return e && e.map((function (e, t) { return r.createElement(e.tag, sn({ key: t }, e.attr), fn(e.child)) })) } function dn(e) { return function (t) { return r.createElement(pn, sn({ attr: sn({}, e.attr) }, t), fn(e.child)) } } function pn(e) { var t = function (t) { var n, o = e.attr, a = e.size, i = e.title, u = function (e, t) { var n = {}; for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]); if (null != e && "function" == typeof Object.getOwnPropertySymbols) { var o = 0; for (r = Object.getOwnPropertySymbols(e); o < r.length; o++)t.indexOf(r[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[o]) && (n[r[o]] = e[r[o]]) } return n }(e, ["attr", "size", "title"]), l = a || t.size || "1em"; return t.className && (n = t.className), e.className && (n = (n ? n + " " : "") + e.className), r.createElement("svg", sn({ stroke: "currentColor", fill: "currentColor", strokeWidth: "0" }, t.attr, o, u, { className: n, style: sn(sn({ color: e.color || t.color }, t.style), e.style), height: l, width: l, xmlns: "http://www.w3.org/2000/svg" }), i && r.createElement("title", null, i), e.children) }; return void 0 !== cn ? r.createElement(cn.Consumer, null, (function (e) { return t(e) })) : t(ln) } function hn(e) { return dn({ tag: "svg", attr: { viewBox: "0 0 320 512" }, child: [{ tag: "path", attr: { d: "M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z" } }] })(e) } function mn(e) { return dn({ tag: "svg", attr: { viewBox: "0 0 320 512" }, child: [{ tag: "path", attr: { d: "M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z" } }] })(e) } function vn(e) { return dn({ tag: "svg", attr: { viewBox: "0 0 320 512" }, child: [{ tag: "path", attr: { d: "M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z" } }] })(e) } n(200); var yn = function (e) { var t = 36e5, n = 864e5, r = 2592e6, o = 31536e6, a = Date.now() - Date.parse(e); return a < 6e4 ? Math.round(a / 1e3) + " seconds ago" : a < t ? Math.round(a / 6e4) + " minutes ago" : a < n ? Math.round(a / t) + " hours ago" : a < r ? Math.round(a / n) + " days ago" : a < o ? Math.round(a / r) + " months ago" : Math.round(a / o) + " years ago" }, gn = (n(925), function (e) { var t = e.offset, n = (e.limit, e.visible), o = e.total, a = e.next, i = e.prev; return r.createElement("div", { className: "pagination-footer" }, r.createElement("p", null, "Displaying ", t, "-", t + n, r.createElement("br", null), r.createElement("br", null), t >= 1 ? r.createElement("button", { className: "btn btn-sm btn-light spaced" }, r.createElement("span", { className: "active-pagination", "data-testid": "paginate-prev", onClick: i }, "Previous")) : r.createElement("button", { className: "btn btn-sm btn-light spaced" }, r.createElement("span", { className: "inactive-pagination" }, "Previous")), t + n < o ? r.createElement("button", { className: "btn btn-sm btn-light spaced" }, r.createElement("span", { className: "active-pagination", "data-testid": "paginate-next", onClick: a }, "Next")) : r.createElement("button", { className: "btn btn-sm btn-light spaced" }, r.createElement("span", { className: "inactive-pagination" }, "Next")))) }); gn.propTypes = { endpoint: W().string, page: W().number, limit: W().number, numOffset: W().number, numElements: W().number }; const bn = gn; function wn(e) { return wn = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }, wn(e) } var En = ["servers"]; function _n(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var r = Object.getOwnPropertySymbols(e); t && (r = r.filter((function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), n.push.apply(n, r) } return n } function xn(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? _n(Object(n), !0).forEach((function (t) { kn(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : _n(Object(n)).forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e } function kn(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } function Sn() { Sn = function () { return e }; var e = {}, t = Object.prototype, n = t.hasOwnProperty, r = "function" == typeof Symbol ? Symbol : {}, o = r.iterator || "@@iterator", a = r.asyncIterator || "@@asyncIterator", i = r.toStringTag || "@@toStringTag"; function u(e, t, n) { return Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }), e[t] } try { u({}, "") } catch (e) { u = function (e, t, n) { return e[t] = n } } function l(e, t, n, r) { var o = t && t.prototype instanceof f ? t : f, a = Object.create(o.prototype), i = new x(r || []); return a._invoke = function (e, t, n) { var r = "suspendedStart"; return function (o, a) { if ("executing" === r) throw new Error("Generator is already running"); if ("completed" === r) { if ("throw" === o) throw a; return { value: void 0, done: !0 } } for (n.method = o, n.arg = a; ;) { var i = n.delegate; if (i) { var u = w(i, n); if (u) { if (u === s) continue; return u } } if ("next" === n.method) n.sent = n._sent = n.arg; else if ("throw" === n.method) { if ("suspendedStart" === r) throw r = "completed", n.arg; n.dispatchException(n.arg) } else "return" === n.method && n.abrupt("return", n.arg); r = "executing"; var l = c(e, t, n); if ("normal" === l.type) { if (r = n.done ? "completed" : "suspendedYield", l.arg === s) continue; return { value: l.arg, done: n.done } } "throw" === l.type && (r = "completed", n.method = "throw", n.arg = l.arg) } } }(e, n, i), a } function c(e, t, n) { try { return { type: "normal", arg: e.call(t, n) } } catch (e) { return { type: "throw", arg: e } } } e.wrap = l; var s = {}; function f() { } function d() { } function p() { } var h = {}; u(h, o, (function () { return this })); var m = Object.getPrototypeOf, v = m && m(m(k([]))); v && v !== t && n.call(v, o) && (h = v); var y = p.prototype = f.prototype = Object.create(h); function g(e) { ["next", "throw", "return"].forEach((function (t) { u(e, t, (function (e) { return this._invoke(t, e) })) })) } function b(e, t) { function r(o, a, i, u) { var l = c(e[o], e, a); if ("throw" !== l.type) { var s = l.arg, f = s.value; return f && "object" == wn(f) && n.call(f, "__await") ? t.resolve(f.__await).then((function (e) { r("next", e, i, u) }), (function (e) { r("throw", e, i, u) })) : t.resolve(f).then((function (e) { s.value = e, i(s) }), (function (e) { return r("throw", e, i, u) })) } u(l.arg) } var o; this._invoke = function (e, n) { function a() { return new t((function (t, o) { r(e, n, t, o) })) } return o = o ? o.then(a, a) : a() } } function w(e, t) { var n = e.iterator[t.method]; if (void 0 === n) { if (t.delegate = null, "throw" === t.method) { if (e.iterator.return && (t.method = "return", t.arg = void 0, w(e, t), "throw" === t.method)) return s; t.method = "throw", t.arg = new TypeError("The iterator does not provide a 'throw' method") } return s } var r = c(n, e.iterator, t.arg); if ("throw" === r.type) return t.method = "throw", t.arg = r.arg, t.delegate = null, s; var o = r.arg; return o ? o.done ? (t[e.resultName] = o.value, t.next = e.nextLoc, "return" !== t.method && (t.method = "next", t.arg = void 0), t.delegate = null, s) : o : (t.method = "throw", t.arg = new TypeError("iterator result is not an object"), t.delegate = null, s) } function E(e) { var t = { tryLoc: e[0] }; 1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t) } function _(e) { var t = e.completion || {}; t.type = "normal", delete t.arg, e.completion = t } function x(e) { this.tryEntries = [{ tryLoc: "root" }], e.forEach(E, this), this.reset(!0) } function k(e) { if (e) { var t = e[o]; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var r = -1, a = function t() { for (; ++r < e.length;)if (n.call(e, r)) return t.value = e[r], t.done = !1, t; return t.value = void 0, t.done = !0, t }; return a.next = a } } return { next: S } } function S() { return { value: void 0, done: !0 } } return d.prototype = p, u(y, "constructor", p), u(p, "constructor", d), d.displayName = u(p, i, "GeneratorFunction"), e.isGeneratorFunction = function (e) { var t = "function" == typeof e && e.constructor; return !!t && (t === d || "GeneratorFunction" === (t.displayName || t.name)) }, e.mark = function (e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, p) : (e.__proto__ = p, u(e, i, "GeneratorFunction")), e.prototype = Object.create(y), e }, e.awrap = function (e) { return { __await: e } }, g(b.prototype), u(b.prototype, a, (function () { return this })), e.AsyncIterator = b, e.async = function (t, n, r, o, a) { void 0 === a && (a = Promise); var i = new b(l(t, n, r, o), a); return e.isGeneratorFunction(n) ? i : i.next().then((function (e) { return e.done ? e.value : i.next() })) }, g(y), u(y, i, "Generator"), u(y, o, (function () { return this })), u(y, "toString", (function () { return "[object Generator]" })), e.keys = function (e) { var t = []; for (var n in e) t.push(n); return t.reverse(), function n() { for (; t.length;) { var r = t.pop(); if (r in e) return n.value = r, n.done = !1, n } return n.done = !0, n } }, e.values = k, x.prototype = { constructor: x, reset: function (e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = "next", this.arg = void 0, this.tryEntries.forEach(_), !e) for (var t in this) "t" === t.charAt(0) && n.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = void 0) }, stop: function () { this.done = !0; var e = this.tryEntries[0].completion; if ("throw" === e.type) throw e.arg; return this.rval }, dispatchException: function (e) { if (this.done) throw e; var t = this; function r(n, r) { return i.type = "throw", i.arg = e, t.next = n, r && (t.method = "next", t.arg = void 0), !!r } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var a = this.tryEntries[o], i = a.completion; if ("root" === a.tryLoc) return r("end"); if (a.tryLoc <= this.prev) { var u = n.call(a, "catchLoc"), l = n.call(a, "finallyLoc"); if (u && l) { if (this.prev < a.catchLoc) return r(a.catchLoc, !0); if (this.prev < a.finallyLoc) return r(a.finallyLoc) } else if (u) { if (this.prev < a.catchLoc) return r(a.catchLoc, !0) } else { if (!l) throw new Error("try statement without catch or finally"); if (this.prev < a.finallyLoc) return r(a.finallyLoc) } } } }, abrupt: function (e, t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var a = o; break } } a && ("break" === e || "continue" === e) && a.tryLoc <= t && t <= a.finallyLoc && (a = null); var i = a ? a.completion : {}; return i.type = e, i.arg = t, a ? (this.method = "next", this.next = a.finallyLoc, s) : this.complete(i) }, complete: function (e, t) { if ("throw" === e.type) throw e.arg; return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), s }, finish: function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var n = this.tryEntries[t]; if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), _(n), s } }, catch: function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var n = this.tryEntries[t]; if (n.tryLoc === e) { var r = n.completion; if ("throw" === r.type) { var o = r.arg; _(n) } return o } } throw new Error("illegal catch attempt") }, delegateYield: function (e, t, n) { return this.delegate = { iterator: k(e), resultName: t, nextLoc: n }, "next" === this.method && (this.arg = void 0), s } }, e } function Cn(e, t, n, r, o, a, i) { try { var u = e[a](i), l = u.value } catch (e) { return void n(e) } u.done ? t(l) : Promise.resolve(l).then(r, o) } function Nn(e, t) { return function (e) { if (Array.isArray(e)) return e }(e) || function (e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, o, a = [], i = !0, u = !1; try { for (n = n.call(e); !(i = (r = n.next()).done) && (a.push(r.value), !t || a.length !== t); i = !0); } catch (e) { u = !0, o = e } finally { try { i || null == n.return || n.return() } finally { if (u) throw o } } return a } }(e, t) || function (e, t) { if (e) { if ("string" == typeof e) return On(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? On(e, t) : void 0 } }(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function On(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } var Pn = function (e) { var t = e.url; return r.createElement("a", { href: t || "" }, r.createElement("button", { className: "btn btn-primary btn-xs", style: { marginRight: 20 } }, "Access Server")) }, jn = function (e) { var t = e.text; return r.createElement("span", { className: "server-dashboard-row-list-item" }, t) }; jn.propTypes = { text: W().string }; var Tn = function (e) { var t = window.base_url || "/", n = function (e) { return e.sort((function (e, t) { return e.name > t.name ? 1 : -1 })) }, o = function (e) { return e.sort((function (e, t) { return e.name < t.name ? 1 : -1 })) }, a = Nn((0, r.useState)(null), 2), i = a[0], u = a[1], l = Nn((0, r.useState)(null), 2), c = l[0], s = l[1], f = Nn((0, r.useState)({}), 2), d = (f[0], f[1], Nn((0, r.useState)({}), 2)), p = d[0], h = d[1], m = E((function (e) { return e.user_data })), v = E((function (e) { return e.user_page })), g = E((function (e) { return e.name_filter })), b = v ? v.offset : 0, w = v ? v.limit : window.api_page_limit, _ = v ? v.total : void 0, x = y(), k = e.updateUsers, S = e.shutdownHub, C = e.startServer, N = e.stopServer, O = e.startAll, P = e.stopAll, j = e.history, T = function (e, t) { x({ type: "USER_PAGE", value: { data: e, page: t } }) }, L = function (e) { x({ type: "USER_OFFSET", value: { offset: e } }) }, R = function (e) { x({ type: "USER_NAME_FILTER", value: { name_filter: e } }) }; if ((0, r.useEffect)((function () { k(b, w, g).then((function (e) { return T(e.items, e._pagination) })).catch((function (e) { return u("Failed to update user list.") })) }), [b, w, g]), !m || !v) return r.createElement("div", { "data-testid": "no-show" }); var A = [b, w, g], I = (0, Le.debounce)(function () { var e, t = (e = Sn().mark((function e(t) { return Sn().wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: R(t.target.value); case 1: case "end": return e.stop() } }), e) })), function () { var t = this, n = arguments; return new Promise((function (r, o) { var a = e.apply(t, n); function i(e) { Cn(a, r, o, i, u, "next", e) } function u(e) { Cn(a, r, o, i, u, "throw", e) } i(void 0) })) }); return function (e) { return t.apply(this, arguments) } }(), 300); null != c && (m = c(m)); var z = function (e) { var t = e.serverName, n = e.userName, o = Nn((0, r.useState)(!1), 2), a = o[0], i = o[1]; return r.createElement("button", { className: "btn btn-danger btn-xs stop-button", disabled: a, onClick: function () { i(!0), N(n, t).then((function (e) { return e.status < 300 ? k.apply(void 0, A).then((function (e) { T(e.items, e._pagination) })).catch((function () { i(!1), u("Failed to update users list.") })) : (u("Failed to stop server."), i(!1)), e })).catch((function () { u("Failed to stop server."), i(!1) })) } }, "Stop Server") }, M = function (e) { var t = e.serverName, n = e.userName, o = Nn((0, r.useState)(!1), 2), a = o[0], i = o[1]; return r.createElement("button", { className: "btn btn-success btn-xs start-button", disabled: a, onClick: function () { i(!0), C(n, t).then((function (e) { return e.status < 300 ? k.apply(void 0, A).then((function (e) { T(e.items, e._pagination) })).catch((function () { u("Failed to update users list."), i(!1) })) : (u("Failed to start server."), i(!1)), e })).catch((function () { u("Failed to start server."), i(!1) })) } }, "Start Server") }, D = function (e) { var t = e.user; return r.createElement("td", null, r.createElement("button", { className: "btn btn-primary btn-xs", style: { marginRight: 20 }, onClick: function () { return j.push({ pathname: "/edit-user", state: { username: t.name, has_admin: t.admin } }) } }, "Edit User")) }, U = function (e) { var t = e.data, n = Object.keys(t).sort().reduce((function (e, n) { var o = t[n]; switch (n) { case "last_activity": case "created": case "started": o = o ? yn(o) : o }return Array.isArray(o) && (o = r.createElement(r.Fragment, null, o.sort().flatMap((function (e) { return r.createElement(jn, { text: e }) })))), e[n] = o, e }), {}); return r.createElement(un, { className: "table-striped table-bordered", style: { padding: "3px 6px", margin: "auto" }, keyStyle: { padding: "4px" }, valueStyle: { padding: "4px" }, data: n }) }, F = m.flatMap((function (e) { return Object.values(xn({ "": e.server || {} }, e.servers || {})).map((function (t) { return [e, t] })) })); return r.createElement("div", { className: "container", "data-testid": "container" }, null != i ? r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("div", { className: "alert alert-danger" }, i, r.createElement("button", { type: "button", className: "close", onClick: function () { return u(null) } }, r.createElement("span", null, "×"))))) : r.createElement(r.Fragment, null), r.createElement("div", { className: "server-dashboard-container" }, r.createElement(Ht, null, r.createElement(qt, { md: 4 }, r.createElement(Jt, { type: "text", name: "user_search", placeholder: "Search users", "aria-label": "user-search", defaultValue: g, onChange: I })), r.createElement(qt, { md: "auto", style: { float: "right", margin: 15 } }, r.createElement(Pe, { to: "/groups" }, "> Manage Groups"))), r.createElement("table", { className: "table table-light table-bordered table-hover" }, r.createElement("thead", { className: "admin-table-head" }, r.createElement("tr", null, r.createElement("th", { id: "user-header" }, "User", " ", r.createElement(Ln, { sorts: { asc: o, desc: n }, callback: function (e) { return s((function () { return e })) }, testid: "user-sort" })), r.createElement("th", { id: "admin-header" }, "Admin", " ", r.createElement(Ln, { sorts: { asc: function (e) { return e.sort((function (e) { return e.admin ? 1 : -1 })) }, desc: function (e) { return e.sort((function (e) { return e.admin ? -1 : 1 })) } }, callback: function (e) { return s((function () { return e })) }, testid: "admin-sort" })), r.createElement("th", { id: "server-header" }, "Server", " ", r.createElement(Ln, { sorts: { asc: o, desc: n }, callback: function (e) { return s((function () { return e })) }, testid: "server-sort" })), r.createElement("th", { id: "last-activity-header" }, "Last Activity", " ", r.createElement(Ln, { sorts: { asc: function (e) { return e.sort((function (e, t) { return new Date(e.last_activity) - new Date(t.last_activity) > 0 ? 1 : -1 })) }, desc: function (e) { return e.sort((function (e, t) { return new Date(e.last_activity) - new Date(t.last_activity) > 0 ? -1 : 1 })) } }, callback: function (e) { return s((function () { return e })) }, testid: "last-activity-sort" })), r.createElement("th", { id: "running-status-header" }, "Running", " ", r.createElement(Ln, { sorts: { asc: function (e) { return e.sort((function (e) { return null == e.server ? -1 : 1 })) }, desc: function (e) { return e.sort((function (e) { return null == e.server ? 1 : -1 })) } }, callback: function (e) { return s((function () { return e })) }, testid: "running-status-sort" })), r.createElement("th", { id: "actions-header" }, "Actions"))), r.createElement("tbody", null, r.createElement("tr", { className: "noborder" }, r.createElement("td", null, r.createElement(Ve, { variant: "light", className: "add-users-button" }, r.createElement(Pe, { to: "/add-users" }, "Add Users"))), r.createElement("td", null), r.createElement("td", null), r.createElement("td", null, r.createElement(Ve, { variant: "primary", className: "start-all", "data-testid": "start-all", onClick: function () { Promise.all(O(m.map((function (e) { return e.name })))).then((function (e) { var t = e.filter((function (e) { return !e.ok })); return t.length > 0 && u("Failed to start ".concat(t.length, " ").concat(t.length > 1 ? "servers" : "server", ". ").concat(t.length > 1 ? "Are they " : "Is it ", " already running?")), e })).then((function (e) { return k.apply(void 0, A).then((function (e) { T(e.items, e._pagination) })).catch((function () { return u("Failed to update users list.") })), e })).catch((function () { return u("Failed to start servers.") })) } }, "Start All"), r.createElement("span", null, " "), r.createElement(Ve, { variant: "danger", className: "stop-all", "data-testid": "stop-all", onClick: function () { Promise.all(P(m.map((function (e) { return e.name })))).then((function (e) { var t = e.filter((function (e) { return !e.ok })); return t.length > 0 && u("Failed to stop ".concat(t.length, " ").concat(t.length > 1 ? "servers" : "server", ". ").concat(t.length > 1 ? "Are they " : "Is it ", " already stopped?")), e })).then((function (e) { return k.apply(void 0, A).then((function (e) { T(e.items, e._pagination) })).catch((function () { return u("Failed to update users list.") })), e })).catch((function () { return u("Failed to stop servers.") })) } }, "Stop All")), r.createElement("td", null, r.createElement(Ve, { variant: "danger", id: "shutdown-button", onClick: S }, "Shutdown Hub"))), F.flatMap((function (e) { var n = Nn(e, 2); return function (e, n) { e.servers; var o = function (e, t) { if (null == e) return {}; var n, r, o = function (e, t) { if (null == e) return {}; var n, r, o = {}, a = Object.keys(e); for (r = 0; r < a.length; r++)n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]); return o }(e, t); if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (r = 0; r < a.length; r++)n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n]) } return o }(e, En), a = n.name ? "-".concat(n.name) : "", i = e.name + a, u = p[i] || !1; return [r.createElement("tr", { key: "".concat(i, "-row"), className: "user-row" }, r.createElement("td", { "data-testid": "user-row-name" }, r.createElement("span", null, r.createElement(Ve, { onClick: function () { return h(xn(xn({}, p), {}, kn({}, i, !u))) }, "aria-controls": "".concat(i, "-collapse"), "aria-expanded": u, "data-testid": "".concat(i, "-collapse-button"), variant: u ? "secondary" : "primary", size: "sm" }, r.createElement("span", { className: "caret" })), " "), r.createElement("span", { "data-testid": "user-name-div-".concat(i) }, e.name)), r.createElement("td", { "data-testid": "user-row-admin" }, e.admin ? "admin" : ""), r.createElement("td", { "data-testid": "user-row-server" }, r.createElement("p", { className: "text-secondary" }, n.name)), r.createElement("td", { "data-testid": "user-row-last-activity" }, n.last_activity ? yn(n.last_activity) : "Never"), r.createElement("td", { "data-testid": "user-row-server-activity" }, n.ready ? r.createElement(r.Fragment, null, r.createElement(z, { serverName: n.name, userName: e.name }), r.createElement(Pn, { url: n.url })) : r.createElement(r.Fragment, null, r.createElement(M, { serverName: n.name, userName: e.name, style: { marginRight: 20 } }), r.createElement("a", { href: "".concat(t, "spawn/").concat(e.name).concat(n.name ? "/" + n.name : "") }, r.createElement("button", { className: "btn btn-secondary btn-xs", style: { marginRight: 20 } }, "Spawn Page")))), r.createElement(D, { user: e })), r.createElement("tr", null, r.createElement("td", { colSpan: 6, style: { padding: 0 }, "data-testid": "".concat(i, "-td") }, r.createElement(Et, { in: u, "data-testid": "".concat(i, "-collapse") }, r.createElement(St, { id: "".concat(i, "-card-group"), style: { width: "100%", margin: "0 auto", float: "none" } }, r.createElement(Wt, { style: { width: "100%", padding: 3, margin: "0 auto" } }, r.createElement(Wt.Title, null, "User"), r.createElement(U, { data: o })), r.createElement(Wt, { style: { width: "100%", padding: 3, margin: "0 auto" } }, r.createElement(Wt.Title, null, "Server"), r.createElement(U, { data: n }))))))] }(n[0], n[1]) })))), r.createElement(bn, { offset: b, limit: w, visible: m.length, total: _, next: function () { return L(b + w) }, prev: function () { return L(b - w) } }), r.createElement("br", null))) }; Tn.propTypes = { user_data: W().array, updateUsers: W().func, shutdownHub: W().func, startServer: W().func, stopServer: W().func, startAll: W().func, stopAll: W().func, dispatch: W().func, history: W().shape({ push: W().func }), location: W().shape({ search: W().string }) }; var Ln = function (e) { var t = e.sorts, n = e.callback, o = e.testid, a = Nn((0, r.useState)(void 0), 2), i = a[0], u = a[1]; return r.createElement("div", { className: "sort-icon", "data-testid": o, onClick: function () { i ? "asc" == i ? (n(t.desc), u("desc")) : (n(t.asc), u("asc")) : (n(t.desc), u("desc")) } }, i ? "asc" == i ? r.createElement(hn, null) : r.createElement(mn, null) : r.createElement(vn, null)) }; Ln.propTypes = { sorts: W().object, callback: W().func, testid: W().string }; const Rn = Tn; var An = function (e) { var t = E((function (e) { return e.groups_data })), n = E((function (e) { return e.groups_page })), o = y(), a = n ? n.offset : 0, i = function (e) { o({ type: "GROUPS_OFFSET", value: { offset: e } }) }, u = n ? n.limit : window.api_page_limit, l = n ? n.total : void 0, c = e.updateGroups, s = e.history; return (0, r.useEffect)((function () { c(a, u).then((function (e) { return function (e, t) { o({ type: "GROUPS_PAGE", value: { data: e, page: t } }) }(e.items, e._pagination) })) }), [a, u]), t && n ? r.createElement("div", { className: "container", "data-testid": "container" }, r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-12 col-lg-10 col-lg-offset-1" }, r.createElement("div", { className: "panel panel-default" }, r.createElement("div", { className: "panel-heading" }, r.createElement("h4", null, "Groups")), r.createElement("div", { className: "panel-body" }, r.createElement("ul", { className: "list-group" }, t.length > 0 ? t.map((function (e, t) { return r.createElement("li", { className: "list-group-item", key: "group-item" + t }, r.createElement("span", { className: "badge badge-pill badge-success" }, e.users.length + " users"), r.createElement(Pe, { to: { pathname: "/group-edit", state: { group_data: e } } }, e.name)) })) : r.createElement("div", null, r.createElement("h4", null, "no groups created..."))), r.createElement(bn, { offset: a, limit: u, visible: t.length, total: l, next: function () { return i(a + u) }, prev: function () { return i(a >= u ? a - u : 0) } })), r.createElement("div", { className: "panel-footer" }, r.createElement("button", { className: "btn btn-light adjacent-span-spacing" }, r.createElement(Pe, { to: "/" }, "Back")), r.createElement("button", { className: "btn btn-primary adjacent-span-spacing", onClick: function () { s.push("/create-group") } }, "New Group")))))) : r.createElement("div", { "data-testid": "no-show" }) }; An.propTypes = { updateUsers: W().func, updateGroups: W().func, history: W().shape({ push: W().func }), location: W().shape({ search: W().string }) }; const In = An; function zn(e, t) { return function (e) { if (Array.isArray(e)) return e }(e) || function (e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, o, a = [], i = !0, u = !1; try { for (n = n.call(e); !(i = (r = n.next()).done) && (a.push(r.value), !t || a.length !== t); i = !0); } catch (e) { u = !0, o = e } finally { try { i || null == n.return || n.return() } finally { if (u) throw o } } return a } }(e, t) || function (e, t) { if (e) { if ("string" == typeof e) return Mn(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Mn(e, t) : void 0 } }(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function Mn(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } n(90); var Dn = function (e) { var t = e.onChange, n = e.validateUser, o = e.users, a = zn((0, r.useState)(o), 2), i = a[0], u = a[1], l = zn((0, r.useState)(""), 2), c = l[0], s = l[1], f = zn((0, r.useState)(null), 2), d = f[0], p = f[1]; return o ? r.createElement("div", { className: "row" }, null != d ? r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2 text-left" }, r.createElement("div", { className: "alert alert-danger" }, d)) : r.createElement(r.Fragment, null), r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2 text-left" }, r.createElement("div", { className: "input-group" }, r.createElement("input", { id: "username-input", "data-testid": "username-input", type: "text", className: "form-control", placeholder: "Add by username", value: c, onChange: function (e) { s(e.target.value) } }), r.createElement("span", { className: "input-group-btn" }, r.createElement("button", { id: "validate-user", "data-testid": "validate-user", className: "btn btn-default", type: "button", onClick: function () { n(c).then((function (e) { if (e && !i.includes(c)) { var n = i.concat([c]); t(n, o), s(""), u(n), null != d && p(null) } else e || p('"'.concat(c, '" is not a valid JupyterHub user.')) })) } }, "Add user")))), r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2 text-left" }, r.createElement("div", { className: "users-container" }, r.createElement("hr", null), r.createElement("div", null, i.map((function (e, n) { return r.createElement("div", { key: "selected" + n, className: "item selected", onClick: function () { var e = i.slice(0, n).concat(i.slice(n + 1)); t(e, o), u(e) } }, e) })), o.map((function (e, n) { return i.includes(e) ? void 0 : r.createElement("div", { key: "unselected" + n, className: "item unselected", onClick: function () { var n = i.concat([e]); t(n, o), u(n) } }, e) })))), r.createElement("br", null), r.createElement("br", null))) : null }; Dn.propTypes = { onChange: W().func, validateUser: W().func, users: W().array }; const Un = Dn; function Fn(e, t) { return function (e) { if (Array.isArray(e)) return e }(e) || function (e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, o, a = [], i = !0, u = !1; try { for (n = n.call(e); !(i = (r = n.next()).done) && (a.push(r.value), !t || a.length !== t); i = !0); } catch (e) { u = !0, o = e } finally { try { i || null == n.return || n.return() } finally { if (u) throw o } } return a } }(e, t) || function (e, t) { if (e) { if ("string" == typeof e) return $n(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? $n(e, t) : void 0 } }(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function $n(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } n(731); var Bn = function (e) { var t = Fn((0, r.useState)(""), 2), n = t[0], o = t[1], a = Fn((0, r.useState)(""), 2), i = a[0], u = a[1], l = e.current_propobject, c = l; if (l) var s = Fn((0, r.useState)(Object.keys(l)), 2), f = s[0], d = s[1], p = Fn((0, r.useState)(Object.values(l)), 2), h = p[0], m = p[1]; var v = function () { var t = {}; f.forEach((function (e, n) { return t[e] = h[n] })), e.setProp(t), e.setPropKeys(f), e.setPropValues(h), o(""), u("") }; return r.createElement("div", null, r.createElement("table", { className: "" }, r.createElement("thead", null, r.createElement("tr", null, r.createElement("th", null, "Key"), r.createElement("th", null, "Value"))), r.createElement("tbody", null, r.createElement("tr", null, r.createElement("td", null, function () { if (f) return f.map((function (t, n) { return r.createElement("tr", { key: "item-" + n }, r.createElement("td", null, r.createElement("input", { className: "form-control", type: "text", value: f[n], id: t, onChange: function (t) { "" != t.target.value ? f[n] = t.target.value : (h.splice(n, 1), f.splice(n, 1)), d(f), e.setPropKeys(f), e.setProp(c), v() } }))) })) }()), r.createElement("td", null, function () { if (h) return h.map((function (t, n) { return r.createElement("tr", { key: "item-" + n }, r.createElement("td", null, r.createElement("input", { className: "form-control", type: "text", value: t, onChange: function (t) { h[n] = t.target.value, e.setPropValues(h), m(h), v() } }))) })) }()), r.createElement("td", null, function () { if (h) return h.map((function (t, n) { return r.createElement("tr", { key: "item-" + n }, r.createElement("td", null, r.createElement("button", { className: "btn btn-default", onClick: function () { h.splice(n, 1), f.splice(n, 1); var t = {}; f.forEach((function (e, n) { return t[e] = h[n] })), e.setProp(t), e.setPropKeys(f), e.setPropValues(h), m(h), d(f), v() } }, "Delete"))) })) }())))), r.createElement("form", null, r.createElement("tr", null, r.createElement("td", null, r.createElement("input", { className: "form-control", type: "text", value: n, onChange: function (e) { o(e.target.value) } })), r.createElement("td", null, r.createElement("input", { className: "form-control", type: "text", value: i, onChange: function (e) { u(e.target.value) } })), r.createElement("td", null, r.createElement("button", { id: "add-item", "data-testid": "add-item", className: "btn btn-default", type: "button", onClick: function () { return function () { "" != n && "" != i ? (f.push(n), h.push(i)) : console.log("Value not valid"); var t = {}; f.forEach((function (e, n) { return t[e] = h[n] })), e.setProp(t), e.setPropKeys(f), d(f), e.setPropValues(h), m(h), o(""), u(""), console.log(f), console.log(h), console.log(t) }() } }, "Add Item")))), r.createElement("hr", null)) }; Bn.propTypes = { current_keys: W().array, current_values: W().array, setPropKeys: W().array, setPropValues: W().array, setProp: W().func }; const Wn = Bn; function Vn(e, t) { return function (e) { if (Array.isArray(e)) return e }(e) || function (e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, o, a = [], i = !0, u = !1; try { for (n = n.call(e); !(i = (r = n.next()).done) && (a.push(r.value), !t || a.length !== t); i = !0); } catch (e) { u = !0, o = e } finally { try { i || null == n.return || n.return() } finally { if (u) throw o } } return a } }(e, t) || function (e, t) { if (e) { if ("string" == typeof e) return Hn(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Hn(e, t) : void 0 } }(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function Hn(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } var Gn = function (e) { var t = Vn((0, r.useState)([]), 2), n = t[0], o = t[1], a = Vn((0, r.useState)(!1), 2), i = (a[0], a[1]), u = Vn((0, r.useState)(null), 2), l = u[0], c = u[1], s = E((function (e) { return e.limit })), f = y(), d = function (e) { return e.filter((function (t, n) { return e.indexOf(t) != n })).length > 0 }, p = function (e, t) { f({ type: "GROUPS_PAGE", value: { data: e, page: t } }) }, h = e.addToGroup, m = e.updateProp, v = e.removeFromGroup, g = e.deleteGroup, b = e.updateGroups, w = e.validateUser, _ = e.history, x = e.location; if (!x.state) return _.push("/groups"), r.createElement(r.Fragment, null); var k = x.state.group_data, S = Vn((0, r.useState)(k.properties), 2), C = S[0], N = S[1], O = Vn((0, r.useState)([]), 2), P = O[0], j = O[1], T = Vn((0, r.useState)([]), 2), L = T[0], R = T[1]; return k ? r.createElement("div", { className: "container", "data-testid": "container" }, null != l ? r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("div", { className: "alert alert-danger" }, l, r.createElement("button", { type: "button", className: "close", onClick: function () { return c(null) } }, r.createElement("span", null, "×"))))) : r.createElement(r.Fragment, null), r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("h3", null, "Editing Group ", k.name), r.createElement("br", null), r.createElement("div", { className: "alert alert-info" }, "Manage group members"))), r.createElement(Un, { users: k.users, validateUser: w, onChange: function (e) { o(e), i(!0) } }), r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("div", { className: "alert alert-info" }, "Manage group properties"))), r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement(Wn, { current_propobject: k.properties, setProp: N, setPropKeys: j, setPropValues: R }))), r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("button", { id: "return", className: "btn btn-light" }, r.createElement(Pe, { to: "/groups" }, "Back")), r.createElement("span", null, " "), r.createElement("button", { id: "submit", "data-testid": "submit", className: "btn btn-primary", onClick: function () { var e = n.filter((function (e) { return !k.users.includes(e) })), t = k.users.filter((function (e) { return !n.includes(e) })), r = []; e.length > 0 && r.push(h(e, k.name)), t.length > 0 && r.push(v(t, k.name)), 1 == d(P) ? c("Duplicate keys found!") : P.forEach((function (e, t) { return C[e] = L[t] })), C != k.properties && 0 == d(P) && (r.push(m(C, k.name)), c(null)), Promise.all(r).then((function (e) { 0 == e.map((function (e) { return e.status })).filter((function (e) { return e >= 300 })).length ? b(0, s).then((function (e) { return p(e, 0) })) : c("Failed to edit group.") })).catch((function () { c("Failed to edit group.") })) } }, "Apply"), r.createElement("div", null, r.createElement("span", { id: "error" })), r.createElement("button", { id: "delete-group", "data-testid": "delete-group", className: "btn btn-danger", style: { float: "right" }, onClick: function () { var e = k.name; g(e).then((function (e) { e.status < 300 ? b(0, s).then((function (e) { return p(e, 0) })).then((function () { return _.push("/groups") })) : c("Failed to delete group.") })).catch((function () { return c("Failed to delete group.") })) } }, "Delete Group"), r.createElement("br", null), r.createElement("br", null)))) : r.createElement("div", null) }; Gn.propTypes = { location: W().shape({ state: W().shape({ group_data: W().object, callback: W().func }) }), history: W().shape({ push: W().func }), addToGroup: W().func, removeFromGroup: W().func, deleteGroup: W().func, updateGroups: W().func, validateUser: W().func }; const qn = Gn; function Qn(e, t) { return function (e) { if (Array.isArray(e)) return e }(e) || function (e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, o, a = [], i = !0, u = !1; try { for (n = n.call(e); !(i = (r = n.next()).done) && (a.push(r.value), !t || a.length !== t); i = !0); } catch (e) { u = !0, o = e } finally { try { i || null == n.return || n.return() } finally { if (u) throw o } } return a } }(e, t) || function (e, t) { if (e) { if ("string" == typeof e) return Kn(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Kn(e, t) : void 0 } }(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function Kn(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } var Yn = function (e) { var t = Qn((0, r.useState)(""), 2), n = t[0], o = t[1], a = Qn((0, r.useState)(null), 2), i = a[0], u = a[1], l = E((function (e) { return e.limit })), c = y(), s = e.createGroup, f = e.updateGroups, d = e.history; return r.createElement(r.Fragment, null, r.createElement("div", { className: "container", "data-testid": "container" }, null != i ? r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("div", { className: "alert alert-danger" }, i, r.createElement("button", { type: "button", className: "close", onClick: function () { return u(null) } }, r.createElement("span", null, "×"))))) : r.createElement(r.Fragment, null), r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("div", { className: "panel panel-default" }, r.createElement("div", { className: "panel-heading" }, r.createElement("h4", null, "Create Group")), r.createElement("div", { className: "panel-body" }, r.createElement("div", { className: "input-group" }, r.createElement("input", { className: "group-name-input", "data-testid": "group-input", type: "text", id: "group-name", value: n, placeholder: "group name...", onChange: function (e) { o(e.target.value.trim()) } }))), r.createElement("div", { className: "panel-footer" }, r.createElement("button", { id: "return", className: "btn btn-light" }, r.createElement(Pe, { to: "/" }, "Back")), r.createElement("span", null, " "), r.createElement("button", { id: "submit", "data-testid": "submit", className: "btn btn-primary", onClick: function () { s(n).then((function (e) { return e.status < 300 ? f(0, l).then((function (e) { return function (e, t) { c({ type: "GROUPS_PAGE", value: { data: e, page: 0 } }) }(e) })).then((function () { return d.push("/groups") })).catch((function () { return u("Could not update groups list.") })) : u("Failed to create group. ".concat(409 == e.status ? "Group already exists." : "")) })).catch((function () { return u("Failed to create group.") })) } }, "Create"))))))) }; Yn.propTypes = { createGroup: W().func, updateGroups: W().func, history: W().shape({ push: W().func }) }; const Xn = Yn; function Zn(e, t) { return function (e) { if (Array.isArray(e)) return e }(e) || function (e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, o, a = [], i = !0, u = !1; try { for (n = n.call(e); !(i = (r = n.next()).done) && (a.push(r.value), !t || a.length !== t); i = !0); } catch (e) { u = !0, o = e } finally { try { i || null == n.return || n.return() } finally { if (u) throw o } } return a } }(e, t) || function (e, t) { if (e) { if ("string" == typeof e) return Jn(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Jn(e, t) : void 0 } }(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function Jn(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } var er = function (e) { var t = Zn((0, r.useState)([]), 2), n = t[0], o = t[1], a = Zn((0, r.useState)(!1), 2), i = a[0], u = a[1], l = Zn((0, r.useState)(null), 2), c = l[0], s = l[1], f = E((function (e) { return e.limit })), d = y(), p = e.addUsers, h = e.updateUsers, m = e.history; return r.createElement(r.Fragment, null, r.createElement("div", { className: "container", "data-testid": "container" }, null != c ? r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("div", { className: "alert alert-danger" }, c, r.createElement("button", { type: "button", className: "close", onClick: function () { return s(null) } }, r.createElement("span", null, "×"))))) : r.createElement(r.Fragment, null), r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("div", { className: "panel panel-default" }, r.createElement("div", { className: "panel-heading" }, r.createElement("h4", null, "Add Users")), r.createElement("div", { className: "panel-body" }, r.createElement("form", null, r.createElement("div", { className: "form-group" }, r.createElement("textarea", { className: "form-control", id: "add-user-textarea", rows: "3", placeholder: "usernames separated by line", "data-testid": "user-textarea", onBlur: function (e) { var t = e.target.value.split("\n").map((function (e) { return e.trim() })).filter((function (e) { return e.length > 0 })); o(t) } }), r.createElement("br", null), r.createElement("input", { className: "form-check-input", "data-testid": "check", type: "checkbox", id: "admin-check", checked: i, onChange: function () { return u(!i) } }), r.createElement("span", null, " "), r.createElement("label", { className: "form-check-label" }, "Admin")))), r.createElement("div", { className: "panel-footer" }, r.createElement("button", { id: "return", className: "btn btn-light" }, r.createElement(Pe, { to: "/" }, "Back")), r.createElement("span", null, " "), r.createElement("button", { id: "submit", "data-testid": "submit", className: "btn btn-primary", onClick: function () { p(n, i).then((function (e) { return e.status < 300 ? h(0, f).then((function (e) { return function (e, t) { d({ type: "USER_PAGE", value: { data: e, page: 0 } }) }(e) })).then((function () { return m.push("/") })).catch((function () { return s("Failed to update users.") })) : s("Failed to create user. ".concat(409 == e.status ? "User already exists." : "")) })).catch((function () { return s("Failed to create user.") })) } }, "Add Users"))))))) }; er.propTypes = { addUsers: W().func, updateUsers: W().func, history: W().shape({ push: W().func }) }; const tr = er; function nr(e, t) { return function (e) { if (Array.isArray(e)) return e }(e) || function (e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, o, a = [], i = !0, u = !1; try { for (n = n.call(e); !(i = (r = n.next()).done) && (a.push(r.value), !t || a.length !== t); i = !0); } catch (e) { u = !0, o = e } finally { try { i || null == n.return || n.return() } finally { if (u) throw o } } return a } }(e, t) || function (e, t) { if (e) { if ("string" == typeof e) return rr(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? rr(e, t) : void 0 } }(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function rr(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } var or = function (e) { var t = E((function (e) { return e.limit })), n = nr((0, r.useState)(null), 2), o = n[0], a = n[1], i = y(), u = function (e, t) { i({ type: "USER_PAGE", value: { data: e, page: t } }) }, l = e.editUser, c = e.deleteUser, s = e.noChangeEvent, f = e.updateUsers, d = e.history; if (null == e.location.state) return e.history.push("/"), r.createElement(r.Fragment, null); var p = e.location.state, h = p.username, m = p.has_admin, v = nr((0, r.useState)(""), 2), g = v[0], b = v[1], w = nr((0, r.useState)(m), 2), _ = w[0], x = w[1]; return r.createElement(r.Fragment, null, r.createElement("div", { className: "container", "data-testid": "container" }, null != o ? r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("div", { className: "alert alert-danger" }, o, r.createElement("button", { type: "button", className: "close", onClick: function () { return a(null) } }, r.createElement("span", null, "×"))))) : r.createElement(r.Fragment, null), r.createElement("div", { className: "row" }, r.createElement("div", { className: "col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" }, r.createElement("div", { className: "panel panel-default" }, r.createElement("div", { className: "panel-heading" }, r.createElement("h4", null, "Editing user ", h)), r.createElement("div", { className: "panel-body" }, r.createElement("form", null, r.createElement("div", { className: "form-group" }, r.createElement("textarea", { className: "form-control", "data-testid": "edit-username-input", id: "exampleFormControlTextarea1", rows: "3", placeholder: "updated username", onBlur: function (e) { b(e.target.value) } }), r.createElement("br", null), r.createElement("input", { className: "form-check-input", checked: _, type: "checkbox", id: "admin-check", onChange: function () { return x(!_) } }), r.createElement("span", null, " "), r.createElement("label", { className: "form-check-label" }, "Admin"), r.createElement("br", null), r.createElement("button", { id: "delete-user", "data-testid": "delete-user", className: "btn btn-danger btn-sm", onClick: function (e) { e.preventDefault(), c(h).then((function (e) { e.status < 300 ? f(0, t).then((function (e) { return u(e, 0) })).then((function () { return d.push("/") })).catch((function () { return a("Could not update users list.") })) : a("Failed to edit user.") })).catch((function () { a("Failed to edit user.") })) } }, "Delete user")))), r.createElement("div", { className: "panel-footer" }, r.createElement("button", { className: "btn btn-light" }, r.createElement(Pe, { to: "/" }, "Back")), r.createElement("span", null, " "), r.createElement("button", { id: "submit", "data-testid": "submit", className: "btn btn-primary", onClick: function (e) { e.preventDefault(), "" != g || _ != m ? l(h, "" != g ? g : h, _).then((function (e) { e.status < 300 ? f(0, t).then((function (e) { return u(e, 0) })).then((function () { return d.push("/") })).catch((function () { return a("Could not update users list.") })) : a("Failed to edit user.") })).catch((function () { a("Failed to edit user.") })) : s() } }, "Apply"))))))) }; or.propTypes = { location: W().shape({ state: W().shape({ username: W().string, has_admin: W().bool }) }), history: W().shape({ push: W().func }), editUser: W().func, deleteUser: W().func, noChangeEvent: W().func, updateUsers: W().func }; const ar = or; n(137); var ir = function e(t, n, r) { var o; if ("function" == typeof n && "function" == typeof r || "function" == typeof r && "function" == typeof arguments[3]) throw new Error(_(0)); if ("function" == typeof n && void 0 === r && (r = n, n = void 0), void 0 !== r) { if ("function" != typeof r) throw new Error(_(1)); return r(e)(t, n) } if ("function" != typeof t) throw new Error(_(2)); var a = t, i = n, u = [], l = u, c = !1; function s() { l === u && (l = u.slice()) } function f() { if (c) throw new Error(_(3)); return i } function d(e) { if ("function" != typeof e) throw new Error(_(4)); if (c) throw new Error(_(5)); var t = !0; return s(), l.push(e), function () { if (t) { if (c) throw new Error(_(6)); t = !1, s(); var n = l.indexOf(e); l.splice(n, 1), u = null } } } function p(e) { if (!C(e)) throw new Error(_(7)); if (void 0 === e.type) throw new Error(_(8)); if (c) throw new Error(_(9)); try { c = !0, i = a(i, e) } finally { c = !1 } for (var t = u = l, n = 0; n < t.length; n++)(0, t[n])(); return e } function h(e) { if ("function" != typeof e) throw new Error(_(10)); a = e, p({ type: S.REPLACE }) } function m() { var e, t = d; return (e = { subscribe: function (e) { if ("object" != typeof e || null === e) throw new Error(_(11)); function n() { e.next && e.next(f()) } return n(), { unsubscribe: t(n) } } })[x] = function () { return this }, e } return p({ type: S.INIT }), (o = { dispatch: p, subscribe: d, getState: f, replaceReducer: h })[x] = m, o }((function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : L, t = arguments.length > 1 ? arguments[1] : void 0; switch (t.type) { case "USER_OFFSET": return Object.assign({}, e, { user_page: Object.assign({}, e.user_page, { offset: t.value.offset }) }); case "USER_NAME_FILTER": var n = t.value.name_filter !== e.name_filter ? 0 : e.name_filter; return Object.assign({}, e, { user_page: Object.assign({}, e.user_page, { offset: n }), name_filter: t.value.name_filter }); case "USER_PAGE": return Object.assign({}, e, { user_page: t.value.page, user_data: t.value.data }); case "GROUPS_OFFSET": return Object.assign({}, e, { groups_page: Object.assign({}, e.groups_page, { offset: t.value.offset }) }); case "GROUPS_PAGE": return Object.assign({}, e, { groups_page: t.value.page, groups_data: t.value.data }); default: return e } }), L), ur = function () { return r.createElement("div", { className: "resets" }, r.createElement(f, { store: ir }, r.createElement(xe, null, r.createElement(ue, null, r.createElement(ie, { exact: !0, path: "/", component: j(M)(Rn) }), r.createElement(ie, { exact: !0, path: "/groups", component: j(M)(In) }), r.createElement(ie, { exact: !0, path: "/group-edit", component: j(M)(qn) }), r.createElement(ie, { exact: !0, path: "/create-group", component: j(M)(Xn) }), r.createElement(ie, { exact: !0, path: "/add-users", component: j(M)(tr) }), r.createElement(ie, { exact: !0, path: "/edit-user", component: j(M)(ar) }))))) }; o.render(r.createElement(ur, null), document.getElementById("react-admin-hook")) }, 790: (e, t) => { "use strict"; t.E = function () { var e = [], t = e; function n() { t === e && (t = e.slice()) } return { listen: function (e) { if ("function" != typeof e) throw new Error("Expected listener to be a function."); var r = !0; return n(), t.push(e), function () { if (r) { r = !1, n(); var o = t.indexOf(e); t.splice(o, 1) } } }, emit: function () { for (var n = e = t, r = 0; r < n.length; r++)n[r].apply(n, arguments) } } } }, 184: (e, t) => { var n; !function () { "use strict"; var r = {}.hasOwnProperty; function o() { for (var e = [], t = 0; t < arguments.length; t++) { var n = arguments[t]; if (n) { var a = typeof n; if ("string" === a || "number" === a) e.push(n); else if (Array.isArray(n)) { if (n.length) { var i = o.apply(null, n); i && e.push(i) } } else if ("object" === a) if (n.toString === Object.prototype.toString) for (var u in n) r.call(n, u) && n[u] && e.push(u); else e.push(n.toString()) } } return e.join(" ") } e.exports ? (o.default = o, e.exports = o) : void 0 === (n = function () { return o }.apply(t, [])) || (e.exports = n) }() }, 415: (e, t, n) => { "use strict"; n.r(t), n.d(t, { default: () => u }); var r = n(645), o = n.n(r), a = n(223), i = o()((function (e) { return e[1] })); i.i(a.default), i.push([e.id, ".properties-table {\n  width: 95%;\n  position: relative;\n  padding: 5px;\n  overflow-x: scroll;\n}\n\n.properties-table-keyvalues {\n  width: 95%;\n  position: relative;\n  padding: 5px;\n  overflow-x: scroll;\n}\n\n.properties-table div {\n  display: inline-block;\n}\n\n.properties-table-keyvalues .item {\n  padding: 3px;\n  padding-left: 2px;\n  padding-right: 2px;\n  border-radius: 1px;\n  font-size: 14px;\n  margin-left: 1px;\n  margin-right: 1px;\n  transition: 30ms ease-in all;\n  cursor: pointer;\n  user-select: none;\n  border: solid 1px #dfdfdf;\n}\n\n.properties-table .item {\n  padding: 3px;\n  padding-left: 2px;\n  padding-right: 2px;\n  border-radius: 1px;\n  font-size: 14px;\n  margin-left: 1px;\n  margin-right: 1px;\n  transition: 30ms ease-in all;\n  cursor: pointer;\n  user-select: none;\n  border: solid 1px #dfdfdf;\n}\n\n.properties-table .item.unselected {\n  background-color: #f7f7f7;\n  color: #777;\n}\n\n.properties-table .item.selected {\n  background-color: orange;\n  color: white;\n}\n\n.properties-table .item:hover {\n  opacity: 0.7;\n}\n.boxed {\n  border: 1px solid red;\n}\n", ""]); const u = i }, 627: (e, t, n) => { "use strict"; n.r(t), n.d(t, { default: () => u }); var r = n(645), o = n.n(r), a = n(223), i = o()((function (e) { return e[1] })); i.i(a.default), i.push([e.id, ".users-container {\n  width: 100%;\n  position: relative;\n  padding: 5px;\n  overflow-x: scroll;\n}\n\n.users-container div {\n  display: inline-block;\n}\n\n.users-container .item {\n  padding: 3px;\n  padding-left: 6px;\n  padding-right: 6px;\n  border-radius: 3px;\n  font-size: 14px;\n  margin-left: 4px;\n  margin-right: 4px;\n  transition: 30ms ease-in all;\n  cursor: pointer;\n  user-select: none;\n  border: solid 1px #dfdfdf;\n}\n\n.users-container .item.unselected {\n  background-color: #f7f7f7;\n  color: #777;\n}\n\n.users-container .item.selected {\n  background-color: orange;\n  color: white;\n}\n\n.users-container .item:hover {\n  opacity: 0.7;\n}\n", ""]); const u = i }, 457: (e, t, n) => { "use strict"; n.r(t), n.d(t, { default: () => u }); var r = n(645), o = n.n(r), a = n(223), i = o()((function (e) { return e[1] })); i.i(a.default), i.push([e.id, ".pagination-footer * button {\n  margin-right: 10px;\n}\n\n.pagination-footer * .inactive-pagination {\n  color: gray;\n  cursor: not-allowed;\n}\n\n.pagination-footer * button.spaced {\n  color: var(--blue);\n}\n", ""]); const u = i }, 642: (e, t, n) => { "use strict"; n.r(t), n.d(t, { default: () => u }); var r = n(645), o = n.n(r), a = n(223), i = o()((function (e) { return e[1] })); i.i(a.default), i.push([e.id, ".server-dashboard-container {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.server-dashboard-container .add-users-button {\n  border: 1px solid #ddd;\n}\n\n.server-dashboard-container tbody {\n  color: #626262;\n}\n\n.admin-table-head {\n  user-select: none;\n}\n\n.sort-icon {\n  display: inline-block;\n  top: 0.125em;\n  position: relative;\n  user-select: none;\n  cursor: pointer;\n}\n\ntr.noborder > td {\n  border: none !important;\n}\n\n.server-dashboard-row-list-item {\n  display: inline-block;\n  padding: 0 5px;\n  margin: 2px;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n}\n", ""]); const u = i }, 223: (e, t, n) => { "use strict"; n.r(t), n.d(t, { default: () => a }); var r = n(645), o = n.n(r)()((function (e) { return e[1] })); o.push([e.id, ":root {\n  --red: #d7191e;\n  --orange: #f1ad4e;\n  --blue: #2e7ab6;\n  --white: #ffffff;\n  --gray: #f7f7f7;\n}\n\n/* Color Classes */\n.red {\n  background-color: var(--red);\n}\n.orange {\n  background-color: var(--orange);\n}\n.blue {\n  background-color: var(--blue);\n}\n.white {\n  background-color: var(--white);\n}\n\n/* Resets */\n\n.resets .modal {\n  display: block;\n  visibility: visible;\n  z-index: 2000;\n}\n\n/* Global Util Classes */\n.adjacent-span-spacing {\n  margin-right: 5px;\n  margin-left: 5px;\n}\n", ""]); const a = o }, 645: e => { "use strict"; e.exports = function (e) { var t = []; return t.toString = function () { return this.map((function (t) { var n = e(t); return t[2] ? "@media ".concat(t[2], " {").concat(n, "}") : n })).join("") }, t.i = function (e, n, r) { "string" == typeof e && (e = [[null, e, ""]]); var o = {}; if (r) for (var a = 0; a < this.length; a++) { var i = this[a][0]; null != i && (o[i] = !0) } for (var u = 0; u < e.length; u++) { var l = [].concat(e[u]); r && o[l[0]] || (n && (l[2] ? l[2] = "".concat(n, " and ").concat(l[2]) : l[2] = n), t.push(l)) } }, t } }, 679: (e, t, n) => { "use strict"; var r = n(296), o = { childContextTypes: !0, contextType: !0, contextTypes: !0, defaultProps: !0, displayName: !0, getDefaultProps: !0, getDerivedStateFromError: !0, getDerivedStateFromProps: !0, mixins: !0, propTypes: !0, type: !0 }, a = { name: !0, length: !0, prototype: !0, caller: !0, callee: !0, arguments: !0, arity: !0 }, i = { $$typeof: !0, compare: !0, defaultProps: !0, displayName: !0, propTypes: !0, type: !0 }, u = {}; function l(e) { return r.isMemo(e) ? i : u[e.$$typeof] || o } u[r.ForwardRef] = { $$typeof: !0, render: !0, defaultProps: !0, displayName: !0, propTypes: !0 }, u[r.Memo] = i; var c = Object.defineProperty, s = Object.getOwnPropertyNames, f = Object.getOwnPropertySymbols, d = Object.getOwnPropertyDescriptor, p = Object.getPrototypeOf, h = Object.prototype; e.exports = function e(t, n, r) { if ("string" != typeof n) { if (h) { var o = p(n); o && o !== h && e(t, o, r) } var i = s(n); f && (i = i.concat(f(n))); for (var u = l(t), m = l(n), v = 0; v < i.length; ++v) { var y = i[v]; if (!(a[y] || r && r[y] || m && m[y] || u && u[y])) { var g = d(n, y); try { c(t, y, g) } catch (e) { } } } } return t } }, 103: (e, t) => { "use strict"; var n = "function" == typeof Symbol && Symbol.for, r = n ? Symbol.for("react.element") : 60103, o = n ? Symbol.for("react.portal") : 60106, a = n ? Symbol.for("react.fragment") : 60107, i = n ? Symbol.for("react.strict_mode") : 60108, u = n ? Symbol.for("react.profiler") : 60114, l = n ? Symbol.for("react.provider") : 60109, c = n ? Symbol.for("react.context") : 60110, s = n ? Symbol.for("react.async_mode") : 60111, f = n ? Symbol.for("react.concurrent_mode") : 60111, d = n ? Symbol.for("react.forward_ref") : 60112, p = n ? Symbol.for("react.suspense") : 60113, h = n ? Symbol.for("react.suspense_list") : 60120, m = n ? Symbol.for("react.memo") : 60115, v = n ? Symbol.for("react.lazy") : 60116, y = n ? Symbol.for("react.block") : 60121, g = n ? Symbol.for("react.fundamental") : 60117, b = n ? Symbol.for("react.responder") : 60118, w = n ? Symbol.for("react.scope") : 60119; function E(e) { if ("object" == typeof e && null !== e) { var t = e.$$typeof; switch (t) { case r: switch (e = e.type) { case s: case f: case a: case u: case i: case p: return e; default: switch (e = e && e.$$typeof) { case c: case d: case v: case m: case l: return e; default: return t } }case o: return t } } } function _(e) { return E(e) === f } t.AsyncMode = s, t.ConcurrentMode = f, t.ContextConsumer = c, t.ContextProvider = l, t.Element = r, t.ForwardRef = d, t.Fragment = a, t.Lazy = v, t.Memo = m, t.Portal = o, t.Profiler = u, t.StrictMode = i, t.Suspense = p, t.isAsyncMode = function (e) { return _(e) || E(e) === s }, t.isConcurrentMode = _, t.isContextConsumer = function (e) { return E(e) === c }, t.isContextProvider = function (e) { return E(e) === l }, t.isElement = function (e) { return "object" == typeof e && null !== e && e.$$typeof === r }, t.isForwardRef = function (e) { return E(e) === d }, t.isFragment = function (e) { return E(e) === a }, t.isLazy = function (e) { return E(e) === v }, t.isMemo = function (e) { return E(e) === m }, t.isPortal = function (e) { return E(e) === o }, t.isProfiler = function (e) { return E(e) === u }, t.isStrictMode = function (e) { return E(e) === i }, t.isSuspense = function (e) { return E(e) === p }, t.isValidElementType = function (e) { return "string" == typeof e || "function" == typeof e || e === a || e === f || e === u || e === i || e === p || e === h || "object" == typeof e && null !== e && (e.$$typeof === v || e.$$typeof === m || e.$$typeof === l || e.$$typeof === c || e.$$typeof === d || e.$$typeof === g || e.$$typeof === b || e.$$typeof === w || e.$$typeof === y) }, t.typeOf = E }, 296: (e, t, n) => { "use strict"; e.exports = n(103) }, 486: function (e, t, n) { var r; e = n.nmd(e), function () { var o, a = "Expected a function", i = "__lodash_hash_undefined__", u = "__lodash_placeholder__", l = 32, c = 128, s = 1 / 0, f = 9007199254740991, d = NaN, p = 4294967295, h = [["ary", c], ["bind", 1], ["bindKey", 2], ["curry", 8], ["curryRight", 16], ["flip", 512], ["partial", l], ["partialRight", 64], ["rearg", 256]], m = "[object Arguments]", v = "[object Array]", y = "[object Boolean]", g = "[object Date]", b = "[object Error]", w = "[object Function]", E = "[object GeneratorFunction]", _ = "[object Map]", x = "[object Number]", k = "[object Object]", S = "[object Promise]", C = "[object RegExp]", N = "[object Set]", O = "[object String]", P = "[object Symbol]", j = "[object WeakMap]", T = "[object ArrayBuffer]", L = "[object DataView]", R = "[object Float32Array]", A = "[object Float64Array]", I = "[object Int8Array]", z = "[object Int16Array]", M = "[object Int32Array]", D = "[object Uint8Array]", U = "[object Uint8ClampedArray]", F = "[object Uint16Array]", $ = "[object Uint32Array]", B = /\b__p \+= '';/g, W = /\b(__p \+=) '' \+/g, V = /(__e\(.*?\)|\b__t\)) \+\n'';/g, H = /&(?:amp|lt|gt|quot|#39);/g, G = /[&<>"']/g, q = RegExp(H.source), Q = RegExp(G.source), K = /<%-([\s\S]+?)%>/g, Y = /<%([\s\S]+?)%>/g, X = /<%=([\s\S]+?)%>/g, Z = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, J = /^\w*$/, ee = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, te = /[\\^$.*+?()[\]{}|]/g, ne = RegExp(te.source), re = /^\s+/, oe = /\s/, ae = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, ie = /\{\n\/\* \[wrapped with (.+)\] \*/, ue = /,? & /, le = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, ce = /[()=,{}\[\]\/\s]/, se = /\\(\\)?/g, fe = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, de = /\w*$/, pe = /^[-+]0x[0-9a-f]+$/i, he = /^0b[01]+$/i, me = /^\[object .+?Constructor\]$/, ve = /^0o[0-7]+$/i, ye = /^(?:0|[1-9]\d*)$/, ge = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, be = /($^)/, we = /['\n\r\u2028\u2029\\]/g, Ee = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff", _e = "a-z\\xdf-\\xf6\\xf8-\\xff", xe = "A-Z\\xc0-\\xd6\\xd8-\\xde", ke = "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", Se = "[" + ke + "]", Ce = "[" + Ee + "]", Ne = "\\d+", Oe = "[" + _e + "]", Pe = "[^\\ud800-\\udfff" + ke + Ne + "\\u2700-\\u27bf" + _e + xe + "]", je = "\\ud83c[\\udffb-\\udfff]", Te = "[^\\ud800-\\udfff]", Le = "(?:\\ud83c[\\udde6-\\uddff]){2}", Re = "[\\ud800-\\udbff][\\udc00-\\udfff]", Ae = "[" + xe + "]", Ie = "(?:" + Oe + "|" + Pe + ")", ze = "(?:" + Ae + "|" + Pe + ")", Me = "(?:['’](?:d|ll|m|re|s|t|ve))?", De = "(?:['’](?:D|LL|M|RE|S|T|VE))?", Ue = "(?:" + Ce + "|" + je + ")?", Fe = "[\\ufe0e\\ufe0f]?", $e = Fe + Ue + "(?:\\u200d(?:" + [Te, Le, Re].join("|") + ")" + Fe + Ue + ")*", Be = "(?:" + ["[\\u2700-\\u27bf]", Le, Re].join("|") + ")" + $e, We = "(?:" + [Te + Ce + "?", Ce, Le, Re, "[\\ud800-\\udfff]"].join("|") + ")", Ve = RegExp("['’]", "g"), He = RegExp(Ce, "g"), Ge = RegExp(je + "(?=" + je + ")|" + We + $e, "g"), qe = RegExp([Ae + "?" + Oe + "+" + Me + "(?=" + [Se, Ae, "$"].join("|") + ")", ze + "+" + De + "(?=" + [Se, Ae + Ie, "$"].join("|") + ")", Ae + "?" + Ie + "+" + Me, Ae + "+" + De, "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", Ne, Be].join("|"), "g"), Qe = RegExp("[\\u200d\\ud800-\\udfff" + Ee + "\\ufe0e\\ufe0f]"), Ke = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, Ye = ["Array", "Buffer", "DataView", "Date", "Error", "Float32Array", "Float64Array", "Function", "Int8Array", "Int16Array", "Int32Array", "Map", "Math", "Object", "Promise", "RegExp", "Set", "String", "Symbol", "TypeError", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "WeakMap", "_", "clearTimeout", "isFinite", "parseInt", "setTimeout"], Xe = -1, Ze = {}; Ze[R] = Ze[A] = Ze[I] = Ze[z] = Ze[M] = Ze[D] = Ze[U] = Ze[F] = Ze[$] = !0, Ze[m] = Ze[v] = Ze[T] = Ze[y] = Ze[L] = Ze[g] = Ze[b] = Ze[w] = Ze[_] = Ze[x] = Ze[k] = Ze[C] = Ze[N] = Ze[O] = Ze[j] = !1; var Je = {}; Je[m] = Je[v] = Je[T] = Je[L] = Je[y] = Je[g] = Je[R] = Je[A] = Je[I] = Je[z] = Je[M] = Je[_] = Je[x] = Je[k] = Je[C] = Je[N] = Je[O] = Je[P] = Je[D] = Je[U] = Je[F] = Je[$] = !0, Je[b] = Je[w] = Je[j] = !1; var et = { "\\": "\\", "'": "'", "\n": "n", "\r": "r", "\u2028": "u2028", "\u2029": "u2029" }, tt = parseFloat, nt = parseInt, rt = "object" == typeof n.g && n.g && n.g.Object === Object && n.g, ot = "object" == typeof self && self && self.Object === Object && self, at = rt || ot || Function("return this")(), it = t && !t.nodeType && t, ut = it && e && !e.nodeType && e, lt = ut && ut.exports === it, ct = lt && rt.process, st = function () { try { return ut && ut.require && ut.require("util").types || ct && ct.binding && ct.binding("util") } catch (e) { } }(), ft = st && st.isArrayBuffer, dt = st && st.isDate, pt = st && st.isMap, ht = st && st.isRegExp, mt = st && st.isSet, vt = st && st.isTypedArray; function yt(e, t, n) { switch (n.length) { case 0: return e.call(t); case 1: return e.call(t, n[0]); case 2: return e.call(t, n[0], n[1]); case 3: return e.call(t, n[0], n[1], n[2]) }return e.apply(t, n) } function gt(e, t, n, r) { for (var o = -1, a = null == e ? 0 : e.length; ++o < a;) { var i = e[o]; t(r, i, n(i), e) } return r } function bt(e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r && !1 !== t(e[n], n, e);); return e } function wt(e, t) { for (var n = null == e ? 0 : e.length; n-- && !1 !== t(e[n], n, e);); return e } function Et(e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r;)if (!t(e[n], n, e)) return !1; return !0 } function _t(e, t) { for (var n = -1, r = null == e ? 0 : e.length, o = 0, a = []; ++n < r;) { var i = e[n]; t(i, n, e) && (a[o++] = i) } return a } function xt(e, t) { return !(null == e || !e.length) && Rt(e, t, 0) > -1 } function kt(e, t, n) { for (var r = -1, o = null == e ? 0 : e.length; ++r < o;)if (n(t, e[r])) return !0; return !1 } function St(e, t) { for (var n = -1, r = null == e ? 0 : e.length, o = Array(r); ++n < r;)o[n] = t(e[n], n, e); return o } function Ct(e, t) { for (var n = -1, r = t.length, o = e.length; ++n < r;)e[o + n] = t[n]; return e } function Nt(e, t, n, r) { var o = -1, a = null == e ? 0 : e.length; for (r && a && (n = e[++o]); ++o < a;)n = t(n, e[o], o, e); return n } function Ot(e, t, n, r) { var o = null == e ? 0 : e.length; for (r && o && (n = e[--o]); o--;)n = t(n, e[o], o, e); return n } function Pt(e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r;)if (t(e[n], n, e)) return !0; return !1 } var jt = Mt("length"); function Tt(e, t, n) { var r; return n(e, (function (e, n, o) { if (t(e, n, o)) return r = n, !1 })), r } function Lt(e, t, n, r) { for (var o = e.length, a = n + (r ? 1 : -1); r ? a-- : ++a < o;)if (t(e[a], a, e)) return a; return -1 } function Rt(e, t, n) { return t == t ? function (e, t, n) { for (var r = n - 1, o = e.length; ++r < o;)if (e[r] === t) return r; return -1 }(e, t, n) : Lt(e, It, n) } function At(e, t, n, r) { for (var o = n - 1, a = e.length; ++o < a;)if (r(e[o], t)) return o; return -1 } function It(e) { return e != e } function zt(e, t) { var n = null == e ? 0 : e.length; return n ? Ft(e, t) / n : d } function Mt(e) { return function (t) { return null == t ? o : t[e] } } function Dt(e) { return function (t) { return null == e ? o : e[t] } } function Ut(e, t, n, r, o) { return o(e, (function (e, o, a) { n = r ? (r = !1, e) : t(n, e, o, a) })), n } function Ft(e, t) { for (var n, r = -1, a = e.length; ++r < a;) { var i = t(e[r]); i !== o && (n = n === o ? i : n + i) } return n } function $t(e, t) { for (var n = -1, r = Array(e); ++n < e;)r[n] = t(n); return r } function Bt(e) { return e ? e.slice(0, un(e) + 1).replace(re, "") : e } function Wt(e) { return function (t) { return e(t) } } function Vt(e, t) { return St(t, (function (t) { return e[t] })) } function Ht(e, t) { return e.has(t) } function Gt(e, t) { for (var n = -1, r = e.length; ++n < r && Rt(t, e[n], 0) > -1;); return n } function qt(e, t) { for (var n = e.length; n-- && Rt(t, e[n], 0) > -1;); return n } function Qt(e, t) { for (var n = e.length, r = 0; n--;)e[n] === t && ++r; return r } var Kt = Dt({ À: "A", Á: "A", Â: "A", Ã: "A", Ä: "A", Å: "A", à: "a", á: "a", â: "a", ã: "a", ä: "a", å: "a", Ç: "C", ç: "c", Ð: "D", ð: "d", È: "E", É: "E", Ê: "E", Ë: "E", è: "e", é: "e", ê: "e", ë: "e", Ì: "I", Í: "I", Î: "I", Ï: "I", ì: "i", í: "i", î: "i", ï: "i", Ñ: "N", ñ: "n", Ò: "O", Ó: "O", Ô: "O", Õ: "O", Ö: "O", Ø: "O", ò: "o", ó: "o", ô: "o", õ: "o", ö: "o", ø: "o", Ù: "U", Ú: "U", Û: "U", Ü: "U", ù: "u", ú: "u", û: "u", ü: "u", Ý: "Y", ý: "y", ÿ: "y", Æ: "Ae", æ: "ae", Þ: "Th", þ: "th", ß: "ss", Ā: "A", Ă: "A", Ą: "A", ā: "a", ă: "a", ą: "a", Ć: "C", Ĉ: "C", Ċ: "C", Č: "C", ć: "c", ĉ: "c", ċ: "c", č: "c", Ď: "D", Đ: "D", ď: "d", đ: "d", Ē: "E", Ĕ: "E", Ė: "E", Ę: "E", Ě: "E", ē: "e", ĕ: "e", ė: "e", ę: "e", ě: "e", Ĝ: "G", Ğ: "G", Ġ: "G", Ģ: "G", ĝ: "g", ğ: "g", ġ: "g", ģ: "g", Ĥ: "H", Ħ: "H", ĥ: "h", ħ: "h", Ĩ: "I", Ī: "I", Ĭ: "I", Į: "I", İ: "I", ĩ: "i", ī: "i", ĭ: "i", į: "i", ı: "i", Ĵ: "J", ĵ: "j", Ķ: "K", ķ: "k", ĸ: "k", Ĺ: "L", Ļ: "L", Ľ: "L", Ŀ: "L", Ł: "L", ĺ: "l", ļ: "l", ľ: "l", ŀ: "l", ł: "l", Ń: "N", Ņ: "N", Ň: "N", Ŋ: "N", ń: "n", ņ: "n", ň: "n", ŋ: "n", Ō: "O", Ŏ: "O", Ő: "O", ō: "o", ŏ: "o", ő: "o", Ŕ: "R", Ŗ: "R", Ř: "R", ŕ: "r", ŗ: "r", ř: "r", Ś: "S", Ŝ: "S", Ş: "S", Š: "S", ś: "s", ŝ: "s", ş: "s", š: "s", Ţ: "T", Ť: "T", Ŧ: "T", ţ: "t", ť: "t", ŧ: "t", Ũ: "U", Ū: "U", Ŭ: "U", Ů: "U", Ű: "U", Ų: "U", ũ: "u", ū: "u", ŭ: "u", ů: "u", ű: "u", ų: "u", Ŵ: "W", ŵ: "w", Ŷ: "Y", ŷ: "y", Ÿ: "Y", Ź: "Z", Ż: "Z", Ž: "Z", ź: "z", ż: "z", ž: "z", IJ: "IJ", ij: "ij", Œ: "Oe", œ: "oe", ʼn: "'n", ſ: "s" }), Yt = Dt({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" }); function Xt(e) { return "\\" + et[e] } function Zt(e) { return Qe.test(e) } function Jt(e) { var t = -1, n = Array(e.size); return e.forEach((function (e, r) { n[++t] = [r, e] })), n } function en(e, t) { return function (n) { return e(t(n)) } } function tn(e, t) { for (var n = -1, r = e.length, o = 0, a = []; ++n < r;) { var i = e[n]; i !== t && i !== u || (e[n] = u, a[o++] = n) } return a } function nn(e) { var t = -1, n = Array(e.size); return e.forEach((function (e) { n[++t] = e })), n } function rn(e) { var t = -1, n = Array(e.size); return e.forEach((function (e) { n[++t] = [e, e] })), n } function on(e) { return Zt(e) ? function (e) { for (var t = Ge.lastIndex = 0; Ge.test(e);)++t; return t }(e) : jt(e) } function an(e) { return Zt(e) ? function (e) { return e.match(Ge) || [] }(e) : function (e) { return e.split("") }(e) } function un(e) { for (var t = e.length; t-- && oe.test(e.charAt(t));); return t } var ln = Dt({ "&amp;": "&", "&lt;": "<", "&gt;": ">", "&quot;": '"', "&#39;": "'" }), cn = function e(t) { var n, r = (t = null == t ? at : cn.defaults(at.Object(), t, cn.pick(at, Ye))).Array, oe = t.Date, Ee = t.Error, _e = t.Function, xe = t.Math, ke = t.Object, Se = t.RegExp, Ce = t.String, Ne = t.TypeError, Oe = r.prototype, Pe = _e.prototype, je = ke.prototype, Te = t["__core-js_shared__"], Le = Pe.toString, Re = je.hasOwnProperty, Ae = 0, Ie = (n = /[^.]+$/.exec(Te && Te.keys && Te.keys.IE_PROTO || "")) ? "Symbol(src)_1." + n : "", ze = je.toString, Me = Le.call(ke), De = at._, Ue = Se("^" + Le.call(Re).replace(te, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"), Fe = lt ? t.Buffer : o, $e = t.Symbol, Be = t.Uint8Array, We = Fe ? Fe.allocUnsafe : o, Ge = en(ke.getPrototypeOf, ke), Qe = ke.create, et = je.propertyIsEnumerable, rt = Oe.splice, ot = $e ? $e.isConcatSpreadable : o, it = $e ? $e.iterator : o, ut = $e ? $e.toStringTag : o, ct = function () { try { var e = sa(ke, "defineProperty"); return e({}, "", {}), e } catch (e) { } }(), st = t.clearTimeout !== at.clearTimeout && t.clearTimeout, jt = oe && oe.now !== at.Date.now && oe.now, Dt = t.setTimeout !== at.setTimeout && t.setTimeout, sn = xe.ceil, fn = xe.floor, dn = ke.getOwnPropertySymbols, pn = Fe ? Fe.isBuffer : o, hn = t.isFinite, mn = Oe.join, vn = en(ke.keys, ke), yn = xe.max, gn = xe.min, bn = oe.now, wn = t.parseInt, En = xe.random, _n = Oe.reverse, xn = sa(t, "DataView"), kn = sa(t, "Map"), Sn = sa(t, "Promise"), Cn = sa(t, "Set"), Nn = sa(t, "WeakMap"), On = sa(ke, "create"), Pn = Nn && new Nn, jn = {}, Tn = Ua(xn), Ln = Ua(kn), Rn = Ua(Sn), An = Ua(Cn), In = Ua(Nn), zn = $e ? $e.prototype : o, Mn = zn ? zn.valueOf : o, Dn = zn ? zn.toString : o; function Un(e) { if (nu(e) && !Hi(e) && !(e instanceof Wn)) { if (e instanceof Bn) return e; if (Re.call(e, "__wrapped__")) return Fa(e) } return new Bn(e) } var Fn = function () { function e() { } return function (t) { if (!tu(t)) return {}; if (Qe) return Qe(t); e.prototype = t; var n = new e; return e.prototype = o, n } }(); function $n() { } function Bn(e, t) { this.__wrapped__ = e, this.__actions__ = [], this.__chain__ = !!t, this.__index__ = 0, this.__values__ = o } function Wn(e) { this.__wrapped__ = e, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = p, this.__views__ = [] } function Vn(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } function Hn(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } function Gn(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } function qn(e) { var t = -1, n = null == e ? 0 : e.length; for (this.__data__ = new Gn; ++t < n;)this.add(e[t]) } function Qn(e) { var t = this.__data__ = new Hn(e); this.size = t.size } function Kn(e, t) { var n = Hi(e), r = !n && Vi(e), o = !n && !r && Ki(e), a = !n && !r && !o && su(e), i = n || r || o || a, u = i ? $t(e.length, Ce) : [], l = u.length; for (var c in e) !t && !Re.call(e, c) || i && ("length" == c || o && ("offset" == c || "parent" == c) || a && ("buffer" == c || "byteLength" == c || "byteOffset" == c) || ya(c, l)) || u.push(c); return u } function Yn(e) { var t = e.length; return t ? e[Gr(0, t - 1)] : o } function Xn(e, t) { return Aa(Oo(e), ir(t, 0, e.length)) } function Zn(e) { return Aa(Oo(e)) } function Jn(e, t, n) { (n !== o && !$i(e[t], n) || n === o && !(t in e)) && or(e, t, n) } function er(e, t, n) { var r = e[t]; Re.call(e, t) && $i(r, n) && (n !== o || t in e) || or(e, t, n) } function tr(e, t) { for (var n = e.length; n--;)if ($i(e[n][0], t)) return n; return -1 } function nr(e, t, n, r) { return fr(e, (function (e, o, a) { t(r, e, n(e), a) })), r } function rr(e, t) { return e && Po(t, Lu(t), e) } function or(e, t, n) { "__proto__" == t && ct ? ct(e, t, { configurable: !0, enumerable: !0, value: n, writable: !0 }) : e[t] = n } function ar(e, t) { for (var n = -1, a = t.length, i = r(a), u = null == e; ++n < a;)i[n] = u ? o : Nu(e, t[n]); return i } function ir(e, t, n) { return e == e && (n !== o && (e = e <= n ? e : n), t !== o && (e = e >= t ? e : t)), e } function ur(e, t, n, r, a, i) { var u, l = 1 & t, c = 2 & t, s = 4 & t; if (n && (u = a ? n(e, r, a, i) : n(e)), u !== o) return u; if (!tu(e)) return e; var f = Hi(e); if (f) { if (u = function (e) { var t = e.length, n = new e.constructor(t); return t && "string" == typeof e[0] && Re.call(e, "index") && (n.index = e.index, n.input = e.input), n }(e), !l) return Oo(e, u) } else { var d = pa(e), p = d == w || d == E; if (Ki(e)) return _o(e, l); if (d == k || d == m || p && !a) { if (u = c || p ? {} : ma(e), !l) return c ? function (e, t) { return Po(e, da(e), t) }(e, function (e, t) { return e && Po(t, Ru(t), e) }(u, e)) : function (e, t) { return Po(e, fa(e), t) }(e, rr(u, e)) } else { if (!Je[d]) return a ? e : {}; u = function (e, t, n) { var r, o = e.constructor; switch (t) { case T: return xo(e); case y: case g: return new o(+e); case L: return function (e, t) { var n = t ? xo(e.buffer) : e.buffer; return new e.constructor(n, e.byteOffset, e.byteLength) }(e, n); case R: case A: case I: case z: case M: case D: case U: case F: case $: return ko(e, n); case _: return new o; case x: case O: return new o(e); case C: return function (e) { var t = new e.constructor(e.source, de.exec(e)); return t.lastIndex = e.lastIndex, t }(e); case N: return new o; case P: return r = e, Mn ? ke(Mn.call(r)) : {} } }(e, d, l) } } i || (i = new Qn); var h = i.get(e); if (h) return h; i.set(e, u), uu(e) ? e.forEach((function (r) { u.add(ur(r, t, n, r, e, i)) })) : ru(e) && e.forEach((function (r, o) { u.set(o, ur(r, t, n, o, e, i)) })); var v = f ? o : (s ? c ? ra : na : c ? Ru : Lu)(e); return bt(v || e, (function (r, o) { v && (r = e[o = r]), er(u, o, ur(r, t, n, o, e, i)) })), u } function lr(e, t, n) { var r = n.length; if (null == e) return !r; for (e = ke(e); r--;) { var a = n[r], i = t[a], u = e[a]; if (u === o && !(a in e) || !i(u)) return !1 } return !0 } function cr(e, t, n) { if ("function" != typeof e) throw new Ne(a); return ja((function () { e.apply(o, n) }), t) } function sr(e, t, n, r) { var o = -1, a = xt, i = !0, u = e.length, l = [], c = t.length; if (!u) return l; n && (t = St(t, Wt(n))), r ? (a = kt, i = !1) : t.length >= 200 && (a = Ht, i = !1, t = new qn(t)); e: for (; ++o < u;) { var s = e[o], f = null == n ? s : n(s); if (s = r || 0 !== s ? s : 0, i && f == f) { for (var d = c; d--;)if (t[d] === f) continue e; l.push(s) } else a(t, f, r) || l.push(s) } return l } Un.templateSettings = { escape: K, evaluate: Y, interpolate: X, variable: "", imports: { _: Un } }, Un.prototype = $n.prototype, Un.prototype.constructor = Un, Bn.prototype = Fn($n.prototype), Bn.prototype.constructor = Bn, Wn.prototype = Fn($n.prototype), Wn.prototype.constructor = Wn, Vn.prototype.clear = function () { this.__data__ = On ? On(null) : {}, this.size = 0 }, Vn.prototype.delete = function (e) { var t = this.has(e) && delete this.__data__[e]; return this.size -= t ? 1 : 0, t }, Vn.prototype.get = function (e) { var t = this.__data__; if (On) { var n = t[e]; return n === i ? o : n } return Re.call(t, e) ? t[e] : o }, Vn.prototype.has = function (e) { var t = this.__data__; return On ? t[e] !== o : Re.call(t, e) }, Vn.prototype.set = function (e, t) { var n = this.__data__; return this.size += this.has(e) ? 0 : 1, n[e] = On && t === o ? i : t, this }, Hn.prototype.clear = function () { this.__data__ = [], this.size = 0 }, Hn.prototype.delete = function (e) { var t = this.__data__, n = tr(t, e); return !(n < 0 || (n == t.length - 1 ? t.pop() : rt.call(t, n, 1), --this.size, 0)) }, Hn.prototype.get = function (e) { var t = this.__data__, n = tr(t, e); return n < 0 ? o : t[n][1] }, Hn.prototype.has = function (e) { return tr(this.__data__, e) > -1 }, Hn.prototype.set = function (e, t) { var n = this.__data__, r = tr(n, e); return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this }, Gn.prototype.clear = function () { this.size = 0, this.__data__ = { hash: new Vn, map: new (kn || Hn), string: new Vn } }, Gn.prototype.delete = function (e) { var t = la(this, e).delete(e); return this.size -= t ? 1 : 0, t }, Gn.prototype.get = function (e) { return la(this, e).get(e) }, Gn.prototype.has = function (e) { return la(this, e).has(e) }, Gn.prototype.set = function (e, t) { var n = la(this, e), r = n.size; return n.set(e, t), this.size += n.size == r ? 0 : 1, this }, qn.prototype.add = qn.prototype.push = function (e) { return this.__data__.set(e, i), this }, qn.prototype.has = function (e) { return this.__data__.has(e) }, Qn.prototype.clear = function () { this.__data__ = new Hn, this.size = 0 }, Qn.prototype.delete = function (e) { var t = this.__data__, n = t.delete(e); return this.size = t.size, n }, Qn.prototype.get = function (e) { return this.__data__.get(e) }, Qn.prototype.has = function (e) { return this.__data__.has(e) }, Qn.prototype.set = function (e, t) { var n = this.__data__; if (n instanceof Hn) { var r = n.__data__; if (!kn || r.length < 199) return r.push([e, t]), this.size = ++n.size, this; n = this.__data__ = new Gn(r) } return n.set(e, t), this.size = n.size, this }; var fr = Lo(br), dr = Lo(wr, !0); function pr(e, t) { var n = !0; return fr(e, (function (e, r, o) { return n = !!t(e, r, o) })), n } function hr(e, t, n) { for (var r = -1, a = e.length; ++r < a;) { var i = e[r], u = t(i); if (null != u && (l === o ? u == u && !cu(u) : n(u, l))) var l = u, c = i } return c } function mr(e, t) { var n = []; return fr(e, (function (e, r, o) { t(e, r, o) && n.push(e) })), n } function vr(e, t, n, r, o) { var a = -1, i = e.length; for (n || (n = va), o || (o = []); ++a < i;) { var u = e[a]; t > 0 && n(u) ? t > 1 ? vr(u, t - 1, n, r, o) : Ct(o, u) : r || (o[o.length] = u) } return o } var yr = Ro(), gr = Ro(!0); function br(e, t) { return e && yr(e, t, Lu) } function wr(e, t) { return e && gr(e, t, Lu) } function Er(e, t) { return _t(t, (function (t) { return Zi(e[t]) })) } function _r(e, t) { for (var n = 0, r = (t = go(t, e)).length; null != e && n < r;)e = e[Da(t[n++])]; return n && n == r ? e : o } function xr(e, t, n) { var r = t(e); return Hi(e) ? r : Ct(r, n(e)) } function kr(e) { return null == e ? e === o ? "[object Undefined]" : "[object Null]" : ut && ut in ke(e) ? function (e) { var t = Re.call(e, ut), n = e[ut]; try { e[ut] = o; var r = !0 } catch (e) { } var a = ze.call(e); return r && (t ? e[ut] = n : delete e[ut]), a }(e) : function (e) { return ze.call(e) }(e) } function Sr(e, t) { return e > t } function Cr(e, t) { return null != e && Re.call(e, t) } function Nr(e, t) { return null != e && t in ke(e) } function Or(e, t, n) { for (var a = n ? kt : xt, i = e[0].length, u = e.length, l = u, c = r(u), s = 1 / 0, f = []; l--;) { var d = e[l]; l && t && (d = St(d, Wt(t))), s = gn(d.length, s), c[l] = !n && (t || i >= 120 && d.length >= 120) ? new qn(l && d) : o } d = e[0]; var p = -1, h = c[0]; e: for (; ++p < i && f.length < s;) { var m = d[p], v = t ? t(m) : m; if (m = n || 0 !== m ? m : 0, !(h ? Ht(h, v) : a(f, v, n))) { for (l = u; --l;) { var y = c[l]; if (!(y ? Ht(y, v) : a(e[l], v, n))) continue e } h && h.push(v), f.push(m) } } return f } function Pr(e, t, n) { var r = null == (e = Ca(e, t = go(t, e))) ? e : e[Da(Xa(t))]; return null == r ? o : yt(r, e, n) } function jr(e) { return nu(e) && kr(e) == m } function Tr(e, t, n, r, a) { return e === t || (null == e || null == t || !nu(e) && !nu(t) ? e != e && t != t : function (e, t, n, r, a, i) { var u = Hi(e), l = Hi(t), c = u ? v : pa(e), s = l ? v : pa(t), f = (c = c == m ? k : c) == k, d = (s = s == m ? k : s) == k, p = c == s; if (p && Ki(e)) { if (!Ki(t)) return !1; u = !0, f = !1 } if (p && !f) return i || (i = new Qn), u || su(e) ? ea(e, t, n, r, a, i) : function (e, t, n, r, o, a, i) { switch (n) { case L: if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1; e = e.buffer, t = t.buffer; case T: return !(e.byteLength != t.byteLength || !a(new Be(e), new Be(t))); case y: case g: case x: return $i(+e, +t); case b: return e.name == t.name && e.message == t.message; case C: case O: return e == t + ""; case _: var u = Jt; case N: var l = 1 & r; if (u || (u = nn), e.size != t.size && !l) return !1; var c = i.get(e); if (c) return c == t; r |= 2, i.set(e, t); var s = ea(u(e), u(t), r, o, a, i); return i.delete(e), s; case P: if (Mn) return Mn.call(e) == Mn.call(t) }return !1 }(e, t, c, n, r, a, i); if (!(1 & n)) { var h = f && Re.call(e, "__wrapped__"), w = d && Re.call(t, "__wrapped__"); if (h || w) { var E = h ? e.value() : e, S = w ? t.value() : t; return i || (i = new Qn), a(E, S, n, r, i) } } return !!p && (i || (i = new Qn), function (e, t, n, r, a, i) { var u = 1 & n, l = na(e), c = l.length; if (c != na(t).length && !u) return !1; for (var s = c; s--;) { var f = l[s]; if (!(u ? f in t : Re.call(t, f))) return !1 } var d = i.get(e), p = i.get(t); if (d && p) return d == t && p == e; var h = !0; i.set(e, t), i.set(t, e); for (var m = u; ++s < c;) { var v = e[f = l[s]], y = t[f]; if (r) var g = u ? r(y, v, f, t, e, i) : r(v, y, f, e, t, i); if (!(g === o ? v === y || a(v, y, n, r, i) : g)) { h = !1; break } m || (m = "constructor" == f) } if (h && !m) { var b = e.constructor, w = t.constructor; b == w || !("constructor" in e) || !("constructor" in t) || "function" == typeof b && b instanceof b && "function" == typeof w && w instanceof w || (h = !1) } return i.delete(e), i.delete(t), h }(e, t, n, r, a, i)) }(e, t, n, r, Tr, a)) } function Lr(e, t, n, r) { var a = n.length, i = a, u = !r; if (null == e) return !i; for (e = ke(e); a--;) { var l = n[a]; if (u && l[2] ? l[1] !== e[l[0]] : !(l[0] in e)) return !1 } for (; ++a < i;) { var c = (l = n[a])[0], s = e[c], f = l[1]; if (u && l[2]) { if (s === o && !(c in e)) return !1 } else { var d = new Qn; if (r) var p = r(s, f, c, e, t, d); if (!(p === o ? Tr(f, s, 3, r, d) : p)) return !1 } } return !0 } function Rr(e) { return !(!tu(e) || (t = e, Ie && Ie in t)) && (Zi(e) ? Ue : me).test(Ua(e)); var t } function Ar(e) { return "function" == typeof e ? e : null == e ? ol : "object" == typeof e ? Hi(e) ? Ur(e[0], e[1]) : Dr(e) : pl(e) } function Ir(e) { if (!_a(e)) return vn(e); var t = []; for (var n in ke(e)) Re.call(e, n) && "constructor" != n && t.push(n); return t } function zr(e, t) { return e < t } function Mr(e, t) { var n = -1, o = qi(e) ? r(e.length) : []; return fr(e, (function (e, r, a) { o[++n] = t(e, r, a) })), o } function Dr(e) { var t = ca(e); return 1 == t.length && t[0][2] ? ka(t[0][0], t[0][1]) : function (n) { return n === e || Lr(n, e, t) } } function Ur(e, t) { return ba(e) && xa(t) ? ka(Da(e), t) : function (n) { var r = Nu(n, e); return r === o && r === t ? Ou(n, e) : Tr(t, r, 3) } } function Fr(e, t, n, r, a) { e !== t && yr(t, (function (i, u) { if (a || (a = new Qn), tu(i)) !function (e, t, n, r, a, i, u) { var l = Oa(e, n), c = Oa(t, n), s = u.get(c); if (s) Jn(e, n, s); else { var f = i ? i(l, c, n + "", e, t, u) : o, d = f === o; if (d) { var p = Hi(c), h = !p && Ki(c), m = !p && !h && su(c); f = c, p || h || m ? Hi(l) ? f = l : Qi(l) ? f = Oo(l) : h ? (d = !1, f = _o(c, !0)) : m ? (d = !1, f = ko(c, !0)) : f = [] : au(c) || Vi(c) ? (f = l, Vi(l) ? f = gu(l) : tu(l) && !Zi(l) || (f = ma(c))) : d = !1 } d && (u.set(c, f), a(f, c, r, i, u), u.delete(c)), Jn(e, n, f) } }(e, t, u, n, Fr, r, a); else { var l = r ? r(Oa(e, u), i, u + "", e, t, a) : o; l === o && (l = i), Jn(e, u, l) } }), Ru) } function $r(e, t) { var n = e.length; if (n) return ya(t += t < 0 ? n : 0, n) ? e[t] : o } function Br(e, t, n) { t = t.length ? St(t, (function (e) { return Hi(e) ? function (t) { return _r(t, 1 === e.length ? e[0] : e) } : e })) : [ol]; var r = -1; t = St(t, Wt(ua())); var o = Mr(e, (function (e, n, o) { var a = St(t, (function (t) { return t(e) })); return { criteria: a, index: ++r, value: e } })); return function (e, t) { var r = e.length; for (e.sort((function (e, t) { return function (e, t, n) { for (var r = -1, o = e.criteria, a = t.criteria, i = o.length, u = n.length; ++r < i;) { var l = So(o[r], a[r]); if (l) return r >= u ? l : l * ("desc" == n[r] ? -1 : 1) } return e.index - t.index }(e, t, n) })); r--;)e[r] = e[r].value; return e }(o) } function Wr(e, t, n) { for (var r = -1, o = t.length, a = {}; ++r < o;) { var i = t[r], u = _r(e, i); n(u, i) && Xr(a, go(i, e), u) } return a } function Vr(e, t, n, r) { var o = r ? At : Rt, a = -1, i = t.length, u = e; for (e === t && (t = Oo(t)), n && (u = St(e, Wt(n))); ++a < i;)for (var l = 0, c = t[a], s = n ? n(c) : c; (l = o(u, s, l, r)) > -1;)u !== e && rt.call(u, l, 1), rt.call(e, l, 1); return e } function Hr(e, t) { for (var n = e ? t.length : 0, r = n - 1; n--;) { var o = t[n]; if (n == r || o !== a) { var a = o; ya(o) ? rt.call(e, o, 1) : co(e, o) } } return e } function Gr(e, t) { return e + fn(En() * (t - e + 1)) } function qr(e, t) { var n = ""; if (!e || t < 1 || t > f) return n; do { t % 2 && (n += e), (t = fn(t / 2)) && (e += e) } while (t); return n } function Qr(e, t) { return Ta(Sa(e, t, ol), e + "") } function Kr(e) { return Yn($u(e)) } function Yr(e, t) { var n = $u(e); return Aa(n, ir(t, 0, n.length)) } function Xr(e, t, n, r) { if (!tu(e)) return e; for (var a = -1, i = (t = go(t, e)).length, u = i - 1, l = e; null != l && ++a < i;) { var c = Da(t[a]), s = n; if ("__proto__" === c || "constructor" === c || "prototype" === c) return e; if (a != u) { var f = l[c]; (s = r ? r(f, c, l) : o) === o && (s = tu(f) ? f : ya(t[a + 1]) ? [] : {}) } er(l, c, s), l = l[c] } return e } var Zr = Pn ? function (e, t) { return Pn.set(e, t), e } : ol, Jr = ct ? function (e, t) { return ct(e, "toString", { configurable: !0, enumerable: !1, value: tl(t), writable: !0 }) } : ol; function eo(e) { return Aa($u(e)) } function to(e, t, n) { var o = -1, a = e.length; t < 0 && (t = -t > a ? 0 : a + t), (n = n > a ? a : n) < 0 && (n += a), a = t > n ? 0 : n - t >>> 0, t >>>= 0; for (var i = r(a); ++o < a;)i[o] = e[o + t]; return i } function no(e, t) { var n; return fr(e, (function (e, r, o) { return !(n = t(e, r, o)) })), !!n } function ro(e, t, n) { var r = 0, o = null == e ? r : e.length; if ("number" == typeof t && t == t && o <= 2147483647) { for (; r < o;) { var a = r + o >>> 1, i = e[a]; null !== i && !cu(i) && (n ? i <= t : i < t) ? r = a + 1 : o = a } return o } return oo(e, t, ol, n) } function oo(e, t, n, r) { var a = 0, i = null == e ? 0 : e.length; if (0 === i) return 0; for (var u = (t = n(t)) != t, l = null === t, c = cu(t), s = t === o; a < i;) { var f = fn((a + i) / 2), d = n(e[f]), p = d !== o, h = null === d, m = d == d, v = cu(d); if (u) var y = r || m; else y = s ? m && (r || p) : l ? m && p && (r || !h) : c ? m && p && !h && (r || !v) : !h && !v && (r ? d <= t : d < t); y ? a = f + 1 : i = f } return gn(i, 4294967294) } function ao(e, t) { for (var n = -1, r = e.length, o = 0, a = []; ++n < r;) { var i = e[n], u = t ? t(i) : i; if (!n || !$i(u, l)) { var l = u; a[o++] = 0 === i ? 0 : i } } return a } function io(e) { return "number" == typeof e ? e : cu(e) ? d : +e } function uo(e) { if ("string" == typeof e) return e; if (Hi(e)) return St(e, uo) + ""; if (cu(e)) return Dn ? Dn.call(e) : ""; var t = e + ""; return "0" == t && 1 / e == -1 / 0 ? "-0" : t } function lo(e, t, n) { var r = -1, o = xt, a = e.length, i = !0, u = [], l = u; if (n) i = !1, o = kt; else if (a >= 200) { var c = t ? null : Qo(e); if (c) return nn(c); i = !1, o = Ht, l = new qn } else l = t ? [] : u; e: for (; ++r < a;) { var s = e[r], f = t ? t(s) : s; if (s = n || 0 !== s ? s : 0, i && f == f) { for (var d = l.length; d--;)if (l[d] === f) continue e; t && l.push(f), u.push(s) } else o(l, f, n) || (l !== u && l.push(f), u.push(s)) } return u } function co(e, t) { return null == (e = Ca(e, t = go(t, e))) || delete e[Da(Xa(t))] } function so(e, t, n, r) { return Xr(e, t, n(_r(e, t)), r) } function fo(e, t, n, r) { for (var o = e.length, a = r ? o : -1; (r ? a-- : ++a < o) && t(e[a], a, e);); return n ? to(e, r ? 0 : a, r ? a + 1 : o) : to(e, r ? a + 1 : 0, r ? o : a) } function po(e, t) { var n = e; return n instanceof Wn && (n = n.value()), Nt(t, (function (e, t) { return t.func.apply(t.thisArg, Ct([e], t.args)) }), n) } function ho(e, t, n) { var o = e.length; if (o < 2) return o ? lo(e[0]) : []; for (var a = -1, i = r(o); ++a < o;)for (var u = e[a], l = -1; ++l < o;)l != a && (i[a] = sr(i[a] || u, e[l], t, n)); return lo(vr(i, 1), t, n) } function mo(e, t, n) { for (var r = -1, a = e.length, i = t.length, u = {}; ++r < a;) { var l = r < i ? t[r] : o; n(u, e[r], l) } return u } function vo(e) { return Qi(e) ? e : [] } function yo(e) { return "function" == typeof e ? e : ol } function go(e, t) { return Hi(e) ? e : ba(e, t) ? [e] : Ma(bu(e)) } var bo = Qr; function wo(e, t, n) { var r = e.length; return n = n === o ? r : n, !t && n >= r ? e : to(e, t, n) } var Eo = st || function (e) { return at.clearTimeout(e) }; function _o(e, t) { if (t) return e.slice(); var n = e.length, r = We ? We(n) : new e.constructor(n); return e.copy(r), r } function xo(e) { var t = new e.constructor(e.byteLength); return new Be(t).set(new Be(e)), t } function ko(e, t) { var n = t ? xo(e.buffer) : e.buffer; return new e.constructor(n, e.byteOffset, e.length) } function So(e, t) { if (e !== t) { var n = e !== o, r = null === e, a = e == e, i = cu(e), u = t !== o, l = null === t, c = t == t, s = cu(t); if (!l && !s && !i && e > t || i && u && c && !l && !s || r && u && c || !n && c || !a) return 1; if (!r && !i && !s && e < t || s && n && a && !r && !i || l && n && a || !u && a || !c) return -1 } return 0 } function Co(e, t, n, o) { for (var a = -1, i = e.length, u = n.length, l = -1, c = t.length, s = yn(i - u, 0), f = r(c + s), d = !o; ++l < c;)f[l] = t[l]; for (; ++a < u;)(d || a < i) && (f[n[a]] = e[a]); for (; s--;)f[l++] = e[a++]; return f } function No(e, t, n, o) { for (var a = -1, i = e.length, u = -1, l = n.length, c = -1, s = t.length, f = yn(i - l, 0), d = r(f + s), p = !o; ++a < f;)d[a] = e[a]; for (var h = a; ++c < s;)d[h + c] = t[c]; for (; ++u < l;)(p || a < i) && (d[h + n[u]] = e[a++]); return d } function Oo(e, t) { var n = -1, o = e.length; for (t || (t = r(o)); ++n < o;)t[n] = e[n]; return t } function Po(e, t, n, r) { var a = !n; n || (n = {}); for (var i = -1, u = t.length; ++i < u;) { var l = t[i], c = r ? r(n[l], e[l], l, n, e) : o; c === o && (c = e[l]), a ? or(n, l, c) : er(n, l, c) } return n } function jo(e, t) { return function (n, r) { var o = Hi(n) ? gt : nr, a = t ? t() : {}; return o(n, e, ua(r, 2), a) } } function To(e) { return Qr((function (t, n) { var r = -1, a = n.length, i = a > 1 ? n[a - 1] : o, u = a > 2 ? n[2] : o; for (i = e.length > 3 && "function" == typeof i ? (a--, i) : o, u && ga(n[0], n[1], u) && (i = a < 3 ? o : i, a = 1), t = ke(t); ++r < a;) { var l = n[r]; l && e(t, l, r, i) } return t })) } function Lo(e, t) { return function (n, r) { if (null == n) return n; if (!qi(n)) return e(n, r); for (var o = n.length, a = t ? o : -1, i = ke(n); (t ? a-- : ++a < o) && !1 !== r(i[a], a, i);); return n } } function Ro(e) { return function (t, n, r) { for (var o = -1, a = ke(t), i = r(t), u = i.length; u--;) { var l = i[e ? u : ++o]; if (!1 === n(a[l], l, a)) break } return t } } function Ao(e) { return function (t) { var n = Zt(t = bu(t)) ? an(t) : o, r = n ? n[0] : t.charAt(0), a = n ? wo(n, 1).join("") : t.slice(1); return r[e]() + a } } function Io(e) { return function (t) { return Nt(Zu(Vu(t).replace(Ve, "")), e, "") } } function zo(e) { return function () { var t = arguments; switch (t.length) { case 0: return new e; case 1: return new e(t[0]); case 2: return new e(t[0], t[1]); case 3: return new e(t[0], t[1], t[2]); case 4: return new e(t[0], t[1], t[2], t[3]); case 5: return new e(t[0], t[1], t[2], t[3], t[4]); case 6: return new e(t[0], t[1], t[2], t[3], t[4], t[5]); case 7: return new e(t[0], t[1], t[2], t[3], t[4], t[5], t[6]) }var n = Fn(e.prototype), r = e.apply(n, t); return tu(r) ? r : n } } function Mo(e) { return function (t, n, r) { var a = ke(t); if (!qi(t)) { var i = ua(n, 3); t = Lu(t), n = function (e) { return i(a[e], e, a) } } var u = e(t, n, r); return u > -1 ? a[i ? t[u] : u] : o } } function Do(e) { return ta((function (t) { var n = t.length, r = n, i = Bn.prototype.thru; for (e && t.reverse(); r--;) { var u = t[r]; if ("function" != typeof u) throw new Ne(a); if (i && !l && "wrapper" == aa(u)) var l = new Bn([], !0) } for (r = l ? r : n; ++r < n;) { var c = aa(u = t[r]), s = "wrapper" == c ? oa(u) : o; l = s && wa(s[0]) && 424 == s[1] && !s[4].length && 1 == s[9] ? l[aa(s[0])].apply(l, s[3]) : 1 == u.length && wa(u) ? l[c]() : l.thru(u) } return function () { var e = arguments, r = e[0]; if (l && 1 == e.length && Hi(r)) return l.plant(r).value(); for (var o = 0, a = n ? t[o].apply(this, e) : r; ++o < n;)a = t[o].call(this, a); return a } })) } function Uo(e, t, n, a, i, u, l, s, f, d) { var p = t & c, h = 1 & t, m = 2 & t, v = 24 & t, y = 512 & t, g = m ? o : zo(e); return function o() { for (var c = arguments.length, b = r(c), w = c; w--;)b[w] = arguments[w]; if (v) var E = ia(o), _ = Qt(b, E); if (a && (b = Co(b, a, i, v)), u && (b = No(b, u, l, v)), c -= _, v && c < d) { var x = tn(b, E); return Go(e, t, Uo, o.placeholder, n, b, x, s, f, d - c) } var k = h ? n : this, S = m ? k[e] : e; return c = b.length, s ? b = Na(b, s) : y && c > 1 && b.reverse(), p && f < c && (b.length = f), this && this !== at && this instanceof o && (S = g || zo(S)), S.apply(k, b) } } function Fo(e, t) { return function (n, r) { return function (e, t, n, r) { return br(e, (function (e, o, a) { t(r, n(e), o, a) })), r }(n, e, t(r), {}) } } function $o(e, t) { return function (n, r) { var a; if (n === o && r === o) return t; if (n !== o && (a = n), r !== o) { if (a === o) return r; "string" == typeof n || "string" == typeof r ? (n = uo(n), r = uo(r)) : (n = io(n), r = io(r)), a = e(n, r) } return a } } function Bo(e) { return ta((function (t) { return t = St(t, Wt(ua())), Qr((function (n) { var r = this; return e(t, (function (e) { return yt(e, r, n) })) })) })) } function Wo(e, t) { var n = (t = t === o ? " " : uo(t)).length; if (n < 2) return n ? qr(t, e) : t; var r = qr(t, sn(e / on(t))); return Zt(t) ? wo(an(r), 0, e).join("") : r.slice(0, e) } function Vo(e) { return function (t, n, a) { return a && "number" != typeof a && ga(t, n, a) && (n = a = o), t = hu(t), n === o ? (n = t, t = 0) : n = hu(n), function (e, t, n, o) { for (var a = -1, i = yn(sn((t - e) / (n || 1)), 0), u = r(i); i--;)u[o ? i : ++a] = e, e += n; return u }(t, n, a = a === o ? t < n ? 1 : -1 : hu(a), e) } } function Ho(e) { return function (t, n) { return "string" == typeof t && "string" == typeof n || (t = yu(t), n = yu(n)), e(t, n) } } function Go(e, t, n, r, a, i, u, c, s, f) { var d = 8 & t; t |= d ? l : 64, 4 & (t &= ~(d ? 64 : l)) || (t &= -4); var p = [e, t, a, d ? i : o, d ? u : o, d ? o : i, d ? o : u, c, s, f], h = n.apply(o, p); return wa(e) && Pa(h, p), h.placeholder = r, La(h, e, t) } function qo(e) { var t = xe[e]; return function (e, n) { if (e = yu(e), (n = null == n ? 0 : gn(mu(n), 292)) && hn(e)) { var r = (bu(e) + "e").split("e"); return +((r = (bu(t(r[0] + "e" + (+r[1] + n))) + "e").split("e"))[0] + "e" + (+r[1] - n)) } return t(e) } } var Qo = Cn && 1 / nn(new Cn([, -0]))[1] == s ? function (e) { return new Cn(e) } : cl; function Ko(e) { return function (t) { var n = pa(t); return n == _ ? Jt(t) : n == N ? rn(t) : function (e, t) { return St(t, (function (t) { return [t, e[t]] })) }(t, e(t)) } } function Yo(e, t, n, i, s, f, d, p) { var h = 2 & t; if (!h && "function" != typeof e) throw new Ne(a); var m = i ? i.length : 0; if (m || (t &= -97, i = s = o), d = d === o ? d : yn(mu(d), 0), p = p === o ? p : mu(p), m -= s ? s.length : 0, 64 & t) { var v = i, y = s; i = s = o } var g = h ? o : oa(e), b = [e, t, n, i, s, v, y, f, d, p]; if (g && function (e, t) { var n = e[1], r = t[1], o = n | r, a = o < 131, i = r == c && 8 == n || r == c && 256 == n && e[7].length <= t[8] || 384 == r && t[7].length <= t[8] && 8 == n; if (!a && !i) return e; 1 & r && (e[2] = t[2], o |= 1 & n ? 0 : 4); var l = t[3]; if (l) { var s = e[3]; e[3] = s ? Co(s, l, t[4]) : l, e[4] = s ? tn(e[3], u) : t[4] } (l = t[5]) && (s = e[5], e[5] = s ? No(s, l, t[6]) : l, e[6] = s ? tn(e[5], u) : t[6]), (l = t[7]) && (e[7] = l), r & c && (e[8] = null == e[8] ? t[8] : gn(e[8], t[8])), null == e[9] && (e[9] = t[9]), e[0] = t[0], e[1] = o }(b, g), e = b[0], t = b[1], n = b[2], i = b[3], s = b[4], !(p = b[9] = b[9] === o ? h ? 0 : e.length : yn(b[9] - m, 0)) && 24 & t && (t &= -25), t && 1 != t) w = 8 == t || 16 == t ? function (e, t, n) { var a = zo(e); return function i() { for (var u = arguments.length, l = r(u), c = u, s = ia(i); c--;)l[c] = arguments[c]; var f = u < 3 && l[0] !== s && l[u - 1] !== s ? [] : tn(l, s); return (u -= f.length) < n ? Go(e, t, Uo, i.placeholder, o, l, f, o, o, n - u) : yt(this && this !== at && this instanceof i ? a : e, this, l) } }(e, t, p) : t != l && 33 != t || s.length ? Uo.apply(o, b) : function (e, t, n, o) { var a = 1 & t, i = zo(e); return function t() { for (var u = -1, l = arguments.length, c = -1, s = o.length, f = r(s + l), d = this && this !== at && this instanceof t ? i : e; ++c < s;)f[c] = o[c]; for (; l--;)f[c++] = arguments[++u]; return yt(d, a ? n : this, f) } }(e, t, n, i); else var w = function (e, t, n) { var r = 1 & t, o = zo(e); return function t() { return (this && this !== at && this instanceof t ? o : e).apply(r ? n : this, arguments) } }(e, t, n); return La((g ? Zr : Pa)(w, b), e, t) } function Xo(e, t, n, r) { return e === o || $i(e, je[n]) && !Re.call(r, n) ? t : e } function Zo(e, t, n, r, a, i) { return tu(e) && tu(t) && (i.set(t, e), Fr(e, t, o, Zo, i), i.delete(t)), e } function Jo(e) { return au(e) ? o : e } function ea(e, t, n, r, a, i) { var u = 1 & n, l = e.length, c = t.length; if (l != c && !(u && c > l)) return !1; var s = i.get(e), f = i.get(t); if (s && f) return s == t && f == e; var d = -1, p = !0, h = 2 & n ? new qn : o; for (i.set(e, t), i.set(t, e); ++d < l;) { var m = e[d], v = t[d]; if (r) var y = u ? r(v, m, d, t, e, i) : r(m, v, d, e, t, i); if (y !== o) { if (y) continue; p = !1; break } if (h) { if (!Pt(t, (function (e, t) { if (!Ht(h, t) && (m === e || a(m, e, n, r, i))) return h.push(t) }))) { p = !1; break } } else if (m !== v && !a(m, v, n, r, i)) { p = !1; break } } return i.delete(e), i.delete(t), p } function ta(e) { return Ta(Sa(e, o, Ga), e + "") } function na(e) { return xr(e, Lu, fa) } function ra(e) { return xr(e, Ru, da) } var oa = Pn ? function (e) { return Pn.get(e) } : cl; function aa(e) { for (var t = e.name + "", n = jn[t], r = Re.call(jn, t) ? n.length : 0; r--;) { var o = n[r], a = o.func; if (null == a || a == e) return o.name } return t } function ia(e) { return (Re.call(Un, "placeholder") ? Un : e).placeholder } function ua() { var e = Un.iteratee || al; return e = e === al ? Ar : e, arguments.length ? e(arguments[0], arguments[1]) : e } function la(e, t) { var n, r, o = e.__data__; return ("string" == (r = typeof (n = t)) || "number" == r || "symbol" == r || "boolean" == r ? "__proto__" !== n : null === n) ? o["string" == typeof t ? "string" : "hash"] : o.map } function ca(e) { for (var t = Lu(e), n = t.length; n--;) { var r = t[n], o = e[r]; t[n] = [r, o, xa(o)] } return t } function sa(e, t) { var n = function (e, t) { return null == e ? o : e[t] }(e, t); return Rr(n) ? n : o } var fa = dn ? function (e) { return null == e ? [] : (e = ke(e), _t(dn(e), (function (t) { return et.call(e, t) }))) } : vl, da = dn ? function (e) { for (var t = []; e;)Ct(t, fa(e)), e = Ge(e); return t } : vl, pa = kr; function ha(e, t, n) { for (var r = -1, o = (t = go(t, e)).length, a = !1; ++r < o;) { var i = Da(t[r]); if (!(a = null != e && n(e, i))) break; e = e[i] } return a || ++r != o ? a : !!(o = null == e ? 0 : e.length) && eu(o) && ya(i, o) && (Hi(e) || Vi(e)) } function ma(e) { return "function" != typeof e.constructor || _a(e) ? {} : Fn(Ge(e)) } function va(e) { return Hi(e) || Vi(e) || !!(ot && e && e[ot]) } function ya(e, t) { var n = typeof e; return !!(t = null == t ? f : t) && ("number" == n || "symbol" != n && ye.test(e)) && e > -1 && e % 1 == 0 && e < t } function ga(e, t, n) { if (!tu(n)) return !1; var r = typeof t; return !!("number" == r ? qi(n) && ya(t, n.length) : "string" == r && t in n) && $i(n[t], e) } function ba(e, t) { if (Hi(e)) return !1; var n = typeof e; return !("number" != n && "symbol" != n && "boolean" != n && null != e && !cu(e)) || J.test(e) || !Z.test(e) || null != t && e in ke(t) } function wa(e) { var t = aa(e), n = Un[t]; if ("function" != typeof n || !(t in Wn.prototype)) return !1; if (e === n) return !0; var r = oa(n); return !!r && e === r[0] } (xn && pa(new xn(new ArrayBuffer(1))) != L || kn && pa(new kn) != _ || Sn && pa(Sn.resolve()) != S || Cn && pa(new Cn) != N || Nn && pa(new Nn) != j) && (pa = function (e) { var t = kr(e), n = t == k ? e.constructor : o, r = n ? Ua(n) : ""; if (r) switch (r) { case Tn: return L; case Ln: return _; case Rn: return S; case An: return N; case In: return j }return t }); var Ea = Te ? Zi : yl; function _a(e) { var t = e && e.constructor; return e === ("function" == typeof t && t.prototype || je) } function xa(e) { return e == e && !tu(e) } function ka(e, t) { return function (n) { return null != n && n[e] === t && (t !== o || e in ke(n)) } } function Sa(e, t, n) { return t = yn(t === o ? e.length - 1 : t, 0), function () { for (var o = arguments, a = -1, i = yn(o.length - t, 0), u = r(i); ++a < i;)u[a] = o[t + a]; a = -1; for (var l = r(t + 1); ++a < t;)l[a] = o[a]; return l[t] = n(u), yt(e, this, l) } } function Ca(e, t) { return t.length < 2 ? e : _r(e, to(t, 0, -1)) } function Na(e, t) { for (var n = e.length, r = gn(t.length, n), a = Oo(e); r--;) { var i = t[r]; e[r] = ya(i, n) ? a[i] : o } return e } function Oa(e, t) { if (("constructor" !== t || "function" != typeof e[t]) && "__proto__" != t) return e[t] } var Pa = Ra(Zr), ja = Dt || function (e, t) { return at.setTimeout(e, t) }, Ta = Ra(Jr); function La(e, t, n) { var r = t + ""; return Ta(e, function (e, t) { var n = t.length; if (!n) return e; var r = n - 1; return t[r] = (n > 1 ? "& " : "") + t[r], t = t.join(n > 2 ? ", " : " "), e.replace(ae, "{\n/* [wrapped with " + t + "] */\n") }(r, function (e, t) { return bt(h, (function (n) { var r = "_." + n[0]; t & n[1] && !xt(e, r) && e.push(r) })), e.sort() }(function (e) { var t = e.match(ie); return t ? t[1].split(ue) : [] }(r), n))) } function Ra(e) { var t = 0, n = 0; return function () { var r = bn(), a = 16 - (r - n); if (n = r, a > 0) { if (++t >= 800) return arguments[0] } else t = 0; return e.apply(o, arguments) } } function Aa(e, t) { var n = -1, r = e.length, a = r - 1; for (t = t === o ? r : t; ++n < t;) { var i = Gr(n, a), u = e[i]; e[i] = e[n], e[n] = u } return e.length = t, e } var Ia, za, Ma = (Ia = Ii((function (e) { var t = []; return 46 === e.charCodeAt(0) && t.push(""), e.replace(ee, (function (e, n, r, o) { t.push(r ? o.replace(se, "$1") : n || e) })), t }), (function (e) { return 500 === za.size && za.clear(), e })), za = Ia.cache, Ia); function Da(e) { if ("string" == typeof e || cu(e)) return e; var t = e + ""; return "0" == t && 1 / e == -1 / 0 ? "-0" : t } function Ua(e) { if (null != e) { try { return Le.call(e) } catch (e) { } try { return e + "" } catch (e) { } } return "" } function Fa(e) { if (e instanceof Wn) return e.clone(); var t = new Bn(e.__wrapped__, e.__chain__); return t.__actions__ = Oo(e.__actions__), t.__index__ = e.__index__, t.__values__ = e.__values__, t } var $a = Qr((function (e, t) { return Qi(e) ? sr(e, vr(t, 1, Qi, !0)) : [] })), Ba = Qr((function (e, t) { var n = Xa(t); return Qi(n) && (n = o), Qi(e) ? sr(e, vr(t, 1, Qi, !0), ua(n, 2)) : [] })), Wa = Qr((function (e, t) { var n = Xa(t); return Qi(n) && (n = o), Qi(e) ? sr(e, vr(t, 1, Qi, !0), o, n) : [] })); function Va(e, t, n) { var r = null == e ? 0 : e.length; if (!r) return -1; var o = null == n ? 0 : mu(n); return o < 0 && (o = yn(r + o, 0)), Lt(e, ua(t, 3), o) } function Ha(e, t, n) { var r = null == e ? 0 : e.length; if (!r) return -1; var a = r - 1; return n !== o && (a = mu(n), a = n < 0 ? yn(r + a, 0) : gn(a, r - 1)), Lt(e, ua(t, 3), a, !0) } function Ga(e) { return null != e && e.length ? vr(e, 1) : [] } function qa(e) { return e && e.length ? e[0] : o } var Qa = Qr((function (e) { var t = St(e, vo); return t.length && t[0] === e[0] ? Or(t) : [] })), Ka = Qr((function (e) { var t = Xa(e), n = St(e, vo); return t === Xa(n) ? t = o : n.pop(), n.length && n[0] === e[0] ? Or(n, ua(t, 2)) : [] })), Ya = Qr((function (e) { var t = Xa(e), n = St(e, vo); return (t = "function" == typeof t ? t : o) && n.pop(), n.length && n[0] === e[0] ? Or(n, o, t) : [] })); function Xa(e) { var t = null == e ? 0 : e.length; return t ? e[t - 1] : o } var Za = Qr(Ja); function Ja(e, t) { return e && e.length && t && t.length ? Vr(e, t) : e } var ei = ta((function (e, t) { var n = null == e ? 0 : e.length, r = ar(e, t); return Hr(e, St(t, (function (e) { return ya(e, n) ? +e : e })).sort(So)), r })); function ti(e) { return null == e ? e : _n.call(e) } var ni = Qr((function (e) { return lo(vr(e, 1, Qi, !0)) })), ri = Qr((function (e) { var t = Xa(e); return Qi(t) && (t = o), lo(vr(e, 1, Qi, !0), ua(t, 2)) })), oi = Qr((function (e) { var t = Xa(e); return t = "function" == typeof t ? t : o, lo(vr(e, 1, Qi, !0), o, t) })); function ai(e) { if (!e || !e.length) return []; var t = 0; return e = _t(e, (function (e) { if (Qi(e)) return t = yn(e.length, t), !0 })), $t(t, (function (t) { return St(e, Mt(t)) })) } function ii(e, t) { if (!e || !e.length) return []; var n = ai(e); return null == t ? n : St(n, (function (e) { return yt(t, o, e) })) } var ui = Qr((function (e, t) { return Qi(e) ? sr(e, t) : [] })), li = Qr((function (e) { return ho(_t(e, Qi)) })), ci = Qr((function (e) { var t = Xa(e); return Qi(t) && (t = o), ho(_t(e, Qi), ua(t, 2)) })), si = Qr((function (e) { var t = Xa(e); return t = "function" == typeof t ? t : o, ho(_t(e, Qi), o, t) })), fi = Qr(ai), di = Qr((function (e) { var t = e.length, n = t > 1 ? e[t - 1] : o; return n = "function" == typeof n ? (e.pop(), n) : o, ii(e, n) })); function pi(e) { var t = Un(e); return t.__chain__ = !0, t } function hi(e, t) { return t(e) } var mi = ta((function (e) { var t = e.length, n = t ? e[0] : 0, r = this.__wrapped__, a = function (t) { return ar(t, e) }; return !(t > 1 || this.__actions__.length) && r instanceof Wn && ya(n) ? ((r = r.slice(n, +n + (t ? 1 : 0))).__actions__.push({ func: hi, args: [a], thisArg: o }), new Bn(r, this.__chain__).thru((function (e) { return t && !e.length && e.push(o), e }))) : this.thru(a) })), vi = jo((function (e, t, n) { Re.call(e, n) ? ++e[n] : or(e, n, 1) })), yi = Mo(Va), gi = Mo(Ha); function bi(e, t) { return (Hi(e) ? bt : fr)(e, ua(t, 3)) } function wi(e, t) { return (Hi(e) ? wt : dr)(e, ua(t, 3)) } var Ei = jo((function (e, t, n) { Re.call(e, n) ? e[n].push(t) : or(e, n, [t]) })), _i = Qr((function (e, t, n) { var o = -1, a = "function" == typeof t, i = qi(e) ? r(e.length) : []; return fr(e, (function (e) { i[++o] = a ? yt(t, e, n) : Pr(e, t, n) })), i })), xi = jo((function (e, t, n) { or(e, n, t) })); function ki(e, t) { return (Hi(e) ? St : Mr)(e, ua(t, 3)) } var Si = jo((function (e, t, n) { e[n ? 0 : 1].push(t) }), (function () { return [[], []] })), Ci = Qr((function (e, t) { if (null == e) return []; var n = t.length; return n > 1 && ga(e, t[0], t[1]) ? t = [] : n > 2 && ga(t[0], t[1], t[2]) && (t = [t[0]]), Br(e, vr(t, 1), []) })), Ni = jt || function () { return at.Date.now() }; function Oi(e, t, n) { return t = n ? o : t, t = e && null == t ? e.length : t, Yo(e, c, o, o, o, o, t) } function Pi(e, t) { var n; if ("function" != typeof t) throw new Ne(a); return e = mu(e), function () { return --e > 0 && (n = t.apply(this, arguments)), e <= 1 && (t = o), n } } var ji = Qr((function (e, t, n) { var r = 1; if (n.length) { var o = tn(n, ia(ji)); r |= l } return Yo(e, r, t, n, o) })), Ti = Qr((function (e, t, n) { var r = 3; if (n.length) { var o = tn(n, ia(Ti)); r |= l } return Yo(t, r, e, n, o) })); function Li(e, t, n) { var r, i, u, l, c, s, f = 0, d = !1, p = !1, h = !0; if ("function" != typeof e) throw new Ne(a); function m(t) { var n = r, a = i; return r = i = o, f = t, l = e.apply(a, n) } function v(e) { return f = e, c = ja(g, t), d ? m(e) : l } function y(e) { var n = e - s; return s === o || n >= t || n < 0 || p && e - f >= u } function g() { var e = Ni(); if (y(e)) return b(e); c = ja(g, function (e) { var n = t - (e - s); return p ? gn(n, u - (e - f)) : n }(e)) } function b(e) { return c = o, h && r ? m(e) : (r = i = o, l) } function w() { var e = Ni(), n = y(e); if (r = arguments, i = this, s = e, n) { if (c === o) return v(s); if (p) return Eo(c), c = ja(g, t), m(s) } return c === o && (c = ja(g, t)), l } return t = yu(t) || 0, tu(n) && (d = !!n.leading, u = (p = "maxWait" in n) ? yn(yu(n.maxWait) || 0, t) : u, h = "trailing" in n ? !!n.trailing : h), w.cancel = function () { c !== o && Eo(c), f = 0, r = s = i = c = o }, w.flush = function () { return c === o ? l : b(Ni()) }, w } var Ri = Qr((function (e, t) { return cr(e, 1, t) })), Ai = Qr((function (e, t, n) { return cr(e, yu(t) || 0, n) })); function Ii(e, t) { if ("function" != typeof e || null != t && "function" != typeof t) throw new Ne(a); var n = function () { var r = arguments, o = t ? t.apply(this, r) : r[0], a = n.cache; if (a.has(o)) return a.get(o); var i = e.apply(this, r); return n.cache = a.set(o, i) || a, i }; return n.cache = new (Ii.Cache || Gn), n } function zi(e) { if ("function" != typeof e) throw new Ne(a); return function () { var t = arguments; switch (t.length) { case 0: return !e.call(this); case 1: return !e.call(this, t[0]); case 2: return !e.call(this, t[0], t[1]); case 3: return !e.call(this, t[0], t[1], t[2]) }return !e.apply(this, t) } } Ii.Cache = Gn; var Mi = bo((function (e, t) { var n = (t = 1 == t.length && Hi(t[0]) ? St(t[0], Wt(ua())) : St(vr(t, 1), Wt(ua()))).length; return Qr((function (r) { for (var o = -1, a = gn(r.length, n); ++o < a;)r[o] = t[o].call(this, r[o]); return yt(e, this, r) })) })), Di = Qr((function (e, t) { var n = tn(t, ia(Di)); return Yo(e, l, o, t, n) })), Ui = Qr((function (e, t) { var n = tn(t, ia(Ui)); return Yo(e, 64, o, t, n) })), Fi = ta((function (e, t) { return Yo(e, 256, o, o, o, t) })); function $i(e, t) { return e === t || e != e && t != t } var Bi = Ho(Sr), Wi = Ho((function (e, t) { return e >= t })), Vi = jr(function () { return arguments }()) ? jr : function (e) { return nu(e) && Re.call(e, "callee") && !et.call(e, "callee") }, Hi = r.isArray, Gi = ft ? Wt(ft) : function (e) { return nu(e) && kr(e) == T }; function qi(e) { return null != e && eu(e.length) && !Zi(e) } function Qi(e) { return nu(e) && qi(e) } var Ki = pn || yl, Yi = dt ? Wt(dt) : function (e) { return nu(e) && kr(e) == g }; function Xi(e) { if (!nu(e)) return !1; var t = kr(e); return t == b || "[object DOMException]" == t || "string" == typeof e.message && "string" == typeof e.name && !au(e) } function Zi(e) { if (!tu(e)) return !1; var t = kr(e); return t == w || t == E || "[object AsyncFunction]" == t || "[object Proxy]" == t } function Ji(e) { return "number" == typeof e && e == mu(e) } function eu(e) { return "number" == typeof e && e > -1 && e % 1 == 0 && e <= f } function tu(e) { var t = typeof e; return null != e && ("object" == t || "function" == t) } function nu(e) { return null != e && "object" == typeof e } var ru = pt ? Wt(pt) : function (e) { return nu(e) && pa(e) == _ }; function ou(e) { return "number" == typeof e || nu(e) && kr(e) == x } function au(e) { if (!nu(e) || kr(e) != k) return !1; var t = Ge(e); if (null === t) return !0; var n = Re.call(t, "constructor") && t.constructor; return "function" == typeof n && n instanceof n && Le.call(n) == Me } var iu = ht ? Wt(ht) : function (e) { return nu(e) && kr(e) == C }, uu = mt ? Wt(mt) : function (e) { return nu(e) && pa(e) == N }; function lu(e) { return "string" == typeof e || !Hi(e) && nu(e) && kr(e) == O } function cu(e) { return "symbol" == typeof e || nu(e) && kr(e) == P } var su = vt ? Wt(vt) : function (e) { return nu(e) && eu(e.length) && !!Ze[kr(e)] }, fu = Ho(zr), du = Ho((function (e, t) { return e <= t })); function pu(e) { if (!e) return []; if (qi(e)) return lu(e) ? an(e) : Oo(e); if (it && e[it]) return function (e) { for (var t, n = []; !(t = e.next()).done;)n.push(t.value); return n }(e[it]()); var t = pa(e); return (t == _ ? Jt : t == N ? nn : $u)(e) } function hu(e) { return e ? (e = yu(e)) === s || e === -1 / 0 ? 17976931348623157e292 * (e < 0 ? -1 : 1) : e == e ? e : 0 : 0 === e ? e : 0 } function mu(e) { var t = hu(e), n = t % 1; return t == t ? n ? t - n : t : 0 } function vu(e) { return e ? ir(mu(e), 0, p) : 0 } function yu(e) { if ("number" == typeof e) return e; if (cu(e)) return d; if (tu(e)) { var t = "function" == typeof e.valueOf ? e.valueOf() : e; e = tu(t) ? t + "" : t } if ("string" != typeof e) return 0 === e ? e : +e; e = Bt(e); var n = he.test(e); return n || ve.test(e) ? nt(e.slice(2), n ? 2 : 8) : pe.test(e) ? d : +e } function gu(e) { return Po(e, Ru(e)) } function bu(e) { return null == e ? "" : uo(e) } var wu = To((function (e, t) { if (_a(t) || qi(t)) Po(t, Lu(t), e); else for (var n in t) Re.call(t, n) && er(e, n, t[n]) })), Eu = To((function (e, t) { Po(t, Ru(t), e) })), _u = To((function (e, t, n, r) { Po(t, Ru(t), e, r) })), xu = To((function (e, t, n, r) { Po(t, Lu(t), e, r) })), ku = ta(ar), Su = Qr((function (e, t) { e = ke(e); var n = -1, r = t.length, a = r > 2 ? t[2] : o; for (a && ga(t[0], t[1], a) && (r = 1); ++n < r;)for (var i = t[n], u = Ru(i), l = -1, c = u.length; ++l < c;) { var s = u[l], f = e[s]; (f === o || $i(f, je[s]) && !Re.call(e, s)) && (e[s] = i[s]) } return e })), Cu = Qr((function (e) { return e.push(o, Zo), yt(Iu, o, e) })); function Nu(e, t, n) { var r = null == e ? o : _r(e, t); return r === o ? n : r } function Ou(e, t) { return null != e && ha(e, t, Nr) } var Pu = Fo((function (e, t, n) { null != t && "function" != typeof t.toString && (t = ze.call(t)), e[t] = n }), tl(ol)), ju = Fo((function (e, t, n) { null != t && "function" != typeof t.toString && (t = ze.call(t)), Re.call(e, t) ? e[t].push(n) : e[t] = [n] }), ua), Tu = Qr(Pr); function Lu(e) { return qi(e) ? Kn(e) : Ir(e) } function Ru(e) { return qi(e) ? Kn(e, !0) : function (e) { if (!tu(e)) return function (e) { var t = []; if (null != e) for (var n in ke(e)) t.push(n); return t }(e); var t = _a(e), n = []; for (var r in e) ("constructor" != r || !t && Re.call(e, r)) && n.push(r); return n }(e) } var Au = To((function (e, t, n) { Fr(e, t, n) })), Iu = To((function (e, t, n, r) { Fr(e, t, n, r) })), zu = ta((function (e, t) { var n = {}; if (null == e) return n; var r = !1; t = St(t, (function (t) { return t = go(t, e), r || (r = t.length > 1), t })), Po(e, ra(e), n), r && (n = ur(n, 7, Jo)); for (var o = t.length; o--;)co(n, t[o]); return n })), Mu = ta((function (e, t) { return null == e ? {} : function (e, t) { return Wr(e, t, (function (t, n) { return Ou(e, n) })) }(e, t) })); function Du(e, t) { if (null == e) return {}; var n = St(ra(e), (function (e) { return [e] })); return t = ua(t), Wr(e, n, (function (e, n) { return t(e, n[0]) })) } var Uu = Ko(Lu), Fu = Ko(Ru); function $u(e) { return null == e ? [] : Vt(e, Lu(e)) } var Bu = Io((function (e, t, n) { return t = t.toLowerCase(), e + (n ? Wu(t) : t) })); function Wu(e) { return Xu(bu(e).toLowerCase()) } function Vu(e) { return (e = bu(e)) && e.replace(ge, Kt).replace(He, "") } var Hu = Io((function (e, t, n) { return e + (n ? "-" : "") + t.toLowerCase() })), Gu = Io((function (e, t, n) { return e + (n ? " " : "") + t.toLowerCase() })), qu = Ao("toLowerCase"), Qu = Io((function (e, t, n) { return e + (n ? "_" : "") + t.toLowerCase() })), Ku = Io((function (e, t, n) { return e + (n ? " " : "") + Xu(t) })), Yu = Io((function (e, t, n) { return e + (n ? " " : "") + t.toUpperCase() })), Xu = Ao("toUpperCase"); function Zu(e, t, n) { return e = bu(e), (t = n ? o : t) === o ? function (e) { return Ke.test(e) }(e) ? function (e) { return e.match(qe) || [] }(e) : function (e) { return e.match(le) || [] }(e) : e.match(t) || [] } var Ju = Qr((function (e, t) { try { return yt(e, o, t) } catch (e) { return Xi(e) ? e : new Ee(e) } })), el = ta((function (e, t) { return bt(t, (function (t) { t = Da(t), or(e, t, ji(e[t], e)) })), e })); function tl(e) { return function () { return e } } var nl = Do(), rl = Do(!0); function ol(e) { return e } function al(e) { return Ar("function" == typeof e ? e : ur(e, 1)) } var il = Qr((function (e, t) { return function (n) { return Pr(n, e, t) } })), ul = Qr((function (e, t) { return function (n) { return Pr(e, n, t) } })); function ll(e, t, n) { var r = Lu(t), o = Er(t, r); null != n || tu(t) && (o.length || !r.length) || (n = t, t = e, e = this, o = Er(t, Lu(t))); var a = !(tu(n) && "chain" in n && !n.chain), i = Zi(e); return bt(o, (function (n) { var r = t[n]; e[n] = r, i && (e.prototype[n] = function () { var t = this.__chain__; if (a || t) { var n = e(this.__wrapped__), o = n.__actions__ = Oo(this.__actions__); return o.push({ func: r, args: arguments, thisArg: e }), n.__chain__ = t, n } return r.apply(e, Ct([this.value()], arguments)) }) })), e } function cl() { } var sl = Bo(St), fl = Bo(Et), dl = Bo(Pt); function pl(e) { return ba(e) ? Mt(Da(e)) : function (e) { return function (t) { return _r(t, e) } }(e) } var hl = Vo(), ml = Vo(!0); function vl() { return [] } function yl() { return !1 } var gl, bl = $o((function (e, t) { return e + t }), 0), wl = qo("ceil"), El = $o((function (e, t) { return e / t }), 1), _l = qo("floor"), xl = $o((function (e, t) { return e * t }), 1), kl = qo("round"), Sl = $o((function (e, t) { return e - t }), 0); return Un.after = function (e, t) { if ("function" != typeof t) throw new Ne(a); return e = mu(e), function () { if (--e < 1) return t.apply(this, arguments) } }, Un.ary = Oi, Un.assign = wu, Un.assignIn = Eu, Un.assignInWith = _u, Un.assignWith = xu, Un.at = ku, Un.before = Pi, Un.bind = ji, Un.bindAll = el, Un.bindKey = Ti, Un.castArray = function () { if (!arguments.length) return []; var e = arguments[0]; return Hi(e) ? e : [e] }, Un.chain = pi, Un.chunk = function (e, t, n) { t = (n ? ga(e, t, n) : t === o) ? 1 : yn(mu(t), 0); var a = null == e ? 0 : e.length; if (!a || t < 1) return []; for (var i = 0, u = 0, l = r(sn(a / t)); i < a;)l[u++] = to(e, i, i += t); return l }, Un.compact = function (e) { for (var t = -1, n = null == e ? 0 : e.length, r = 0, o = []; ++t < n;) { var a = e[t]; a && (o[r++] = a) } return o }, Un.concat = function () { var e = arguments.length; if (!e) return []; for (var t = r(e - 1), n = arguments[0], o = e; o--;)t[o - 1] = arguments[o]; return Ct(Hi(n) ? Oo(n) : [n], vr(t, 1)) }, Un.cond = function (e) { var t = null == e ? 0 : e.length, n = ua(); return e = t ? St(e, (function (e) { if ("function" != typeof e[1]) throw new Ne(a); return [n(e[0]), e[1]] })) : [], Qr((function (n) { for (var r = -1; ++r < t;) { var o = e[r]; if (yt(o[0], this, n)) return yt(o[1], this, n) } })) }, Un.conforms = function (e) { return function (e) { var t = Lu(e); return function (n) { return lr(n, e, t) } }(ur(e, 1)) }, Un.constant = tl, Un.countBy = vi, Un.create = function (e, t) { var n = Fn(e); return null == t ? n : rr(n, t) }, Un.curry = function e(t, n, r) { var a = Yo(t, 8, o, o, o, o, o, n = r ? o : n); return a.placeholder = e.placeholder, a }, Un.curryRight = function e(t, n, r) { var a = Yo(t, 16, o, o, o, o, o, n = r ? o : n); return a.placeholder = e.placeholder, a }, Un.debounce = Li, Un.defaults = Su, Un.defaultsDeep = Cu, Un.defer = Ri, Un.delay = Ai, Un.difference = $a, Un.differenceBy = Ba, Un.differenceWith = Wa, Un.drop = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? to(e, (t = n || t === o ? 1 : mu(t)) < 0 ? 0 : t, r) : [] }, Un.dropRight = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? to(e, 0, (t = r - (t = n || t === o ? 1 : mu(t))) < 0 ? 0 : t) : [] }, Un.dropRightWhile = function (e, t) { return e && e.length ? fo(e, ua(t, 3), !0, !0) : [] }, Un.dropWhile = function (e, t) { return e && e.length ? fo(e, ua(t, 3), !0) : [] }, Un.fill = function (e, t, n, r) { var a = null == e ? 0 : e.length; return a ? (n && "number" != typeof n && ga(e, t, n) && (n = 0, r = a), function (e, t, n, r) { var a = e.length; for ((n = mu(n)) < 0 && (n = -n > a ? 0 : a + n), (r = r === o || r > a ? a : mu(r)) < 0 && (r += a), r = n > r ? 0 : vu(r); n < r;)e[n++] = t; return e }(e, t, n, r)) : [] }, Un.filter = function (e, t) { return (Hi(e) ? _t : mr)(e, ua(t, 3)) }, Un.flatMap = function (e, t) { return vr(ki(e, t), 1) }, Un.flatMapDeep = function (e, t) { return vr(ki(e, t), s) }, Un.flatMapDepth = function (e, t, n) { return n = n === o ? 1 : mu(n), vr(ki(e, t), n) }, Un.flatten = Ga, Un.flattenDeep = function (e) { return null != e && e.length ? vr(e, s) : [] }, Un.flattenDepth = function (e, t) { return null != e && e.length ? vr(e, t = t === o ? 1 : mu(t)) : [] }, Un.flip = function (e) { return Yo(e, 512) }, Un.flow = nl, Un.flowRight = rl, Un.fromPairs = function (e) { for (var t = -1, n = null == e ? 0 : e.length, r = {}; ++t < n;) { var o = e[t]; r[o[0]] = o[1] } return r }, Un.functions = function (e) { return null == e ? [] : Er(e, Lu(e)) }, Un.functionsIn = function (e) { return null == e ? [] : Er(e, Ru(e)) }, Un.groupBy = Ei, Un.initial = function (e) { return null != e && e.length ? to(e, 0, -1) : [] }, Un.intersection = Qa, Un.intersectionBy = Ka, Un.intersectionWith = Ya, Un.invert = Pu, Un.invertBy = ju, Un.invokeMap = _i, Un.iteratee = al, Un.keyBy = xi, Un.keys = Lu, Un.keysIn = Ru, Un.map = ki, Un.mapKeys = function (e, t) { var n = {}; return t = ua(t, 3), br(e, (function (e, r, o) { or(n, t(e, r, o), e) })), n }, Un.mapValues = function (e, t) { var n = {}; return t = ua(t, 3), br(e, (function (e, r, o) { or(n, r, t(e, r, o)) })), n }, Un.matches = function (e) { return Dr(ur(e, 1)) }, Un.matchesProperty = function (e, t) { return Ur(e, ur(t, 1)) }, Un.memoize = Ii, Un.merge = Au, Un.mergeWith = Iu, Un.method = il, Un.methodOf = ul, Un.mixin = ll, Un.negate = zi, Un.nthArg = function (e) { return e = mu(e), Qr((function (t) { return $r(t, e) })) }, Un.omit = zu, Un.omitBy = function (e, t) { return Du(e, zi(ua(t))) }, Un.once = function (e) { return Pi(2, e) }, Un.orderBy = function (e, t, n, r) { return null == e ? [] : (Hi(t) || (t = null == t ? [] : [t]), Hi(n = r ? o : n) || (n = null == n ? [] : [n]), Br(e, t, n)) }, Un.over = sl, Un.overArgs = Mi, Un.overEvery = fl, Un.overSome = dl, Un.partial = Di, Un.partialRight = Ui, Un.partition = Si, Un.pick = Mu, Un.pickBy = Du, Un.property = pl, Un.propertyOf = function (e) { return function (t) { return null == e ? o : _r(e, t) } }, Un.pull = Za, Un.pullAll = Ja, Un.pullAllBy = function (e, t, n) { return e && e.length && t && t.length ? Vr(e, t, ua(n, 2)) : e }, Un.pullAllWith = function (e, t, n) { return e && e.length && t && t.length ? Vr(e, t, o, n) : e }, Un.pullAt = ei, Un.range = hl, Un.rangeRight = ml, Un.rearg = Fi, Un.reject = function (e, t) { return (Hi(e) ? _t : mr)(e, zi(ua(t, 3))) }, Un.remove = function (e, t) { var n = []; if (!e || !e.length) return n; var r = -1, o = [], a = e.length; for (t = ua(t, 3); ++r < a;) { var i = e[r]; t(i, r, e) && (n.push(i), o.push(r)) } return Hr(e, o), n }, Un.rest = function (e, t) { if ("function" != typeof e) throw new Ne(a); return Qr(e, t = t === o ? t : mu(t)) }, Un.reverse = ti, Un.sampleSize = function (e, t, n) { return t = (n ? ga(e, t, n) : t === o) ? 1 : mu(t), (Hi(e) ? Xn : Yr)(e, t) }, Un.set = function (e, t, n) { return null == e ? e : Xr(e, t, n) }, Un.setWith = function (e, t, n, r) { return r = "function" == typeof r ? r : o, null == e ? e : Xr(e, t, n, r) }, Un.shuffle = function (e) { return (Hi(e) ? Zn : eo)(e) }, Un.slice = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? (n && "number" != typeof n && ga(e, t, n) ? (t = 0, n = r) : (t = null == t ? 0 : mu(t), n = n === o ? r : mu(n)), to(e, t, n)) : [] }, Un.sortBy = Ci, Un.sortedUniq = function (e) { return e && e.length ? ao(e) : [] }, Un.sortedUniqBy = function (e, t) { return e && e.length ? ao(e, ua(t, 2)) : [] }, Un.split = function (e, t, n) { return n && "number" != typeof n && ga(e, t, n) && (t = n = o), (n = n === o ? p : n >>> 0) ? (e = bu(e)) && ("string" == typeof t || null != t && !iu(t)) && !(t = uo(t)) && Zt(e) ? wo(an(e), 0, n) : e.split(t, n) : [] }, Un.spread = function (e, t) { if ("function" != typeof e) throw new Ne(a); return t = null == t ? 0 : yn(mu(t), 0), Qr((function (n) { var r = n[t], o = wo(n, 0, t); return r && Ct(o, r), yt(e, this, o) })) }, Un.tail = function (e) { var t = null == e ? 0 : e.length; return t ? to(e, 1, t) : [] }, Un.take = function (e, t, n) { return e && e.length ? to(e, 0, (t = n || t === o ? 1 : mu(t)) < 0 ? 0 : t) : [] }, Un.takeRight = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? to(e, (t = r - (t = n || t === o ? 1 : mu(t))) < 0 ? 0 : t, r) : [] }, Un.takeRightWhile = function (e, t) { return e && e.length ? fo(e, ua(t, 3), !1, !0) : [] }, Un.takeWhile = function (e, t) { return e && e.length ? fo(e, ua(t, 3)) : [] }, Un.tap = function (e, t) { return t(e), e }, Un.throttle = function (e, t, n) { var r = !0, o = !0; if ("function" != typeof e) throw new Ne(a); return tu(n) && (r = "leading" in n ? !!n.leading : r, o = "trailing" in n ? !!n.trailing : o), Li(e, t, { leading: r, maxWait: t, trailing: o }) }, Un.thru = hi, Un.toArray = pu, Un.toPairs = Uu, Un.toPairsIn = Fu, Un.toPath = function (e) { return Hi(e) ? St(e, Da) : cu(e) ? [e] : Oo(Ma(bu(e))) }, Un.toPlainObject = gu, Un.transform = function (e, t, n) { var r = Hi(e), o = r || Ki(e) || su(e); if (t = ua(t, 4), null == n) { var a = e && e.constructor; n = o ? r ? new a : [] : tu(e) && Zi(a) ? Fn(Ge(e)) : {} } return (o ? bt : br)(e, (function (e, r, o) { return t(n, e, r, o) })), n }, Un.unary = function (e) { return Oi(e, 1) }, Un.union = ni, Un.unionBy = ri, Un.unionWith = oi, Un.uniq = function (e) { return e && e.length ? lo(e) : [] }, Un.uniqBy = function (e, t) { return e && e.length ? lo(e, ua(t, 2)) : [] }, Un.uniqWith = function (e, t) { return t = "function" == typeof t ? t : o, e && e.length ? lo(e, o, t) : [] }, Un.unset = function (e, t) { return null == e || co(e, t) }, Un.unzip = ai, Un.unzipWith = ii, Un.update = function (e, t, n) { return null == e ? e : so(e, t, yo(n)) }, Un.updateWith = function (e, t, n, r) { return r = "function" == typeof r ? r : o, null == e ? e : so(e, t, yo(n), r) }, Un.values = $u, Un.valuesIn = function (e) { return null == e ? [] : Vt(e, Ru(e)) }, Un.without = ui, Un.words = Zu, Un.wrap = function (e, t) { return Di(yo(t), e) }, Un.xor = li, Un.xorBy = ci, Un.xorWith = si, Un.zip = fi, Un.zipObject = function (e, t) { return mo(e || [], t || [], er) }, Un.zipObjectDeep = function (e, t) { return mo(e || [], t || [], Xr) }, Un.zipWith = di, Un.entries = Uu, Un.entriesIn = Fu, Un.extend = Eu, Un.extendWith = _u, ll(Un, Un), Un.add = bl, Un.attempt = Ju, Un.camelCase = Bu, Un.capitalize = Wu, Un.ceil = wl, Un.clamp = function (e, t, n) { return n === o && (n = t, t = o), n !== o && (n = (n = yu(n)) == n ? n : 0), t !== o && (t = (t = yu(t)) == t ? t : 0), ir(yu(e), t, n) }, Un.clone = function (e) { return ur(e, 4) }, Un.cloneDeep = function (e) { return ur(e, 5) }, Un.cloneDeepWith = function (e, t) { return ur(e, 5, t = "function" == typeof t ? t : o) }, Un.cloneWith = function (e, t) { return ur(e, 4, t = "function" == typeof t ? t : o) }, Un.conformsTo = function (e, t) { return null == t || lr(e, t, Lu(t)) }, Un.deburr = Vu, Un.defaultTo = function (e, t) { return null == e || e != e ? t : e }, Un.divide = El, Un.endsWith = function (e, t, n) { e = bu(e), t = uo(t); var r = e.length, a = n = n === o ? r : ir(mu(n), 0, r); return (n -= t.length) >= 0 && e.slice(n, a) == t }, Un.eq = $i, Un.escape = function (e) { return (e = bu(e)) && Q.test(e) ? e.replace(G, Yt) : e }, Un.escapeRegExp = function (e) { return (e = bu(e)) && ne.test(e) ? e.replace(te, "\\$&") : e }, Un.every = function (e, t, n) { var r = Hi(e) ? Et : pr; return n && ga(e, t, n) && (t = o), r(e, ua(t, 3)) }, Un.find = yi, Un.findIndex = Va, Un.findKey = function (e, t) { return Tt(e, ua(t, 3), br) }, Un.findLast = gi, Un.findLastIndex = Ha, Un.findLastKey = function (e, t) { return Tt(e, ua(t, 3), wr) }, Un.floor = _l, Un.forEach = bi, Un.forEachRight = wi, Un.forIn = function (e, t) { return null == e ? e : yr(e, ua(t, 3), Ru) }, Un.forInRight = function (e, t) { return null == e ? e : gr(e, ua(t, 3), Ru) }, Un.forOwn = function (e, t) { return e && br(e, ua(t, 3)) }, Un.forOwnRight = function (e, t) { return e && wr(e, ua(t, 3)) }, Un.get = Nu, Un.gt = Bi, Un.gte = Wi, Un.has = function (e, t) { return null != e && ha(e, t, Cr) }, Un.hasIn = Ou, Un.head = qa, Un.identity = ol, Un.includes = function (e, t, n, r) { e = qi(e) ? e : $u(e), n = n && !r ? mu(n) : 0; var o = e.length; return n < 0 && (n = yn(o + n, 0)), lu(e) ? n <= o && e.indexOf(t, n) > -1 : !!o && Rt(e, t, n) > -1 }, Un.indexOf = function (e, t, n) { var r = null == e ? 0 : e.length; if (!r) return -1; var o = null == n ? 0 : mu(n); return o < 0 && (o = yn(r + o, 0)), Rt(e, t, o) }, Un.inRange = function (e, t, n) { return t = hu(t), n === o ? (n = t, t = 0) : n = hu(n), function (e, t, n) { return e >= gn(t, n) && e < yn(t, n) }(e = yu(e), t, n) }, Un.invoke = Tu, Un.isArguments = Vi, Un.isArray = Hi, Un.isArrayBuffer = Gi, Un.isArrayLike = qi, Un.isArrayLikeObject = Qi, Un.isBoolean = function (e) { return !0 === e || !1 === e || nu(e) && kr(e) == y }, Un.isBuffer = Ki, Un.isDate = Yi, Un.isElement = function (e) { return nu(e) && 1 === e.nodeType && !au(e) }, Un.isEmpty = function (e) { if (null == e) return !0; if (qi(e) && (Hi(e) || "string" == typeof e || "function" == typeof e.splice || Ki(e) || su(e) || Vi(e))) return !e.length; var t = pa(e); if (t == _ || t == N) return !e.size; if (_a(e)) return !Ir(e).length; for (var n in e) if (Re.call(e, n)) return !1; return !0 }, Un.isEqual = function (e, t) { return Tr(e, t) }, Un.isEqualWith = function (e, t, n) { var r = (n = "function" == typeof n ? n : o) ? n(e, t) : o; return r === o ? Tr(e, t, o, n) : !!r }, Un.isError = Xi, Un.isFinite = function (e) { return "number" == typeof e && hn(e) }, Un.isFunction = Zi, Un.isInteger = Ji, Un.isLength = eu, Un.isMap = ru, Un.isMatch = function (e, t) { return e === t || Lr(e, t, ca(t)) }, Un.isMatchWith = function (e, t, n) { return n = "function" == typeof n ? n : o, Lr(e, t, ca(t), n) }, Un.isNaN = function (e) { return ou(e) && e != +e }, Un.isNative = function (e) { if (Ea(e)) throw new Ee("Unsupported core-js use. Try https://npms.io/search?q=ponyfill."); return Rr(e) }, Un.isNil = function (e) { return null == e }, Un.isNull = function (e) { return null === e }, Un.isNumber = ou, Un.isObject = tu, Un.isObjectLike = nu, Un.isPlainObject = au, Un.isRegExp = iu, Un.isSafeInteger = function (e) { return Ji(e) && e >= -9007199254740991 && e <= f }, Un.isSet = uu, Un.isString = lu, Un.isSymbol = cu, Un.isTypedArray = su, Un.isUndefined = function (e) { return e === o }, Un.isWeakMap = function (e) { return nu(e) && pa(e) == j }, Un.isWeakSet = function (e) { return nu(e) && "[object WeakSet]" == kr(e) }, Un.join = function (e, t) { return null == e ? "" : mn.call(e, t) }, Un.kebabCase = Hu, Un.last = Xa, Un.lastIndexOf = function (e, t, n) { var r = null == e ? 0 : e.length; if (!r) return -1; var a = r; return n !== o && (a = (a = mu(n)) < 0 ? yn(r + a, 0) : gn(a, r - 1)), t == t ? function (e, t, n) { for (var r = n + 1; r--;)if (e[r] === t) return r; return r }(e, t, a) : Lt(e, It, a, !0) }, Un.lowerCase = Gu, Un.lowerFirst = qu, Un.lt = fu, Un.lte = du, Un.max = function (e) { return e && e.length ? hr(e, ol, Sr) : o }, Un.maxBy = function (e, t) { return e && e.length ? hr(e, ua(t, 2), Sr) : o }, Un.mean = function (e) { return zt(e, ol) }, Un.meanBy = function (e, t) { return zt(e, ua(t, 2)) }, Un.min = function (e) { return e && e.length ? hr(e, ol, zr) : o }, Un.minBy = function (e, t) { return e && e.length ? hr(e, ua(t, 2), zr) : o }, Un.stubArray = vl, Un.stubFalse = yl, Un.stubObject = function () { return {} }, Un.stubString = function () { return "" }, Un.stubTrue = function () { return !0 }, Un.multiply = xl, Un.nth = function (e, t) { return e && e.length ? $r(e, mu(t)) : o }, Un.noConflict = function () { return at._ === this && (at._ = De), this }, Un.noop = cl, Un.now = Ni, Un.pad = function (e, t, n) { e = bu(e); var r = (t = mu(t)) ? on(e) : 0; if (!t || r >= t) return e; var o = (t - r) / 2; return Wo(fn(o), n) + e + Wo(sn(o), n) }, Un.padEnd = function (e, t, n) { e = bu(e); var r = (t = mu(t)) ? on(e) : 0; return t && r < t ? e + Wo(t - r, n) : e }, Un.padStart = function (e, t, n) { e = bu(e); var r = (t = mu(t)) ? on(e) : 0; return t && r < t ? Wo(t - r, n) + e : e }, Un.parseInt = function (e, t, n) { return n || null == t ? t = 0 : t && (t = +t), wn(bu(e).replace(re, ""), t || 0) }, Un.random = function (e, t, n) { if (n && "boolean" != typeof n && ga(e, t, n) && (t = n = o), n === o && ("boolean" == typeof t ? (n = t, t = o) : "boolean" == typeof e && (n = e, e = o)), e === o && t === o ? (e = 0, t = 1) : (e = hu(e), t === o ? (t = e, e = 0) : t = hu(t)), e > t) { var r = e; e = t, t = r } if (n || e % 1 || t % 1) { var a = En(); return gn(e + a * (t - e + tt("1e-" + ((a + "").length - 1))), t) } return Gr(e, t) }, Un.reduce = function (e, t, n) { var r = Hi(e) ? Nt : Ut, o = arguments.length < 3; return r(e, ua(t, 4), n, o, fr) }, Un.reduceRight = function (e, t, n) { var r = Hi(e) ? Ot : Ut, o = arguments.length < 3; return r(e, ua(t, 4), n, o, dr) }, Un.repeat = function (e, t, n) { return t = (n ? ga(e, t, n) : t === o) ? 1 : mu(t), qr(bu(e), t) }, Un.replace = function () { var e = arguments, t = bu(e[0]); return e.length < 3 ? t : t.replace(e[1], e[2]) }, Un.result = function (e, t, n) { var r = -1, a = (t = go(t, e)).length; for (a || (a = 1, e = o); ++r < a;) { var i = null == e ? o : e[Da(t[r])]; i === o && (r = a, i = n), e = Zi(i) ? i.call(e) : i } return e }, Un.round = kl, Un.runInContext = e, Un.sample = function (e) { return (Hi(e) ? Yn : Kr)(e) }, Un.size = function (e) { if (null == e) return 0; if (qi(e)) return lu(e) ? on(e) : e.length; var t = pa(e); return t == _ || t == N ? e.size : Ir(e).length }, Un.snakeCase = Qu, Un.some = function (e, t, n) { var r = Hi(e) ? Pt : no; return n && ga(e, t, n) && (t = o), r(e, ua(t, 3)) }, Un.sortedIndex = function (e, t) { return ro(e, t) }, Un.sortedIndexBy = function (e, t, n) { return oo(e, t, ua(n, 2)) }, Un.sortedIndexOf = function (e, t) { var n = null == e ? 0 : e.length; if (n) { var r = ro(e, t); if (r < n && $i(e[r], t)) return r } return -1 }, Un.sortedLastIndex = function (e, t) { return ro(e, t, !0) }, Un.sortedLastIndexBy = function (e, t, n) { return oo(e, t, ua(n, 2), !0) }, Un.sortedLastIndexOf = function (e, t) { if (null != e && e.length) { var n = ro(e, t, !0) - 1; if ($i(e[n], t)) return n } return -1 }, Un.startCase = Ku, Un.startsWith = function (e, t, n) { return e = bu(e), n = null == n ? 0 : ir(mu(n), 0, e.length), t = uo(t), e.slice(n, n + t.length) == t }, Un.subtract = Sl, Un.sum = function (e) { return e && e.length ? Ft(e, ol) : 0 }, Un.sumBy = function (e, t) { return e && e.length ? Ft(e, ua(t, 2)) : 0 }, Un.template = function (e, t, n) { var r = Un.templateSettings; n && ga(e, t, n) && (t = o), e = bu(e), t = _u({}, t, r, Xo); var a, i, u = _u({}, t.imports, r.imports, Xo), l = Lu(u), c = Vt(u, l), s = 0, f = t.interpolate || be, d = "__p += '", p = Se((t.escape || be).source + "|" + f.source + "|" + (f === X ? fe : be).source + "|" + (t.evaluate || be).source + "|$", "g"), h = "//# sourceURL=" + (Re.call(t, "sourceURL") ? (t.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++Xe + "]") + "\n"; e.replace(p, (function (t, n, r, o, u, l) { return r || (r = o), d += e.slice(s, l).replace(we, Xt), n && (a = !0, d += "' +\n__e(" + n + ") +\n'"), u && (i = !0, d += "';\n" + u + ";\n__p += '"), r && (d += "' +\n((__t = (" + r + ")) == null ? '' : __t) +\n'"), s = l + t.length, t })), d += "';\n"; var m = Re.call(t, "variable") && t.variable; if (m) { if (ce.test(m)) throw new Ee("Invalid `variable` option passed into `_.template`") } else d = "with (obj) {\n" + d + "\n}\n"; d = (i ? d.replace(B, "") : d).replace(W, "$1").replace(V, "$1;"), d = "function(" + (m || "obj") + ") {\n" + (m ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (a ? ", __e = _.escape" : "") + (i ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + d + "return __p\n}"; var v = Ju((function () { return _e(l, h + "return " + d).apply(o, c) })); if (v.source = d, Xi(v)) throw v; return v }, Un.times = function (e, t) { if ((e = mu(e)) < 1 || e > f) return []; var n = p, r = gn(e, p); t = ua(t), e -= p; for (var o = $t(r, t); ++n < e;)t(n); return o }, Un.toFinite = hu, Un.toInteger = mu, Un.toLength = vu, Un.toLower = function (e) { return bu(e).toLowerCase() }, Un.toNumber = yu, Un.toSafeInteger = function (e) { return e ? ir(mu(e), -9007199254740991, f) : 0 === e ? e : 0 }, Un.toString = bu, Un.toUpper = function (e) { return bu(e).toUpperCase() }, Un.trim = function (e, t, n) { if ((e = bu(e)) && (n || t === o)) return Bt(e); if (!e || !(t = uo(t))) return e; var r = an(e), a = an(t); return wo(r, Gt(r, a), qt(r, a) + 1).join("") }, Un.trimEnd = function (e, t, n) { if ((e = bu(e)) && (n || t === o)) return e.slice(0, un(e) + 1); if (!e || !(t = uo(t))) return e; var r = an(e); return wo(r, 0, qt(r, an(t)) + 1).join("") }, Un.trimStart = function (e, t, n) { if ((e = bu(e)) && (n || t === o)) return e.replace(re, ""); if (!e || !(t = uo(t))) return e; var r = an(e); return wo(r, Gt(r, an(t))).join("") }, Un.truncate = function (e, t) { var n = 30, r = "..."; if (tu(t)) { var a = "separator" in t ? t.separator : a; n = "length" in t ? mu(t.length) : n, r = "omission" in t ? uo(t.omission) : r } var i = (e = bu(e)).length; if (Zt(e)) { var u = an(e); i = u.length } if (n >= i) return e; var l = n - on(r); if (l < 1) return r; var c = u ? wo(u, 0, l).join("") : e.slice(0, l); if (a === o) return c + r; if (u && (l += c.length - l), iu(a)) { if (e.slice(l).search(a)) { var s, f = c; for (a.global || (a = Se(a.source, bu(de.exec(a)) + "g")), a.lastIndex = 0; s = a.exec(f);)var d = s.index; c = c.slice(0, d === o ? l : d) } } else if (e.indexOf(uo(a), l) != l) { var p = c.lastIndexOf(a); p > -1 && (c = c.slice(0, p)) } return c + r }, Un.unescape = function (e) { return (e = bu(e)) && q.test(e) ? e.replace(H, ln) : e }, Un.uniqueId = function (e) { var t = ++Ae; return bu(e) + t }, Un.upperCase = Yu, Un.upperFirst = Xu, Un.each = bi, Un.eachRight = wi, Un.first = qa, ll(Un, (gl = {}, br(Un, (function (e, t) { Re.call(Un.prototype, t) || (gl[t] = e) })), gl), { chain: !1 }), Un.VERSION = "4.17.21", bt(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], (function (e) { Un[e].placeholder = Un })), bt(["drop", "take"], (function (e, t) { Wn.prototype[e] = function (n) { n = n === o ? 1 : yn(mu(n), 0); var r = this.__filtered__ && !t ? new Wn(this) : this.clone(); return r.__filtered__ ? r.__takeCount__ = gn(n, r.__takeCount__) : r.__views__.push({ size: gn(n, p), type: e + (r.__dir__ < 0 ? "Right" : "") }), r }, Wn.prototype[e + "Right"] = function (t) { return this.reverse()[e](t).reverse() } })), bt(["filter", "map", "takeWhile"], (function (e, t) { var n = t + 1, r = 1 == n || 3 == n; Wn.prototype[e] = function (e) { var t = this.clone(); return t.__iteratees__.push({ iteratee: ua(e, 3), type: n }), t.__filtered__ = t.__filtered__ || r, t } })), bt(["head", "last"], (function (e, t) { var n = "take" + (t ? "Right" : ""); Wn.prototype[e] = function () { return this[n](1).value()[0] } })), bt(["initial", "tail"], (function (e, t) { var n = "drop" + (t ? "" : "Right"); Wn.prototype[e] = function () { return this.__filtered__ ? new Wn(this) : this[n](1) } })), Wn.prototype.compact = function () { return this.filter(ol) }, Wn.prototype.find = function (e) { return this.filter(e).head() }, Wn.prototype.findLast = function (e) { return this.reverse().find(e) }, Wn.prototype.invokeMap = Qr((function (e, t) { return "function" == typeof e ? new Wn(this) : this.map((function (n) { return Pr(n, e, t) })) })), Wn.prototype.reject = function (e) { return this.filter(zi(ua(e))) }, Wn.prototype.slice = function (e, t) { e = mu(e); var n = this; return n.__filtered__ && (e > 0 || t < 0) ? new Wn(n) : (e < 0 ? n = n.takeRight(-e) : e && (n = n.drop(e)), t !== o && (n = (t = mu(t)) < 0 ? n.dropRight(-t) : n.take(t - e)), n) }, Wn.prototype.takeRightWhile = function (e) { return this.reverse().takeWhile(e).reverse() }, Wn.prototype.toArray = function () { return this.take(p) }, br(Wn.prototype, (function (e, t) { var n = /^(?:filter|find|map|reject)|While$/.test(t), r = /^(?:head|last)$/.test(t), a = Un[r ? "take" + ("last" == t ? "Right" : "") : t], i = r || /^find/.test(t); a && (Un.prototype[t] = function () { var t = this.__wrapped__, u = r ? [1] : arguments, l = t instanceof Wn, c = u[0], s = l || Hi(t), f = function (e) { var t = a.apply(Un, Ct([e], u)); return r && d ? t[0] : t }; s && n && "function" == typeof c && 1 != c.length && (l = s = !1); var d = this.__chain__, p = !!this.__actions__.length, h = i && !d, m = l && !p; if (!i && s) { t = m ? t : new Wn(this); var v = e.apply(t, u); return v.__actions__.push({ func: hi, args: [f], thisArg: o }), new Bn(v, d) } return h && m ? e.apply(this, u) : (v = this.thru(f), h ? r ? v.value()[0] : v.value() : v) }) })), bt(["pop", "push", "shift", "sort", "splice", "unshift"], (function (e) { var t = Oe[e], n = /^(?:push|sort|unshift)$/.test(e) ? "tap" : "thru", r = /^(?:pop|shift)$/.test(e); Un.prototype[e] = function () { var e = arguments; if (r && !this.__chain__) { var o = this.value(); return t.apply(Hi(o) ? o : [], e) } return this[n]((function (n) { return t.apply(Hi(n) ? n : [], e) })) } })), br(Wn.prototype, (function (e, t) { var n = Un[t]; if (n) { var r = n.name + ""; Re.call(jn, r) || (jn[r] = []), jn[r].push({ name: t, func: n }) } })), jn[Uo(o, 2).name] = [{ name: "wrapper", func: o }], Wn.prototype.clone = function () { var e = new Wn(this.__wrapped__); return e.__actions__ = Oo(this.__actions__), e.__dir__ = this.__dir__, e.__filtered__ = this.__filtered__, e.__iteratees__ = Oo(this.__iteratees__), e.__takeCount__ = this.__takeCount__, e.__views__ = Oo(this.__views__), e }, Wn.prototype.reverse = function () { if (this.__filtered__) { var e = new Wn(this); e.__dir__ = -1, e.__filtered__ = !0 } else (e = this.clone()).__dir__ *= -1; return e }, Wn.prototype.value = function () { var e = this.__wrapped__.value(), t = this.__dir__, n = Hi(e), r = t < 0, o = n ? e.length : 0, a = function (e, t, n) { for (var r = -1, o = n.length; ++r < o;) { var a = n[r], i = a.size; switch (a.type) { case "drop": e += i; break; case "dropRight": t -= i; break; case "take": t = gn(t, e + i); break; case "takeRight": e = yn(e, t - i) } } return { start: e, end: t } }(0, o, this.__views__), i = a.start, u = a.end, l = u - i, c = r ? u : i - 1, s = this.__iteratees__, f = s.length, d = 0, p = gn(l, this.__takeCount__); if (!n || !r && o == l && p == l) return po(e, this.__actions__); var h = []; e: for (; l-- && d < p;) { for (var m = -1, v = e[c += t]; ++m < f;) { var y = s[m], g = y.iteratee, b = y.type, w = g(v); if (2 == b) v = w; else if (!w) { if (1 == b) continue e; break e } } h[d++] = v } return h }, Un.prototype.at = mi, Un.prototype.chain = function () { return pi(this) }, Un.prototype.commit = function () { return new Bn(this.value(), this.__chain__) }, Un.prototype.next = function () { this.__values__ === o && (this.__values__ = pu(this.value())); var e = this.__index__ >= this.__values__.length; return { done: e, value: e ? o : this.__values__[this.__index__++] } }, Un.prototype.plant = function (e) { for (var t, n = this; n instanceof $n;) { var r = Fa(n); r.__index__ = 0, r.__values__ = o, t ? a.__wrapped__ = r : t = r; var a = r; n = n.__wrapped__ } return a.__wrapped__ = e, t }, Un.prototype.reverse = function () { var e = this.__wrapped__; if (e instanceof Wn) { var t = e; return this.__actions__.length && (t = new Wn(this)), (t = t.reverse()).__actions__.push({ func: hi, args: [ti], thisArg: o }), new Bn(t, this.__chain__) } return this.thru(ti) }, Un.prototype.toJSON = Un.prototype.valueOf = Un.prototype.value = function () { return po(this.__wrapped__, this.__actions__) }, Un.prototype.first = Un.prototype.head, it && (Un.prototype[it] = function () { return this }), Un }(); at._ = cn, (r = function () { return cn }.call(t, n, t, e)) === o || (e.exports = r) }.call(this) }, 418: e => { "use strict"; var t = Object.getOwnPropertySymbols, n = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function o(e) { if (null == e) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(e) } e.exports = function () { try { if (!Object.assign) return !1; var e = new String("abc"); if (e[5] = "de", "5" === Object.getOwnPropertyNames(e)[0]) return !1; for (var t = {}, n = 0; n < 10; n++)t["_" + String.fromCharCode(n)] = n; if ("0123456789" !== Object.getOwnPropertyNames(t).map((function (e) { return t[e] })).join("")) return !1; var r = {}; return "abcdefghijklmnopqrst".split("").forEach((function (e) { r[e] = e })), "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, r)).join("") } catch (e) { return !1 } }() ? Object.assign : function (e, a) { for (var i, u, l = o(e), c = 1; c < arguments.length; c++) { for (var s in i = Object(arguments[c])) n.call(i, s) && (l[s] = i[s]); if (t) { u = t(i); for (var f = 0; f < u.length; f++)r.call(i, u[f]) && (l[u[f]] = i[u[f]]) } } return l } }, 779: (e, t, n) => { var r = n(173); e.exports = function e(t, n, o) { return r(n) || (o = n || o, n = []), o = o || {}, t instanceof RegExp ? function (e, t) { var n = e.source.match(/\((?!\?)/g); if (n) for (var r = 0; r < n.length; r++)t.push({ name: r, prefix: null, delimiter: null, optional: !1, repeat: !1, partial: !1, asterisk: !1, pattern: null }); return s(e, t) }(t, n) : r(t) ? function (t, n, r) { for (var o = [], a = 0; a < t.length; a++)o.push(e(t[a], n, r).source); return s(new RegExp("(?:" + o.join("|") + ")", f(r)), n) }(t, n, o) : function (e, t, n) { return d(a(e, n), t, n) }(t, n, o) }, e.exports.parse = a, e.exports.compile = function (e, t) { return u(a(e, t), t) }, e.exports.tokensToFunction = u, e.exports.tokensToRegExp = d; var o = new RegExp(["(\\\\.)", "([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"), "g"); function a(e, t) { for (var n, r = [], a = 0, i = 0, u = "", s = t && t.delimiter || "/"; null != (n = o.exec(e));) { var f = n[0], d = n[1], p = n.index; if (u += e.slice(i, p), i = p + f.length, d) u += d[1]; else { var h = e[i], m = n[2], v = n[3], y = n[4], g = n[5], b = n[6], w = n[7]; u && (r.push(u), u = ""); var E = null != m && null != h && h !== m, _ = "+" === b || "*" === b, x = "?" === b || "*" === b, k = n[2] || s, S = y || g; r.push({ name: v || a++, prefix: m || "", delimiter: k, optional: x, repeat: _, partial: E, asterisk: !!w, pattern: S ? c(S) : w ? ".*" : "[^" + l(k) + "]+?" }) } } return i < e.length && (u += e.substr(i)), u && r.push(u), r } function i(e) { return encodeURI(e).replace(/[\/?#]/g, (function (e) { return "%" + e.charCodeAt(0).toString(16).toUpperCase() })) } function u(e, t) { for (var n = new Array(e.length), o = 0; o < e.length; o++)"object" == typeof e[o] && (n[o] = new RegExp("^(?:" + e[o].pattern + ")$", f(t))); return function (t, o) { for (var a = "", u = t || {}, l = (o || {}).pretty ? i : encodeURIComponent, c = 0; c < e.length; c++) { var s = e[c]; if ("string" != typeof s) { var f, d = u[s.name]; if (null == d) { if (s.optional) { s.partial && (a += s.prefix); continue } throw new TypeError('Expected "' + s.name + '" to be defined') } if (r(d)) { if (!s.repeat) throw new TypeError('Expected "' + s.name + '" to not repeat, but received `' + JSON.stringify(d) + "`"); if (0 === d.length) { if (s.optional) continue; throw new TypeError('Expected "' + s.name + '" to not be empty') } for (var p = 0; p < d.length; p++) { if (f = l(d[p]), !n[c].test(f)) throw new TypeError('Expected all "' + s.name + '" to match "' + s.pattern + '", but received `' + JSON.stringify(f) + "`"); a += (0 === p ? s.prefix : s.delimiter) + f } } else { if (f = s.asterisk ? encodeURI(d).replace(/[?#]/g, (function (e) { return "%" + e.charCodeAt(0).toString(16).toUpperCase() })) : l(d), !n[c].test(f)) throw new TypeError('Expected "' + s.name + '" to match "' + s.pattern + '", but received "' + f + '"'); a += s.prefix + f } } else a += s } return a } } function l(e) { return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g, "\\$1") } function c(e) { return e.replace(/([=!:$\/()])/g, "\\$1") } function s(e, t) { return e.keys = t, e } function f(e) { return e && e.sensitive ? "" : "i" } function d(e, t, n) { r(t) || (n = t || n, t = []); for (var o = (n = n || {}).strict, a = !1 !== n.end, i = "", u = 0; u < e.length; u++) { var c = e[u]; if ("string" == typeof c) i += l(c); else { var d = l(c.prefix), p = "(?:" + c.pattern + ")"; t.push(c), c.repeat && (p += "(?:" + d + p + ")*"), i += p = c.optional ? c.partial ? d + "(" + p + ")?" : "(?:" + d + "(" + p + "))?" : d + "(" + p + ")" } } var h = l(n.delimiter || "/"), m = i.slice(-h.length) === h; return o || (i = (m ? i.slice(0, -h.length) : i) + "(?:" + h + "(?=$))?"), i += a ? "$" : o && m ? "" : "(?=" + h + "|$)", s(new RegExp("^" + i, f(n)), t) } }, 173: e => { e.exports = Array.isArray || function (e) { return "[object Array]" == Object.prototype.toString.call(e) } }, 703: (e, t, n) => { "use strict"; var r = n(414); function o() { } function a() { } a.resetWarningCache = o, e.exports = function () { function e(e, t, n, o, a, i) { if (i !== r) { var u = new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"); throw u.name = "Invariant Violation", u } } function t() { return e } e.isRequired = e; var n = { array: e, bigint: e, bool: e, func: e, number: e, object: e, string: e, symbol: e, any: e, arrayOf: t, element: e, elementType: e, instanceOf: t, node: e, objectOf: t, oneOf: t, oneOfType: t, shape: t, exact: t, checkPropTypes: a, resetWarningCache: o }; return n.PropTypes = n, n } }, 697: (e, t, n) => { e.exports = n(703)() }, 414: e => { "use strict"; e.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED" }, 448: (e, t, n) => { "use strict"; var r = n(294), o = n(418), a = n(840); function i(e) { for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++)t += "&args[]=" + encodeURIComponent(arguments[n]); return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." } if (!r) throw Error(i(227)); var u = new Set, l = {}; function c(e, t) { s(e, t), s(e + "Capture", t) } function s(e, t) { for (l[e] = t, e = 0; e < t.length; e++)u.add(t[e]) } var f = !("undefined" == typeof window || void 0 === window.document || void 0 === window.document.createElement), d = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, p = Object.prototype.hasOwnProperty, h = {}, m = {}; function v(e, t, n, r, o, a, i) { this.acceptsBooleans = 2 === t || 3 === t || 4 === t, this.attributeName = r, this.attributeNamespace = o, this.mustUseProperty = n, this.propertyName = e, this.type = t, this.sanitizeURL = a, this.removeEmptyString = i } var y = {}; "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function (e) { y[e] = new v(e, 0, !1, e, null, !1, !1) })), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach((function (e) { var t = e[0]; y[t] = new v(t, 1, !1, e[1], null, !1, !1) })), ["contentEditable", "draggable", "spellCheck", "value"].forEach((function (e) { y[e] = new v(e, 2, !1, e.toLowerCase(), null, !1, !1) })), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach((function (e) { y[e] = new v(e, 2, !1, e, null, !1, !1) })), "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function (e) { y[e] = new v(e, 3, !1, e.toLowerCase(), null, !1, !1) })), ["checked", "multiple", "muted", "selected"].forEach((function (e) { y[e] = new v(e, 3, !0, e, null, !1, !1) })), ["capture", "download"].forEach((function (e) { y[e] = new v(e, 4, !1, e, null, !1, !1) })), ["cols", "rows", "size", "span"].forEach((function (e) { y[e] = new v(e, 6, !1, e, null, !1, !1) })), ["rowSpan", "start"].forEach((function (e) { y[e] = new v(e, 5, !1, e.toLowerCase(), null, !1, !1) })); var g = /[\-:]([a-z])/g; function b(e) { return e[1].toUpperCase() } function w(e, t, n, r) { var o = y.hasOwnProperty(t) ? y[t] : null; (null !== o ? 0 === o.type : !r && 2 < t.length && ("o" === t[0] || "O" === t[0]) && ("n" === t[1] || "N" === t[1])) || (function (e, t, n, r) { if (null == t || function (e, t, n, r) { if (null !== n && 0 === n.type) return !1; switch (typeof t) { case "function": case "symbol": return !0; case "boolean": return !r && (null !== n ? !n.acceptsBooleans : "data-" !== (e = e.toLowerCase().slice(0, 5)) && "aria-" !== e); default: return !1 } }(e, t, n, r)) return !0; if (r) return !1; if (null !== n) switch (n.type) { case 3: return !t; case 4: return !1 === t; case 5: return isNaN(t); case 6: return isNaN(t) || 1 > t }return !1 }(t, n, o, r) && (n = null), r || null === o ? function (e) { return !!p.call(m, e) || !p.call(h, e) && (d.test(e) ? m[e] = !0 : (h[e] = !0, !1)) }(t) && (null === n ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : o.mustUseProperty ? e[o.propertyName] = null === n ? 3 !== o.type && "" : n : (t = o.attributeName, r = o.attributeNamespace, null === n ? e.removeAttribute(t) : (n = 3 === (o = o.type) || 4 === o && !0 === n ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n)))) } "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function (e) { var t = e.replace(g, b); y[t] = new v(t, 1, !1, e, null, !1, !1) })), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function (e) { var t = e.replace(g, b); y[t] = new v(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1, !1) })), ["xml:base", "xml:lang", "xml:space"].forEach((function (e) { var t = e.replace(g, b); y[t] = new v(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1, !1) })), ["tabIndex", "crossOrigin"].forEach((function (e) { y[e] = new v(e, 1, !1, e.toLowerCase(), null, !1, !1) })), y.xlinkHref = new v("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1), ["src", "href", "action", "formAction"].forEach((function (e) { y[e] = new v(e, 1, !1, e.toLowerCase(), null, !0, !0) })); var E = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, _ = 60103, x = 60106, k = 60107, S = 60108, C = 60114, N = 60109, O = 60110, P = 60112, j = 60113, T = 60120, L = 60115, R = 60116, A = 60121, I = 60128, z = 60129, M = 60130, D = 60131; if ("function" == typeof Symbol && Symbol.for) { var U = Symbol.for; _ = U("react.element"), x = U("react.portal"), k = U("react.fragment"), S = U("react.strict_mode"), C = U("react.profiler"), N = U("react.provider"), O = U("react.context"), P = U("react.forward_ref"), j = U("react.suspense"), T = U("react.suspense_list"), L = U("react.memo"), R = U("react.lazy"), A = U("react.block"), U("react.scope"), I = U("react.opaque.id"), z = U("react.debug_trace_mode"), M = U("react.offscreen"), D = U("react.legacy_hidden") } var F, $ = "function" == typeof Symbol && Symbol.iterator; function B(e) { return null === e || "object" != typeof e ? null : "function" == typeof (e = $ && e[$] || e["@@iterator"]) ? e : null } function W(e) { if (void 0 === F) try { throw Error() } catch (e) { var t = e.stack.trim().match(/\n( *(at )?)/); F = t && t[1] || "" } return "\n" + F + e } var V = !1; function H(e, t) { if (!e || V) return ""; V = !0; var n = Error.prepareStackTrace; Error.prepareStackTrace = void 0; try { if (t) if (t = function () { throw Error() }, Object.defineProperty(t.prototype, "props", { set: function () { throw Error() } }), "object" == typeof Reflect && Reflect.construct) { try { Reflect.construct(t, []) } catch (e) { var r = e } Reflect.construct(e, [], t) } else { try { t.call() } catch (e) { r = e } e.call(t.prototype) } else { try { throw Error() } catch (e) { r = e } e() } } catch (e) { if (e && r && "string" == typeof e.stack) { for (var o = e.stack.split("\n"), a = r.stack.split("\n"), i = o.length - 1, u = a.length - 1; 1 <= i && 0 <= u && o[i] !== a[u];)u--; for (; 1 <= i && 0 <= u; i--, u--)if (o[i] !== a[u]) { if (1 !== i || 1 !== u) do { if (i--, 0 > --u || o[i] !== a[u]) return "\n" + o[i].replace(" at new ", " at ") } while (1 <= i && 0 <= u); break } } } finally { V = !1, Error.prepareStackTrace = n } return (e = e ? e.displayName || e.name : "") ? W(e) : "" } function G(e) { switch (e.tag) { case 5: return W(e.type); case 16: return W("Lazy"); case 13: return W("Suspense"); case 19: return W("SuspenseList"); case 0: case 2: case 15: return H(e.type, !1); case 11: return H(e.type.render, !1); case 22: return H(e.type._render, !1); case 1: return H(e.type, !0); default: return "" } } function q(e) { if (null == e) return null; if ("function" == typeof e) return e.displayName || e.name || null; if ("string" == typeof e) return e; switch (e) { case k: return "Fragment"; case x: return "Portal"; case C: return "Profiler"; case S: return "StrictMode"; case j: return "Suspense"; case T: return "SuspenseList" }if ("object" == typeof e) switch (e.$$typeof) { case O: return (e.displayName || "Context") + ".Consumer"; case N: return (e._context.displayName || "Context") + ".Provider"; case P: var t = e.render; return t = t.displayName || t.name || "", e.displayName || ("" !== t ? "ForwardRef(" + t + ")" : "ForwardRef"); case L: return q(e.type); case A: return q(e._render); case R: t = e._payload, e = e._init; try { return q(e(t)) } catch (e) { } }return null } function Q(e) { switch (typeof e) { case "boolean": case "number": case "object": case "string": case "undefined": return e; default: return "" } } function K(e) { var t = e.type; return (e = e.nodeName) && "input" === e.toLowerCase() && ("checkbox" === t || "radio" === t) } function Y(e) { e._valueTracker || (e._valueTracker = function (e) { var t = K(e) ? "checked" : "value", n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), r = "" + e[t]; if (!e.hasOwnProperty(t) && void 0 !== n && "function" == typeof n.get && "function" == typeof n.set) { var o = n.get, a = n.set; return Object.defineProperty(e, t, { configurable: !0, get: function () { return o.call(this) }, set: function (e) { r = "" + e, a.call(this, e) } }), Object.defineProperty(e, t, { enumerable: n.enumerable }), { getValue: function () { return r }, setValue: function (e) { r = "" + e }, stopTracking: function () { e._valueTracker = null, delete e[t] } } } }(e)) } function X(e) { if (!e) return !1; var t = e._valueTracker; if (!t) return !0; var n = t.getValue(), r = ""; return e && (r = K(e) ? e.checked ? "true" : "false" : e.value), (e = r) !== n && (t.setValue(e), !0) } function Z(e) { if (void 0 === (e = e || ("undefined" != typeof document ? document : void 0))) return null; try { return e.activeElement || e.body } catch (t) { return e.body } } function J(e, t) { var n = t.checked; return o({}, t, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: null != n ? n : e._wrapperState.initialChecked }) } function ee(e, t) { var n = null == t.defaultValue ? "" : t.defaultValue, r = null != t.checked ? t.checked : t.defaultChecked; n = Q(null != t.value ? t.value : n), e._wrapperState = { initialChecked: r, initialValue: n, controlled: "checkbox" === t.type || "radio" === t.type ? null != t.checked : null != t.value } } function te(e, t) { null != (t = t.checked) && w(e, "checked", t, !1) } function ne(e, t) { te(e, t); var n = Q(t.value), r = t.type; if (null != n) "number" === r ? (0 === n && "" === e.value || e.value != n) && (e.value = "" + n) : e.value !== "" + n && (e.value = "" + n); else if ("submit" === r || "reset" === r) return void e.removeAttribute("value"); t.hasOwnProperty("value") ? oe(e, t.type, n) : t.hasOwnProperty("defaultValue") && oe(e, t.type, Q(t.defaultValue)), null == t.checked && null != t.defaultChecked && (e.defaultChecked = !!t.defaultChecked) } function re(e, t, n) { if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) { var r = t.type; if (!("submit" !== r && "reset" !== r || void 0 !== t.value && null !== t.value)) return; t = "" + e._wrapperState.initialValue, n || t === e.value || (e.value = t), e.defaultValue = t } "" !== (n = e.name) && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, "" !== n && (e.name = n) } function oe(e, t, n) { "number" === t && Z(e.ownerDocument) === e || (null == n ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n)) } function ae(e, t) { return e = o({ children: void 0 }, t), (t = function (e) { var t = ""; return r.Children.forEach(e, (function (e) { null != e && (t += e) })), t }(t.children)) && (e.children = t), e } function ie(e, t, n, r) { if (e = e.options, t) { t = {}; for (var o = 0; o < n.length; o++)t["$" + n[o]] = !0; for (n = 0; n < e.length; n++)o = t.hasOwnProperty("$" + e[n].value), e[n].selected !== o && (e[n].selected = o), o && r && (e[n].defaultSelected = !0) } else { for (n = "" + Q(n), t = null, o = 0; o < e.length; o++) { if (e[o].value === n) return e[o].selected = !0, void (r && (e[o].defaultSelected = !0)); null !== t || e[o].disabled || (t = e[o]) } null !== t && (t.selected = !0) } } function ue(e, t) { if (null != t.dangerouslySetInnerHTML) throw Error(i(91)); return o({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue }) } function le(e, t) { var n = t.value; if (null == n) { if (n = t.children, t = t.defaultValue, null != n) { if (null != t) throw Error(i(92)); if (Array.isArray(n)) { if (!(1 >= n.length)) throw Error(i(93)); n = n[0] } t = n } null == t && (t = ""), n = t } e._wrapperState = { initialValue: Q(n) } } function ce(e, t) { var n = Q(t.value), r = Q(t.defaultValue); null != n && ((n = "" + n) !== e.value && (e.value = n), null == t.defaultValue && e.defaultValue !== n && (e.defaultValue = n)), null != r && (e.defaultValue = "" + r) } function se(e) { var t = e.textContent; t === e._wrapperState.initialValue && "" !== t && null !== t && (e.value = t) } var fe = "http://www.w3.org/1999/xhtml"; function de(e) { switch (e) { case "svg": return "http://www.w3.org/2000/svg"; case "math": return "http://www.w3.org/1998/Math/MathML"; default: return "http://www.w3.org/1999/xhtml" } } function pe(e, t) { return null == e || "http://www.w3.org/1999/xhtml" === e ? de(t) : "http://www.w3.org/2000/svg" === e && "foreignObject" === t ? "http://www.w3.org/1999/xhtml" : e } var he, me, ve = (me = function (e, t) { if ("http://www.w3.org/2000/svg" !== e.namespaceURI || "innerHTML" in e) e.innerHTML = t; else { for ((he = he || document.createElement("div")).innerHTML = "<svg>" + t.valueOf().toString() + "</svg>", t = he.firstChild; e.firstChild;)e.removeChild(e.firstChild); for (; t.firstChild;)e.appendChild(t.firstChild) } }, "undefined" != typeof MSApp && MSApp.execUnsafeLocalFunction ? function (e, t, n, r) { MSApp.execUnsafeLocalFunction((function () { return me(e, t) })) } : me); function ye(e, t) { if (t) { var n = e.firstChild; if (n && n === e.lastChild && 3 === n.nodeType) return void (n.nodeValue = t) } e.textContent = t } var ge = { animationIterationCount: !0, borderImageOutset: !0, borderImageSlice: !0, borderImageWidth: !0, boxFlex: !0, boxFlexGroup: !0, boxOrdinalGroup: !0, columnCount: !0, columns: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0, flexOrder: !0, gridArea: !0, gridRow: !0, gridRowEnd: !0, gridRowSpan: !0, gridRowStart: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnSpan: !0, gridColumnStart: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeDasharray: !0, strokeDashoffset: !0, strokeMiterlimit: !0, strokeOpacity: !0, strokeWidth: !0 }, be = ["Webkit", "ms", "Moz", "O"]; function we(e, t, n) { return null == t || "boolean" == typeof t || "" === t ? "" : n || "number" != typeof t || 0 === t || ge.hasOwnProperty(e) && ge[e] ? ("" + t).trim() : t + "px" } function Ee(e, t) { for (var n in e = e.style, t) if (t.hasOwnProperty(n)) { var r = 0 === n.indexOf("--"), o = we(n, t[n], r); "float" === n && (n = "cssFloat"), r ? e.setProperty(n, o) : e[n] = o } } Object.keys(ge).forEach((function (e) { be.forEach((function (t) { t = t + e.charAt(0).toUpperCase() + e.substring(1), ge[t] = ge[e] })) })); var _e = o({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 }); function xe(e, t) { if (t) { if (_e[e] && (null != t.children || null != t.dangerouslySetInnerHTML)) throw Error(i(137, e)); if (null != t.dangerouslySetInnerHTML) { if (null != t.children) throw Error(i(60)); if ("object" != typeof t.dangerouslySetInnerHTML || !("__html" in t.dangerouslySetInnerHTML)) throw Error(i(61)) } if (null != t.style && "object" != typeof t.style) throw Error(i(62)) } } function ke(e, t) { if (-1 === e.indexOf("-")) return "string" == typeof t.is; switch (e) { case "annotation-xml": case "color-profile": case "font-face": case "font-face-src": case "font-face-uri": case "font-face-format": case "font-face-name": case "missing-glyph": return !1; default: return !0 } } function Se(e) { return (e = e.target || e.srcElement || window).correspondingUseElement && (e = e.correspondingUseElement), 3 === e.nodeType ? e.parentNode : e } var Ce = null, Ne = null, Oe = null; function Pe(e) { if (e = no(e)) { if ("function" != typeof Ce) throw Error(i(280)); var t = e.stateNode; t && (t = oo(t), Ce(e.stateNode, e.type, t)) } } function je(e) { Ne ? Oe ? Oe.push(e) : Oe = [e] : Ne = e } function Te() { if (Ne) { var e = Ne, t = Oe; if (Oe = Ne = null, Pe(e), t) for (e = 0; e < t.length; e++)Pe(t[e]) } } function Le(e, t) { return e(t) } function Re(e, t, n, r, o) { return e(t, n, r, o) } function Ae() { } var Ie = Le, ze = !1, Me = !1; function De() { null === Ne && null === Oe || (Ae(), Te()) } function Ue(e, t) { var n = e.stateNode; if (null === n) return null; var r = oo(n); if (null === r) return null; n = r[t]; e: switch (t) { case "onClick": case "onClickCapture": case "onDoubleClick": case "onDoubleClickCapture": case "onMouseDown": case "onMouseDownCapture": case "onMouseMove": case "onMouseMoveCapture": case "onMouseUp": case "onMouseUpCapture": case "onMouseEnter": (r = !r.disabled) || (r = !("button" === (e = e.type) || "input" === e || "select" === e || "textarea" === e)), e = !r; break e; default: e = !1 }if (e) return null; if (n && "function" != typeof n) throw Error(i(231, t, typeof n)); return n } var Fe = !1; if (f) try { var $e = {}; Object.defineProperty($e, "passive", { get: function () { Fe = !0 } }), window.addEventListener("test", $e, $e), window.removeEventListener("test", $e, $e) } catch (me) { Fe = !1 } function Be(e, t, n, r, o, a, i, u, l) { var c = Array.prototype.slice.call(arguments, 3); try { t.apply(n, c) } catch (e) { this.onError(e) } } var We = !1, Ve = null, He = !1, Ge = null, qe = { onError: function (e) { We = !0, Ve = e } }; function Qe(e, t, n, r, o, a, i, u, l) { We = !1, Ve = null, Be.apply(qe, arguments) } function Ke(e) { var t = e, n = e; if (e.alternate) for (; t.return;)t = t.return; else { e = t; do { 0 != (1026 & (t = e).flags) && (n = t.return), e = t.return } while (e) } return 3 === t.tag ? n : null } function Ye(e) { if (13 === e.tag) { var t = e.memoizedState; if (null === t && null !== (e = e.alternate) && (t = e.memoizedState), null !== t) return t.dehydrated } return null } function Xe(e) { if (Ke(e) !== e) throw Error(i(188)) } function Ze(e) { if (e = function (e) { var t = e.alternate; if (!t) { if (null === (t = Ke(e))) throw Error(i(188)); return t !== e ? null : e } for (var n = e, r = t; ;) { var o = n.return; if (null === o) break; var a = o.alternate; if (null === a) { if (null !== (r = o.return)) { n = r; continue } break } if (o.child === a.child) { for (a = o.child; a;) { if (a === n) return Xe(o), e; if (a === r) return Xe(o), t; a = a.sibling } throw Error(i(188)) } if (n.return !== r.return) n = o, r = a; else { for (var u = !1, l = o.child; l;) { if (l === n) { u = !0, n = o, r = a; break } if (l === r) { u = !0, r = o, n = a; break } l = l.sibling } if (!u) { for (l = a.child; l;) { if (l === n) { u = !0, n = a, r = o; break } if (l === r) { u = !0, r = a, n = o; break } l = l.sibling } if (!u) throw Error(i(189)) } } if (n.alternate !== r) throw Error(i(190)) } if (3 !== n.tag) throw Error(i(188)); return n.stateNode.current === n ? e : t }(e), !e) return null; for (var t = e; ;) { if (5 === t.tag || 6 === t.tag) return t; if (t.child) t.child.return = t, t = t.child; else { if (t === e) break; for (; !t.sibling;) { if (!t.return || t.return === e) return null; t = t.return } t.sibling.return = t.return, t = t.sibling } } return null } function Je(e, t) { for (var n = e.alternate; null !== t;) { if (t === e || t === n) return !0; t = t.return } return !1 } var et, tt, nt, rt, ot = !1, at = [], it = null, ut = null, lt = null, ct = new Map, st = new Map, ft = [], dt = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "); function pt(e, t, n, r, o) { return { blockedOn: e, domEventName: t, eventSystemFlags: 16 | n, nativeEvent: o, targetContainers: [r] } } function ht(e, t) { switch (e) { case "focusin": case "focusout": it = null; break; case "dragenter": case "dragleave": ut = null; break; case "mouseover": case "mouseout": lt = null; break; case "pointerover": case "pointerout": ct.delete(t.pointerId); break; case "gotpointercapture": case "lostpointercapture": st.delete(t.pointerId) } } function mt(e, t, n, r, o, a) { return null === e || e.nativeEvent !== a ? (e = pt(t, n, r, o, a), null !== t && null !== (t = no(t)) && tt(t), e) : (e.eventSystemFlags |= r, t = e.targetContainers, null !== o && -1 === t.indexOf(o) && t.push(o), e) } function vt(e) { var t = to(e.target); if (null !== t) { var n = Ke(t); if (null !== n) if (13 === (t = n.tag)) { if (null !== (t = Ye(n))) return e.blockedOn = t, void rt(e.lanePriority, (function () { a.unstable_runWithPriority(e.priority, (function () { nt(n) })) })) } else if (3 === t && n.stateNode.hydrate) return void (e.blockedOn = 3 === n.tag ? n.stateNode.containerInfo : null) } e.blockedOn = null } function yt(e) { if (null !== e.blockedOn) return !1; for (var t = e.targetContainers; 0 < t.length;) { var n = Zt(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent); if (null !== n) return null !== (t = no(n)) && tt(t), e.blockedOn = n, !1; t.shift() } return !0 } function gt(e, t, n) { yt(e) && n.delete(t) } function bt() { for (ot = !1; 0 < at.length;) { var e = at[0]; if (null !== e.blockedOn) { null !== (e = no(e.blockedOn)) && et(e); break } for (var t = e.targetContainers; 0 < t.length;) { var n = Zt(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent); if (null !== n) { e.blockedOn = n; break } t.shift() } null === e.blockedOn && at.shift() } null !== it && yt(it) && (it = null), null !== ut && yt(ut) && (ut = null), null !== lt && yt(lt) && (lt = null), ct.forEach(gt), st.forEach(gt) } function wt(e, t) { e.blockedOn === t && (e.blockedOn = null, ot || (ot = !0, a.unstable_scheduleCallback(a.unstable_NormalPriority, bt))) } function Et(e) { function t(t) { return wt(t, e) } if (0 < at.length) { wt(at[0], e); for (var n = 1; n < at.length; n++) { var r = at[n]; r.blockedOn === e && (r.blockedOn = null) } } for (null !== it && wt(it, e), null !== ut && wt(ut, e), null !== lt && wt(lt, e), ct.forEach(t), st.forEach(t), n = 0; n < ft.length; n++)(r = ft[n]).blockedOn === e && (r.blockedOn = null); for (; 0 < ft.length && null === (n = ft[0]).blockedOn;)vt(n), null === n.blockedOn && ft.shift() } function _t(e, t) { var n = {}; return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n } var xt = { animationend: _t("Animation", "AnimationEnd"), animationiteration: _t("Animation", "AnimationIteration"), animationstart: _t("Animation", "AnimationStart"), transitionend: _t("Transition", "TransitionEnd") }, kt = {}, St = {}; function Ct(e) { if (kt[e]) return kt[e]; if (!xt[e]) return e; var t, n = xt[e]; for (t in n) if (n.hasOwnProperty(t) && t in St) return kt[e] = n[t]; return e } f && (St = document.createElement("div").style, "AnimationEvent" in window || (delete xt.animationend.animation, delete xt.animationiteration.animation, delete xt.animationstart.animation), "TransitionEvent" in window || delete xt.transitionend.transition); var Nt = Ct("animationend"), Ot = Ct("animationiteration"), Pt = Ct("animationstart"), jt = Ct("transitionend"), Tt = new Map, Lt = new Map, Rt = ["abort", "abort", Nt, "animationEnd", Ot, "animationIteration", Pt, "animationStart", "canplay", "canPlay", "canplaythrough", "canPlayThrough", "durationchange", "durationChange", "emptied", "emptied", "encrypted", "encrypted", "ended", "ended", "error", "error", "gotpointercapture", "gotPointerCapture", "load", "load", "loadeddata", "loadedData", "loadedmetadata", "loadedMetadata", "loadstart", "loadStart", "lostpointercapture", "lostPointerCapture", "playing", "playing", "progress", "progress", "seeking", "seeking", "stalled", "stalled", "suspend", "suspend", "timeupdate", "timeUpdate", jt, "transitionEnd", "waiting", "waiting"]; function At(e, t) { for (var n = 0; n < e.length; n += 2) { var r = e[n], o = e[n + 1]; o = "on" + (o[0].toUpperCase() + o.slice(1)), Lt.set(r, t), Tt.set(r, o), c(o, [r]) } } (0, a.unstable_now)(); var It = 8; function zt(e) { if (0 != (1 & e)) return It = 15, 1; if (0 != (2 & e)) return It = 14, 2; if (0 != (4 & e)) return It = 13, 4; var t = 24 & e; return 0 !== t ? (It = 12, t) : 0 != (32 & e) ? (It = 11, 32) : 0 != (t = 192 & e) ? (It = 10, t) : 0 != (256 & e) ? (It = 9, 256) : 0 != (t = 3584 & e) ? (It = 8, t) : 0 != (4096 & e) ? (It = 7, 4096) : 0 != (t = 4186112 & e) ? (It = 6, t) : 0 != (t = 62914560 & e) ? (It = 5, t) : 67108864 & e ? (It = 4, 67108864) : 0 != (134217728 & e) ? (It = 3, 134217728) : 0 != (t = 805306368 & e) ? (It = 2, t) : 0 != (1073741824 & e) ? (It = 1, 1073741824) : (It = 8, e) } function Mt(e, t) { var n = e.pendingLanes; if (0 === n) return It = 0; var r = 0, o = 0, a = e.expiredLanes, i = e.suspendedLanes, u = e.pingedLanes; if (0 !== a) r = a, o = It = 15; else if (0 != (a = 134217727 & n)) { var l = a & ~i; 0 !== l ? (r = zt(l), o = It) : 0 != (u &= a) && (r = zt(u), o = It) } else 0 != (a = n & ~i) ? (r = zt(a), o = It) : 0 !== u && (r = zt(u), o = It); if (0 === r) return 0; if (r = n & ((0 > (r = 31 - Wt(r)) ? 0 : 1 << r) << 1) - 1, 0 !== t && t !== r && 0 == (t & i)) { if (zt(t), o <= It) return t; It = o } if (0 !== (t = e.entangledLanes)) for (e = e.entanglements, t &= r; 0 < t;)o = 1 << (n = 31 - Wt(t)), r |= e[n], t &= ~o; return r } function Dt(e) { return 0 != (e = -1073741825 & e.pendingLanes) ? e : 1073741824 & e ? 1073741824 : 0 } function Ut(e, t) { switch (e) { case 15: return 1; case 14: return 2; case 12: return 0 === (e = Ft(24 & ~t)) ? Ut(10, t) : e; case 10: return 0 === (e = Ft(192 & ~t)) ? Ut(8, t) : e; case 8: return 0 === (e = Ft(3584 & ~t)) && 0 === (e = Ft(4186112 & ~t)) && (e = 512), e; case 2: return 0 === (t = Ft(805306368 & ~t)) && (t = 268435456), t }throw Error(i(358, e)) } function Ft(e) { return e & -e } function $t(e) { for (var t = [], n = 0; 31 > n; n++)t.push(e); return t } function Bt(e, t, n) { e.pendingLanes |= t; var r = t - 1; e.suspendedLanes &= r, e.pingedLanes &= r, (e = e.eventTimes)[t = 31 - Wt(t)] = n } var Wt = Math.clz32 ? Math.clz32 : function (e) { return 0 === e ? 32 : 31 - (Vt(e) / Ht | 0) | 0 }, Vt = Math.log, Ht = Math.LN2, Gt = a.unstable_UserBlockingPriority, qt = a.unstable_runWithPriority, Qt = !0; function Kt(e, t, n, r) { ze || Ae(); var o = Xt, a = ze; ze = !0; try { Re(o, e, t, n, r) } finally { (ze = a) || De() } } function Yt(e, t, n, r) { qt(Gt, Xt.bind(null, e, t, n, r)) } function Xt(e, t, n, r) { var o; if (Qt) if ((o = 0 == (4 & t)) && 0 < at.length && -1 < dt.indexOf(e)) e = pt(null, e, t, n, r), at.push(e); else { var a = Zt(e, t, n, r); if (null === a) o && ht(e, r); else { if (o) { if (-1 < dt.indexOf(e)) return e = pt(a, e, t, n, r), void at.push(e); if (function (e, t, n, r, o) { switch (t) { case "focusin": return it = mt(it, e, t, n, r, o), !0; case "dragenter": return ut = mt(ut, e, t, n, r, o), !0; case "mouseover": return lt = mt(lt, e, t, n, r, o), !0; case "pointerover": var a = o.pointerId; return ct.set(a, mt(ct.get(a) || null, e, t, n, r, o)), !0; case "gotpointercapture": return a = o.pointerId, st.set(a, mt(st.get(a) || null, e, t, n, r, o)), !0 }return !1 }(a, e, t, n, r)) return; ht(e, r) } Ar(e, t, r, null, n) } } } function Zt(e, t, n, r) { var o = Se(r); if (null !== (o = to(o))) { var a = Ke(o); if (null === a) o = null; else { var i = a.tag; if (13 === i) { if (null !== (o = Ye(a))) return o; o = null } else if (3 === i) { if (a.stateNode.hydrate) return 3 === a.tag ? a.stateNode.containerInfo : null; o = null } else a !== o && (o = null) } } return Ar(e, t, r, o, n), null } var Jt = null, en = null, tn = null; function nn() { if (tn) return tn; var e, t, n = en, r = n.length, o = "value" in Jt ? Jt.value : Jt.textContent, a = o.length; for (e = 0; e < r && n[e] === o[e]; e++); var i = r - e; for (t = 1; t <= i && n[r - t] === o[a - t]; t++); return tn = o.slice(e, 1 < t ? 1 - t : void 0) } function rn(e) { var t = e.keyCode; return "charCode" in e ? 0 === (e = e.charCode) && 13 === t && (e = 13) : e = t, 10 === e && (e = 13), 32 <= e || 13 === e ? e : 0 } function on() { return !0 } function an() { return !1 } function un(e) { function t(t, n, r, o, a) { for (var i in this._reactName = t, this._targetInst = r, this.type = n, this.nativeEvent = o, this.target = a, this.currentTarget = null, e) e.hasOwnProperty(i) && (t = e[i], this[i] = t ? t(o) : o[i]); return this.isDefaultPrevented = (null != o.defaultPrevented ? o.defaultPrevented : !1 === o.returnValue) ? on : an, this.isPropagationStopped = an, this } return o(t.prototype, { preventDefault: function () { this.defaultPrevented = !0; var e = this.nativeEvent; e && (e.preventDefault ? e.preventDefault() : "unknown" != typeof e.returnValue && (e.returnValue = !1), this.isDefaultPrevented = on) }, stopPropagation: function () { var e = this.nativeEvent; e && (e.stopPropagation ? e.stopPropagation() : "unknown" != typeof e.cancelBubble && (e.cancelBubble = !0), this.isPropagationStopped = on) }, persist: function () { }, isPersistent: on }), t } var ln, cn, sn, fn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function (e) { return e.timeStamp || Date.now() }, defaultPrevented: 0, isTrusted: 0 }, dn = un(fn), pn = o({}, fn, { view: 0, detail: 0 }), hn = un(pn), mn = o({}, pn, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Nn, button: 0, buttons: 0, relatedTarget: function (e) { return void 0 === e.relatedTarget ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget }, movementX: function (e) { return "movementX" in e ? e.movementX : (e !== sn && (sn && "mousemove" === e.type ? (ln = e.screenX - sn.screenX, cn = e.screenY - sn.screenY) : cn = ln = 0, sn = e), ln) }, movementY: function (e) { return "movementY" in e ? e.movementY : cn } }), vn = un(mn), yn = un(o({}, mn, { dataTransfer: 0 })), gn = un(o({}, pn, { relatedTarget: 0 })), bn = un(o({}, fn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 })), wn = o({}, fn, { clipboardData: function (e) { return "clipboardData" in e ? e.clipboardData : window.clipboardData } }), En = un(wn), _n = un(o({}, fn, { data: 0 })), xn = { Esc: "Escape", Spacebar: " ", Left: "ArrowLeft", Up: "ArrowUp", Right: "ArrowRight", Down: "ArrowDown", Del: "Delete", Win: "OS", Menu: "ContextMenu", Apps: "ContextMenu", Scroll: "ScrollLock", MozPrintableKey: "Unidentified" }, kn = { 8: "Backspace", 9: "Tab", 12: "Clear", 13: "Enter", 16: "Shift", 17: "Control", 18: "Alt", 19: "Pause", 20: "CapsLock", 27: "Escape", 32: " ", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "ArrowLeft", 38: "ArrowUp", 39: "ArrowRight", 40: "ArrowDown", 45: "Insert", 46: "Delete", 112: "F1", 113: "F2", 114: "F3", 115: "F4", 116: "F5", 117: "F6", 118: "F7", 119: "F8", 120: "F9", 121: "F10", 122: "F11", 123: "F12", 144: "NumLock", 145: "ScrollLock", 224: "Meta" }, Sn = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" }; function Cn(e) { var t = this.nativeEvent; return t.getModifierState ? t.getModifierState(e) : !!(e = Sn[e]) && !!t[e] } function Nn() { return Cn } var On = o({}, pn, { key: function (e) { if (e.key) { var t = xn[e.key] || e.key; if ("Unidentified" !== t) return t } return "keypress" === e.type ? 13 === (e = rn(e)) ? "Enter" : String.fromCharCode(e) : "keydown" === e.type || "keyup" === e.type ? kn[e.keyCode] || "Unidentified" : "" }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Nn, charCode: function (e) { return "keypress" === e.type ? rn(e) : 0 }, keyCode: function (e) { return "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0 }, which: function (e) { return "keypress" === e.type ? rn(e) : "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0 } }), Pn = un(On), jn = un(o({}, mn, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 })), Tn = un(o({}, pn, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Nn })), Ln = un(o({}, fn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 })), Rn = o({}, mn, { deltaX: function (e) { return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0 }, deltaY: function (e) { return "deltaY" in e ? e.deltaY : "wheelDeltaY" in e ? -e.wheelDeltaY : "wheelDelta" in e ? -e.wheelDelta : 0 }, deltaZ: 0, deltaMode: 0 }), An = un(Rn), In = [9, 13, 27, 32], zn = f && "CompositionEvent" in window, Mn = null; f && "documentMode" in document && (Mn = document.documentMode); var Dn = f && "TextEvent" in window && !Mn, Un = f && (!zn || Mn && 8 < Mn && 11 >= Mn), Fn = String.fromCharCode(32), $n = !1; function Bn(e, t) { switch (e) { case "keyup": return -1 !== In.indexOf(t.keyCode); case "keydown": return 229 !== t.keyCode; case "keypress": case "mousedown": case "focusout": return !0; default: return !1 } } function Wn(e) { return "object" == typeof (e = e.detail) && "data" in e ? e.data : null } var Vn = !1, Hn = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 }; function Gn(e) { var t = e && e.nodeName && e.nodeName.toLowerCase(); return "input" === t ? !!Hn[e.type] : "textarea" === t } function qn(e, t, n, r) { je(r), 0 < (t = zr(t, "onChange")).length && (n = new dn("onChange", "change", null, n, r), e.push({ event: n, listeners: t })) } var Qn = null, Kn = null; function Yn(e) { Or(e, 0) } function Xn(e) { if (X(ro(e))) return e } function Zn(e, t) { if ("change" === e) return t } var Jn = !1; if (f) { var er; if (f) { var tr = "oninput" in document; if (!tr) { var nr = document.createElement("div"); nr.setAttribute("oninput", "return;"), tr = "function" == typeof nr.oninput } er = tr } else er = !1; Jn = er && (!document.documentMode || 9 < document.documentMode) } function rr() { Qn && (Qn.detachEvent("onpropertychange", or), Kn = Qn = null) } function or(e) { if ("value" === e.propertyName && Xn(Kn)) { var t = []; if (qn(t, Kn, e, Se(e)), e = Yn, ze) e(t); else { ze = !0; try { Le(e, t) } finally { ze = !1, De() } } } } function ar(e, t, n) { "focusin" === e ? (rr(), Kn = n, (Qn = t).attachEvent("onpropertychange", or)) : "focusout" === e && rr() } function ir(e) { if ("selectionchange" === e || "keyup" === e || "keydown" === e) return Xn(Kn) } function ur(e, t) { if ("click" === e) return Xn(t) } function lr(e, t) { if ("input" === e || "change" === e) return Xn(t) } var cr = "function" == typeof Object.is ? Object.is : function (e, t) { return e === t && (0 !== e || 1 / e == 1 / t) || e != e && t != t }, sr = Object.prototype.hasOwnProperty; function fr(e, t) { if (cr(e, t)) return !0; if ("object" != typeof e || null === e || "object" != typeof t || null === t) return !1; var n = Object.keys(e), r = Object.keys(t); if (n.length !== r.length) return !1; for (r = 0; r < n.length; r++)if (!sr.call(t, n[r]) || !cr(e[n[r]], t[n[r]])) return !1; return !0 } function dr(e) { for (; e && e.firstChild;)e = e.firstChild; return e } function pr(e, t) { var n, r = dr(e); for (e = 0; r;) { if (3 === r.nodeType) { if (n = e + r.textContent.length, e <= t && n >= t) return { node: r, offset: t - e }; e = n } e: { for (; r;) { if (r.nextSibling) { r = r.nextSibling; break e } r = r.parentNode } r = void 0 } r = dr(r) } } function hr(e, t) { return !(!e || !t) && (e === t || (!e || 3 !== e.nodeType) && (t && 3 === t.nodeType ? hr(e, t.parentNode) : "contains" in e ? e.contains(t) : !!e.compareDocumentPosition && !!(16 & e.compareDocumentPosition(t)))) } function mr() { for (var e = window, t = Z(); t instanceof e.HTMLIFrameElement;) { try { var n = "string" == typeof t.contentWindow.location.href } catch (e) { n = !1 } if (!n) break; t = Z((e = t.contentWindow).document) } return t } function vr(e) { var t = e && e.nodeName && e.nodeName.toLowerCase(); return t && ("input" === t && ("text" === e.type || "search" === e.type || "tel" === e.type || "url" === e.type || "password" === e.type) || "textarea" === t || "true" === e.contentEditable) } var yr = f && "documentMode" in document && 11 >= document.documentMode, gr = null, br = null, wr = null, Er = !1; function _r(e, t, n) { var r = n.window === n ? n.document : 9 === n.nodeType ? n : n.ownerDocument; Er || null == gr || gr !== Z(r) || (r = "selectionStart" in (r = gr) && vr(r) ? { start: r.selectionStart, end: r.selectionEnd } : { anchorNode: (r = (r.ownerDocument && r.ownerDocument.defaultView || window).getSelection()).anchorNode, anchorOffset: r.anchorOffset, focusNode: r.focusNode, focusOffset: r.focusOffset }, wr && fr(wr, r) || (wr = r, 0 < (r = zr(br, "onSelect")).length && (t = new dn("onSelect", "select", null, t, n), e.push({ event: t, listeners: r }), t.target = gr))) } At("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "), 0), At("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "), 1), At(Rt, 2); for (var xr = "change selectionchange textInput compositionstart compositionend compositionupdate".split(" "), kr = 0; kr < xr.length; kr++)Lt.set(xr[kr], 0); s("onMouseEnter", ["mouseout", "mouseover"]), s("onMouseLeave", ["mouseout", "mouseover"]), s("onPointerEnter", ["pointerout", "pointerover"]), s("onPointerLeave", ["pointerout", "pointerover"]), c("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")), c("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")), c("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]), c("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")), c("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")), c("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" ")); var Sr = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), Cr = new Set("cancel close invalid load scroll toggle".split(" ").concat(Sr)); function Nr(e, t, n) { var r = e.type || "unknown-event"; e.currentTarget = n, function (e, t, n, r, o, a, u, l, c) { if (Qe.apply(this, arguments), We) { if (!We) throw Error(i(198)); var s = Ve; We = !1, Ve = null, He || (He = !0, Ge = s) } }(r, t, void 0, e), e.currentTarget = null } function Or(e, t) { t = 0 != (4 & t); for (var n = 0; n < e.length; n++) { var r = e[n], o = r.event; r = r.listeners; e: { var a = void 0; if (t) for (var i = r.length - 1; 0 <= i; i--) { var u = r[i], l = u.instance, c = u.currentTarget; if (u = u.listener, l !== a && o.isPropagationStopped()) break e; Nr(o, u, c), a = l } else for (i = 0; i < r.length; i++) { if (l = (u = r[i]).instance, c = u.currentTarget, u = u.listener, l !== a && o.isPropagationStopped()) break e; Nr(o, u, c), a = l } } } if (He) throw e = Ge, He = !1, Ge = null, e } function Pr(e, t) { var n = ao(t), r = e + "__bubble"; n.has(r) || (Rr(t, e, 2, !1), n.add(r)) } var jr = "_reactListening" + Math.random().toString(36).slice(2); function Tr(e) { e[jr] || (e[jr] = !0, u.forEach((function (t) { Cr.has(t) || Lr(t, !1, e, null), Lr(t, !0, e, null) }))) } function Lr(e, t, n, r) { var o = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 0, a = n; if ("selectionchange" === e && 9 !== n.nodeType && (a = n.ownerDocument), null !== r && !t && Cr.has(e)) { if ("scroll" !== e) return; o |= 2, a = r } var i = ao(a), u = e + "__" + (t ? "capture" : "bubble"); i.has(u) || (t && (o |= 4), Rr(a, e, o, t), i.add(u)) } function Rr(e, t, n, r) { var o = Lt.get(t); switch (void 0 === o ? 2 : o) { case 0: o = Kt; break; case 1: o = Yt; break; default: o = Xt }n = o.bind(null, t, n, e), o = void 0, !Fe || "touchstart" !== t && "touchmove" !== t && "wheel" !== t || (o = !0), r ? void 0 !== o ? e.addEventListener(t, n, { capture: !0, passive: o }) : e.addEventListener(t, n, !0) : void 0 !== o ? e.addEventListener(t, n, { passive: o }) : e.addEventListener(t, n, !1) } function Ar(e, t, n, r, o) { var a = r; if (0 == (1 & t) && 0 == (2 & t) && null !== r) e: for (; ;) { if (null === r) return; var i = r.tag; if (3 === i || 4 === i) { var u = r.stateNode.containerInfo; if (u === o || 8 === u.nodeType && u.parentNode === o) break; if (4 === i) for (i = r.return; null !== i;) { var l = i.tag; if ((3 === l || 4 === l) && ((l = i.stateNode.containerInfo) === o || 8 === l.nodeType && l.parentNode === o)) return; i = i.return } for (; null !== u;) { if (null === (i = to(u))) return; if (5 === (l = i.tag) || 6 === l) { r = a = i; continue e } u = u.parentNode } } r = r.return } !function (e, t, n) { if (Me) return e(); Me = !0; try { Ie(e, t, n) } finally { Me = !1, De() } }((function () { var r = a, o = Se(n), i = []; e: { var u = Tt.get(e); if (void 0 !== u) { var l = dn, c = e; switch (e) { case "keypress": if (0 === rn(n)) break e; case "keydown": case "keyup": l = Pn; break; case "focusin": c = "focus", l = gn; break; case "focusout": c = "blur", l = gn; break; case "beforeblur": case "afterblur": l = gn; break; case "click": if (2 === n.button) break e; case "auxclick": case "dblclick": case "mousedown": case "mousemove": case "mouseup": case "mouseout": case "mouseover": case "contextmenu": l = vn; break; case "drag": case "dragend": case "dragenter": case "dragexit": case "dragleave": case "dragover": case "dragstart": case "drop": l = yn; break; case "touchcancel": case "touchend": case "touchmove": case "touchstart": l = Tn; break; case Nt: case Ot: case Pt: l = bn; break; case jt: l = Ln; break; case "scroll": l = hn; break; case "wheel": l = An; break; case "copy": case "cut": case "paste": l = En; break; case "gotpointercapture": case "lostpointercapture": case "pointercancel": case "pointerdown": case "pointermove": case "pointerout": case "pointerover": case "pointerup": l = jn }var s = 0 != (4 & t), f = !s && "scroll" === e, d = s ? null !== u ? u + "Capture" : null : u; s = []; for (var p, h = r; null !== h;) { var m = (p = h).stateNode; if (5 === p.tag && null !== m && (p = m, null !== d && null != (m = Ue(h, d)) && s.push(Ir(h, m, p))), f) break; h = h.return } 0 < s.length && (u = new l(u, c, null, n, o), i.push({ event: u, listeners: s })) } } if (0 == (7 & t)) { if (l = "mouseout" === e || "pointerout" === e, (!(u = "mouseover" === e || "pointerover" === e) || 0 != (16 & t) || !(c = n.relatedTarget || n.fromElement) || !to(c) && !c[Jr]) && (l || u) && (u = o.window === o ? o : (u = o.ownerDocument) ? u.defaultView || u.parentWindow : window, l ? (l = r, null !== (c = (c = n.relatedTarget || n.toElement) ? to(c) : null) && (c !== (f = Ke(c)) || 5 !== c.tag && 6 !== c.tag) && (c = null)) : (l = null, c = r), l !== c)) { if (s = vn, m = "onMouseLeave", d = "onMouseEnter", h = "mouse", "pointerout" !== e && "pointerover" !== e || (s = jn, m = "onPointerLeave", d = "onPointerEnter", h = "pointer"), f = null == l ? u : ro(l), p = null == c ? u : ro(c), (u = new s(m, h + "leave", l, n, o)).target = f, u.relatedTarget = p, m = null, to(o) === r && ((s = new s(d, h + "enter", c, n, o)).target = p, s.relatedTarget = f, m = s), f = m, l && c) e: { for (d = c, h = 0, p = s = l; p; p = Mr(p))h++; for (p = 0, m = d; m; m = Mr(m))p++; for (; 0 < h - p;)s = Mr(s), h--; for (; 0 < p - h;)d = Mr(d), p--; for (; h--;) { if (s === d || null !== d && s === d.alternate) break e; s = Mr(s), d = Mr(d) } s = null } else s = null; null !== l && Dr(i, u, l, s, !1), null !== c && null !== f && Dr(i, f, c, s, !0) } if ("select" === (l = (u = r ? ro(r) : window).nodeName && u.nodeName.toLowerCase()) || "input" === l && "file" === u.type) var v = Zn; else if (Gn(u)) if (Jn) v = lr; else { v = ir; var y = ar } else (l = u.nodeName) && "input" === l.toLowerCase() && ("checkbox" === u.type || "radio" === u.type) && (v = ur); switch (v && (v = v(e, r)) ? qn(i, v, n, o) : (y && y(e, u, r), "focusout" === e && (y = u._wrapperState) && y.controlled && "number" === u.type && oe(u, "number", u.value)), y = r ? ro(r) : window, e) { case "focusin": (Gn(y) || "true" === y.contentEditable) && (gr = y, br = r, wr = null); break; case "focusout": wr = br = gr = null; break; case "mousedown": Er = !0; break; case "contextmenu": case "mouseup": case "dragend": Er = !1, _r(i, n, o); break; case "selectionchange": if (yr) break; case "keydown": case "keyup": _r(i, n, o) }var g; if (zn) e: { switch (e) { case "compositionstart": var b = "onCompositionStart"; break e; case "compositionend": b = "onCompositionEnd"; break e; case "compositionupdate": b = "onCompositionUpdate"; break e }b = void 0 } else Vn ? Bn(e, n) && (b = "onCompositionEnd") : "keydown" === e && 229 === n.keyCode && (b = "onCompositionStart"); b && (Un && "ko" !== n.locale && (Vn || "onCompositionStart" !== b ? "onCompositionEnd" === b && Vn && (g = nn()) : (en = "value" in (Jt = o) ? Jt.value : Jt.textContent, Vn = !0)), 0 < (y = zr(r, b)).length && (b = new _n(b, e, null, n, o), i.push({ event: b, listeners: y }), (g || null !== (g = Wn(n))) && (b.data = g))), (g = Dn ? function (e, t) { switch (e) { case "compositionend": return Wn(t); case "keypress": return 32 !== t.which ? null : ($n = !0, Fn); case "textInput": return (e = t.data) === Fn && $n ? null : e; default: return null } }(e, n) : function (e, t) { if (Vn) return "compositionend" === e || !zn && Bn(e, t) ? (e = nn(), tn = en = Jt = null, Vn = !1, e) : null; switch (e) { case "paste": default: return null; case "keypress": if (!(t.ctrlKey || t.altKey || t.metaKey) || t.ctrlKey && t.altKey) { if (t.char && 1 < t.char.length) return t.char; if (t.which) return String.fromCharCode(t.which) } return null; case "compositionend": return Un && "ko" !== t.locale ? null : t.data } }(e, n)) && 0 < (r = zr(r, "onBeforeInput")).length && (o = new _n("onBeforeInput", "beforeinput", null, n, o), i.push({ event: o, listeners: r }), o.data = g) } Or(i, t) })) } function Ir(e, t, n) { return { instance: e, listener: t, currentTarget: n } } function zr(e, t) { for (var n = t + "Capture", r = []; null !== e;) { var o = e, a = o.stateNode; 5 === o.tag && null !== a && (o = a, null != (a = Ue(e, n)) && r.unshift(Ir(e, a, o)), null != (a = Ue(e, t)) && r.push(Ir(e, a, o))), e = e.return } return r } function Mr(e) { if (null === e) return null; do { e = e.return } while (e && 5 !== e.tag); return e || null } function Dr(e, t, n, r, o) { for (var a = t._reactName, i = []; null !== n && n !== r;) { var u = n, l = u.alternate, c = u.stateNode; if (null !== l && l === r) break; 5 === u.tag && null !== c && (u = c, o ? null != (l = Ue(n, a)) && i.unshift(Ir(n, l, u)) : o || null != (l = Ue(n, a)) && i.push(Ir(n, l, u))), n = n.return } 0 !== i.length && e.push({ event: t, listeners: i }) } function Ur() { } var Fr = null, $r = null; function Br(e, t) { switch (e) { case "button": case "input": case "select": case "textarea": return !!t.autoFocus }return !1 } function Wr(e, t) { return "textarea" === e || "option" === e || "noscript" === e || "string" == typeof t.children || "number" == typeof t.children || "object" == typeof t.dangerouslySetInnerHTML && null !== t.dangerouslySetInnerHTML && null != t.dangerouslySetInnerHTML.__html } var Vr = "function" == typeof setTimeout ? setTimeout : void 0, Hr = "function" == typeof clearTimeout ? clearTimeout : void 0; function Gr(e) { (1 === e.nodeType || 9 === e.nodeType && null != (e = e.body)) && (e.textContent = "") } function qr(e) { for (; null != e; e = e.nextSibling) { var t = e.nodeType; if (1 === t || 3 === t) break } return e } function Qr(e) { e = e.previousSibling; for (var t = 0; e;) { if (8 === e.nodeType) { var n = e.data; if ("$" === n || "$!" === n || "$?" === n) { if (0 === t) return e; t-- } else "/$" === n && t++ } e = e.previousSibling } return null } var Kr = 0, Yr = Math.random().toString(36).slice(2), Xr = "__reactFiber$" + Yr, Zr = "__reactProps$" + Yr, Jr = "__reactContainer$" + Yr, eo = "__reactEvents$" + Yr; function to(e) { var t = e[Xr]; if (t) return t; for (var n = e.parentNode; n;) { if (t = n[Jr] || n[Xr]) { if (n = t.alternate, null !== t.child || null !== n && null !== n.child) for (e = Qr(e); null !== e;) { if (n = e[Xr]) return n; e = Qr(e) } return t } n = (e = n).parentNode } return null } function no(e) { return !(e = e[Xr] || e[Jr]) || 5 !== e.tag && 6 !== e.tag && 13 !== e.tag && 3 !== e.tag ? null : e } function ro(e) { if (5 === e.tag || 6 === e.tag) return e.stateNode; throw Error(i(33)) } function oo(e) { return e[Zr] || null } function ao(e) { var t = e[eo]; return void 0 === t && (t = e[eo] = new Set), t } var io = [], uo = -1; function lo(e) { return { current: e } } function co(e) { 0 > uo || (e.current = io[uo], io[uo] = null, uo--) } function so(e, t) { uo++, io[uo] = e.current, e.current = t } var fo = {}, po = lo(fo), ho = lo(!1), mo = fo; function vo(e, t) { var n = e.type.contextTypes; if (!n) return fo; var r = e.stateNode; if (r && r.__reactInternalMemoizedUnmaskedChildContext === t) return r.__reactInternalMemoizedMaskedChildContext; var o, a = {}; for (o in n) a[o] = t[o]; return r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = t, e.__reactInternalMemoizedMaskedChildContext = a), a } function yo(e) { return null != e.childContextTypes } function go() { co(ho), co(po) } function bo(e, t, n) { if (po.current !== fo) throw Error(i(168)); so(po, t), so(ho, n) } function wo(e, t, n) { var r = e.stateNode; if (e = t.childContextTypes, "function" != typeof r.getChildContext) return n; for (var a in r = r.getChildContext()) if (!(a in e)) throw Error(i(108, q(t) || "Unknown", a)); return o({}, n, r) } function Eo(e) { return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || fo, mo = po.current, so(po, e), so(ho, ho.current), !0 } function _o(e, t, n) { var r = e.stateNode; if (!r) throw Error(i(169)); n ? (e = wo(e, t, mo), r.__reactInternalMemoizedMergedChildContext = e, co(ho), co(po), so(po, e)) : co(ho), so(ho, n) } var xo = null, ko = null, So = a.unstable_runWithPriority, Co = a.unstable_scheduleCallback, No = a.unstable_cancelCallback, Oo = a.unstable_shouldYield, Po = a.unstable_requestPaint, jo = a.unstable_now, To = a.unstable_getCurrentPriorityLevel, Lo = a.unstable_ImmediatePriority, Ro = a.unstable_UserBlockingPriority, Ao = a.unstable_NormalPriority, Io = a.unstable_LowPriority, zo = a.unstable_IdlePriority, Mo = {}, Do = void 0 !== Po ? Po : function () { }, Uo = null, Fo = null, $o = !1, Bo = jo(), Wo = 1e4 > Bo ? jo : function () { return jo() - Bo }; function Vo() { switch (To()) { case Lo: return 99; case Ro: return 98; case Ao: return 97; case Io: return 96; case zo: return 95; default: throw Error(i(332)) } } function Ho(e) { switch (e) { case 99: return Lo; case 98: return Ro; case 97: return Ao; case 96: return Io; case 95: return zo; default: throw Error(i(332)) } } function Go(e, t) { return e = Ho(e), So(e, t) } function qo(e, t, n) { return e = Ho(e), Co(e, t, n) } function Qo() { if (null !== Fo) { var e = Fo; Fo = null, No(e) } Ko() } function Ko() { if (!$o && null !== Uo) { $o = !0; var e = 0; try { var t = Uo; Go(99, (function () { for (; e < t.length; e++) { var n = t[e]; do { n = n(!0) } while (null !== n) } })), Uo = null } catch (t) { throw null !== Uo && (Uo = Uo.slice(e + 1)), Co(Lo, Qo), t } finally { $o = !1 } } } var Yo = E.ReactCurrentBatchConfig; function Xo(e, t) { if (e && e.defaultProps) { for (var n in t = o({}, t), e = e.defaultProps) void 0 === t[n] && (t[n] = e[n]); return t } return t } var Zo = lo(null), Jo = null, ea = null, ta = null; function na() { ta = ea = Jo = null } function ra(e) { var t = Zo.current; co(Zo), e.type._context._currentValue = t } function oa(e, t) { for (; null !== e;) { var n = e.alternate; if ((e.childLanes & t) === t) { if (null === n || (n.childLanes & t) === t) break; n.childLanes |= t } else e.childLanes |= t, null !== n && (n.childLanes |= t); e = e.return } } function aa(e, t) { Jo = e, ta = ea = null, null !== (e = e.dependencies) && null !== e.firstContext && (0 != (e.lanes & t) && (zi = !0), e.firstContext = null) } function ia(e, t) { if (ta !== e && !1 !== t && 0 !== t) if ("number" == typeof t && 1073741823 !== t || (ta = e, t = 1073741823), t = { context: e, observedBits: t, next: null }, null === ea) { if (null === Jo) throw Error(i(308)); ea = t, Jo.dependencies = { lanes: 0, firstContext: t, responders: null } } else ea = ea.next = t; return e._currentValue } var ua = !1; function la(e) { e.updateQueue = { baseState: e.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null }, effects: null } } function ca(e, t) { e = e.updateQueue, t.updateQueue === e && (t.updateQueue = { baseState: e.baseState, firstBaseUpdate: e.firstBaseUpdate, lastBaseUpdate: e.lastBaseUpdate, shared: e.shared, effects: e.effects }) } function sa(e, t) { return { eventTime: e, lane: t, tag: 0, payload: null, callback: null, next: null } } function fa(e, t) { if (null !== (e = e.updateQueue)) { var n = (e = e.shared).pending; null === n ? t.next = t : (t.next = n.next, n.next = t), e.pending = t } } function da(e, t) { var n = e.updateQueue, r = e.alternate; if (null !== r && n === (r = r.updateQueue)) { var o = null, a = null; if (null !== (n = n.firstBaseUpdate)) { do { var i = { eventTime: n.eventTime, lane: n.lane, tag: n.tag, payload: n.payload, callback: n.callback, next: null }; null === a ? o = a = i : a = a.next = i, n = n.next } while (null !== n); null === a ? o = a = t : a = a.next = t } else o = a = t; return n = { baseState: r.baseState, firstBaseUpdate: o, lastBaseUpdate: a, shared: r.shared, effects: r.effects }, void (e.updateQueue = n) } null === (e = n.lastBaseUpdate) ? n.firstBaseUpdate = t : e.next = t, n.lastBaseUpdate = t } function pa(e, t, n, r) { var a = e.updateQueue; ua = !1; var i = a.firstBaseUpdate, u = a.lastBaseUpdate, l = a.shared.pending; if (null !== l) { a.shared.pending = null; var c = l, s = c.next; c.next = null, null === u ? i = s : u.next = s, u = c; var f = e.alternate; if (null !== f) { var d = (f = f.updateQueue).lastBaseUpdate; d !== u && (null === d ? f.firstBaseUpdate = s : d.next = s, f.lastBaseUpdate = c) } } if (null !== i) { for (d = a.baseState, u = 0, f = s = c = null; ;) { l = i.lane; var p = i.eventTime; if ((r & l) === l) { null !== f && (f = f.next = { eventTime: p, lane: 0, tag: i.tag, payload: i.payload, callback: i.callback, next: null }); e: { var h = e, m = i; switch (l = t, p = n, m.tag) { case 1: if ("function" == typeof (h = m.payload)) { d = h.call(p, d, l); break e } d = h; break e; case 3: h.flags = -4097 & h.flags | 64; case 0: if (null == (l = "function" == typeof (h = m.payload) ? h.call(p, d, l) : h)) break e; d = o({}, d, l); break e; case 2: ua = !0 } } null !== i.callback && (e.flags |= 32, null === (l = a.effects) ? a.effects = [i] : l.push(i)) } else p = { eventTime: p, lane: l, tag: i.tag, payload: i.payload, callback: i.callback, next: null }, null === f ? (s = f = p, c = d) : f = f.next = p, u |= l; if (null === (i = i.next)) { if (null === (l = a.shared.pending)) break; i = l.next, l.next = null, a.lastBaseUpdate = l, a.shared.pending = null } } null === f && (c = d), a.baseState = c, a.firstBaseUpdate = s, a.lastBaseUpdate = f, Du |= u, e.lanes = u, e.memoizedState = d } } function ha(e, t, n) { if (e = t.effects, t.effects = null, null !== e) for (t = 0; t < e.length; t++) { var r = e[t], o = r.callback; if (null !== o) { if (r.callback = null, r = n, "function" != typeof o) throw Error(i(191, o)); o.call(r) } } } var ma = (new r.Component).refs; function va(e, t, n, r) { n = null == (n = n(r, t = e.memoizedState)) ? t : o({}, t, n), e.memoizedState = n, 0 === e.lanes && (e.updateQueue.baseState = n) } var ya = { isMounted: function (e) { return !!(e = e._reactInternals) && Ke(e) === e }, enqueueSetState: function (e, t, n) { e = e._reactInternals; var r = cl(), o = sl(e), a = sa(r, o); a.payload = t, null != n && (a.callback = n), fa(e, a), fl(e, o, r) }, enqueueReplaceState: function (e, t, n) { e = e._reactInternals; var r = cl(), o = sl(e), a = sa(r, o); a.tag = 1, a.payload = t, null != n && (a.callback = n), fa(e, a), fl(e, o, r) }, enqueueForceUpdate: function (e, t) { e = e._reactInternals; var n = cl(), r = sl(e), o = sa(n, r); o.tag = 2, null != t && (o.callback = t), fa(e, o), fl(e, r, n) } }; function ga(e, t, n, r, o, a, i) { return "function" == typeof (e = e.stateNode).shouldComponentUpdate ? e.shouldComponentUpdate(r, a, i) : !(t.prototype && t.prototype.isPureReactComponent && fr(n, r) && fr(o, a)) } function ba(e, t, n) { var r = !1, o = fo, a = t.contextType; return "object" == typeof a && null !== a ? a = ia(a) : (o = yo(t) ? mo : po.current, a = (r = null != (r = t.contextTypes)) ? vo(e, o) : fo), t = new t(n, a), e.memoizedState = null !== t.state && void 0 !== t.state ? t.state : null, t.updater = ya, e.stateNode = t, t._reactInternals = e, r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = o, e.__reactInternalMemoizedMaskedChildContext = a), t } function wa(e, t, n, r) { e = t.state, "function" == typeof t.componentWillReceiveProps && t.componentWillReceiveProps(n, r), "function" == typeof t.UNSAFE_componentWillReceiveProps && t.UNSAFE_componentWillReceiveProps(n, r), t.state !== e && ya.enqueueReplaceState(t, t.state, null) } function Ea(e, t, n, r) { var o = e.stateNode; o.props = n, o.state = e.memoizedState, o.refs = ma, la(e); var a = t.contextType; "object" == typeof a && null !== a ? o.context = ia(a) : (a = yo(t) ? mo : po.current, o.context = vo(e, a)), pa(e, n, o, r), o.state = e.memoizedState, "function" == typeof (a = t.getDerivedStateFromProps) && (va(e, t, a, n), o.state = e.memoizedState), "function" == typeof t.getDerivedStateFromProps || "function" == typeof o.getSnapshotBeforeUpdate || "function" != typeof o.UNSAFE_componentWillMount && "function" != typeof o.componentWillMount || (t = o.state, "function" == typeof o.componentWillMount && o.componentWillMount(), "function" == typeof o.UNSAFE_componentWillMount && o.UNSAFE_componentWillMount(), t !== o.state && ya.enqueueReplaceState(o, o.state, null), pa(e, n, o, r), o.state = e.memoizedState), "function" == typeof o.componentDidMount && (e.flags |= 4) } var _a = Array.isArray; function xa(e, t, n) { if (null !== (e = n.ref) && "function" != typeof e && "object" != typeof e) { if (n._owner) { if (n = n._owner) { if (1 !== n.tag) throw Error(i(309)); var r = n.stateNode } if (!r) throw Error(i(147, e)); var o = "" + e; return null !== t && null !== t.ref && "function" == typeof t.ref && t.ref._stringRef === o ? t.ref : (t = function (e) { var t = r.refs; t === ma && (t = r.refs = {}), null === e ? delete t[o] : t[o] = e }, t._stringRef = o, t) } if ("string" != typeof e) throw Error(i(284)); if (!n._owner) throw Error(i(290, e)) } return e } function ka(e, t) { if ("textarea" !== e.type) throw Error(i(31, "[object Object]" === Object.prototype.toString.call(t) ? "object with keys {" + Object.keys(t).join(", ") + "}" : t)) } function Sa(e) { function t(t, n) { if (e) { var r = t.lastEffect; null !== r ? (r.nextEffect = n, t.lastEffect = n) : t.firstEffect = t.lastEffect = n, n.nextEffect = null, n.flags = 8 } } function n(n, r) { if (!e) return null; for (; null !== r;)t(n, r), r = r.sibling; return null } function r(e, t) { for (e = new Map; null !== t;)null !== t.key ? e.set(t.key, t) : e.set(t.index, t), t = t.sibling; return e } function o(e, t) { return (e = Wl(e, t)).index = 0, e.sibling = null, e } function a(t, n, r) { return t.index = r, e ? null !== (r = t.alternate) ? (r = r.index) < n ? (t.flags = 2, n) : r : (t.flags = 2, n) : n } function u(t) { return e && null === t.alternate && (t.flags = 2), t } function l(e, t, n, r) { return null === t || 6 !== t.tag ? ((t = ql(n, e.mode, r)).return = e, t) : ((t = o(t, n)).return = e, t) } function c(e, t, n, r) { return null !== t && t.elementType === n.type ? ((r = o(t, n.props)).ref = xa(e, t, n), r.return = e, r) : ((r = Vl(n.type, n.key, n.props, null, e.mode, r)).ref = xa(e, t, n), r.return = e, r) } function s(e, t, n, r) { return null === t || 4 !== t.tag || t.stateNode.containerInfo !== n.containerInfo || t.stateNode.implementation !== n.implementation ? ((t = Ql(n, e.mode, r)).return = e, t) : ((t = o(t, n.children || [])).return = e, t) } function f(e, t, n, r, a) { return null === t || 7 !== t.tag ? ((t = Hl(n, e.mode, r, a)).return = e, t) : ((t = o(t, n)).return = e, t) } function d(e, t, n) { if ("string" == typeof t || "number" == typeof t) return (t = ql("" + t, e.mode, n)).return = e, t; if ("object" == typeof t && null !== t) { switch (t.$$typeof) { case _: return (n = Vl(t.type, t.key, t.props, null, e.mode, n)).ref = xa(e, null, t), n.return = e, n; case x: return (t = Ql(t, e.mode, n)).return = e, t }if (_a(t) || B(t)) return (t = Hl(t, e.mode, n, null)).return = e, t; ka(e, t) } return null } function p(e, t, n, r) { var o = null !== t ? t.key : null; if ("string" == typeof n || "number" == typeof n) return null !== o ? null : l(e, t, "" + n, r); if ("object" == typeof n && null !== n) { switch (n.$$typeof) { case _: return n.key === o ? n.type === k ? f(e, t, n.props.children, r, o) : c(e, t, n, r) : null; case x: return n.key === o ? s(e, t, n, r) : null }if (_a(n) || B(n)) return null !== o ? null : f(e, t, n, r, null); ka(e, n) } return null } function h(e, t, n, r, o) { if ("string" == typeof r || "number" == typeof r) return l(t, e = e.get(n) || null, "" + r, o); if ("object" == typeof r && null !== r) { switch (r.$$typeof) { case _: return e = e.get(null === r.key ? n : r.key) || null, r.type === k ? f(t, e, r.props.children, o, r.key) : c(t, e, r, o); case x: return s(t, e = e.get(null === r.key ? n : r.key) || null, r, o) }if (_a(r) || B(r)) return f(t, e = e.get(n) || null, r, o, null); ka(t, r) } return null } function m(o, i, u, l) { for (var c = null, s = null, f = i, m = i = 0, v = null; null !== f && m < u.length; m++) { f.index > m ? (v = f, f = null) : v = f.sibling; var y = p(o, f, u[m], l); if (null === y) { null === f && (f = v); break } e && f && null === y.alternate && t(o, f), i = a(y, i, m), null === s ? c = y : s.sibling = y, s = y, f = v } if (m === u.length) return n(o, f), c; if (null === f) { for (; m < u.length; m++)null !== (f = d(o, u[m], l)) && (i = a(f, i, m), null === s ? c = f : s.sibling = f, s = f); return c } for (f = r(o, f); m < u.length; m++)null !== (v = h(f, o, m, u[m], l)) && (e && null !== v.alternate && f.delete(null === v.key ? m : v.key), i = a(v, i, m), null === s ? c = v : s.sibling = v, s = v); return e && f.forEach((function (e) { return t(o, e) })), c } function v(o, u, l, c) { var s = B(l); if ("function" != typeof s) throw Error(i(150)); if (null == (l = s.call(l))) throw Error(i(151)); for (var f = s = null, m = u, v = u = 0, y = null, g = l.next(); null !== m && !g.done; v++, g = l.next()) { m.index > v ? (y = m, m = null) : y = m.sibling; var b = p(o, m, g.value, c); if (null === b) { null === m && (m = y); break } e && m && null === b.alternate && t(o, m), u = a(b, u, v), null === f ? s = b : f.sibling = b, f = b, m = y } if (g.done) return n(o, m), s; if (null === m) { for (; !g.done; v++, g = l.next())null !== (g = d(o, g.value, c)) && (u = a(g, u, v), null === f ? s = g : f.sibling = g, f = g); return s } for (m = r(o, m); !g.done; v++, g = l.next())null !== (g = h(m, o, v, g.value, c)) && (e && null !== g.alternate && m.delete(null === g.key ? v : g.key), u = a(g, u, v), null === f ? s = g : f.sibling = g, f = g); return e && m.forEach((function (e) { return t(o, e) })), s } return function (e, r, a, l) { var c = "object" == typeof a && null !== a && a.type === k && null === a.key; c && (a = a.props.children); var s = "object" == typeof a && null !== a; if (s) switch (a.$$typeof) { case _: e: { for (s = a.key, c = r; null !== c;) { if (c.key === s) { if (7 === c.tag) { if (a.type === k) { n(e, c.sibling), (r = o(c, a.props.children)).return = e, e = r; break e } } else if (c.elementType === a.type) { n(e, c.sibling), (r = o(c, a.props)).ref = xa(e, c, a), r.return = e, e = r; break e } n(e, c); break } t(e, c), c = c.sibling } a.type === k ? ((r = Hl(a.props.children, e.mode, l, a.key)).return = e, e = r) : ((l = Vl(a.type, a.key, a.props, null, e.mode, l)).ref = xa(e, r, a), l.return = e, e = l) } return u(e); case x: e: { for (c = a.key; null !== r;) { if (r.key === c) { if (4 === r.tag && r.stateNode.containerInfo === a.containerInfo && r.stateNode.implementation === a.implementation) { n(e, r.sibling), (r = o(r, a.children || [])).return = e, e = r; break e } n(e, r); break } t(e, r), r = r.sibling } (r = Ql(a, e.mode, l)).return = e, e = r } return u(e) }if ("string" == typeof a || "number" == typeof a) return a = "" + a, null !== r && 6 === r.tag ? (n(e, r.sibling), (r = o(r, a)).return = e, e = r) : (n(e, r), (r = ql(a, e.mode, l)).return = e, e = r), u(e); if (_a(a)) return m(e, r, a, l); if (B(a)) return v(e, r, a, l); if (s && ka(e, a), void 0 === a && !c) switch (e.tag) { case 1: case 22: case 0: case 11: case 15: throw Error(i(152, q(e.type) || "Component")) }return n(e, r) } } var Ca = Sa(!0), Na = Sa(!1), Oa = {}, Pa = lo(Oa), ja = lo(Oa), Ta = lo(Oa); function La(e) { if (e === Oa) throw Error(i(174)); return e } function Ra(e, t) { switch (so(Ta, t), so(ja, e), so(Pa, Oa), e = t.nodeType) { case 9: case 11: t = (t = t.documentElement) ? t.namespaceURI : pe(null, ""); break; default: t = pe(t = (e = 8 === e ? t.parentNode : t).namespaceURI || null, e = e.tagName) }co(Pa), so(Pa, t) } function Aa() { co(Pa), co(ja), co(Ta) } function Ia(e) { La(Ta.current); var t = La(Pa.current), n = pe(t, e.type); t !== n && (so(ja, e), so(Pa, n)) } function za(e) { ja.current === e && (co(Pa), co(ja)) } var Ma = lo(0); function Da(e) { for (var t = e; null !== t;) { if (13 === t.tag) { var n = t.memoizedState; if (null !== n && (null === (n = n.dehydrated) || "$?" === n.data || "$!" === n.data)) return t } else if (19 === t.tag && void 0 !== t.memoizedProps.revealOrder) { if (0 != (64 & t.flags)) return t } else if (null !== t.child) { t.child.return = t, t = t.child; continue } if (t === e) break; for (; null === t.sibling;) { if (null === t.return || t.return === e) return null; t = t.return } t.sibling.return = t.return, t = t.sibling } return null } var Ua = null, Fa = null, $a = !1; function Ba(e, t) { var n = $l(5, null, null, 0); n.elementType = "DELETED", n.type = "DELETED", n.stateNode = t, n.return = e, n.flags = 8, null !== e.lastEffect ? (e.lastEffect.nextEffect = n, e.lastEffect = n) : e.firstEffect = e.lastEffect = n } function Wa(e, t) { switch (e.tag) { case 5: var n = e.type; return null !== (t = 1 !== t.nodeType || n.toLowerCase() !== t.nodeName.toLowerCase() ? null : t) && (e.stateNode = t, !0); case 6: return null !== (t = "" === e.pendingProps || 3 !== t.nodeType ? null : t) && (e.stateNode = t, !0); default: return !1 } } function Va(e) { if ($a) { var t = Fa; if (t) { var n = t; if (!Wa(e, t)) { if (!(t = qr(n.nextSibling)) || !Wa(e, t)) return e.flags = -1025 & e.flags | 2, $a = !1, void (Ua = e); Ba(Ua, n) } Ua = e, Fa = qr(t.firstChild) } else e.flags = -1025 & e.flags | 2, $a = !1, Ua = e } } function Ha(e) { for (e = e.return; null !== e && 5 !== e.tag && 3 !== e.tag && 13 !== e.tag;)e = e.return; Ua = e } function Ga(e) { if (e !== Ua) return !1; if (!$a) return Ha(e), $a = !0, !1; var t = e.type; if (5 !== e.tag || "head" !== t && "body" !== t && !Wr(t, e.memoizedProps)) for (t = Fa; t;)Ba(e, t), t = qr(t.nextSibling); if (Ha(e), 13 === e.tag) { if (!(e = null !== (e = e.memoizedState) ? e.dehydrated : null)) throw Error(i(317)); e: { for (e = e.nextSibling, t = 0; e;) { if (8 === e.nodeType) { var n = e.data; if ("/$" === n) { if (0 === t) { Fa = qr(e.nextSibling); break e } t-- } else "$" !== n && "$!" !== n && "$?" !== n || t++ } e = e.nextSibling } Fa = null } } else Fa = Ua ? qr(e.stateNode.nextSibling) : null; return !0 } function qa() { Fa = Ua = null, $a = !1 } var Qa = []; function Ka() { for (var e = 0; e < Qa.length; e++)Qa[e]._workInProgressVersionPrimary = null; Qa.length = 0 } var Ya = E.ReactCurrentDispatcher, Xa = E.ReactCurrentBatchConfig, Za = 0, Ja = null, ei = null, ti = null, ni = !1, ri = !1; function oi() { throw Error(i(321)) } function ai(e, t) { if (null === t) return !1; for (var n = 0; n < t.length && n < e.length; n++)if (!cr(e[n], t[n])) return !1; return !0 } function ii(e, t, n, r, o, a) { if (Za = a, Ja = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, Ya.current = null === e || null === e.memoizedState ? Li : Ri, e = n(r, o), ri) { a = 0; do { if (ri = !1, !(25 > a)) throw Error(i(301)); a += 1, ti = ei = null, t.updateQueue = null, Ya.current = Ai, e = n(r, o) } while (ri) } if (Ya.current = Ti, t = null !== ei && null !== ei.next, Za = 0, ti = ei = Ja = null, ni = !1, t) throw Error(i(300)); return e } function ui() { var e = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null }; return null === ti ? Ja.memoizedState = ti = e : ti = ti.next = e, ti } function li() { if (null === ei) { var e = Ja.alternate; e = null !== e ? e.memoizedState : null } else e = ei.next; var t = null === ti ? Ja.memoizedState : ti.next; if (null !== t) ti = t, ei = e; else { if (null === e) throw Error(i(310)); e = { memoizedState: (ei = e).memoizedState, baseState: ei.baseState, baseQueue: ei.baseQueue, queue: ei.queue, next: null }, null === ti ? Ja.memoizedState = ti = e : ti = ti.next = e } return ti } function ci(e, t) { return "function" == typeof t ? t(e) : t } function si(e) { var t = li(), n = t.queue; if (null === n) throw Error(i(311)); n.lastRenderedReducer = e; var r = ei, o = r.baseQueue, a = n.pending; if (null !== a) { if (null !== o) { var u = o.next; o.next = a.next, a.next = u } r.baseQueue = o = a, n.pending = null } if (null !== o) { o = o.next, r = r.baseState; var l = u = a = null, c = o; do { var s = c.lane; if ((Za & s) === s) null !== l && (l = l.next = { lane: 0, action: c.action, eagerReducer: c.eagerReducer, eagerState: c.eagerState, next: null }), r = c.eagerReducer === e ? c.eagerState : e(r, c.action); else { var f = { lane: s, action: c.action, eagerReducer: c.eagerReducer, eagerState: c.eagerState, next: null }; null === l ? (u = l = f, a = r) : l = l.next = f, Ja.lanes |= s, Du |= s } c = c.next } while (null !== c && c !== o); null === l ? a = r : l.next = u, cr(r, t.memoizedState) || (zi = !0), t.memoizedState = r, t.baseState = a, t.baseQueue = l, n.lastRenderedState = r } return [t.memoizedState, n.dispatch] } function fi(e) { var t = li(), n = t.queue; if (null === n) throw Error(i(311)); n.lastRenderedReducer = e; var r = n.dispatch, o = n.pending, a = t.memoizedState; if (null !== o) { n.pending = null; var u = o = o.next; do { a = e(a, u.action), u = u.next } while (u !== o); cr(a, t.memoizedState) || (zi = !0), t.memoizedState = a, null === t.baseQueue && (t.baseState = a), n.lastRenderedState = a } return [a, r] } function di(e, t, n) { var r = t._getVersion; r = r(t._source); var o = t._workInProgressVersionPrimary; if (null !== o ? e = o === r : (e = e.mutableReadLanes, (e = (Za & e) === e) && (t._workInProgressVersionPrimary = r, Qa.push(t))), e) return n(t._source); throw Qa.push(t), Error(i(350)) } function pi(e, t, n, r) { var o = ju; if (null === o) throw Error(i(349)); var a = t._getVersion, u = a(t._source), l = Ya.current, c = l.useState((function () { return di(o, t, n) })), s = c[1], f = c[0]; c = ti; var d = e.memoizedState, p = d.refs, h = p.getSnapshot, m = d.source; d = d.subscribe; var v = Ja; return e.memoizedState = { refs: p, source: t, subscribe: r }, l.useEffect((function () { p.getSnapshot = n, p.setSnapshot = s; var e = a(t._source); if (!cr(u, e)) { e = n(t._source), cr(f, e) || (s(e), e = sl(v), o.mutableReadLanes |= e & o.pendingLanes), e = o.mutableReadLanes, o.entangledLanes |= e; for (var r = o.entanglements, i = e; 0 < i;) { var l = 31 - Wt(i), c = 1 << l; r[l] |= e, i &= ~c } } }), [n, t, r]), l.useEffect((function () { return r(t._source, (function () { var e = p.getSnapshot, n = p.setSnapshot; try { n(e(t._source)); var r = sl(v); o.mutableReadLanes |= r & o.pendingLanes } catch (e) { n((function () { throw e })) } })) }), [t, r]), cr(h, n) && cr(m, t) && cr(d, r) || ((e = { pending: null, dispatch: null, lastRenderedReducer: ci, lastRenderedState: f }).dispatch = s = ji.bind(null, Ja, e), c.queue = e, c.baseQueue = null, f = di(o, t, n), c.memoizedState = c.baseState = f), f } function hi(e, t, n) { return pi(li(), e, t, n) } function mi(e) { var t = ui(); return "function" == typeof e && (e = e()), t.memoizedState = t.baseState = e, e = (e = t.queue = { pending: null, dispatch: null, lastRenderedReducer: ci, lastRenderedState: e }).dispatch = ji.bind(null, Ja, e), [t.memoizedState, e] } function vi(e, t, n, r) { return e = { tag: e, create: t, destroy: n, deps: r, next: null }, null === (t = Ja.updateQueue) ? (t = { lastEffect: null }, Ja.updateQueue = t, t.lastEffect = e.next = e) : null === (n = t.lastEffect) ? t.lastEffect = e.next = e : (r = n.next, n.next = e, e.next = r, t.lastEffect = e), e } function yi(e) { return e = { current: e }, ui().memoizedState = e } function gi() { return li().memoizedState } function bi(e, t, n, r) { var o = ui(); Ja.flags |= e, o.memoizedState = vi(1 | t, n, void 0, void 0 === r ? null : r) } function wi(e, t, n, r) { var o = li(); r = void 0 === r ? null : r; var a = void 0; if (null !== ei) { var i = ei.memoizedState; if (a = i.destroy, null !== r && ai(r, i.deps)) return void vi(t, n, a, r) } Ja.flags |= e, o.memoizedState = vi(1 | t, n, a, r) } function Ei(e, t) { return bi(516, 4, e, t) } function _i(e, t) { return wi(516, 4, e, t) } function xi(e, t) { return wi(4, 2, e, t) } function ki(e, t) { return "function" == typeof t ? (e = e(), t(e), function () { t(null) }) : null != t ? (e = e(), t.current = e, function () { t.current = null }) : void 0 } function Si(e, t, n) { return n = null != n ? n.concat([e]) : null, wi(4, 2, ki.bind(null, t, e), n) } function Ci() { } function Ni(e, t) { var n = li(); t = void 0 === t ? null : t; var r = n.memoizedState; return null !== r && null !== t && ai(t, r[1]) ? r[0] : (n.memoizedState = [e, t], e) } function Oi(e, t) { var n = li(); t = void 0 === t ? null : t; var r = n.memoizedState; return null !== r && null !== t && ai(t, r[1]) ? r[0] : (e = e(), n.memoizedState = [e, t], e) } function Pi(e, t) { var n = Vo(); Go(98 > n ? 98 : n, (function () { e(!0) })), Go(97 < n ? 97 : n, (function () { var n = Xa.transition; Xa.transition = 1; try { e(!1), t() } finally { Xa.transition = n } })) } function ji(e, t, n) { var r = cl(), o = sl(e), a = { lane: o, action: n, eagerReducer: null, eagerState: null, next: null }, i = t.pending; if (null === i ? a.next = a : (a.next = i.next, i.next = a), t.pending = a, i = e.alternate, e === Ja || null !== i && i === Ja) ri = ni = !0; else { if (0 === e.lanes && (null === i || 0 === i.lanes) && null !== (i = t.lastRenderedReducer)) try { var u = t.lastRenderedState, l = i(u, n); if (a.eagerReducer = i, a.eagerState = l, cr(l, u)) return } catch (e) { } fl(e, o, r) } } var Ti = { readContext: ia, useCallback: oi, useContext: oi, useEffect: oi, useImperativeHandle: oi, useLayoutEffect: oi, useMemo: oi, useReducer: oi, useRef: oi, useState: oi, useDebugValue: oi, useDeferredValue: oi, useTransition: oi, useMutableSource: oi, useOpaqueIdentifier: oi, unstable_isNewReconciler: !1 }, Li = { readContext: ia, useCallback: function (e, t) { return ui().memoizedState = [e, void 0 === t ? null : t], e }, useContext: ia, useEffect: Ei, useImperativeHandle: function (e, t, n) { return n = null != n ? n.concat([e]) : null, bi(4, 2, ki.bind(null, t, e), n) }, useLayoutEffect: function (e, t) { return bi(4, 2, e, t) }, useMemo: function (e, t) { var n = ui(); return t = void 0 === t ? null : t, e = e(), n.memoizedState = [e, t], e }, useReducer: function (e, t, n) { var r = ui(); return t = void 0 !== n ? n(t) : t, r.memoizedState = r.baseState = t, e = (e = r.queue = { pending: null, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }).dispatch = ji.bind(null, Ja, e), [r.memoizedState, e] }, useRef: yi, useState: mi, useDebugValue: Ci, useDeferredValue: function (e) { var t = mi(e), n = t[0], r = t[1]; return Ei((function () { var t = Xa.transition; Xa.transition = 1; try { r(e) } finally { Xa.transition = t } }), [e]), n }, useTransition: function () { var e = mi(!1), t = e[0]; return yi(e = Pi.bind(null, e[1])), [e, t] }, useMutableSource: function (e, t, n) { var r = ui(); return r.memoizedState = { refs: { getSnapshot: t, setSnapshot: null }, source: e, subscribe: n }, pi(r, e, t, n) }, useOpaqueIdentifier: function () { if ($a) { var e = !1, t = function (e) { return { $$typeof: I, toString: e, valueOf: e } }((function () { throw e || (e = !0, n("r:" + (Kr++).toString(36))), Error(i(355)) })), n = mi(t)[1]; return 0 == (2 & Ja.mode) && (Ja.flags |= 516, vi(5, (function () { n("r:" + (Kr++).toString(36)) }), void 0, null)), t } return mi(t = "r:" + (Kr++).toString(36)), t }, unstable_isNewReconciler: !1 }, Ri = { readContext: ia, useCallback: Ni, useContext: ia, useEffect: _i, useImperativeHandle: Si, useLayoutEffect: xi, useMemo: Oi, useReducer: si, useRef: gi, useState: function () { return si(ci) }, useDebugValue: Ci, useDeferredValue: function (e) { var t = si(ci), n = t[0], r = t[1]; return _i((function () { var t = Xa.transition; Xa.transition = 1; try { r(e) } finally { Xa.transition = t } }), [e]), n }, useTransition: function () { var e = si(ci)[0]; return [gi().current, e] }, useMutableSource: hi, useOpaqueIdentifier: function () { return si(ci)[0] }, unstable_isNewReconciler: !1 }, Ai = { readContext: ia, useCallback: Ni, useContext: ia, useEffect: _i, useImperativeHandle: Si, useLayoutEffect: xi, useMemo: Oi, useReducer: fi, useRef: gi, useState: function () { return fi(ci) }, useDebugValue: Ci, useDeferredValue: function (e) { var t = fi(ci), n = t[0], r = t[1]; return _i((function () { var t = Xa.transition; Xa.transition = 1; try { r(e) } finally { Xa.transition = t } }), [e]), n }, useTransition: function () { var e = fi(ci)[0]; return [gi().current, e] }, useMutableSource: hi, useOpaqueIdentifier: function () { return fi(ci)[0] }, unstable_isNewReconciler: !1 }, Ii = E.ReactCurrentOwner, zi = !1; function Mi(e, t, n, r) { t.child = null === e ? Na(t, null, n, r) : Ca(t, e.child, n, r) } function Di(e, t, n, r, o) { n = n.render; var a = t.ref; return aa(t, o), r = ii(e, t, n, r, a, o), null === e || zi ? (t.flags |= 1, Mi(e, t, r, o), t.child) : (t.updateQueue = e.updateQueue, t.flags &= -517, e.lanes &= ~o, nu(e, t, o)) } function Ui(e, t, n, r, o, a) { if (null === e) { var i = n.type; return "function" != typeof i || Bl(i) || void 0 !== i.defaultProps || null !== n.compare || void 0 !== n.defaultProps ? ((e = Vl(n.type, null, r, t, t.mode, a)).ref = t.ref, e.return = t, t.child = e) : (t.tag = 15, t.type = i, Fi(e, t, i, r, o, a)) } return i = e.child, 0 == (o & a) && (o = i.memoizedProps, (n = null !== (n = n.compare) ? n : fr)(o, r) && e.ref === t.ref) ? nu(e, t, a) : (t.flags |= 1, (e = Wl(i, r)).ref = t.ref, e.return = t, t.child = e) } function Fi(e, t, n, r, o, a) { if (null !== e && fr(e.memoizedProps, r) && e.ref === t.ref) { if (zi = !1, 0 == (a & o)) return t.lanes = e.lanes, nu(e, t, a); 0 != (16384 & e.flags) && (zi = !0) } return Wi(e, t, n, r, a) } function $i(e, t, n) { var r = t.pendingProps, o = r.children, a = null !== e ? e.memoizedState : null; if ("hidden" === r.mode || "unstable-defer-without-hiding" === r.mode) if (0 == (4 & t.mode)) t.memoizedState = { baseLanes: 0 }, bl(0, n); else { if (0 == (1073741824 & n)) return e = null !== a ? a.baseLanes | n : n, t.lanes = t.childLanes = 1073741824, t.memoizedState = { baseLanes: e }, bl(0, e), null; t.memoizedState = { baseLanes: 0 }, bl(0, null !== a ? a.baseLanes : n) } else null !== a ? (r = a.baseLanes | n, t.memoizedState = null) : r = n, bl(0, r); return Mi(e, t, o, n), t.child } function Bi(e, t) { var n = t.ref; (null === e && null !== n || null !== e && e.ref !== n) && (t.flags |= 128) } function Wi(e, t, n, r, o) { var a = yo(n) ? mo : po.current; return a = vo(t, a), aa(t, o), n = ii(e, t, n, r, a, o), null === e || zi ? (t.flags |= 1, Mi(e, t, n, o), t.child) : (t.updateQueue = e.updateQueue, t.flags &= -517, e.lanes &= ~o, nu(e, t, o)) } function Vi(e, t, n, r, o) { if (yo(n)) { var a = !0; Eo(t) } else a = !1; if (aa(t, o), null === t.stateNode) null !== e && (e.alternate = null, t.alternate = null, t.flags |= 2), ba(t, n, r), Ea(t, n, r, o), r = !0; else if (null === e) { var i = t.stateNode, u = t.memoizedProps; i.props = u; var l = i.context, c = n.contextType; c = "object" == typeof c && null !== c ? ia(c) : vo(t, c = yo(n) ? mo : po.current); var s = n.getDerivedStateFromProps, f = "function" == typeof s || "function" == typeof i.getSnapshotBeforeUpdate; f || "function" != typeof i.UNSAFE_componentWillReceiveProps && "function" != typeof i.componentWillReceiveProps || (u !== r || l !== c) && wa(t, i, r, c), ua = !1; var d = t.memoizedState; i.state = d, pa(t, r, i, o), l = t.memoizedState, u !== r || d !== l || ho.current || ua ? ("function" == typeof s && (va(t, n, s, r), l = t.memoizedState), (u = ua || ga(t, n, u, r, d, l, c)) ? (f || "function" != typeof i.UNSAFE_componentWillMount && "function" != typeof i.componentWillMount || ("function" == typeof i.componentWillMount && i.componentWillMount(), "function" == typeof i.UNSAFE_componentWillMount && i.UNSAFE_componentWillMount()), "function" == typeof i.componentDidMount && (t.flags |= 4)) : ("function" == typeof i.componentDidMount && (t.flags |= 4), t.memoizedProps = r, t.memoizedState = l), i.props = r, i.state = l, i.context = c, r = u) : ("function" == typeof i.componentDidMount && (t.flags |= 4), r = !1) } else { i = t.stateNode, ca(e, t), u = t.memoizedProps, c = t.type === t.elementType ? u : Xo(t.type, u), i.props = c, f = t.pendingProps, d = i.context, l = "object" == typeof (l = n.contextType) && null !== l ? ia(l) : vo(t, l = yo(n) ? mo : po.current); var p = n.getDerivedStateFromProps; (s = "function" == typeof p || "function" == typeof i.getSnapshotBeforeUpdate) || "function" != typeof i.UNSAFE_componentWillReceiveProps && "function" != typeof i.componentWillReceiveProps || (u !== f || d !== l) && wa(t, i, r, l), ua = !1, d = t.memoizedState, i.state = d, pa(t, r, i, o); var h = t.memoizedState; u !== f || d !== h || ho.current || ua ? ("function" == typeof p && (va(t, n, p, r), h = t.memoizedState), (c = ua || ga(t, n, c, r, d, h, l)) ? (s || "function" != typeof i.UNSAFE_componentWillUpdate && "function" != typeof i.componentWillUpdate || ("function" == typeof i.componentWillUpdate && i.componentWillUpdate(r, h, l), "function" == typeof i.UNSAFE_componentWillUpdate && i.UNSAFE_componentWillUpdate(r, h, l)), "function" == typeof i.componentDidUpdate && (t.flags |= 4), "function" == typeof i.getSnapshotBeforeUpdate && (t.flags |= 256)) : ("function" != typeof i.componentDidUpdate || u === e.memoizedProps && d === e.memoizedState || (t.flags |= 4), "function" != typeof i.getSnapshotBeforeUpdate || u === e.memoizedProps && d === e.memoizedState || (t.flags |= 256), t.memoizedProps = r, t.memoizedState = h), i.props = r, i.state = h, i.context = l, r = c) : ("function" != typeof i.componentDidUpdate || u === e.memoizedProps && d === e.memoizedState || (t.flags |= 4), "function" != typeof i.getSnapshotBeforeUpdate || u === e.memoizedProps && d === e.memoizedState || (t.flags |= 256), r = !1) } return Hi(e, t, n, r, a, o) } function Hi(e, t, n, r, o, a) { Bi(e, t); var i = 0 != (64 & t.flags); if (!r && !i) return o && _o(t, n, !1), nu(e, t, a); r = t.stateNode, Ii.current = t; var u = i && "function" != typeof n.getDerivedStateFromError ? null : r.render(); return t.flags |= 1, null !== e && i ? (t.child = Ca(t, e.child, null, a), t.child = Ca(t, null, u, a)) : Mi(e, t, u, a), t.memoizedState = r.state, o && _o(t, n, !0), t.child } function Gi(e) { var t = e.stateNode; t.pendingContext ? bo(0, t.pendingContext, t.pendingContext !== t.context) : t.context && bo(0, t.context, !1), Ra(e, t.containerInfo) } var qi, Qi, Ki, Yi = { dehydrated: null, retryLane: 0 }; function Xi(e, t, n) { var r, o = t.pendingProps, a = Ma.current, i = !1; return (r = 0 != (64 & t.flags)) || (r = (null === e || null !== e.memoizedState) && 0 != (2 & a)), r ? (i = !0, t.flags &= -65) : null !== e && null === e.memoizedState || void 0 === o.fallback || !0 === o.unstable_avoidThisFallback || (a |= 1), so(Ma, 1 & a), null === e ? (void 0 !== o.fallback && Va(t), e = o.children, a = o.fallback, i ? (e = Zi(t, e, a, n), t.child.memoizedState = { baseLanes: n }, t.memoizedState = Yi, e) : "number" == typeof o.unstable_expectedLoadTime ? (e = Zi(t, e, a, n), t.child.memoizedState = { baseLanes: n }, t.memoizedState = Yi, t.lanes = 33554432, e) : ((n = Gl({ mode: "visible", children: e }, t.mode, n, null)).return = t, t.child = n)) : (e.memoizedState, i ? (o = function (e, t, n, r, o) { var a = t.mode, i = e.child; e = i.sibling; var u = { mode: "hidden", children: n }; return 0 == (2 & a) && t.child !== i ? ((n = t.child).childLanes = 0, n.pendingProps = u, null !== (i = n.lastEffect) ? (t.firstEffect = n.firstEffect, t.lastEffect = i, i.nextEffect = null) : t.firstEffect = t.lastEffect = null) : n = Wl(i, u), null !== e ? r = Wl(e, r) : (r = Hl(r, a, o, null)).flags |= 2, r.return = t, n.return = t, n.sibling = r, t.child = n, r }(e, t, o.children, o.fallback, n), i = t.child, a = e.child.memoizedState, i.memoizedState = null === a ? { baseLanes: n } : { baseLanes: a.baseLanes | n }, i.childLanes = e.childLanes & ~n, t.memoizedState = Yi, o) : (n = function (e, t, n, r) { var o = e.child; return e = o.sibling, n = Wl(o, { mode: "visible", children: n }), 0 == (2 & t.mode) && (n.lanes = r), n.return = t, n.sibling = null, null !== e && (e.nextEffect = null, e.flags = 8, t.firstEffect = t.lastEffect = e), t.child = n }(e, t, o.children, n), t.memoizedState = null, n)) } function Zi(e, t, n, r) { var o = e.mode, a = e.child; return t = { mode: "hidden", children: t }, 0 == (2 & o) && null !== a ? (a.childLanes = 0, a.pendingProps = t) : a = Gl(t, o, 0, null), n = Hl(n, o, r, null), a.return = e, n.return = e, a.sibling = n, e.child = a, n } function Ji(e, t) { e.lanes |= t; var n = e.alternate; null !== n && (n.lanes |= t), oa(e.return, t) } function eu(e, t, n, r, o, a) { var i = e.memoizedState; null === i ? e.memoizedState = { isBackwards: t, rendering: null, renderingStartTime: 0, last: r, tail: n, tailMode: o, lastEffect: a } : (i.isBackwards = t, i.rendering = null, i.renderingStartTime = 0, i.last = r, i.tail = n, i.tailMode = o, i.lastEffect = a) } function tu(e, t, n) { var r = t.pendingProps, o = r.revealOrder, a = r.tail; if (Mi(e, t, r.children, n), 0 != (2 & (r = Ma.current))) r = 1 & r | 2, t.flags |= 64; else { if (null !== e && 0 != (64 & e.flags)) e: for (e = t.child; null !== e;) { if (13 === e.tag) null !== e.memoizedState && Ji(e, n); else if (19 === e.tag) Ji(e, n); else if (null !== e.child) { e.child.return = e, e = e.child; continue } if (e === t) break e; for (; null === e.sibling;) { if (null === e.return || e.return === t) break e; e = e.return } e.sibling.return = e.return, e = e.sibling } r &= 1 } if (so(Ma, r), 0 == (2 & t.mode)) t.memoizedState = null; else switch (o) { case "forwards": for (n = t.child, o = null; null !== n;)null !== (e = n.alternate) && null === Da(e) && (o = n), n = n.sibling; null === (n = o) ? (o = t.child, t.child = null) : (o = n.sibling, n.sibling = null), eu(t, !1, o, n, a, t.lastEffect); break; case "backwards": for (n = null, o = t.child, t.child = null; null !== o;) { if (null !== (e = o.alternate) && null === Da(e)) { t.child = o; break } e = o.sibling, o.sibling = n, n = o, o = e } eu(t, !0, n, null, a, t.lastEffect); break; case "together": eu(t, !1, null, null, void 0, t.lastEffect); break; default: t.memoizedState = null }return t.child } function nu(e, t, n) { if (null !== e && (t.dependencies = e.dependencies), Du |= t.lanes, 0 != (n & t.childLanes)) { if (null !== e && t.child !== e.child) throw Error(i(153)); if (null !== t.child) { for (n = Wl(e = t.child, e.pendingProps), t.child = n, n.return = t; null !== e.sibling;)e = e.sibling, (n = n.sibling = Wl(e, e.pendingProps)).return = t; n.sibling = null } return t.child } return null } function ru(e, t) { if (!$a) switch (e.tailMode) { case "hidden": t = e.tail; for (var n = null; null !== t;)null !== t.alternate && (n = t), t = t.sibling; null === n ? e.tail = null : n.sibling = null; break; case "collapsed": n = e.tail; for (var r = null; null !== n;)null !== n.alternate && (r = n), n = n.sibling; null === r ? t || null === e.tail ? e.tail = null : e.tail.sibling = null : r.sibling = null } } function ou(e, t, n) { var r = t.pendingProps; switch (t.tag) { case 2: case 16: case 15: case 0: case 11: case 7: case 8: case 12: case 9: case 14: return null; case 1: case 17: return yo(t.type) && go(), null; case 3: return Aa(), co(ho), co(po), Ka(), (r = t.stateNode).pendingContext && (r.context = r.pendingContext, r.pendingContext = null), null !== e && null !== e.child || (Ga(t) ? t.flags |= 4 : r.hydrate || (t.flags |= 256)), null; case 5: za(t); var a = La(Ta.current); if (n = t.type, null !== e && null != t.stateNode) Qi(e, t, n, r), e.ref !== t.ref && (t.flags |= 128); else { if (!r) { if (null === t.stateNode) throw Error(i(166)); return null } if (e = La(Pa.current), Ga(t)) { r = t.stateNode, n = t.type; var u = t.memoizedProps; switch (r[Xr] = t, r[Zr] = u, n) { case "dialog": Pr("cancel", r), Pr("close", r); break; case "iframe": case "object": case "embed": Pr("load", r); break; case "video": case "audio": for (e = 0; e < Sr.length; e++)Pr(Sr[e], r); break; case "source": Pr("error", r); break; case "img": case "image": case "link": Pr("error", r), Pr("load", r); break; case "details": Pr("toggle", r); break; case "input": ee(r, u), Pr("invalid", r); break; case "select": r._wrapperState = { wasMultiple: !!u.multiple }, Pr("invalid", r); break; case "textarea": le(r, u), Pr("invalid", r) }for (var c in xe(n, u), e = null, u) u.hasOwnProperty(c) && (a = u[c], "children" === c ? "string" == typeof a ? r.textContent !== a && (e = ["children", a]) : "number" == typeof a && r.textContent !== "" + a && (e = ["children", "" + a]) : l.hasOwnProperty(c) && null != a && "onScroll" === c && Pr("scroll", r)); switch (n) { case "input": Y(r), re(r, u, !0); break; case "textarea": Y(r), se(r); break; case "select": case "option": break; default: "function" == typeof u.onClick && (r.onclick = Ur) }r = e, t.updateQueue = r, null !== r && (t.flags |= 4) } else { switch (c = 9 === a.nodeType ? a : a.ownerDocument, e === fe && (e = de(n)), e === fe ? "script" === n ? ((e = c.createElement("div")).innerHTML = "<script><\/script>", e = e.removeChild(e.firstChild)) : "string" == typeof r.is ? e = c.createElement(n, { is: r.is }) : (e = c.createElement(n), "select" === n && (c = e, r.multiple ? c.multiple = !0 : r.size && (c.size = r.size))) : e = c.createElementNS(e, n), e[Xr] = t, e[Zr] = r, qi(e, t), t.stateNode = e, c = ke(n, r), n) { case "dialog": Pr("cancel", e), Pr("close", e), a = r; break; case "iframe": case "object": case "embed": Pr("load", e), a = r; break; case "video": case "audio": for (a = 0; a < Sr.length; a++)Pr(Sr[a], e); a = r; break; case "source": Pr("error", e), a = r; break; case "img": case "image": case "link": Pr("error", e), Pr("load", e), a = r; break; case "details": Pr("toggle", e), a = r; break; case "input": ee(e, r), a = J(e, r), Pr("invalid", e); break; case "option": a = ae(e, r); break; case "select": e._wrapperState = { wasMultiple: !!r.multiple }, a = o({}, r, { value: void 0 }), Pr("invalid", e); break; case "textarea": le(e, r), a = ue(e, r), Pr("invalid", e); break; default: a = r }xe(n, a); var s = a; for (u in s) if (s.hasOwnProperty(u)) { var f = s[u]; "style" === u ? Ee(e, f) : "dangerouslySetInnerHTML" === u ? null != (f = f ? f.__html : void 0) && ve(e, f) : "children" === u ? "string" == typeof f ? ("textarea" !== n || "" !== f) && ye(e, f) : "number" == typeof f && ye(e, "" + f) : "suppressContentEditableWarning" !== u && "suppressHydrationWarning" !== u && "autoFocus" !== u && (l.hasOwnProperty(u) ? null != f && "onScroll" === u && Pr("scroll", e) : null != f && w(e, u, f, c)) } switch (n) { case "input": Y(e), re(e, r, !1); break; case "textarea": Y(e), se(e); break; case "option": null != r.value && e.setAttribute("value", "" + Q(r.value)); break; case "select": e.multiple = !!r.multiple, null != (u = r.value) ? ie(e, !!r.multiple, u, !1) : null != r.defaultValue && ie(e, !!r.multiple, r.defaultValue, !0); break; default: "function" == typeof a.onClick && (e.onclick = Ur) }Br(n, r) && (t.flags |= 4) } null !== t.ref && (t.flags |= 128) } return null; case 6: if (e && null != t.stateNode) Ki(0, t, e.memoizedProps, r); else { if ("string" != typeof r && null === t.stateNode) throw Error(i(166)); n = La(Ta.current), La(Pa.current), Ga(t) ? (r = t.stateNode, n = t.memoizedProps, r[Xr] = t, r.nodeValue !== n && (t.flags |= 4)) : ((r = (9 === n.nodeType ? n : n.ownerDocument).createTextNode(r))[Xr] = t, t.stateNode = r) } return null; case 13: return co(Ma), r = t.memoizedState, 0 != (64 & t.flags) ? (t.lanes = n, t) : (r = null !== r, n = !1, null === e ? void 0 !== t.memoizedProps.fallback && Ga(t) : n = null !== e.memoizedState, r && !n && 0 != (2 & t.mode) && (null === e && !0 !== t.memoizedProps.unstable_avoidThisFallback || 0 != (1 & Ma.current) ? 0 === Iu && (Iu = 3) : (0 !== Iu && 3 !== Iu || (Iu = 4), null === ju || 0 == (134217727 & Du) && 0 == (134217727 & Uu) || ml(ju, Lu))), (r || n) && (t.flags |= 4), null); case 4: return Aa(), null === e && Tr(t.stateNode.containerInfo), null; case 10: return ra(t), null; case 19: if (co(Ma), null === (r = t.memoizedState)) return null; if (u = 0 != (64 & t.flags), null === (c = r.rendering)) if (u) ru(r, !1); else { if (0 !== Iu || null !== e && 0 != (64 & e.flags)) for (e = t.child; null !== e;) { if (null !== (c = Da(e))) { for (t.flags |= 64, ru(r, !1), null !== (u = c.updateQueue) && (t.updateQueue = u, t.flags |= 4), null === r.lastEffect && (t.firstEffect = null), t.lastEffect = r.lastEffect, r = n, n = t.child; null !== n;)e = r, (u = n).flags &= 2, u.nextEffect = null, u.firstEffect = null, u.lastEffect = null, null === (c = u.alternate) ? (u.childLanes = 0, u.lanes = e, u.child = null, u.memoizedProps = null, u.memoizedState = null, u.updateQueue = null, u.dependencies = null, u.stateNode = null) : (u.childLanes = c.childLanes, u.lanes = c.lanes, u.child = c.child, u.memoizedProps = c.memoizedProps, u.memoizedState = c.memoizedState, u.updateQueue = c.updateQueue, u.type = c.type, e = c.dependencies, u.dependencies = null === e ? null : { lanes: e.lanes, firstContext: e.firstContext }), n = n.sibling; return so(Ma, 1 & Ma.current | 2), t.child } e = e.sibling } null !== r.tail && Wo() > Wu && (t.flags |= 64, u = !0, ru(r, !1), t.lanes = 33554432) } else { if (!u) if (null !== (e = Da(c))) { if (t.flags |= 64, u = !0, null !== (n = e.updateQueue) && (t.updateQueue = n, t.flags |= 4), ru(r, !0), null === r.tail && "hidden" === r.tailMode && !c.alternate && !$a) return null !== (t = t.lastEffect = r.lastEffect) && (t.nextEffect = null), null } else 2 * Wo() - r.renderingStartTime > Wu && 1073741824 !== n && (t.flags |= 64, u = !0, ru(r, !1), t.lanes = 33554432); r.isBackwards ? (c.sibling = t.child, t.child = c) : (null !== (n = r.last) ? n.sibling = c : t.child = c, r.last = c) } return null !== r.tail ? (n = r.tail, r.rendering = n, r.tail = n.sibling, r.lastEffect = t.lastEffect, r.renderingStartTime = Wo(), n.sibling = null, t = Ma.current, so(Ma, u ? 1 & t | 2 : 1 & t), n) : null; case 23: case 24: return wl(), null !== e && null !== e.memoizedState != (null !== t.memoizedState) && "unstable-defer-without-hiding" !== r.mode && (t.flags |= 4), null }throw Error(i(156, t.tag)) } function au(e) { switch (e.tag) { case 1: yo(e.type) && go(); var t = e.flags; return 4096 & t ? (e.flags = -4097 & t | 64, e) : null; case 3: if (Aa(), co(ho), co(po), Ka(), 0 != (64 & (t = e.flags))) throw Error(i(285)); return e.flags = -4097 & t | 64, e; case 5: return za(e), null; case 13: return co(Ma), 4096 & (t = e.flags) ? (e.flags = -4097 & t | 64, e) : null; case 19: return co(Ma), null; case 4: return Aa(), null; case 10: return ra(e), null; case 23: case 24: return wl(), null; default: return null } } function iu(e, t) { try { var n = "", r = t; do { n += G(r), r = r.return } while (r); var o = n } catch (e) { o = "\nError generating stack: " + e.message + "\n" + e.stack } return { value: e, source: t, stack: o } } function uu(e, t) { try { console.error(t.value) } catch (e) { setTimeout((function () { throw e })) } } qi = function (e, t) { for (var n = t.child; null !== n;) { if (5 === n.tag || 6 === n.tag) e.appendChild(n.stateNode); else if (4 !== n.tag && null !== n.child) { n.child.return = n, n = n.child; continue } if (n === t) break; for (; null === n.sibling;) { if (null === n.return || n.return === t) return; n = n.return } n.sibling.return = n.return, n = n.sibling } }, Qi = function (e, t, n, r) { var a = e.memoizedProps; if (a !== r) { e = t.stateNode, La(Pa.current); var i, u = null; switch (n) { case "input": a = J(e, a), r = J(e, r), u = []; break; case "option": a = ae(e, a), r = ae(e, r), u = []; break; case "select": a = o({}, a, { value: void 0 }), r = o({}, r, { value: void 0 }), u = []; break; case "textarea": a = ue(e, a), r = ue(e, r), u = []; break; default: "function" != typeof a.onClick && "function" == typeof r.onClick && (e.onclick = Ur) }for (f in xe(n, r), n = null, a) if (!r.hasOwnProperty(f) && a.hasOwnProperty(f) && null != a[f]) if ("style" === f) { var c = a[f]; for (i in c) c.hasOwnProperty(i) && (n || (n = {}), n[i] = "") } else "dangerouslySetInnerHTML" !== f && "children" !== f && "suppressContentEditableWarning" !== f && "suppressHydrationWarning" !== f && "autoFocus" !== f && (l.hasOwnProperty(f) ? u || (u = []) : (u = u || []).push(f, null)); for (f in r) { var s = r[f]; if (c = null != a ? a[f] : void 0, r.hasOwnProperty(f) && s !== c && (null != s || null != c)) if ("style" === f) if (c) { for (i in c) !c.hasOwnProperty(i) || s && s.hasOwnProperty(i) || (n || (n = {}), n[i] = ""); for (i in s) s.hasOwnProperty(i) && c[i] !== s[i] && (n || (n = {}), n[i] = s[i]) } else n || (u || (u = []), u.push(f, n)), n = s; else "dangerouslySetInnerHTML" === f ? (s = s ? s.__html : void 0, c = c ? c.__html : void 0, null != s && c !== s && (u = u || []).push(f, s)) : "children" === f ? "string" != typeof s && "number" != typeof s || (u = u || []).push(f, "" + s) : "suppressContentEditableWarning" !== f && "suppressHydrationWarning" !== f && (l.hasOwnProperty(f) ? (null != s && "onScroll" === f && Pr("scroll", e), u || c === s || (u = [])) : "object" == typeof s && null !== s && s.$$typeof === I ? s.toString() : (u = u || []).push(f, s)) } n && (u = u || []).push("style", n); var f = u; (t.updateQueue = f) && (t.flags |= 4) } }, Ki = function (e, t, n, r) { n !== r && (t.flags |= 4) }; var lu = "function" == typeof WeakMap ? WeakMap : Map; function cu(e, t, n) { (n = sa(-1, n)).tag = 3, n.payload = { element: null }; var r = t.value; return n.callback = function () { qu || (qu = !0, Qu = r), uu(0, t) }, n } function su(e, t, n) { (n = sa(-1, n)).tag = 3; var r = e.type.getDerivedStateFromError; if ("function" == typeof r) { var o = t.value; n.payload = function () { return uu(0, t), r(o) } } var a = e.stateNode; return null !== a && "function" == typeof a.componentDidCatch && (n.callback = function () { "function" != typeof r && (null === Ku ? Ku = new Set([this]) : Ku.add(this), uu(0, t)); var e = t.stack; this.componentDidCatch(t.value, { componentStack: null !== e ? e : "" }) }), n } var fu = "function" == typeof WeakSet ? WeakSet : Set; function du(e) { var t = e.ref; if (null !== t) if ("function" == typeof t) try { t(null) } catch (t) { Ml(e, t) } else t.current = null } function pu(e, t) { switch (t.tag) { case 0: case 11: case 15: case 22: case 5: case 6: case 4: case 17: return; case 1: if (256 & t.flags && null !== e) { var n = e.memoizedProps, r = e.memoizedState; t = (e = t.stateNode).getSnapshotBeforeUpdate(t.elementType === t.type ? n : Xo(t.type, n), r), e.__reactInternalSnapshotBeforeUpdate = t } return; case 3: return void (256 & t.flags && Gr(t.stateNode.containerInfo)) }throw Error(i(163)) } function hu(e, t, n) { switch (n.tag) { case 0: case 11: case 15: case 22: if (null !== (t = null !== (t = n.updateQueue) ? t.lastEffect : null)) { e = t = t.next; do { if (3 == (3 & e.tag)) { var r = e.create; e.destroy = r() } e = e.next } while (e !== t) } if (null !== (t = null !== (t = n.updateQueue) ? t.lastEffect : null)) { e = t = t.next; do { var o = e; r = o.next, 0 != (4 & (o = o.tag)) && 0 != (1 & o) && (Al(n, e), Rl(n, e)), e = r } while (e !== t) } return; case 1: return e = n.stateNode, 4 & n.flags && (null === t ? e.componentDidMount() : (r = n.elementType === n.type ? t.memoizedProps : Xo(n.type, t.memoizedProps), e.componentDidUpdate(r, t.memoizedState, e.__reactInternalSnapshotBeforeUpdate))), void (null !== (t = n.updateQueue) && ha(n, t, e)); case 3: if (null !== (t = n.updateQueue)) { if (e = null, null !== n.child) switch (n.child.tag) { case 5: case 1: e = n.child.stateNode }ha(n, t, e) } return; case 5: return e = n.stateNode, void (null === t && 4 & n.flags && Br(n.type, n.memoizedProps) && e.focus()); case 6: case 4: case 12: case 19: case 17: case 20: case 21: case 23: case 24: return; case 13: return void (null === n.memoizedState && (n = n.alternate, null !== n && (n = n.memoizedState, null !== n && (n = n.dehydrated, null !== n && Et(n))))) }throw Error(i(163)) } function mu(e, t) { for (var n = e; ;) { if (5 === n.tag) { var r = n.stateNode; if (t) "function" == typeof (r = r.style).setProperty ? r.setProperty("display", "none", "important") : r.display = "none"; else { r = n.stateNode; var o = n.memoizedProps.style; o = null != o && o.hasOwnProperty("display") ? o.display : null, r.style.display = we("display", o) } } else if (6 === n.tag) n.stateNode.nodeValue = t ? "" : n.memoizedProps; else if ((23 !== n.tag && 24 !== n.tag || null === n.memoizedState || n === e) && null !== n.child) { n.child.return = n, n = n.child; continue } if (n === e) break; for (; null === n.sibling;) { if (null === n.return || n.return === e) return; n = n.return } n.sibling.return = n.return, n = n.sibling } } function vu(e, t) { if (ko && "function" == typeof ko.onCommitFiberUnmount) try { ko.onCommitFiberUnmount(xo, t) } catch (e) { } switch (t.tag) { case 0: case 11: case 14: case 15: case 22: if (null !== (e = t.updateQueue) && null !== (e = e.lastEffect)) { var n = e = e.next; do { var r = n, o = r.destroy; if (r = r.tag, void 0 !== o) if (0 != (4 & r)) Al(t, n); else { r = t; try { o() } catch (e) { Ml(r, e) } } n = n.next } while (n !== e) } break; case 1: if (du(t), "function" == typeof (e = t.stateNode).componentWillUnmount) try { e.props = t.memoizedProps, e.state = t.memoizedState, e.componentWillUnmount() } catch (e) { Ml(t, e) } break; case 5: du(t); break; case 4: _u(e, t) } } function yu(e) { e.alternate = null, e.child = null, e.dependencies = null, e.firstEffect = null, e.lastEffect = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.return = null, e.updateQueue = null } function gu(e) { return 5 === e.tag || 3 === e.tag || 4 === e.tag } function bu(e) { e: { for (var t = e.return; null !== t;) { if (gu(t)) break e; t = t.return } throw Error(i(160)) } var n = t; switch (t = n.stateNode, n.tag) { case 5: var r = !1; break; case 3: case 4: t = t.containerInfo, r = !0; break; default: throw Error(i(161)) }16 & n.flags && (ye(t, ""), n.flags &= -17); e: t: for (n = e; ;) { for (; null === n.sibling;) { if (null === n.return || gu(n.return)) { n = null; break e } n = n.return } for (n.sibling.return = n.return, n = n.sibling; 5 !== n.tag && 6 !== n.tag && 18 !== n.tag;) { if (2 & n.flags) continue t; if (null === n.child || 4 === n.tag) continue t; n.child.return = n, n = n.child } if (!(2 & n.flags)) { n = n.stateNode; break e } } r ? wu(e, n, t) : Eu(e, n, t) } function wu(e, t, n) { var r = e.tag, o = 5 === r || 6 === r; if (o) e = o ? e.stateNode : e.stateNode.instance, t ? 8 === n.nodeType ? n.parentNode.insertBefore(e, t) : n.insertBefore(e, t) : (8 === n.nodeType ? (t = n.parentNode).insertBefore(e, n) : (t = n).appendChild(e), null != (n = n._reactRootContainer) || null !== t.onclick || (t.onclick = Ur)); else if (4 !== r && null !== (e = e.child)) for (wu(e, t, n), e = e.sibling; null !== e;)wu(e, t, n), e = e.sibling } function Eu(e, t, n) { var r = e.tag, o = 5 === r || 6 === r; if (o) e = o ? e.stateNode : e.stateNode.instance, t ? n.insertBefore(e, t) : n.appendChild(e); else if (4 !== r && null !== (e = e.child)) for (Eu(e, t, n), e = e.sibling; null !== e;)Eu(e, t, n), e = e.sibling } function _u(e, t) { for (var n, r, o = t, a = !1; ;) { if (!a) { a = o.return; e: for (; ;) { if (null === a) throw Error(i(160)); switch (n = a.stateNode, a.tag) { case 5: r = !1; break e; case 3: case 4: n = n.containerInfo, r = !0; break e }a = a.return } a = !0 } if (5 === o.tag || 6 === o.tag) { e: for (var u = e, l = o, c = l; ;)if (vu(u, c), null !== c.child && 4 !== c.tag) c.child.return = c, c = c.child; else { if (c === l) break e; for (; null === c.sibling;) { if (null === c.return || c.return === l) break e; c = c.return } c.sibling.return = c.return, c = c.sibling } r ? (u = n, l = o.stateNode, 8 === u.nodeType ? u.parentNode.removeChild(l) : u.removeChild(l)) : n.removeChild(o.stateNode) } else if (4 === o.tag) { if (null !== o.child) { n = o.stateNode.containerInfo, r = !0, o.child.return = o, o = o.child; continue } } else if (vu(e, o), null !== o.child) { o.child.return = o, o = o.child; continue } if (o === t) break; for (; null === o.sibling;) { if (null === o.return || o.return === t) return; 4 === (o = o.return).tag && (a = !1) } o.sibling.return = o.return, o = o.sibling } } function xu(e, t) { switch (t.tag) { case 0: case 11: case 14: case 15: case 22: var n = t.updateQueue; if (null !== (n = null !== n ? n.lastEffect : null)) { var r = n = n.next; do { 3 == (3 & r.tag) && (e = r.destroy, r.destroy = void 0, void 0 !== e && e()), r = r.next } while (r !== n) } return; case 1: case 12: case 17: return; case 5: if (null != (n = t.stateNode)) { r = t.memoizedProps; var o = null !== e ? e.memoizedProps : r; e = t.type; var a = t.updateQueue; if (t.updateQueue = null, null !== a) { for (n[Zr] = r, "input" === e && "radio" === r.type && null != r.name && te(n, r), ke(e, o), t = ke(e, r), o = 0; o < a.length; o += 2) { var u = a[o], l = a[o + 1]; "style" === u ? Ee(n, l) : "dangerouslySetInnerHTML" === u ? ve(n, l) : "children" === u ? ye(n, l) : w(n, u, l, t) } switch (e) { case "input": ne(n, r); break; case "textarea": ce(n, r); break; case "select": e = n._wrapperState.wasMultiple, n._wrapperState.wasMultiple = !!r.multiple, null != (a = r.value) ? ie(n, !!r.multiple, a, !1) : e !== !!r.multiple && (null != r.defaultValue ? ie(n, !!r.multiple, r.defaultValue, !0) : ie(n, !!r.multiple, r.multiple ? [] : "", !1)) } } } return; case 6: if (null === t.stateNode) throw Error(i(162)); return void (t.stateNode.nodeValue = t.memoizedProps); case 3: return void ((n = t.stateNode).hydrate && (n.hydrate = !1, Et(n.containerInfo))); case 13: return null !== t.memoizedState && (Bu = Wo(), mu(t.child, !0)), void ku(t); case 19: return void ku(t); case 23: case 24: return void mu(t, null !== t.memoizedState) }throw Error(i(163)) } function ku(e) { var t = e.updateQueue; if (null !== t) { e.updateQueue = null; var n = e.stateNode; null === n && (n = e.stateNode = new fu), t.forEach((function (t) { var r = Ul.bind(null, e, t); n.has(t) || (n.add(t), t.then(r, r)) })) } } function Su(e, t) { return null !== e && (null === (e = e.memoizedState) || null !== e.dehydrated) && null !== (t = t.memoizedState) && null === t.dehydrated } var Cu = Math.ceil, Nu = E.ReactCurrentDispatcher, Ou = E.ReactCurrentOwner, Pu = 0, ju = null, Tu = null, Lu = 0, Ru = 0, Au = lo(0), Iu = 0, zu = null, Mu = 0, Du = 0, Uu = 0, Fu = 0, $u = null, Bu = 0, Wu = 1 / 0; function Vu() { Wu = Wo() + 500 } var Hu, Gu = null, qu = !1, Qu = null, Ku = null, Yu = !1, Xu = null, Zu = 90, Ju = [], el = [], tl = null, nl = 0, rl = null, ol = -1, al = 0, il = 0, ul = null, ll = !1; function cl() { return 0 != (48 & Pu) ? Wo() : -1 !== ol ? ol : ol = Wo() } function sl(e) { if (0 == (2 & (e = e.mode))) return 1; if (0 == (4 & e)) return 99 === Vo() ? 1 : 2; if (0 === al && (al = Mu), 0 !== Yo.transition) { 0 !== il && (il = null !== $u ? $u.pendingLanes : 0), e = al; var t = 4186112 & ~il; return 0 == (t &= -t) && 0 == (t = (e = 4186112 & ~e) & -e) && (t = 8192), t } return e = Vo(), e = Ut(0 != (4 & Pu) && 98 === e ? 12 : e = function (e) { switch (e) { case 99: return 15; case 98: return 10; case 97: case 96: return 8; case 95: return 2; default: return 0 } }(e), al) } function fl(e, t, n) { if (50 < nl) throw nl = 0, rl = null, Error(i(185)); if (null === (e = dl(e, t))) return null; Bt(e, t, n), e === ju && (Uu |= t, 4 === Iu && ml(e, Lu)); var r = Vo(); 1 === t ? 0 != (8 & Pu) && 0 == (48 & Pu) ? vl(e) : (pl(e, n), 0 === Pu && (Vu(), Qo())) : (0 == (4 & Pu) || 98 !== r && 99 !== r || (null === tl ? tl = new Set([e]) : tl.add(e)), pl(e, n)), $u = e } function dl(e, t) { e.lanes |= t; var n = e.alternate; for (null !== n && (n.lanes |= t), n = e, e = e.return; null !== e;)e.childLanes |= t, null !== (n = e.alternate) && (n.childLanes |= t), n = e, e = e.return; return 3 === n.tag ? n.stateNode : null } function pl(e, t) { for (var n = e.callbackNode, r = e.suspendedLanes, o = e.pingedLanes, a = e.expirationTimes, u = e.pendingLanes; 0 < u;) { var l = 31 - Wt(u), c = 1 << l, s = a[l]; if (-1 === s) { if (0 == (c & r) || 0 != (c & o)) { s = t, zt(c); var f = It; a[l] = 10 <= f ? s + 250 : 6 <= f ? s + 5e3 : -1 } } else s <= t && (e.expiredLanes |= c); u &= ~c } if (r = Mt(e, e === ju ? Lu : 0), t = It, 0 === r) null !== n && (n !== Mo && No(n), e.callbackNode = null, e.callbackPriority = 0); else { if (null !== n) { if (e.callbackPriority === t) return; n !== Mo && No(n) } 15 === t ? (n = vl.bind(null, e), null === Uo ? (Uo = [n], Fo = Co(Lo, Ko)) : Uo.push(n), n = Mo) : 14 === t ? n = qo(99, vl.bind(null, e)) : (n = function (e) { switch (e) { case 15: case 14: return 99; case 13: case 12: case 11: case 10: return 98; case 9: case 8: case 7: case 6: case 4: case 5: return 97; case 3: case 2: case 1: return 95; case 0: return 90; default: throw Error(i(358, e)) } }(t), n = qo(n, hl.bind(null, e))), e.callbackPriority = t, e.callbackNode = n } } function hl(e) { if (ol = -1, il = al = 0, 0 != (48 & Pu)) throw Error(i(327)); var t = e.callbackNode; if (Ll() && e.callbackNode !== t) return null; var n = Mt(e, e === ju ? Lu : 0); if (0 === n) return null; var r = n, o = Pu; Pu |= 16; var a = xl(); for (ju === e && Lu === r || (Vu(), El(e, r)); ;)try { Cl(); break } catch (t) { _l(e, t) } if (na(), Nu.current = a, Pu = o, null !== Tu ? r = 0 : (ju = null, Lu = 0, r = Iu), 0 != (Mu & Uu)) El(e, 0); else if (0 !== r) { if (2 === r && (Pu |= 64, e.hydrate && (e.hydrate = !1, Gr(e.containerInfo)), 0 !== (n = Dt(e)) && (r = kl(e, n))), 1 === r) throw t = zu, El(e, 0), ml(e, n), pl(e, Wo()), t; switch (e.finishedWork = e.current.alternate, e.finishedLanes = n, r) { case 0: case 1: throw Error(i(345)); case 2: case 5: Pl(e); break; case 3: if (ml(e, n), (62914560 & n) === n && 10 < (r = Bu + 500 - Wo())) { if (0 !== Mt(e, 0)) break; if (((o = e.suspendedLanes) & n) !== n) { cl(), e.pingedLanes |= e.suspendedLanes & o; break } e.timeoutHandle = Vr(Pl.bind(null, e), r); break } Pl(e); break; case 4: if (ml(e, n), (4186112 & n) === n) break; for (r = e.eventTimes, o = -1; 0 < n;) { var u = 31 - Wt(n); a = 1 << u, (u = r[u]) > o && (o = u), n &= ~a } if (n = o, 10 < (n = (120 > (n = Wo() - n) ? 120 : 480 > n ? 480 : 1080 > n ? 1080 : 1920 > n ? 1920 : 3e3 > n ? 3e3 : 4320 > n ? 4320 : 1960 * Cu(n / 1960)) - n)) { e.timeoutHandle = Vr(Pl.bind(null, e), n); break } Pl(e); break; default: throw Error(i(329)) } } return pl(e, Wo()), e.callbackNode === t ? hl.bind(null, e) : null } function ml(e, t) { for (t &= ~Fu, t &= ~Uu, e.suspendedLanes |= t, e.pingedLanes &= ~t, e = e.expirationTimes; 0 < t;) { var n = 31 - Wt(t), r = 1 << n; e[n] = -1, t &= ~r } } function vl(e) { if (0 != (48 & Pu)) throw Error(i(327)); if (Ll(), e === ju && 0 != (e.expiredLanes & Lu)) { var t = Lu, n = kl(e, t); 0 != (Mu & Uu) && (n = kl(e, t = Mt(e, t))) } else n = kl(e, t = Mt(e, 0)); if (0 !== e.tag && 2 === n && (Pu |= 64, e.hydrate && (e.hydrate = !1, Gr(e.containerInfo)), 0 !== (t = Dt(e)) && (n = kl(e, t))), 1 === n) throw n = zu, El(e, 0), ml(e, t), pl(e, Wo()), n; return e.finishedWork = e.current.alternate, e.finishedLanes = t, Pl(e), pl(e, Wo()), null } function yl(e, t) { var n = Pu; Pu |= 1; try { return e(t) } finally { 0 === (Pu = n) && (Vu(), Qo()) } } function gl(e, t) { var n = Pu; Pu &= -2, Pu |= 8; try { return e(t) } finally { 0 === (Pu = n) && (Vu(), Qo()) } } function bl(e, t) { so(Au, Ru), Ru |= t, Mu |= t } function wl() { Ru = Au.current, co(Au) } function El(e, t) { e.finishedWork = null, e.finishedLanes = 0; var n = e.timeoutHandle; if (-1 !== n && (e.timeoutHandle = -1, Hr(n)), null !== Tu) for (n = Tu.return; null !== n;) { var r = n; switch (r.tag) { case 1: null != (r = r.type.childContextTypes) && go(); break; case 3: Aa(), co(ho), co(po), Ka(); break; case 5: za(r); break; case 4: Aa(); break; case 13: case 19: co(Ma); break; case 10: ra(r); break; case 23: case 24: wl() }n = n.return } ju = e, Tu = Wl(e.current, null), Lu = Ru = Mu = t, Iu = 0, zu = null, Fu = Uu = Du = 0 } function _l(e, t) { for (; ;) { var n = Tu; try { if (na(), Ya.current = Ti, ni) { for (var r = Ja.memoizedState; null !== r;) { var o = r.queue; null !== o && (o.pending = null), r = r.next } ni = !1 } if (Za = 0, ti = ei = Ja = null, ri = !1, Ou.current = null, null === n || null === n.return) { Iu = 1, zu = t, Tu = null; break } e: { var a = e, i = n.return, u = n, l = t; if (t = Lu, u.flags |= 2048, u.firstEffect = u.lastEffect = null, null !== l && "object" == typeof l && "function" == typeof l.then) { var c = l; if (0 == (2 & u.mode)) { var s = u.alternate; s ? (u.updateQueue = s.updateQueue, u.memoizedState = s.memoizedState, u.lanes = s.lanes) : (u.updateQueue = null, u.memoizedState = null) } var f = 0 != (1 & Ma.current), d = i; do { var p; if (p = 13 === d.tag) { var h = d.memoizedState; if (null !== h) p = null !== h.dehydrated; else { var m = d.memoizedProps; p = void 0 !== m.fallback && (!0 !== m.unstable_avoidThisFallback || !f) } } if (p) { var v = d.updateQueue; if (null === v) { var y = new Set; y.add(c), d.updateQueue = y } else v.add(c); if (0 == (2 & d.mode)) { if (d.flags |= 64, u.flags |= 16384, u.flags &= -2981, 1 === u.tag) if (null === u.alternate) u.tag = 17; else { var g = sa(-1, 1); g.tag = 2, fa(u, g) } u.lanes |= 1; break e } l = void 0, u = t; var b = a.pingCache; if (null === b ? (b = a.pingCache = new lu, l = new Set, b.set(c, l)) : void 0 === (l = b.get(c)) && (l = new Set, b.set(c, l)), !l.has(u)) { l.add(u); var w = Dl.bind(null, a, c, u); c.then(w, w) } d.flags |= 4096, d.lanes = t; break e } d = d.return } while (null !== d); l = Error((q(u.type) || "A React component") + " suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.") } 5 !== Iu && (Iu = 2), l = iu(l, u), d = i; do { switch (d.tag) { case 3: a = l, d.flags |= 4096, t &= -t, d.lanes |= t, da(d, cu(0, a, t)); break e; case 1: a = l; var E = d.type, _ = d.stateNode; if (0 == (64 & d.flags) && ("function" == typeof E.getDerivedStateFromError || null !== _ && "function" == typeof _.componentDidCatch && (null === Ku || !Ku.has(_)))) { d.flags |= 4096, t &= -t, d.lanes |= t, da(d, su(d, a, t)); break e } }d = d.return } while (null !== d) } Ol(n) } catch (e) { t = e, Tu === n && null !== n && (Tu = n = n.return); continue } break } } function xl() { var e = Nu.current; return Nu.current = Ti, null === e ? Ti : e } function kl(e, t) { var n = Pu; Pu |= 16; var r = xl(); for (ju === e && Lu === t || El(e, t); ;)try { Sl(); break } catch (t) { _l(e, t) } if (na(), Pu = n, Nu.current = r, null !== Tu) throw Error(i(261)); return ju = null, Lu = 0, Iu } function Sl() { for (; null !== Tu;)Nl(Tu) } function Cl() { for (; null !== Tu && !Oo();)Nl(Tu) } function Nl(e) { var t = Hu(e.alternate, e, Ru); e.memoizedProps = e.pendingProps, null === t ? Ol(e) : Tu = t, Ou.current = null } function Ol(e) { var t = e; do { var n = t.alternate; if (e = t.return, 0 == (2048 & t.flags)) { if (null !== (n = ou(n, t, Ru))) return void (Tu = n); if (24 !== (n = t).tag && 23 !== n.tag || null === n.memoizedState || 0 != (1073741824 & Ru) || 0 == (4 & n.mode)) { for (var r = 0, o = n.child; null !== o;)r |= o.lanes | o.childLanes, o = o.sibling; n.childLanes = r } null !== e && 0 == (2048 & e.flags) && (null === e.firstEffect && (e.firstEffect = t.firstEffect), null !== t.lastEffect && (null !== e.lastEffect && (e.lastEffect.nextEffect = t.firstEffect), e.lastEffect = t.lastEffect), 1 < t.flags && (null !== e.lastEffect ? e.lastEffect.nextEffect = t : e.firstEffect = t, e.lastEffect = t)) } else { if (null !== (n = au(t))) return n.flags &= 2047, void (Tu = n); null !== e && (e.firstEffect = e.lastEffect = null, e.flags |= 2048) } if (null !== (t = t.sibling)) return void (Tu = t); Tu = t = e } while (null !== t); 0 === Iu && (Iu = 5) } function Pl(e) { var t = Vo(); return Go(99, jl.bind(null, e, t)), null } function jl(e, t) { do { Ll() } while (null !== Xu); if (0 != (48 & Pu)) throw Error(i(327)); var n = e.finishedWork; if (null === n) return null; if (e.finishedWork = null, e.finishedLanes = 0, n === e.current) throw Error(i(177)); e.callbackNode = null; var r = n.lanes | n.childLanes, o = r, a = e.pendingLanes & ~o; e.pendingLanes = o, e.suspendedLanes = 0, e.pingedLanes = 0, e.expiredLanes &= o, e.mutableReadLanes &= o, e.entangledLanes &= o, o = e.entanglements; for (var u = e.eventTimes, l = e.expirationTimes; 0 < a;) { var c = 31 - Wt(a), s = 1 << c; o[c] = 0, u[c] = -1, l[c] = -1, a &= ~s } if (null !== tl && 0 == (24 & r) && tl.has(e) && tl.delete(e), e === ju && (Tu = ju = null, Lu = 0), 1 < n.flags ? null !== n.lastEffect ? (n.lastEffect.nextEffect = n, r = n.firstEffect) : r = n : r = n.firstEffect, null !== r) { if (o = Pu, Pu |= 32, Ou.current = null, Fr = Qt, vr(u = mr())) { if ("selectionStart" in u) l = { start: u.selectionStart, end: u.selectionEnd }; else e: if (l = (l = u.ownerDocument) && l.defaultView || window, (s = l.getSelection && l.getSelection()) && 0 !== s.rangeCount) { l = s.anchorNode, a = s.anchorOffset, c = s.focusNode, s = s.focusOffset; try { l.nodeType, c.nodeType } catch (e) { l = null; break e } var f = 0, d = -1, p = -1, h = 0, m = 0, v = u, y = null; t: for (; ;) { for (var g; v !== l || 0 !== a && 3 !== v.nodeType || (d = f + a), v !== c || 0 !== s && 3 !== v.nodeType || (p = f + s), 3 === v.nodeType && (f += v.nodeValue.length), null !== (g = v.firstChild);)y = v, v = g; for (; ;) { if (v === u) break t; if (y === l && ++h === a && (d = f), y === c && ++m === s && (p = f), null !== (g = v.nextSibling)) break; y = (v = y).parentNode } v = g } l = -1 === d || -1 === p ? null : { start: d, end: p } } else l = null; l = l || { start: 0, end: 0 } } else l = null; $r = { focusedElem: u, selectionRange: l }, Qt = !1, ul = null, ll = !1, Gu = r; do { try { Tl() } catch (e) { if (null === Gu) throw Error(i(330)); Ml(Gu, e), Gu = Gu.nextEffect } } while (null !== Gu); ul = null, Gu = r; do { try { for (u = e; null !== Gu;) { var b = Gu.flags; if (16 & b && ye(Gu.stateNode, ""), 128 & b) { var w = Gu.alternate; if (null !== w) { var E = w.ref; null !== E && ("function" == typeof E ? E(null) : E.current = null) } } switch (1038 & b) { case 2: bu(Gu), Gu.flags &= -3; break; case 6: bu(Gu), Gu.flags &= -3, xu(Gu.alternate, Gu); break; case 1024: Gu.flags &= -1025; break; case 1028: Gu.flags &= -1025, xu(Gu.alternate, Gu); break; case 4: xu(Gu.alternate, Gu); break; case 8: _u(u, l = Gu); var _ = l.alternate; yu(l), null !== _ && yu(_) }Gu = Gu.nextEffect } } catch (e) { if (null === Gu) throw Error(i(330)); Ml(Gu, e), Gu = Gu.nextEffect } } while (null !== Gu); if (E = $r, w = mr(), b = E.focusedElem, u = E.selectionRange, w !== b && b && b.ownerDocument && hr(b.ownerDocument.documentElement, b)) { null !== u && vr(b) && (w = u.start, void 0 === (E = u.end) && (E = w), "selectionStart" in b ? (b.selectionStart = w, b.selectionEnd = Math.min(E, b.value.length)) : (E = (w = b.ownerDocument || document) && w.defaultView || window).getSelection && (E = E.getSelection(), l = b.textContent.length, _ = Math.min(u.start, l), u = void 0 === u.end ? _ : Math.min(u.end, l), !E.extend && _ > u && (l = u, u = _, _ = l), l = pr(b, _), a = pr(b, u), l && a && (1 !== E.rangeCount || E.anchorNode !== l.node || E.anchorOffset !== l.offset || E.focusNode !== a.node || E.focusOffset !== a.offset) && ((w = w.createRange()).setStart(l.node, l.offset), E.removeAllRanges(), _ > u ? (E.addRange(w), E.extend(a.node, a.offset)) : (w.setEnd(a.node, a.offset), E.addRange(w))))), w = []; for (E = b; E = E.parentNode;)1 === E.nodeType && w.push({ element: E, left: E.scrollLeft, top: E.scrollTop }); for ("function" == typeof b.focus && b.focus(), b = 0; b < w.length; b++)(E = w[b]).element.scrollLeft = E.left, E.element.scrollTop = E.top } Qt = !!Fr, $r = Fr = null, e.current = n, Gu = r; do { try { for (b = e; null !== Gu;) { var x = Gu.flags; if (36 & x && hu(b, Gu.alternate, Gu), 128 & x) { w = void 0; var k = Gu.ref; if (null !== k) { var S = Gu.stateNode; Gu.tag, w = S, "function" == typeof k ? k(w) : k.current = w } } Gu = Gu.nextEffect } } catch (e) { if (null === Gu) throw Error(i(330)); Ml(Gu, e), Gu = Gu.nextEffect } } while (null !== Gu); Gu = null, Do(), Pu = o } else e.current = n; if (Yu) Yu = !1, Xu = e, Zu = t; else for (Gu = r; null !== Gu;)t = Gu.nextEffect, Gu.nextEffect = null, 8 & Gu.flags && ((x = Gu).sibling = null, x.stateNode = null), Gu = t; if (0 === (r = e.pendingLanes) && (Ku = null), 1 === r ? e === rl ? nl++ : (nl = 0, rl = e) : nl = 0, n = n.stateNode, ko && "function" == typeof ko.onCommitFiberRoot) try { ko.onCommitFiberRoot(xo, n, void 0, 64 == (64 & n.current.flags)) } catch (e) { } if (pl(e, Wo()), qu) throw qu = !1, e = Qu, Qu = null, e; return 0 != (8 & Pu) || Qo(), null } function Tl() { for (; null !== Gu;) { var e = Gu.alternate; ll || null === ul || (0 != (8 & Gu.flags) ? Je(Gu, ul) && (ll = !0) : 13 === Gu.tag && Su(e, Gu) && Je(Gu, ul) && (ll = !0)); var t = Gu.flags; 0 != (256 & t) && pu(e, Gu), 0 == (512 & t) || Yu || (Yu = !0, qo(97, (function () { return Ll(), null }))), Gu = Gu.nextEffect } } function Ll() { if (90 !== Zu) { var e = 97 < Zu ? 97 : Zu; return Zu = 90, Go(e, Il) } return !1 } function Rl(e, t) { Ju.push(t, e), Yu || (Yu = !0, qo(97, (function () { return Ll(), null }))) } function Al(e, t) { el.push(t, e), Yu || (Yu = !0, qo(97, (function () { return Ll(), null }))) } function Il() { if (null === Xu) return !1; var e = Xu; if (Xu = null, 0 != (48 & Pu)) throw Error(i(331)); var t = Pu; Pu |= 32; var n = el; el = []; for (var r = 0; r < n.length; r += 2) { var o = n[r], a = n[r + 1], u = o.destroy; if (o.destroy = void 0, "function" == typeof u) try { u() } catch (e) { if (null === a) throw Error(i(330)); Ml(a, e) } } for (n = Ju, Ju = [], r = 0; r < n.length; r += 2) { o = n[r], a = n[r + 1]; try { var l = o.create; o.destroy = l() } catch (e) { if (null === a) throw Error(i(330)); Ml(a, e) } } for (l = e.current.firstEffect; null !== l;)e = l.nextEffect, l.nextEffect = null, 8 & l.flags && (l.sibling = null, l.stateNode = null), l = e; return Pu = t, Qo(), !0 } function zl(e, t, n) { fa(e, t = cu(0, t = iu(n, t), 1)), t = cl(), null !== (e = dl(e, 1)) && (Bt(e, 1, t), pl(e, t)) } function Ml(e, t) { if (3 === e.tag) zl(e, e, t); else for (var n = e.return; null !== n;) { if (3 === n.tag) { zl(n, e, t); break } if (1 === n.tag) { var r = n.stateNode; if ("function" == typeof n.type.getDerivedStateFromError || "function" == typeof r.componentDidCatch && (null === Ku || !Ku.has(r))) { var o = su(n, e = iu(t, e), 1); if (fa(n, o), o = cl(), null !== (n = dl(n, 1))) Bt(n, 1, o), pl(n, o); else if ("function" == typeof r.componentDidCatch && (null === Ku || !Ku.has(r))) try { r.componentDidCatch(t, e) } catch (e) { } break } } n = n.return } } function Dl(e, t, n) { var r = e.pingCache; null !== r && r.delete(t), t = cl(), e.pingedLanes |= e.suspendedLanes & n, ju === e && (Lu & n) === n && (4 === Iu || 3 === Iu && (62914560 & Lu) === Lu && 500 > Wo() - Bu ? El(e, 0) : Fu |= n), pl(e, t) } function Ul(e, t) { var n = e.stateNode; null !== n && n.delete(t), 0 == (t = 0) && (0 == (2 & (t = e.mode)) ? t = 1 : 0 == (4 & t) ? t = 99 === Vo() ? 1 : 2 : (0 === al && (al = Mu), 0 === (t = Ft(62914560 & ~al)) && (t = 4194304))), n = cl(), null !== (e = dl(e, t)) && (Bt(e, t, n), pl(e, n)) } function Fl(e, t, n, r) { this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = r, this.flags = 0, this.lastEffect = this.firstEffect = this.nextEffect = null, this.childLanes = this.lanes = 0, this.alternate = null } function $l(e, t, n, r) { return new Fl(e, t, n, r) } function Bl(e) { return !(!(e = e.prototype) || !e.isReactComponent) } function Wl(e, t) { var n = e.alternate; return null === n ? ((n = $l(e.tag, t, e.key, e.mode)).elementType = e.elementType, n.type = e.type, n.stateNode = e.stateNode, n.alternate = e, e.alternate = n) : (n.pendingProps = t, n.type = e.type, n.flags = 0, n.nextEffect = null, n.firstEffect = null, n.lastEffect = null), n.childLanes = e.childLanes, n.lanes = e.lanes, n.child = e.child, n.memoizedProps = e.memoizedProps, n.memoizedState = e.memoizedState, n.updateQueue = e.updateQueue, t = e.dependencies, n.dependencies = null === t ? null : { lanes: t.lanes, firstContext: t.firstContext }, n.sibling = e.sibling, n.index = e.index, n.ref = e.ref, n } function Vl(e, t, n, r, o, a) { var u = 2; if (r = e, "function" == typeof e) Bl(e) && (u = 1); else if ("string" == typeof e) u = 5; else e: switch (e) { case k: return Hl(n.children, o, a, t); case z: u = 8, o |= 16; break; case S: u = 8, o |= 1; break; case C: return (e = $l(12, n, t, 8 | o)).elementType = C, e.type = C, e.lanes = a, e; case j: return (e = $l(13, n, t, o)).type = j, e.elementType = j, e.lanes = a, e; case T: return (e = $l(19, n, t, o)).elementType = T, e.lanes = a, e; case M: return Gl(n, o, a, t); case D: return (e = $l(24, n, t, o)).elementType = D, e.lanes = a, e; default: if ("object" == typeof e && null !== e) switch (e.$$typeof) { case N: u = 10; break e; case O: u = 9; break e; case P: u = 11; break e; case L: u = 14; break e; case R: u = 16, r = null; break e; case A: u = 22; break e }throw Error(i(130, null == e ? e : typeof e, "")) }return (t = $l(u, n, t, o)).elementType = e, t.type = r, t.lanes = a, t } function Hl(e, t, n, r) { return (e = $l(7, e, r, t)).lanes = n, e } function Gl(e, t, n, r) { return (e = $l(23, e, r, t)).elementType = M, e.lanes = n, e } function ql(e, t, n) { return (e = $l(6, e, null, t)).lanes = n, e } function Ql(e, t, n) { return (t = $l(4, null !== e.children ? e.children : [], e.key, t)).lanes = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t } function Kl(e, t, n) { this.tag = t, this.containerInfo = e, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.pendingContext = this.context = null, this.hydrate = n, this.callbackNode = null, this.callbackPriority = 0, this.eventTimes = $t(0), this.expirationTimes = $t(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = $t(0), this.mutableSourceEagerHydrationData = null } function Yl(e, t, n) { var r = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; return { $$typeof: x, key: null == r ? null : "" + r, children: e, containerInfo: t, implementation: n } } function Xl(e, t, n, r) { var o = t.current, a = cl(), u = sl(o); e: if (n) { t: { if (Ke(n = n._reactInternals) !== n || 1 !== n.tag) throw Error(i(170)); var l = n; do { switch (l.tag) { case 3: l = l.stateNode.context; break t; case 1: if (yo(l.type)) { l = l.stateNode.__reactInternalMemoizedMergedChildContext; break t } }l = l.return } while (null !== l); throw Error(i(171)) } if (1 === n.tag) { var c = n.type; if (yo(c)) { n = wo(n, c, l); break e } } n = l } else n = fo; return null === t.context ? t.context = n : t.pendingContext = n, (t = sa(a, u)).payload = { element: e }, null !== (r = void 0 === r ? null : r) && (t.callback = r), fa(o, t), fl(o, u, a), u } function Zl(e) { return (e = e.current).child ? (e.child.tag, e.child.stateNode) : null } function Jl(e, t) { if (null !== (e = e.memoizedState) && null !== e.dehydrated) { var n = e.retryLane; e.retryLane = 0 !== n && n < t ? n : t } } function ec(e, t) { Jl(e, t), (e = e.alternate) && Jl(e, t) } function tc(e, t, n) { var r = null != n && null != n.hydrationOptions && n.hydrationOptions.mutableSources || null; if (n = new Kl(e, t, null != n && !0 === n.hydrate), t = $l(3, null, null, 2 === t ? 7 : 1 === t ? 3 : 0), n.current = t, t.stateNode = n, la(t), e[Jr] = n.current, Tr(8 === e.nodeType ? e.parentNode : e), r) for (e = 0; e < r.length; e++) { var o = (t = r[e])._getVersion; o = o(t._source), null == n.mutableSourceEagerHydrationData ? n.mutableSourceEagerHydrationData = [t, o] : n.mutableSourceEagerHydrationData.push(t, o) } this._internalRoot = n } function nc(e) { return !(!e || 1 !== e.nodeType && 9 !== e.nodeType && 11 !== e.nodeType && (8 !== e.nodeType || " react-mount-point-unstable " !== e.nodeValue)) } function rc(e, t, n, r, o) { var a = n._reactRootContainer; if (a) { var i = a._internalRoot; if ("function" == typeof o) { var u = o; o = function () { var e = Zl(i); u.call(e) } } Xl(t, i, e, o) } else { if (a = n._reactRootContainer = function (e, t) { if (t || (t = !(!(t = e ? 9 === e.nodeType ? e.documentElement : e.firstChild : null) || 1 !== t.nodeType || !t.hasAttribute("data-reactroot"))), !t) for (var n; n = e.lastChild;)e.removeChild(n); return new tc(e, 0, t ? { hydrate: !0 } : void 0) }(n, r), i = a._internalRoot, "function" == typeof o) { var l = o; o = function () { var e = Zl(i); l.call(e) } } gl((function () { Xl(t, i, e, o) })) } return Zl(i) } function oc(e, t) { var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; if (!nc(t)) throw Error(i(200)); return Yl(e, t, null, n) } Hu = function (e, t, n) { var r = t.lanes; if (null !== e) if (e.memoizedProps !== t.pendingProps || ho.current) zi = !0; else { if (0 == (n & r)) { switch (zi = !1, t.tag) { case 3: Gi(t), qa(); break; case 5: Ia(t); break; case 1: yo(t.type) && Eo(t); break; case 4: Ra(t, t.stateNode.containerInfo); break; case 10: r = t.memoizedProps.value; var o = t.type._context; so(Zo, o._currentValue), o._currentValue = r; break; case 13: if (null !== t.memoizedState) return 0 != (n & t.child.childLanes) ? Xi(e, t, n) : (so(Ma, 1 & Ma.current), null !== (t = nu(e, t, n)) ? t.sibling : null); so(Ma, 1 & Ma.current); break; case 19: if (r = 0 != (n & t.childLanes), 0 != (64 & e.flags)) { if (r) return tu(e, t, n); t.flags |= 64 } if (null !== (o = t.memoizedState) && (o.rendering = null, o.tail = null, o.lastEffect = null), so(Ma, Ma.current), r) break; return null; case 23: case 24: return t.lanes = 0, $i(e, t, n) }return nu(e, t, n) } zi = 0 != (16384 & e.flags) } else zi = !1; switch (t.lanes = 0, t.tag) { case 2: if (r = t.type, null !== e && (e.alternate = null, t.alternate = null, t.flags |= 2), e = t.pendingProps, o = vo(t, po.current), aa(t, n), o = ii(null, t, r, e, o, n), t.flags |= 1, "object" == typeof o && null !== o && "function" == typeof o.render && void 0 === o.$$typeof) { if (t.tag = 1, t.memoizedState = null, t.updateQueue = null, yo(r)) { var a = !0; Eo(t) } else a = !1; t.memoizedState = null !== o.state && void 0 !== o.state ? o.state : null, la(t); var u = r.getDerivedStateFromProps; "function" == typeof u && va(t, r, u, e), o.updater = ya, t.stateNode = o, o._reactInternals = t, Ea(t, r, e, n), t = Hi(null, t, r, !0, a, n) } else t.tag = 0, Mi(null, t, o, n), t = t.child; return t; case 16: o = t.elementType; e: { switch (null !== e && (e.alternate = null, t.alternate = null, t.flags |= 2), e = t.pendingProps, o = (a = o._init)(o._payload), t.type = o, a = t.tag = function (e) { if ("function" == typeof e) return Bl(e) ? 1 : 0; if (null != e) { if ((e = e.$$typeof) === P) return 11; if (e === L) return 14 } return 2 }(o), e = Xo(o, e), a) { case 0: t = Wi(null, t, o, e, n); break e; case 1: t = Vi(null, t, o, e, n); break e; case 11: t = Di(null, t, o, e, n); break e; case 14: t = Ui(null, t, o, Xo(o.type, e), r, n); break e }throw Error(i(306, o, "")) } return t; case 0: return r = t.type, o = t.pendingProps, Wi(e, t, r, o = t.elementType === r ? o : Xo(r, o), n); case 1: return r = t.type, o = t.pendingProps, Vi(e, t, r, o = t.elementType === r ? o : Xo(r, o), n); case 3: if (Gi(t), r = t.updateQueue, null === e || null === r) throw Error(i(282)); if (r = t.pendingProps, o = null !== (o = t.memoizedState) ? o.element : null, ca(e, t), pa(t, r, null, n), (r = t.memoizedState.element) === o) qa(), t = nu(e, t, n); else { if ((a = (o = t.stateNode).hydrate) && (Fa = qr(t.stateNode.containerInfo.firstChild), Ua = t, a = $a = !0), a) { if (null != (e = o.mutableSourceEagerHydrationData)) for (o = 0; o < e.length; o += 2)(a = e[o])._workInProgressVersionPrimary = e[o + 1], Qa.push(a); for (n = Na(t, null, r, n), t.child = n; n;)n.flags = -3 & n.flags | 1024, n = n.sibling } else Mi(e, t, r, n), qa(); t = t.child } return t; case 5: return Ia(t), null === e && Va(t), r = t.type, o = t.pendingProps, a = null !== e ? e.memoizedProps : null, u = o.children, Wr(r, o) ? u = null : null !== a && Wr(r, a) && (t.flags |= 16), Bi(e, t), Mi(e, t, u, n), t.child; case 6: return null === e && Va(t), null; case 13: return Xi(e, t, n); case 4: return Ra(t, t.stateNode.containerInfo), r = t.pendingProps, null === e ? t.child = Ca(t, null, r, n) : Mi(e, t, r, n), t.child; case 11: return r = t.type, o = t.pendingProps, Di(e, t, r, o = t.elementType === r ? o : Xo(r, o), n); case 7: return Mi(e, t, t.pendingProps, n), t.child; case 8: case 12: return Mi(e, t, t.pendingProps.children, n), t.child; case 10: e: { r = t.type._context, o = t.pendingProps, u = t.memoizedProps, a = o.value; var l = t.type._context; if (so(Zo, l._currentValue), l._currentValue = a, null !== u) if (l = u.value, 0 == (a = cr(l, a) ? 0 : 0 | ("function" == typeof r._calculateChangedBits ? r._calculateChangedBits(l, a) : 1073741823))) { if (u.children === o.children && !ho.current) { t = nu(e, t, n); break e } } else for (null !== (l = t.child) && (l.return = t); null !== l;) { var c = l.dependencies; if (null !== c) { u = l.child; for (var s = c.firstContext; null !== s;) { if (s.context === r && 0 != (s.observedBits & a)) { 1 === l.tag && ((s = sa(-1, n & -n)).tag = 2, fa(l, s)), l.lanes |= n, null !== (s = l.alternate) && (s.lanes |= n), oa(l.return, n), c.lanes |= n; break } s = s.next } } else u = 10 === l.tag && l.type === t.type ? null : l.child; if (null !== u) u.return = l; else for (u = l; null !== u;) { if (u === t) { u = null; break } if (null !== (l = u.sibling)) { l.return = u.return, u = l; break } u = u.return } l = u } Mi(e, t, o.children, n), t = t.child } return t; case 9: return o = t.type, r = (a = t.pendingProps).children, aa(t, n), r = r(o = ia(o, a.unstable_observedBits)), t.flags |= 1, Mi(e, t, r, n), t.child; case 14: return a = Xo(o = t.type, t.pendingProps), Ui(e, t, o, a = Xo(o.type, a), r, n); case 15: return Fi(e, t, t.type, t.pendingProps, r, n); case 17: return r = t.type, o = t.pendingProps, o = t.elementType === r ? o : Xo(r, o), null !== e && (e.alternate = null, t.alternate = null, t.flags |= 2), t.tag = 1, yo(r) ? (e = !0, Eo(t)) : e = !1, aa(t, n), ba(t, r, o), Ea(t, r, o, n), Hi(null, t, r, !0, e, n); case 19: return tu(e, t, n); case 23: case 24: return $i(e, t, n) }throw Error(i(156, t.tag)) }, tc.prototype.render = function (e) { Xl(e, this._internalRoot, null, null) }, tc.prototype.unmount = function () { var e = this._internalRoot, t = e.containerInfo; Xl(null, e, null, (function () { t[Jr] = null })) }, et = function (e) { 13 === e.tag && (fl(e, 4, cl()), ec(e, 4)) }, tt = function (e) { 13 === e.tag && (fl(e, 67108864, cl()), ec(e, 67108864)) }, nt = function (e) { if (13 === e.tag) { var t = cl(), n = sl(e); fl(e, n, t), ec(e, n) } }, rt = function (e, t) { return t() }, Ce = function (e, t, n) { switch (t) { case "input": if (ne(e, n), t = n.name, "radio" === n.type && null != t) { for (n = e; n.parentNode;)n = n.parentNode; for (n = n.querySelectorAll("input[name=" + JSON.stringify("" + t) + '][type="radio"]'), t = 0; t < n.length; t++) { var r = n[t]; if (r !== e && r.form === e.form) { var o = oo(r); if (!o) throw Error(i(90)); X(r), ne(r, o) } } } break; case "textarea": ce(e, n); break; case "select": null != (t = n.value) && ie(e, !!n.multiple, t, !1) } }, Le = yl, Re = function (e, t, n, r, o) { var a = Pu; Pu |= 4; try { return Go(98, e.bind(null, t, n, r, o)) } finally { 0 === (Pu = a) && (Vu(), Qo()) } }, Ae = function () { 0 == (49 & Pu) && (function () { if (null !== tl) { var e = tl; tl = null, e.forEach((function (e) { e.expiredLanes |= 24 & e.pendingLanes, pl(e, Wo()) })) } Qo() }(), Ll()) }, Ie = function (e, t) { var n = Pu; Pu |= 2; try { return e(t) } finally { 0 === (Pu = n) && (Vu(), Qo()) } }; var ac = { Events: [no, ro, oo, je, Te, Ll, { current: !1 }] }, ic = { findFiberByHostInstance: to, bundleType: 0, version: "17.0.2", rendererPackageName: "react-dom" }, uc = { bundleType: ic.bundleType, version: ic.version, rendererPackageName: ic.rendererPackageName, rendererConfig: ic.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: E.ReactCurrentDispatcher, findHostInstanceByFiber: function (e) { return null === (e = Ze(e)) ? null : e.stateNode }, findFiberByHostInstance: ic.findFiberByHostInstance || function () { return null }, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null }; if ("undefined" != typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var lc = __REACT_DEVTOOLS_GLOBAL_HOOK__; if (!lc.isDisabled && lc.supportsFiber) try { xo = lc.inject(uc), ko = lc } catch (me) { } } t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ac, t.createPortal = oc, t.findDOMNode = function (e) { if (null == e) return null; if (1 === e.nodeType) return e; var t = e._reactInternals; if (void 0 === t) { if ("function" == typeof e.render) throw Error(i(188)); throw Error(i(268, Object.keys(e))) } return null === (e = Ze(t)) ? null : e.stateNode }, t.flushSync = function (e, t) { var n = Pu; if (0 != (48 & n)) return e(t); Pu |= 1; try { if (e) return Go(99, e.bind(null, t)) } finally { Pu = n, Qo() } }, t.hydrate = function (e, t, n) { if (!nc(t)) throw Error(i(200)); return rc(null, e, t, !0, n) }, t.render = function (e, t, n) { if (!nc(t)) throw Error(i(200)); return rc(null, e, t, !1, n) }, t.unmountComponentAtNode = function (e) { if (!nc(e)) throw Error(i(40)); return !!e._reactRootContainer && (gl((function () { rc(null, null, e, !1, (function () { e._reactRootContainer = null, e[Jr] = null })) })), !0) }, t.unstable_batchedUpdates = yl, t.unstable_createPortal = function (e, t) { return oc(e, t, 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null) }, t.unstable_renderSubtreeIntoContainer = function (e, t, n, r) { if (!nc(n)) throw Error(i(200)); if (null == e || void 0 === e._reactInternals) throw Error(i(38)); return rc(e, t, n, !1, r) }, t.version = "17.0.2" }, 935: (e, t, n) => { "use strict"; !function e() { if ("undefined" != typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE) try { __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e) } catch (e) { console.error(e) } }(), e.exports = n(448) }, 921: (e, t) => { "use strict"; if ("function" == typeof Symbol && Symbol.for) { var n = Symbol.for; n("react.element"), n("react.portal"), n("react.fragment"), n("react.strict_mode"), n("react.profiler"), n("react.provider"), n("react.context"), n("react.forward_ref"), n("react.suspense"), n("react.suspense_list"), n("react.memo"), n("react.lazy"), n("react.block"), n("react.server.block"), n("react.fundamental"), n("react.debug_trace_mode"), n("react.legacy_hidden") } }, 864: (e, t, n) => { "use strict"; n(921) }, 86: (e, t) => { "use strict"; var n = "function" == typeof Symbol && Symbol.for; n && Symbol.for("react.element"), n && Symbol.for("react.portal"), n && Symbol.for("react.fragment"), n && Symbol.for("react.strict_mode"), n && Symbol.for("react.profiler"), n && Symbol.for("react.provider"), n && Symbol.for("react.context"), n && Symbol.for("react.async_mode"), n && Symbol.for("react.concurrent_mode"), n && Symbol.for("react.forward_ref"), n && Symbol.for("react.suspense"), n && Symbol.for("react.suspense_list"), n && Symbol.for("react.memo"), n && Symbol.for("react.lazy"), n && Symbol.for("react.block"), n && Symbol.for("react.fundamental"), n && Symbol.for("react.responder"), n && Symbol.for("react.scope") }, 663: (e, t, n) => { "use strict"; n(86) }, 251: (e, t, n) => { "use strict"; n(418); var r = n(294), o = 60103; if ("function" == typeof Symbol && Symbol.for) { var a = Symbol.for; o = a("react.element"), a("react.fragment") } var i = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, u = Object.prototype.hasOwnProperty, l = { key: !0, ref: !0, __self: !0, __source: !0 }; t.jsx = function (e, t, n) { var r, a = {}, c = null, s = null; for (r in void 0 !== n && (c = "" + n), void 0 !== t.key && (c = "" + t.key), void 0 !== t.ref && (s = t.ref), t) u.call(t, r) && !l.hasOwnProperty(r) && (a[r] = t[r]); if (e && e.defaultProps) for (r in t = e.defaultProps) void 0 === a[r] && (a[r] = t[r]); return { $$typeof: o, type: e, key: c, ref: s, props: a, _owner: i.current } } }, 408: (e, t, n) => { "use strict"; var r = n(418), o = 60103, a = 60106; t.Fragment = 60107, t.StrictMode = 60108, t.Profiler = 60114; var i = 60109, u = 60110, l = 60112; t.Suspense = 60113; var c = 60115, s = 60116; if ("function" == typeof Symbol && Symbol.for) { var f = Symbol.for; o = f("react.element"), a = f("react.portal"), t.Fragment = f("react.fragment"), t.StrictMode = f("react.strict_mode"), t.Profiler = f("react.profiler"), i = f("react.provider"), u = f("react.context"), l = f("react.forward_ref"), t.Suspense = f("react.suspense"), c = f("react.memo"), s = f("react.lazy") } var d = "function" == typeof Symbol && Symbol.iterator; function p(e) { for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++)t += "&args[]=" + encodeURIComponent(arguments[n]); return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." } var h = { isMounted: function () { return !1 }, enqueueForceUpdate: function () { }, enqueueReplaceState: function () { }, enqueueSetState: function () { } }, m = {}; function v(e, t, n) { this.props = e, this.context = t, this.refs = m, this.updater = n || h } function y() { } function g(e, t, n) { this.props = e, this.context = t, this.refs = m, this.updater = n || h } v.prototype.isReactComponent = {}, v.prototype.setState = function (e, t) { if ("object" != typeof e && "function" != typeof e && null != e) throw Error(p(85)); this.updater.enqueueSetState(this, e, t, "setState") }, v.prototype.forceUpdate = function (e) { this.updater.enqueueForceUpdate(this, e, "forceUpdate") }, y.prototype = v.prototype; var b = g.prototype = new y; b.constructor = g, r(b, v.prototype), b.isPureReactComponent = !0; var w = { current: null }, E = Object.prototype.hasOwnProperty, _ = { key: !0, ref: !0, __self: !0, __source: !0 }; function x(e, t, n) { var r, a = {}, i = null, u = null; if (null != t) for (r in void 0 !== t.ref && (u = t.ref), void 0 !== t.key && (i = "" + t.key), t) E.call(t, r) && !_.hasOwnProperty(r) && (a[r] = t[r]); var l = arguments.length - 2; if (1 === l) a.children = n; else if (1 < l) { for (var c = Array(l), s = 0; s < l; s++)c[s] = arguments[s + 2]; a.children = c } if (e && e.defaultProps) for (r in l = e.defaultProps) void 0 === a[r] && (a[r] = l[r]); return { $$typeof: o, type: e, key: i, ref: u, props: a, _owner: w.current } } function k(e) { return "object" == typeof e && null !== e && e.$$typeof === o } var S = /\/+/g; function C(e, t) { return "object" == typeof e && null !== e && null != e.key ? function (e) { var t = { "=": "=0", ":": "=2" }; return "$" + e.replace(/[=:]/g, (function (e) { return t[e] })) }("" + e.key) : t.toString(36) } function N(e, t, n, r, i) { var u = typeof e; "undefined" !== u && "boolean" !== u || (e = null); var l = !1; if (null === e) l = !0; else switch (u) { case "string": case "number": l = !0; break; case "object": switch (e.$$typeof) { case o: case a: l = !0 } }if (l) return i = i(l = e), e = "" === r ? "." + C(l, 0) : r, Array.isArray(i) ? (n = "", null != e && (n = e.replace(S, "$&/") + "/"), N(i, t, n, "", (function (e) { return e }))) : null != i && (k(i) && (i = function (e, t) { return { $$typeof: o, type: e.type, key: t, ref: e.ref, props: e.props, _owner: e._owner } }(i, n + (!i.key || l && l.key === i.key ? "" : ("" + i.key).replace(S, "$&/") + "/") + e)), t.push(i)), 1; if (l = 0, r = "" === r ? "." : r + ":", Array.isArray(e)) for (var c = 0; c < e.length; c++) { var s = r + C(u = e[c], c); l += N(u, t, n, s, i) } else if (s = function (e) { return null === e || "object" != typeof e ? null : "function" == typeof (e = d && e[d] || e["@@iterator"]) ? e : null }(e), "function" == typeof s) for (e = s.call(e), c = 0; !(u = e.next()).done;)l += N(u = u.value, t, n, s = r + C(u, c++), i); else if ("object" === u) throw t = "" + e, Error(p(31, "[object Object]" === t ? "object with keys {" + Object.keys(e).join(", ") + "}" : t)); return l } function O(e, t, n) { if (null == e) return e; var r = [], o = 0; return N(e, r, "", "", (function (e) { return t.call(n, e, o++) })), r } function P(e) { if (-1 === e._status) { var t = e._result; t = t(), e._status = 0, e._result = t, t.then((function (t) { 0 === e._status && (t = t.default, e._status = 1, e._result = t) }), (function (t) { 0 === e._status && (e._status = 2, e._result = t) })) } if (1 === e._status) return e._result; throw e._result } var j = { current: null }; function T() { var e = j.current; if (null === e) throw Error(p(321)); return e } var L = { ReactCurrentDispatcher: j, ReactCurrentBatchConfig: { transition: 0 }, ReactCurrentOwner: w, IsSomeRendererActing: { current: !1 }, assign: r }; t.Children = { map: O, forEach: function (e, t, n) { O(e, (function () { t.apply(this, arguments) }), n) }, count: function (e) { var t = 0; return O(e, (function () { t++ })), t }, toArray: function (e) { return O(e, (function (e) { return e })) || [] }, only: function (e) { if (!k(e)) throw Error(p(143)); return e } }, t.Component = v, t.PureComponent = g, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = L, t.cloneElement = function (e, t, n) { if (null == e) throw Error(p(267, e)); var a = r({}, e.props), i = e.key, u = e.ref, l = e._owner; if (null != t) { if (void 0 !== t.ref && (u = t.ref, l = w.current), void 0 !== t.key && (i = "" + t.key), e.type && e.type.defaultProps) var c = e.type.defaultProps; for (s in t) E.call(t, s) && !_.hasOwnProperty(s) && (a[s] = void 0 === t[s] && void 0 !== c ? c[s] : t[s]) } var s = arguments.length - 2; if (1 === s) a.children = n; else if (1 < s) { c = Array(s); for (var f = 0; f < s; f++)c[f] = arguments[f + 2]; a.children = c } return { $$typeof: o, type: e.type, key: i, ref: u, props: a, _owner: l } }, t.createContext = function (e, t) { return void 0 === t && (t = null), (e = { $$typeof: u, _calculateChangedBits: t, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null }).Provider = { $$typeof: i, _context: e }, e.Consumer = e }, t.createElement = x, t.createFactory = function (e) { var t = x.bind(null, e); return t.type = e, t }, t.createRef = function () { return { current: null } }, t.forwardRef = function (e) { return { $$typeof: l, render: e } }, t.isValidElement = k, t.lazy = function (e) { return { $$typeof: s, _payload: { _status: -1, _result: e }, _init: P } }, t.memo = function (e, t) { return { $$typeof: c, type: e, compare: void 0 === t ? null : t } }, t.useCallback = function (e, t) { return T().useCallback(e, t) }, t.useContext = function (e, t) { return T().useContext(e, t) }, t.useDebugValue = function () { }, t.useEffect = function (e, t) { return T().useEffect(e, t) }, t.useImperativeHandle = function (e, t, n) { return T().useImperativeHandle(e, t, n) }, t.useLayoutEffect = function (e, t) { return T().useLayoutEffect(e, t) }, t.useMemo = function (e, t) { return T().useMemo(e, t) }, t.useReducer = function (e, t, n) { return T().useReducer(e, t, n) }, t.useRef = function (e) { return T().useRef(e) }, t.useState = function (e) { return T().useState(e) }, t.version = "17.0.2" }, 294: (e, t, n) => { "use strict"; e.exports = n(408) }, 893: (e, t, n) => { "use strict"; e.exports = n(251) }, 766: e => { "use strict"; var t = { childContextTypes: !0, contextTypes: !0, defaultProps: !0, displayName: !0, getDefaultProps: !0, getDerivedStateFromProps: !0, mixins: !0, propTypes: !0, type: !0 }, n = { name: !0, length: !0, prototype: !0, caller: !0, callee: !0, arguments: !0, arity: !0 }, r = Object.defineProperty, o = Object.getOwnPropertyNames, a = Object.getOwnPropertySymbols, i = Object.getOwnPropertyDescriptor, u = Object.getPrototypeOf, l = u && u(Object); e.exports = function e(c, s, f) { if ("string" != typeof s) { if (l) { var d = u(s); d && d !== l && e(c, d, f) } var p = o(s); a && (p = p.concat(a(s))); for (var h = 0; h < p.length; ++h) { var m = p[h]; if (!(t[m] || n[m] || f && f[m])) { var v = i(s, m); try { r(c, m, v) } catch (e) { } } } return c } return c } }, 53: (e, t) => { "use strict"; var n, r, o, a; if ("object" == typeof performance && "function" == typeof performance.now) { var i = performance; t.unstable_now = function () { return i.now() } } else { var u = Date, l = u.now(); t.unstable_now = function () { return u.now() - l } } if ("undefined" == typeof window || "function" != typeof MessageChannel) { var c = null, s = null, f = function () { if (null !== c) try { var e = t.unstable_now(); c(!0, e), c = null } catch (e) { throw setTimeout(f, 0), e } }; n = function (e) { null !== c ? setTimeout(n, 0, e) : (c = e, setTimeout(f, 0)) }, r = function (e, t) { s = setTimeout(e, t) }, o = function () { clearTimeout(s) }, t.unstable_shouldYield = function () { return !1 }, a = t.unstable_forceFrameRate = function () { } } else { var d = window.setTimeout, p = window.clearTimeout; if ("undefined" != typeof console) { var h = window.cancelAnimationFrame; "function" != typeof window.requestAnimationFrame && console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"), "function" != typeof h && console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills") } var m = !1, v = null, y = -1, g = 5, b = 0; t.unstable_shouldYield = function () { return t.unstable_now() >= b }, a = function () { }, t.unstable_forceFrameRate = function (e) { 0 > e || 125 < e ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : g = 0 < e ? Math.floor(1e3 / e) : 5 }; var w = new MessageChannel, E = w.port2; w.port1.onmessage = function () { if (null !== v) { var e = t.unstable_now(); b = e + g; try { v(!0, e) ? E.postMessage(null) : (m = !1, v = null) } catch (e) { throw E.postMessage(null), e } } else m = !1 }, n = function (e) { v = e, m || (m = !0, E.postMessage(null)) }, r = function (e, n) { y = d((function () { e(t.unstable_now()) }), n) }, o = function () { p(y), y = -1 } } function _(e, t) { var n = e.length; e.push(t); e: for (; ;) { var r = n - 1 >>> 1, o = e[r]; if (!(void 0 !== o && 0 < S(o, t))) break e; e[r] = t, e[n] = o, n = r } } function x(e) { return void 0 === (e = e[0]) ? null : e } function k(e) { var t = e[0]; if (void 0 !== t) { var n = e.pop(); if (n !== t) { e[0] = n; e: for (var r = 0, o = e.length; r < o;) { var a = 2 * (r + 1) - 1, i = e[a], u = a + 1, l = e[u]; if (void 0 !== i && 0 > S(i, n)) void 0 !== l && 0 > S(l, i) ? (e[r] = l, e[u] = n, r = u) : (e[r] = i, e[a] = n, r = a); else { if (!(void 0 !== l && 0 > S(l, n))) break e; e[r] = l, e[u] = n, r = u } } } return t } return null } function S(e, t) { var n = e.sortIndex - t.sortIndex; return 0 !== n ? n : e.id - t.id } var C = [], N = [], O = 1, P = null, j = 3, T = !1, L = !1, R = !1; function A(e) { for (var t = x(N); null !== t;) { if (null === t.callback) k(N); else { if (!(t.startTime <= e)) break; k(N), t.sortIndex = t.expirationTime, _(C, t) } t = x(N) } } function I(e) { if (R = !1, A(e), !L) if (null !== x(C)) L = !0, n(z); else { var t = x(N); null !== t && r(I, t.startTime - e) } } function z(e, n) { L = !1, R && (R = !1, o()), T = !0; var a = j; try { for (A(n), P = x(C); null !== P && (!(P.expirationTime > n) || e && !t.unstable_shouldYield());) { var i = P.callback; if ("function" == typeof i) { P.callback = null, j = P.priorityLevel; var u = i(P.expirationTime <= n); n = t.unstable_now(), "function" == typeof u ? P.callback = u : P === x(C) && k(C), A(n) } else k(C); P = x(C) } if (null !== P) var l = !0; else { var c = x(N); null !== c && r(I, c.startTime - n), l = !1 } return l } finally { P = null, j = a, T = !1 } } var M = a; t.unstable_IdlePriority = 5, t.unstable_ImmediatePriority = 1, t.unstable_LowPriority = 4, t.unstable_NormalPriority = 3, t.unstable_Profiling = null, t.unstable_UserBlockingPriority = 2, t.unstable_cancelCallback = function (e) { e.callback = null }, t.unstable_continueExecution = function () { L || T || (L = !0, n(z)) }, t.unstable_getCurrentPriorityLevel = function () { return j }, t.unstable_getFirstCallbackNode = function () { return x(C) }, t.unstable_next = function (e) { switch (j) { case 1: case 2: case 3: var t = 3; break; default: t = j }var n = j; j = t; try { return e() } finally { j = n } }, t.unstable_pauseExecution = function () { }, t.unstable_requestPaint = M, t.unstable_runWithPriority = function (e, t) { switch (e) { case 1: case 2: case 3: case 4: case 5: break; default: e = 3 }var n = j; j = e; try { return t() } finally { j = n } }, t.unstable_scheduleCallback = function (e, a, i) { var u = t.unstable_now(); switch (i = "object" == typeof i && null !== i && "number" == typeof (i = i.delay) && 0 < i ? u + i : u, e) { case 1: var l = -1; break; case 2: l = 250; break; case 5: l = 1073741823; break; case 4: l = 1e4; break; default: l = 5e3 }return e = { id: O++, callback: a, priorityLevel: e, startTime: i, expirationTime: l = i + l, sortIndex: -1 }, i > u ? (e.sortIndex = i, _(N, e), null === x(C) && e === x(N) && (R ? o() : R = !0, r(I, i - u))) : (e.sortIndex = l, _(C, e), L || T || (L = !0, n(z))), e }, t.unstable_wrapCallback = function (e) { var t = j; return function () { var n = j; j = t; try { return e.apply(this, arguments) } finally { j = n } } } }, 840: (e, t, n) => { "use strict"; e.exports = n(53) }, 731: (e, t, n) => { "use strict"; var r = n(379), o = n.n(r), a = n(415), i = o()(a.default, { insert: "head", singleton: !1 }); if (!a.default.locals || e.hot.invalidate) { var u = a.default.locals; e.hot.accept(415, (t => { a = n(415), function (e, t, n) { if (!e && t || e && !t) return !1; var r; for (r in e) if (e[r] !== t[r]) return !1; for (r in t) if (!e[r]) return !1; return !0 }(u, a.default.locals) ? (u = a.default.locals, i(a.default)) : e.hot.invalidate() })) } e.hot.dispose((function () { i() })), a.default.locals }, 90: (e, t, n) => { "use strict"; var r = n(379), o = n.n(r), a = n(627), i = o()(a.default, { insert: "head", singleton: !1 }); if (!a.default.locals || e.hot.invalidate) { var u = a.default.locals; e.hot.accept(627, (t => { a = n(627), function (e, t, n) { if (!e && t || e && !t) return !1; var r; for (r in e) if (e[r] !== t[r]) return !1; for (r in t) if (!e[r]) return !1; return !0 }(u, a.default.locals) ? (u = a.default.locals, i(a.default)) : e.hot.invalidate() })) } e.hot.dispose((function () { i() })), a.default.locals }, 925: (e, t, n) => { "use strict"; var r = n(379), o = n.n(r), a = n(457), i = o()(a.default, { insert: "head", singleton: !1 }); if (!a.default.locals || e.hot.invalidate) { var u = a.default.locals; e.hot.accept(457, (t => { a = n(457), function (e, t, n) { if (!e && t || e && !t) return !1; var r; for (r in e) if (e[r] !== t[r]) return !1; for (r in t) if (!e[r]) return !1; return !0 }(u, a.default.locals) ? (u = a.default.locals, i(a.default)) : e.hot.invalidate() })) } e.hot.dispose((function () { i() })), a.default.locals }, 200: (e, t, n) => { "use strict"; var r = n(379), o = n.n(r), a = n(642), i = o()(a.default, { insert: "head", singleton: !1 }); if (!a.default.locals || e.hot.invalidate) { var u = a.default.locals; e.hot.accept(642, (t => { a = n(642), function (e, t, n) { if (!e && t || e && !t) return !1; var r; for (r in e) if (e[r] !== t[r]) return !1; for (r in t) if (!e[r]) return !1; return !0 }(u, a.default.locals) ? (u = a.default.locals, i(a.default)) : e.hot.invalidate() })) } e.hot.dispose((function () { i() })), a.default.locals }, 137: (e, t, n) => { "use strict"; var r = n(379), o = n.n(r), a = n(223), i = o()(a.default, { insert: "head", singleton: !1 }); if (!a.default.locals || e.hot.invalidate) { var u = a.default.locals; e.hot.accept(223, (t => { a = n(223), function (e, t, n) { if (!e && t || e && !t) return !1; var r; for (r in e) if (e[r] !== t[r]) return !1; for (r in t) if (!e[r]) return !1; return !0 }(u, a.default.locals) ? (u = a.default.locals, i(a.default)) : e.hot.invalidate() })) } e.hot.dispose((function () { i() })), a.default.locals }, 379: (e, t, n) => { "use strict"; var r, o = function () { var e = {}; return function (t) { if (void 0 === e[t]) { var n = document.querySelector(t); if (window.HTMLIFrameElement && n instanceof window.HTMLIFrameElement) try { n = n.contentDocument.head } catch (e) { n = null } e[t] = n } return e[t] } }(), a = []; function i(e) { for (var t = -1, n = 0; n < a.length; n++)if (a[n].identifier === e) { t = n; break } return t } function u(e, t) { for (var n = {}, r = [], o = 0; o < e.length; o++) { var u = e[o], l = t.base ? u[0] + t.base : u[0], c = n[l] || 0, s = "".concat(l, " ").concat(c); n[l] = c + 1; var f = i(s), d = { css: u[1], media: u[2], sourceMap: u[3] }; -1 !== f ? (a[f].references++, a[f].updater(d)) : a.push({ identifier: s, updater: m(d, t), references: 1 }), r.push(s) } return r } function l(e) { var t = document.createElement("style"), r = e.attributes || {}; if (void 0 === r.nonce) { var a = n.nc; a && (r.nonce = a) } if (Object.keys(r).forEach((function (e) { t.setAttribute(e, r[e]) })), "function" == typeof e.insert) e.insert(t); else { var i = o(e.insert || "head"); if (!i) throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); i.appendChild(t) } return t } var c, s = (c = [], function (e, t) { return c[e] = t, c.filter(Boolean).join("\n") }); function f(e, t, n, r) { var o = n ? "" : r.media ? "@media ".concat(r.media, " {").concat(r.css, "}") : r.css; if (e.styleSheet) e.styleSheet.cssText = s(t, o); else { var a = document.createTextNode(o), i = e.childNodes; i[t] && e.removeChild(i[t]), i.length ? e.insertBefore(a, i[t]) : e.appendChild(a) } } function d(e, t, n) { var r = n.css, o = n.media, a = n.sourceMap; if (o ? e.setAttribute("media", o) : e.removeAttribute("media"), a && "undefined" != typeof btoa && (r += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))), " */")), e.styleSheet) e.styleSheet.cssText = r; else { for (; e.firstChild;)e.removeChild(e.firstChild); e.appendChild(document.createTextNode(r)) } } var p = null, h = 0; function m(e, t) { var n, r, o; if (t.singleton) { var a = h++; n = p || (p = l(t)), r = f.bind(null, n, a, !1), o = f.bind(null, n, a, !0) } else n = l(t), r = d.bind(null, n, t), o = function () { !function (e) { if (null === e.parentNode) return !1; e.parentNode.removeChild(e) }(n) }; return r(e), function (t) { if (t) { if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap) return; r(e = t) } else o() } } e.exports = function (e, t) { (t = t || {}).singleton || "boolean" == typeof t.singleton || (t.singleton = (void 0 === r && (r = Boolean(window && document && document.all && !window.atob)), r)); var n = u(e = e || [], t); return function (e) { if (e = e || [], "[object Array]" === Object.prototype.toString.call(e)) { for (var r = 0; r < n.length; r++) { var o = i(n[r]); a[o].references-- } for (var l = u(e, t), c = 0; c < n.length; c++) { var s = i(n[c]); 0 === a[s].references && (a[s].updater(), a.splice(s, 1)) } n = l } } } }, 121: (e, t, n) => { "use strict"; n.d(t, { Z: () => r }), e = n.hmd(e); const r = function (e) { var t, n = e.Symbol; return "function" == typeof n ? n.observable ? t = n.observable : (t = n("observable"), n.observable = t) : t = "@@observable", t }("undefined" != typeof self ? self : "undefined" != typeof window ? window : void 0 !== n.g ? n.g : e) }, 473: e => { "use strict"; e.exports = function () { } } }, r = {}; function o(e) { var t = r[e]; if (void 0 !== t) { if (void 0 !== t.error) throw t.error; return t.exports } var a = r[e] = { id: e, loaded: !1, exports: {} }; try { var i = { id: e, module: a, factory: n[e], require: o }; o.i.forEach((function (e) { e(i) })), a = i.module, i.factory.call(a.exports, a, a.exports, i.require) } catch (e) { throw a.error = e, e } return a.loaded = !0, a.exports } o.m = n, o.c = r, o.i = [], o.n = e => { var t = e && e.__esModule ? () => e.default : () => e; return o.d(t, { a: t }), t }, o.d = (e, t) => { for (var n in t) o.o(t, n) && !o.o(e, n) && Object.defineProperty(e, n, { enumerable: !0, get: t[n] }) }, o.hu = e => e + "." + o.h() + ".hot-update.js", o.hmrF = () => "main." + o.h() + ".hot-update.json", o.h = () => "32de79fe4bb7c61e5904", o.g = function () { if ("object" == typeof globalThis) return globalThis; try { return this || new Function("return this")() } catch (e) { if ("object" == typeof window) return window } }(), o.hmd = e => ((e = Object.create(e)).children || (e.children = []), Object.defineProperty(e, "exports", { enumerable: !0, set: () => { throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: " + e.id) } }), e), o.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), e = {}, t = "jupyterhub-admin-react:", o.l = (n, r, a, i) => { if (e[n]) e[n].push(r); else { var u, l; if (void 0 !== a) for (var c = document.getElementsByTagName("script"), s = 0; s < c.length; s++) { var f = c[s]; if (f.getAttribute("src") == n || f.getAttribute("data-webpack") == t + a) { u = f; break } } u || (l = !0, (u = document.createElement("script")).charset = "utf-8", u.timeout = 120, o.nc && u.setAttribute("nonce", o.nc), u.setAttribute("data-webpack", t + a), u.src = n), e[n] = [r]; var d = (t, r) => { u.onerror = u.onload = null, clearTimeout(p); var o = e[n]; if (delete e[n], u.parentNode && u.parentNode.removeChild(u), o && o.forEach((e => e(r))), t) return t(r) }, p = setTimeout(d.bind(null, void 0, { type: "timeout", target: u }), 12e4); u.onerror = d.bind(null, u.onerror), u.onload = d.bind(null, u.onload), l && document.head.appendChild(u) } }, o.r = e => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, o.nmd = e => (e.paths = [], e.children || (e.children = []), e), (() => { var e, t, n, r = {}, a = o.c, i = [], u = [], l = "idle", c = 0, s = []; function f(e) { l = e; for (var t = [], n = 0; n < u.length; n++)t[n] = u[n].call(null, e); return Promise.all(t) } function d() { 0 == --c && f("ready").then((function () { if (0 === c) { var e = s; s = []; for (var t = 0; t < e.length; t++)e[t]() } })) } function p(e) { if ("idle" !== l) throw new Error("check() is only allowed in idle status"); return f("check").then(o.hmrM).then((function (n) { return n ? f("prepare").then((function () { var r = []; return t = [], Promise.all(Object.keys(o.hmrC).reduce((function (e, a) { return o.hmrC[a](n.c, n.r, n.m, e, t, r), e }), [])).then((function () { return t = function () { return e ? m(e) : f("ready").then((function () { return r })) }, 0 === c ? t() : new Promise((function (e) { s.push((function () { e(t()) })) })); var t })) })) : f(v() ? "ready" : "idle").then((function () { return null })) })) } function h(e) { return "ready" !== l ? Promise.resolve().then((function () { throw new Error("apply() is only allowed in ready status (state: " + l + ")") })) : m(e) } function m(e) { e = e || {}, v(); var r = t.map((function (t) { return t(e) })); t = void 0; var o = r.map((function (e) { return e.error })).filter(Boolean); if (o.length > 0) return f("abort").then((function () { throw o[0] })); var a = f("dispose"); r.forEach((function (e) { e.dispose && e.dispose() })); var i, u = f("apply"), l = function (e) { i || (i = e) }, c = []; return r.forEach((function (e) { if (e.apply) { var t = e.apply(l); if (t) for (var n = 0; n < t.length; n++)c.push(t[n]) } })), Promise.all([a, u]).then((function () { return i ? f("fail").then((function () { throw i })) : n ? m(e).then((function (e) { return c.forEach((function (t) { e.indexOf(t) < 0 && e.push(t) })), e })) : f("idle").then((function () { return c })) })) } function v() { if (n) return t || (t = []), Object.keys(o.hmrI).forEach((function (e) { n.forEach((function (n) { o.hmrI[e](n, t) })) })), n = void 0, !0 } o.hmrD = r, o.i.push((function (s) { var m, v, y, g, b = s.module, w = function (t, n) { var r = a[n]; if (!r) return t; var o = function (o) { if (r.hot.active) { if (a[o]) { var u = a[o].parents; -1 === u.indexOf(n) && u.push(n) } else i = [n], e = o; -1 === r.children.indexOf(o) && r.children.push(o) } else console.warn("[HMR] unexpected require(" + o + ") from disposed module " + n), i = []; return t(o) }, u = function (e) { return { configurable: !0, enumerable: !0, get: function () { return t[e] }, set: function (n) { t[e] = n } } }; for (var s in t) Object.prototype.hasOwnProperty.call(t, s) && "e" !== s && Object.defineProperty(o, s, u(s)); return o.e = function (e) { return function (e) { switch (l) { case "ready": f("prepare"); case "prepare": return c++, e.then(d, d), e; default: return e } }(t.e(e)) }, o }(s.require, s.id); b.hot = (m = s.id, v = b, g = { _acceptedDependencies: {}, _acceptedErrorHandlers: {}, _declinedDependencies: {}, _selfAccepted: !1, _selfDeclined: !1, _selfInvalidated: !1, _disposeHandlers: [], _main: y = e !== m, _requireSelf: function () { i = v.parents.slice(), e = y ? void 0 : m, o(m) }, active: !0, accept: function (e, t, n) { if (void 0 === e) g._selfAccepted = !0; else if ("function" == typeof e) g._selfAccepted = e; else if ("object" == typeof e && null !== e) for (var r = 0; r < e.length; r++)g._acceptedDependencies[e[r]] = t || function () { }, g._acceptedErrorHandlers[e[r]] = n; else g._acceptedDependencies[e] = t || function () { }, g._acceptedErrorHandlers[e] = n }, decline: function (e) { if (void 0 === e) g._selfDeclined = !0; else if ("object" == typeof e && null !== e) for (var t = 0; t < e.length; t++)g._declinedDependencies[e[t]] = !0; else g._declinedDependencies[e] = !0 }, dispose: function (e) { g._disposeHandlers.push(e) }, addDisposeHandler: function (e) { g._disposeHandlers.push(e) }, removeDisposeHandler: function (e) { var t = g._disposeHandlers.indexOf(e); t >= 0 && g._disposeHandlers.splice(t, 1) }, invalidate: function () { switch (this._selfInvalidated = !0, l) { case "idle": t = [], Object.keys(o.hmrI).forEach((function (e) { o.hmrI[e](m, t) })), f("ready"); break; case "ready": Object.keys(o.hmrI).forEach((function (e) { o.hmrI[e](m, t) })); break; case "prepare": case "check": case "dispose": case "apply": (n = n || []).push(m) } }, check: p, apply: h, status: function (e) { if (!e) return l; u.push(e) }, addStatusHandler: function (e) { u.push(e) }, removeStatusHandler: function (e) { var t = u.indexOf(e); t >= 0 && u.splice(t, 1) }, data: r[m] }, e = void 0, g), b.parents = i, b.children = [], i = [], s.require = w })), o.hmrC = {}, o.hmrI = {} })(), o.p = "/", (() => { var e, t, n, r, a, i = o.hmrS_jsonp = o.hmrS_jsonp || { 179: 0 }, u = {}; function l(t, n) { return e = n, new Promise(((e, n) => { u[t] = e; var r = o.p + o.hu(t), a = new Error; o.l(r, (e => { if (u[t]) { u[t] = void 0; var r = e && ("load" === e.type ? "missing" : e.type), o = e && e.target && e.target.src; a.message = "Loading hot update chunk " + t + " failed.\n(" + r + ": " + o + ")", a.name = "ChunkLoadError", a.type = r, a.request = o, n(a) } })) })) } function c(e) { function u(e) { for (var t = [e], n = {}, r = t.map((function (e) { return { chain: [e], id: e } })); r.length > 0;) { var a = r.pop(), i = a.id, u = a.chain, c = o.c[i]; if (c && (!c.hot._selfAccepted || c.hot._selfInvalidated)) { if (c.hot._selfDeclined) return { type: "self-declined", chain: u, moduleId: i }; if (c.hot._main) return { type: "unaccepted", chain: u, moduleId: i }; for (var s = 0; s < c.parents.length; s++) { var f = c.parents[s], d = o.c[f]; if (d) { if (d.hot._declinedDependencies[i]) return { type: "declined", chain: u.concat([f]), moduleId: i, parentId: f }; -1 === t.indexOf(f) && (d.hot._acceptedDependencies[i] ? (n[f] || (n[f] = []), l(n[f], [i])) : (delete n[f], t.push(f), r.push({ chain: u.concat([f]), id: f }))) } } } } return { type: "accepted", moduleId: e, outdatedModules: t, outdatedDependencies: n } } function l(e, t) { for (var n = 0; n < t.length; n++) { var r = t[n]; -1 === e.indexOf(r) && e.push(r) } } o.f && delete o.f.jsonpHmr, t = void 0; var c = {}, s = [], f = {}, d = function (e) { console.warn("[HMR] unexpected require(" + e.id + ") to disposed module") }; for (var p in n) if (o.o(n, p)) { var h, m = n[p], v = !1, y = !1, g = !1, b = ""; switch ((h = m ? u(p) : { type: "disposed", moduleId: p }).chain && (b = "\nUpdate propagation: " + h.chain.join(" -> ")), h.type) { case "self-declined": e.onDeclined && e.onDeclined(h), e.ignoreDeclined || (v = new Error("Aborted because of self decline: " + h.moduleId + b)); break; case "declined": e.onDeclined && e.onDeclined(h), e.ignoreDeclined || (v = new Error("Aborted because of declined dependency: " + h.moduleId + " in " + h.parentId + b)); break; case "unaccepted": e.onUnaccepted && e.onUnaccepted(h), e.ignoreUnaccepted || (v = new Error("Aborted because " + p + " is not accepted" + b)); break; case "accepted": e.onAccepted && e.onAccepted(h), y = !0; break; case "disposed": e.onDisposed && e.onDisposed(h), g = !0; break; default: throw new Error("Unexception type " + h.type) }if (v) return { error: v }; if (y) for (p in f[p] = m, l(s, h.outdatedModules), h.outdatedDependencies) o.o(h.outdatedDependencies, p) && (c[p] || (c[p] = []), l(c[p], h.outdatedDependencies[p])); g && (l(s, [h.moduleId]), f[p] = d) } n = void 0; for (var w, E = [], _ = 0; _ < s.length; _++) { var x = s[_], k = o.c[x]; k && (k.hot._selfAccepted || k.hot._main) && f[x] !== d && !k.hot._selfInvalidated && E.push({ module: x, require: k.hot._requireSelf, errorHandler: k.hot._selfAccepted }) } return { dispose: function () { var e; r.forEach((function (e) { delete i[e] })), r = void 0; for (var t, n = s.slice(); n.length > 0;) { var a = n.pop(), u = o.c[a]; if (u) { var l = {}, f = u.hot._disposeHandlers; for (_ = 0; _ < f.length; _++)f[_].call(null, l); for (o.hmrD[a] = l, u.hot.active = !1, delete o.c[a], delete c[a], _ = 0; _ < u.children.length; _++) { var d = o.c[u.children[_]]; d && (e = d.parents.indexOf(a)) >= 0 && d.parents.splice(e, 1) } } } for (var p in c) if (o.o(c, p) && (u = o.c[p])) for (w = c[p], _ = 0; _ < w.length; _++)t = w[_], (e = u.children.indexOf(t)) >= 0 && u.children.splice(e, 1) }, apply: function (t) { for (var n in f) o.o(f, n) && (o.m[n] = f[n]); for (var r = 0; r < a.length; r++)a[r](o); for (var i in c) if (o.o(c, i)) { var u = o.c[i]; if (u) { w = c[i]; for (var l = [], d = [], p = [], h = 0; h < w.length; h++) { var m = w[h], v = u.hot._acceptedDependencies[m], y = u.hot._acceptedErrorHandlers[m]; if (v) { if (-1 !== l.indexOf(v)) continue; l.push(v), d.push(y), p.push(m) } } for (var g = 0; g < l.length; g++)try { l[g].call(null, w) } catch (n) { if ("function" == typeof d[g]) try { d[g](n, { moduleId: i, dependencyId: p[g] }) } catch (r) { e.onErrored && e.onErrored({ type: "accept-error-handler-errored", moduleId: i, dependencyId: p[g], error: r, originalError: n }), e.ignoreErrored || (t(r), t(n)) } else e.onErrored && e.onErrored({ type: "accept-errored", moduleId: i, dependencyId: p[g], error: n }), e.ignoreErrored || t(n) } } } for (var b = 0; b < E.length; b++) { var _ = E[b], x = _.module; try { _.require(x) } catch (n) { if ("function" == typeof _.errorHandler) try { _.errorHandler(n, { moduleId: x, module: o.c[x] }) } catch (r) { e.onErrored && e.onErrored({ type: "self-accept-error-handler-errored", moduleId: x, error: r, originalError: n }), e.ignoreErrored || (t(r), t(n)) } else e.onErrored && e.onErrored({ type: "self-accept-errored", moduleId: x, error: n }), e.ignoreErrored || t(n) } } return s } } } self.webpackHotUpdatejupyterhub_admin_react = (t, r, i) => { for (var l in r) o.o(r, l) && (n[l] = r[l], e && e.push(l)); i && a.push(i), u[t] && (u[t](), u[t] = void 0) }, o.hmrI.jsonp = function (e, t) { n || (n = {}, a = [], r = [], t.push(c)), o.o(n, e) || (n[e] = o.m[e]) }, o.hmrC.jsonp = function (e, u, s, f, d, p) { d.push(c), t = {}, r = u, n = s.reduce((function (e, t) { return e[t] = !1, e }), {}), a = [], e.forEach((function (e) { o.o(i, e) && void 0 !== i[e] ? (f.push(l(e, p)), t[e] = !0) : t[e] = !1 })), o.f && (o.f.jsonpHmr = function (e, n) { t && o.o(t, e) && !t[e] && (n.push(l(e)), t[e] = !0) }) }, o.hmrM = () => { if ("undefined" == typeof fetch) throw new Error("No browser support: need fetch API"); return fetch(o.p + o.hmrF()).then((e => { if (404 !== e.status) { if (!e.ok) throw new Error("Failed to fetch update manifest " + e.statusText); return e.json() } })) } })(), o.nc = void 0, o(927) })();
\ No newline at end of file
diff --git a/static/js/admin-react.js.LICENSE b/static/js/admin-react.js.LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..5aced51dd0f70e72e130816809eeb53dddc2deaf
--- /dev/null
+++ b/static/js/admin-react.js.LICENSE
@@ -0,0 +1,67 @@
+/*
+object-assign
+(c) Sindre Sorhus
+@license MIT
+*/
+
+/*!
+  Copyright (c) 2018 Jed Watson.
+  Licensed under the MIT License (MIT), see
+  http://jedwatson.github.io/classnames
+*/
+
+/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
+
+/**
+ * @license
+ * Lodash <https://lodash.com/>
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
+ * Released under MIT license <https://lodash.com/license>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ */
+
+/** @license React v0.20.2
+ * scheduler.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v16.13.1
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v17.0.2
+ * react-dom.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v17.0.2
+ * react-jsx-runtime.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v17.0.2
+ * react.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
diff --git a/static/js/admin.js b/static/js/admin.js
new file mode 100644
index 0000000000000000000000000000000000000000..ddf5ccddbca601015211f52693ea05945f875ce4
--- /dev/null
+++ b/static/js/admin.js
@@ -0,0 +1,296 @@
+// Copyright (c) Jupyter Development Team.
+// Distributed under the terms of the Modified BSD License.
+
+require(["jquery", "moment", "jhapi", "utils"], function (
+  $,
+  moment,
+  JHAPI,
+  utils
+) {
+  "use strict";
+
+  var base_url = window.jhdata.base_url;
+  var prefix = window.jhdata.prefix;
+  var admin_access = window.jhdata.admin_access;
+  var options_form = window.jhdata.options_form;
+
+  var api = new JHAPI(base_url);
+
+  function getRow(element) {
+    var original = element;
+    while (!element.hasClass("server-row")) {
+      element = element.parent();
+      if (element[0].tagName === "BODY") {
+        console.error("Couldn't find row for", original);
+        throw new Error("No server-row found");
+      }
+    }
+    return element;
+  }
+
+  function resort(col, order) {
+    var query = window.location.search.slice(1).split("&");
+    // if col already present in args, remove it
+    var i = 0;
+    while (i < query.length) {
+      if (query[i] === "sort=" + col) {
+        query.splice(i, 1);
+        if (query[i] && query[i].substr(0, 6) === "order=") {
+          query.splice(i, 1);
+        }
+      } else {
+        i += 1;
+      }
+    }
+    // add new order to the front
+    if (order) {
+      query.unshift("order=" + order);
+    }
+    query.unshift("sort=" + col);
+    // reload page with new order
+    window.location = window.location.pathname + "?" + query.join("&");
+  }
+
+  $("th").map(function (i, th) {
+    th = $(th);
+    var col = th.data("sort");
+    if (!col || col.length === 0) {
+      return;
+    }
+    var order = th.find("i").hasClass("fa-sort-desc") ? "asc" : "desc";
+    th.find("a").click(function () {
+      resort(col, order);
+    });
+  });
+
+  $(".time-col").map(function (i, el) {
+    // convert ISO datestamps to nice momentjs ones
+    el = $(el);
+    var m = moment(new Date(el.text().trim()));
+    el.text(m.isValid() ? m.fromNow() : "Never");
+  });
+
+  $(".stop-server").click(function () {
+    var el = $(this);
+    var row = getRow(el);
+    var serverID = row.data("server-id");
+    var user = row.data("user");
+    el.text("stopping...");
+    var stop = function (options) {
+      return api.stop_server(user, options);
+    };
+    if (serverID !== "") {
+      stop = function (options) {
+        return api.stop_named_server(user, serverID, options);
+      };
+    }
+    stop({
+      success: function () {
+        el.text("stop " + serverID).addClass("hidden");
+        row.find(".access-server").addClass("hidden");
+        row.find(".start-server").removeClass("hidden");
+      },
+    });
+  });
+
+  $(".delete-server").click(function () {
+    var el = $(this);
+    var row = getRow(el);
+    var serverID = row.data("server-id");
+    var user = row.data("user");
+    el.text("deleting...");
+    api.delete_named_server(user, serverID, {
+      success: function () {
+        row.remove();
+      },
+    });
+  });
+
+  $(".access-server").map(function (i, el) {
+    el = $(el);
+    var row = getRow(el);
+    var user = row.data("user");
+    var serverID = row.data("server-id");
+    el.attr(
+      "href",
+      utils.url_path_join(prefix, "user", user, serverID) + "/"
+    );
+  });
+
+  if (admin_access && options_form) {
+    // if admin access and options form are enabled
+    // link to spawn page instead of making API requests
+    $(".start-server").map(function (i, el) {
+      el = $(el);
+      var row = getRow(el);
+      var user = row.data("user");
+      var serverID = row.data("server-id");
+      el.attr(
+        "href",
+        utils.url_path_join(prefix, "hub/spawn", user, serverID)
+      );
+    });
+    // cannot start all servers in this case
+    // since it would mean opening a bunch of tabs
+    $("#start-all-servers").addClass("hidden");
+  } else {
+    $(".start-server").click(function () {
+      var el = $(this);
+      var row = getRow(el);
+      var user = row.data("user");
+      var serverID = row.data("server-id");
+      el.text("starting...");
+      var start = function (options) {
+        return api.start_server(user, options);
+      };
+      if (serverID !== "") {
+        start = function (options) {
+          return api.start_named_server(user, serverID, options);
+        };
+      }
+      start({
+        success: function () {
+          el.text("start " + serverID).addClass("hidden");
+          row.find(".stop-server").removeClass("hidden");
+          row.find(".access-server").removeClass("hidden");
+        },
+      });
+    });
+  }
+
+  $(".edit-user").click(function () {
+    var el = $(this);
+    var row = getRow(el);
+    var user = row.data("user");
+    var admin = row.data("admin");
+    var dialog = $("#edit-user-dialog");
+    dialog.data("user", user);
+    dialog.find(".username-input").val(user);
+    dialog.find(".admin-checkbox").attr("checked", admin === "True");
+    dialog.modal();
+  });
+
+  $("#edit-user-dialog")
+    .find(".save-button")
+    .click(function () {
+      var dialog = $("#edit-user-dialog");
+      var user = dialog.data("user");
+      var name = dialog.find(".username-input").val();
+      var admin = dialog.find(".admin-checkbox").prop("checked");
+      api.edit_user(
+        user,
+        {
+          admin: admin,
+          name: name,
+        },
+        {
+          success: function () {
+            window.location.reload();
+          },
+        }
+      );
+    });
+
+  $(".delete-user").click(function () {
+    var el = $(this);
+    var row = getRow(el);
+    var user = row.data("user");
+    var dialog = $("#delete-user-dialog");
+    dialog.find(".delete-username").text(user);
+    dialog.modal();
+  });
+
+  $("#delete-user-dialog")
+    .find(".delete-button")
+    .click(function () {
+      var dialog = $("#delete-user-dialog");
+      var username = dialog.find(".delete-username").text();
+      console.log("deleting", username);
+      api.delete_user(username, {
+        success: function () {
+          window.location.reload();
+        },
+      });
+    });
+
+  $("#add-users").click(function () {
+    var dialog = $("#add-users-dialog");
+    dialog.find(".username-input").val("");
+    dialog.find(".admin-checkbox").prop("checked", false);
+    dialog.modal();
+  });
+
+  $("#add-users-dialog")
+    .find(".save-button")
+    .click(function () {
+      var dialog = $("#add-users-dialog");
+      var lines = dialog.find(".username-input").val().split("\n");
+      var admin = dialog.find(".admin-checkbox").prop("checked");
+      var usernames = [];
+      lines.map(function (line) {
+        var username = line.trim();
+        if (username.length) {
+          usernames.push(username);
+        }
+      });
+
+      api.add_users(
+        usernames,
+        { admin: admin },
+        {
+          success: function () {
+            window.location.reload();
+          },
+        }
+      );
+    });
+
+  $("#stop-all-servers").click(function () {
+    $("#stop-all-servers-dialog").modal();
+  });
+
+  $("#start-all-servers").click(function () {
+    $("#start-all-servers-dialog").modal();
+  });
+
+  $("#stop-all-servers-dialog")
+    .find(".stop-all-button")
+    .click(function () {
+      // stop all clicks all the active stop buttons
+      $(".stop-server").not(".hidden").click();
+    });
+
+  function start(el) {
+    return function () {
+      $(el).click();
+    };
+  }
+
+  $("#start-all-servers-dialog")
+    .find(".start-all-button")
+    .click(function () {
+      $(".start-server")
+        .not(".hidden")
+        .each(function (i) {
+          setTimeout(start(this), i * 500);
+        });
+    });
+
+  $("#shutdown-hub").click(function () {
+    var dialog = $("#shutdown-hub-dialog");
+    dialog.find("input[type=checkbox]").prop("checked", true);
+    dialog.modal();
+  });
+
+  $("#shutdown-hub-dialog")
+    .find(".shutdown-button")
+    .click(function () {
+      var dialog = $("#shutdown-hub-dialog");
+      var servers = dialog.find(".shutdown-servers-checkbox").prop("checked");
+      var proxy = dialog.find(".shutdown-proxy-checkbox").prop("checked");
+      api.shutdown_hub({
+        proxy: proxy,
+        servers: servers,
+      });
+    });
+});
diff --git a/static/js/custom.js b/static/js/custom.js
new file mode 100644
index 0000000000000000000000000000000000000000..95c220052902c9ef95fcf37528475fa0cc1ac92a
--- /dev/null
+++ b/static/js/custom.js
@@ -0,0 +1,31 @@
+define(["jquery"], function (
+  $
+) {
+  "use strict";
+
+  const functions = {
+    get_hpc_system
+  };
+
+  function get_hpc_system(software_key, tab_key, input_key, values) {
+    const systems = ["JUWELS", "JURECA", "JEDI", "JUSUF", "DEEP", "JSC-Cloud"];
+    const entitlements = getEntitlements();
+    const mapSystems = getMapSystems();
+    console.log(mapSystems);
+    const resPattern = /^urn:(.+?(?=:res:)):res:(?<systempartition>[^:]+):[^:]+:act:[^:]+:[^:]+$/;
+    const systemPartitions = [];
+    entitlements.forEach(entitlement => {
+      const match = entitlement.match(resPattern);
+      if (match) {
+        const lowersystempartition = match.groups.systempartition.toLowerCase();
+        const system = mapSystems?.[lowersystempartition];
+        if ( system && !systemPartitions.includes(system) ) {
+          systemPartitions.push(system);
+        }
+      }
+    });
+    console.log(systemPartitions);
+    return systems;
+  }
+  return functions;
+})
diff --git a/static/js/jhapi.js b/static/js/jhapi.js
new file mode 100644
index 0000000000000000000000000000000000000000..862696c7510f639fe2255a1cc9eceb4d210eb493
--- /dev/null
+++ b/static/js/jhapi.js
@@ -0,0 +1,230 @@
+// Copyright (c) Jupyter Development Team.
+// Distributed under the terms of the Modified BSD License.
+
+define(["jquery", "utils"], function ($, utils) {
+  "use strict";
+
+  var JHAPI = function (base_url) {
+    this.base_url = base_url;
+    this.xsrf_token = window.jhdata.xsrf_token;
+  };
+
+  var default_options = {
+    type: "GET",
+    contentType: "application/json",
+    cache: false,
+    dataType: "json",
+    processData: false,
+    success: null,
+    tryCount: 5,
+    error: function (xhr, textStatus, errorThrown) {
+      if (xhr.status == 503) {
+        this.tryCount--;
+        if (this.tryCount >= 0) {
+          $.ajax(this);
+          return;
+        }
+        return;
+      }
+    },
+  };
+
+  var update = function (d1, d2) {
+    $.map(d2, function (i, key) {
+      d1[key] = d2[key];
+    });
+    return d1;
+  };
+
+  var ajax_defaults = function (options) {
+    var d = {};
+    update(d, default_options);
+    update(d, options);
+    return d;
+  };
+
+  JHAPI.prototype.api_request = function (path, options) {
+    options = options || {};
+    options = ajax_defaults(options || {});
+    var url = utils.url_path_join(
+      this.base_url,
+      "api",
+      utils.encode_uri_components(path)
+    );
+    if (this.xsrf_token) {
+      // add xsrf token to url parameter
+      var sep = url.indexOf("?") === -1 ? "?" : "&";
+      url = url + sep + "_xsrf=" + this.xsrf_token;
+    }
+    $.ajax(url, options);
+  };
+
+  JHAPI.prototype.start_server = function (user, options) {
+    options = options || {};
+    options = update(options, { type: "POST", dataType: null });
+    this.api_request(utils.url_path_join("users", user, "server"), options);
+  };
+
+  JHAPI.prototype.start_named_server = function (user, server_name, options) {
+    options = options || {};
+    options = update(options, { type: "POST", dataType: null });
+    this.api_request(
+      utils.url_path_join("users", user, "encryptedservers", server_name),
+      options
+    );
+  };
+
+  JHAPI.prototype.update_named_server = function (user, server_name, options) {
+    options = options || {};
+    options = update(options, { type: "POST", dataType: null });
+    this.api_request(
+      utils.url_path_join("users", user, "servers", server_name, "update"),
+      options
+    );
+  };
+
+  JHAPI.prototype.share_server = function (options) {
+    options = options || {};
+    options = update(options, { type: "POST", dataType: null });
+    this.api_request(
+      utils.url_path_join("share", "user_options"),
+      options
+    );
+  };
+
+  JHAPI.prototype.stop_server = function (user, options) {
+    options = options || {};
+    options = update(options, { type: "DELETE", dataType: null });
+    this.api_request(utils.url_path_join("users", user, "server"), options);
+  };
+
+  JHAPI.prototype.cancel_named_server = function (user, server_name, options) {
+    options = options || {};
+    options = update(options, { type: "POST" });
+    options.data = JSON.stringify({
+      failed: true,
+      progress: 100
+    });
+    this.api_request(
+      utils.url_path_join("users/progress/events", user, server_name),
+      options
+    );
+  };
+
+  JHAPI.prototype.cancel_server = function (user, options) {
+    options = options || {};
+    options = update(options, { type: "POST" });
+    options.data = JSON.stringify({
+      failed: true,
+      progress: 100,
+      html_message: "<details><summary>Start cancelled.</summary></details>"
+    });
+    this.api_request(
+      utils.url_path_join("users/progress/events", user),
+      options
+    );
+  };
+
+  JHAPI.prototype.stop_named_server = function (user, server_name, options) {
+    options = options || {};
+    options = update(options, { type: "DELETE", dataType: null });
+    this.api_request(
+      utils.url_path_join("users", user, "servers", server_name),
+      options
+    );
+  };
+
+  JHAPI.prototype.delete_named_server = function (user, server_name, options) {
+    options = options || {};
+    options.data = JSON.stringify({ remove: true });
+    return this.stop_named_server(user, server_name, options);
+  };
+
+  JHAPI.prototype.create_template = function (user, server_name, options) {
+    options = options || {};
+    options = update(options, { type: "POST", dataType: null });
+    this.api_request(
+      utils.url_path_join("templates", user, server_name),
+      options
+    );
+  };
+
+  JHAPI.prototype.list_users = function (options) {
+    this.api_request("users", options);
+  };
+
+  JHAPI.prototype.get_user = function (user, options) {
+    this.api_request(utils.url_path_join("users", user), options);
+  };
+
+  JHAPI.prototype.add_users = function (usernames, userinfo, options) {
+    options = options || {};
+    var data = update(userinfo, { usernames: usernames });
+    options = update(options, {
+      type: "POST",
+      dataType: null,
+      data: JSON.stringify(data),
+    });
+
+    this.api_request("users", options);
+  };
+
+  JHAPI.prototype.edit_user = function (user, userinfo, options) {
+    options = options || {};
+    options = update(options, {
+      type: "PATCH",
+      dataType: null,
+      data: JSON.stringify(userinfo),
+    });
+
+    this.api_request(utils.url_path_join("users", user), options);
+  };
+
+  JHAPI.prototype.admin_access = function (user, options) {
+    options = options || {};
+    options = update(options, {
+      type: "POST",
+      dataType: null,
+    });
+
+    this.api_request(
+      utils.url_path_join("users", user, "admin-access"),
+      options
+    );
+  };
+
+  JHAPI.prototype.delete_user = function (user, options) {
+    options = options || {};
+    options = update(options, { type: "DELETE", dataType: null });
+    this.api_request(utils.url_path_join("users", user), options);
+  };
+
+  JHAPI.prototype.request_token = function (user, props, options) {
+    options = options || {};
+    options = update(options, { type: "POST" });
+    if (props) {
+      options.data = JSON.stringify(props);
+    }
+    this.api_request(utils.url_path_join("users", user, "tokens"), options);
+  };
+
+  JHAPI.prototype.revoke_token = function (user, token_id, options) {
+    options = options || {};
+    options = update(options, { type: "DELETE" });
+    this.api_request(
+      utils.url_path_join("users", user, "tokens", token_id),
+      options
+    );
+  };
+
+  JHAPI.prototype.shutdown_hub = function (data, options) {
+    options = options || {};
+    options = update(options, { type: "POST" });
+    if (data) {
+      options.data = JSON.stringify(data);
+    }
+    this.api_request("shutdown", options);
+  };
+
+  return JHAPI;
+});
diff --git a/static/js/login.js b/static/js/login.js
new file mode 100644
index 0000000000000000000000000000000000000000..37be2f0a16e5ea5777f112dac8b711b322370bb2
--- /dev/null
+++ b/static/js/login.js
@@ -0,0 +1,45 @@
+// Set all carousel items to the same height
+function carouselNormalization() {
+  function normalizeHeights() {
+    var heights = [];
+
+    $("#login-carousel .carousel-item").each(function () {
+      // If item is not shown, the height will be set to 0,
+      // so we manually add and remove the "active" class to 
+      // get the correct heights
+      if ($(this).css("display") == "block") {
+        var shown = 1;
+      } else {
+        $(this).addClass("active");
+        var shown = 0;
+      }
+      heights.push($(this).outerHeight());
+      if (shown == 0) {
+        $(this).removeClass("active");
+      }
+    });
+
+    var tallest = Math.max.apply(null, heights);
+    $("#login-carousel .carousel-item").each(function () {
+      $(this).css("min-height", tallest + "px");
+    });
+  }
+  normalizeHeights();
+
+  $(window).on("resize orientationchange", function () {
+    $("#login-carousel .carousel-item").each(function () {
+      $(this).css("min-height", "0"); // Reset min-height
+    });
+    normalizeHeights();
+  });
+}
+
+$(document).ready(function () {
+  carouselNormalization();
+
+  // Start cycling of carousel
+  // var carousel = new bootstrap.Carousel($('#login-carousel'), {
+  //   interval: 5000,
+  // })
+  // carousel.cycle();
+});
\ No newline at end of file
diff --git a/static/js/logout.js b/static/js/logout.js
new file mode 100644
index 0000000000000000000000000000000000000000..5a868491bd2a4e8fdf7165e378f0963f3687dae5
--- /dev/null
+++ b/static/js/logout.js
@@ -0,0 +1,94 @@
+// Copyright (c) Jupyter Development Team.
+// Distributed under the terms of the Modified BSD License.
+
+require(["jquery", "utils"], function (
+  $,
+  utils
+) {
+  "use strict";
+
+  var base_url = window.jhdata.base_url;
+  var user_active = window.jhdata.user_active;
+
+  function logout() {
+    if (user_active) {
+      var content =
+        "Jupyter-JSC Logout." +
+        '<div class="checkbox"><label><input type="checkbox" id="stopAll" checked="checked">Stop all running JupyterLabs.</label></div>' +
+        '<div class="checkbox"><label><input type="checkbox" id="alldevices" checked="checked">Logout from all devices.</label></div>';
+    } else {
+      var content =
+        "Jupyter-JSC Logout." +
+        '<div class="checkbox"><label><input type="checkbox" id="alldevices" checked="checked">Logout from all devices.</label></div>';
+    }
+
+    $.confirm({
+      title: "Logout",
+      content: content,
+      buttons: {
+        logout: {
+          text: "Logout",
+          btnClass: "btn-primary",
+          action: function () {
+            var $stopall = this.$content.find("#stopAll");
+            var $alldevices = this.$content.find("#alldevices");
+            if (user_active && $stopall.prop("checked")) {
+              if ($alldevices.prop("checked")) {
+                window.location.replace(
+                  utils.url_path_join(
+                    base_url,
+                    "logout?stopall=true&alldevices=true"
+                  )
+                );
+              } else {
+                window.location.replace(
+                  utils.url_path_join(base_url, "logout?stopall=true")
+                );
+              }
+            } else {
+              if ($alldevices.prop("checked")) {
+                window.location.replace(
+                  utils.url_path_join(base_url, "logout?alldevices=true")
+                );
+              } else {
+                window.location.replace(
+                  utils.url_path_join(base_url, "logout")
+                );
+              }
+            }
+            this.$$cancel.attr('disabled','disabled');
+            this.$$logout.attr('disabled','disabled');
+            this.$$logout.prepend('<span class="spinner-border spinner-border-sm me-2" role="status" aria-hidden="true"></span>');
+            return false; // Do not close popup
+          },
+        },
+        cancel: {
+          text: "Cancel",
+          btnClass: "btn-danger",
+          action: function () {
+            window.location.replace(location.href.replace(location.search, ""));
+          },
+        },
+      },
+    });
+  }
+
+  $(document).ready(function () {
+    if (utils.getUrlParameter("logout") == "true") {
+      logout();
+    }
+  });
+
+  $("#logout").click(function () {
+    var url = window.location.href;
+    if (utils.getUrlParameter("logout") != "true") {
+      if (window.location.search) {
+        url += "&";
+      } else {
+        url += "?";
+      }
+      url += "logout=true";
+    }
+    window.location.replace(url);
+  });
+});
\ No newline at end of file
diff --git a/static/js/token.js b/static/js/token.js
new file mode 100644
index 0000000000000000000000000000000000000000..7ec1ace38948617253511f0e1ae59b8e8035cfdc
--- /dev/null
+++ b/static/js/token.js
@@ -0,0 +1,50 @@
+// Copyright (c) Jupyter Development Team.
+// Distributed under the terms of the Modified BSD License.
+
+require(["jquery", "jhapi", "moment"], function ($, JHAPI, moment) {
+  "use strict";
+
+  var base_url = window.jhdata.base_url;
+  var user = window.jhdata.user;
+  var api = new JHAPI(base_url);
+
+  $(".time-col").map(function (i, el) {
+    // convert ISO datestamps to nice momentjs ones
+    el = $(el);
+    var m = moment(new Date(el.text().trim()));
+    el.text(m.isValid() ? m.fromNow() : el.text());
+  });
+
+  $("#request-token-form").submit(function () {
+    var note = $("#token-note").val();
+    if (!note.length) {
+      note = "Requested via token page";
+    }
+    api.request_token(
+      user,
+      { note: note },
+      {
+        success: function (reply) {
+          $("#token-result").text(reply.token);
+          $("#token-area").show();
+        },
+      }
+    );
+    return false;
+  });
+
+  function get_token_row(element) {
+    return element.parents("tr");
+  }
+
+  $(".revoke-token-btn").click(function () {
+    var el = $(this);
+    var row = get_token_row(el);
+    el.attr("disabled", true);
+    api.revoke_token(user, row.data("token-id"), {
+      success: function (reply) {
+        row.remove();
+      },
+    });
+  });
+});
diff --git a/static/js/utils.js b/static/js/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..294346d508b8b3950d4ddc67a5466608c364fb70
--- /dev/null
+++ b/static/js/utils.js
@@ -0,0 +1,156 @@
+// Based on IPython's base.js.utils
+// Original Copyright (c) IPython Development Team.
+// Distributed under the terms of the Modified BSD License.
+
+// Modifications Copyright (c) Jupyter Development Team.
+// Distributed under the terms of the Modified BSD License.
+
+define(["jquery"], function ($) {
+  "use strict";
+
+  var url_path_join = function () {
+    // join a sequence of url components with '/'
+    var url = "";
+    for (var i = 0; i < arguments.length; i++) {
+      if (arguments[i] === "") {
+        continue;
+      }
+      if (url.length > 0 && url[url.length - 1] != "/") {
+        url = url + "/" + arguments[i];
+      } else {
+        url = url + arguments[i];
+      }
+    }
+    url = url.replace(/\/\/+/, "/");
+    return url;
+  };
+
+  var parse_url = function (url) {
+    // an `a` element with an href allows attr-access to the parsed segments of a URL
+    // a = parse_url("http://localhost:8888/path/name#hash")
+    // a.protocol = "http:"
+    // a.host     = "localhost:8888"
+    // a.hostname = "localhost"
+    // a.port     = 8888
+    // a.pathname = "/path/name"
+    // a.hash     = "#hash"
+    var a = document.createElement("a");
+    a.href = url;
+    return a;
+  };
+
+  var getUrlParameter = function (sParam) {
+    var sPageURL = window.location.search.substring(1),
+      sURLVariables = sPageURL.split("&"),
+      sParameterName,
+      i;
+
+    for (i = 0; i < sURLVariables.length; i++) {
+      sParameterName = sURLVariables[i].split("=");
+      if (sParameterName[0] === sParam) {
+        return sParameterName[1] === undefined
+          ? true
+          : decodeURIComponent(sParameterName[1]);
+      }
+    }
+  };
+
+  var encode_uri_components = function (uri) {
+    // encode just the components of a multi-segment uri,
+    // leaving '/' separators
+    return uri.split("/").map(encodeURIComponent).join("/");
+  };
+
+  var url_join_encode = function () {
+    // join a sequence of url components with '/',
+    // encoding each component with encodeURIComponent
+    return encode_uri_components(url_path_join.apply(null, arguments));
+  };
+
+  var escape_html = function (text) {
+    // escape text to HTML
+    return $("<div/>").text(text).html();
+  };
+
+  var get_body_data = function (key) {
+    // get a url-encoded item from body.data and decode it
+    // we should never have any encoded URLs anywhere else in code
+    // until we are building an actual request
+    return decodeURIComponent($("body").data(key));
+  };
+
+  // http://stackoverflow.com/questions/2400935/browser-detection-in-javascript
+  var browser = (function () {
+    if (typeof navigator === "undefined") {
+      // navigator undefined in node
+      return "None";
+    }
+    var N = navigator.appName,
+      ua = navigator.userAgent,
+      tem;
+    var M = ua.match(
+      /(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i
+    );
+    if (M && (tem = ua.match(/version\/([\.\d]+)/i)) !== null) M[2] = tem[1];
+    M = M ? [M[1], M[2]] : [N, navigator.appVersion, "-?"];
+    return M;
+  })();
+
+  // http://stackoverflow.com/questions/11219582/how-to-detect-my-browser-version-and-operating-system-using-javascript
+  var platform = (function () {
+    if (typeof navigator === "undefined") {
+      // navigator undefined in node
+      return "None";
+    }
+    var OSName = "None";
+    if (navigator.appVersion.indexOf("Win") != -1) OSName = "Windows";
+    if (navigator.appVersion.indexOf("Mac") != -1) OSName = "MacOS";
+    if (navigator.appVersion.indexOf("X11") != -1) OSName = "UNIX";
+    if (navigator.appVersion.indexOf("Linux") != -1) OSName = "Linux";
+    return OSName;
+  })();
+
+  var ajax_error_msg = function (jqXHR) {
+    // Return a JSON error message if there is one,
+    // otherwise the basic HTTP status text.
+    if (jqXHR.responseJSON && jqXHR.responseJSON.message) {
+      return jqXHR.responseJSON.message;
+    } else {
+      return jqXHR.statusText;
+    }
+  };
+
+  var log_ajax_error = function (jqXHR, status, error) {
+    // log ajax failures with informative messages
+    var msg = "API request failed (" + jqXHR.status + "): ";
+    console.log(jqXHR);
+    msg += ajax_error_msg(jqXHR);
+    console.log(msg);
+    return msg;
+  };
+
+  var ajax_error_dialog = function (jqXHR, status, error) {
+    console.log("ajax dialog", arguments);
+    var msg = log_ajax_error(jqXHR, status, error);
+    var dialog = $("#error-dialog");
+    dialog.find(".ajax-error").text(msg);
+    dialog.modal();
+  };
+
+  var utils = {
+    getUrlParameter: getUrlParameter,
+    url_path_join: url_path_join,
+    url_join_encode: url_join_encode,
+    encode_uri_components: encode_uri_components,
+    escape_html: escape_html,
+    get_body_data: get_body_data,
+    parse_url: parse_url,
+    browser: browser,
+    platform: platform,
+    ajax_error_msg: ajax_error_msg,
+    log_ajax_error: log_ajax_error,
+    ajax_error_dialog: ajax_error_dialog,
+  };
+
+  return utils;
+});